@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,23 @@
1
+ <template>
2
+ <div class="flex flex-col gap-1 card bg-base-100 shadow-xl p-4 rounded-md">
3
+ <a
4
+ v-for="tag in tags"
5
+ :key="tag"
6
+ :href="`/blogs/tags/${tag}`"
7
+ class="badge badge-primary no-underline"
8
+ >
9
+ {{ tag }}
10
+ </a>
11
+ </div>
12
+ </template>
13
+
14
+ <script>
15
+ export default {
16
+ props: {
17
+ tags: {
18
+ type: Array,
19
+ required: true,
20
+ },
21
+ },
22
+ };
23
+ </script>
@@ -0,0 +1,130 @@
1
+ <!--
2
+ @component AlertDialog
3
+
4
+ @description
5
+ AlertDialog 组件用于显示简单的确认对话框,支持国际化,带有淡入淡出动画效果。
6
+
7
+ @usage
8
+ 基本用法:
9
+ ```vue
10
+ <AlertDialog v-model="showDialog" message="操作已完成" />
11
+ ```
12
+
13
+ 指定语言:
14
+ ```vue
15
+ <AlertDialog v-model="showDialog" message="Operation completed" lang="en" />
16
+ ```
17
+
18
+ 组合使用:
19
+ ```vue
20
+ <template>
21
+ <button @click="showDialog = true">显示对话框</button>
22
+ <AlertDialog v-model="showDialog" message="确认要继续吗?" />
23
+ </template>
24
+
25
+ <script setup lang="ts">
26
+ import { ref } from 'vue';
27
+ import { AlertDialog } from 'cosy-ui';
28
+
29
+ const showDialog = ref(false);
30
+ </script>
31
+ ```
32
+
33
+ @props
34
+ @prop {boolean} modelValue - 控制对话框显示状态,支持v-model双向绑定
35
+ @prop {string} message - 对话框显示的消息内容
36
+ @prop {('zh-cn'|'en')} [lang='zh-cn'] - 语言设置,影响按钮文本
37
+
38
+ @emits
39
+ @emit {update:modelValue} - 当对话框关闭时触发,用于更新v-model绑定值
40
+ -->
41
+
42
+ <script lang="ts">
43
+ import '../../style';
44
+ import { defineComponent } from 'vue';
45
+
46
+ type MessageKey = 'confirm';
47
+
48
+ interface Messages {
49
+ [key: string]: {
50
+ [key in MessageKey]: string;
51
+ };
52
+ }
53
+
54
+ export default defineComponent({
55
+ name: 'AlertDialog',
56
+ props: {
57
+ modelValue: {
58
+ type: Boolean,
59
+ required: true,
60
+ },
61
+ message: {
62
+ type: String,
63
+ required: true,
64
+ },
65
+ lang: {
66
+ type: String as () => 'zh-cn' | 'en',
67
+ default: 'zh-cn',
68
+ },
69
+ },
70
+ emits: ['update:modelValue'],
71
+ setup(props) {
72
+ // 多语言文本
73
+ const t = (key: MessageKey) => {
74
+ const messages: Messages = {
75
+ 'zh-cn': {
76
+ confirm: '确定',
77
+ },
78
+ en: {
79
+ confirm: 'OK',
80
+ },
81
+ };
82
+ return messages[props.lang][key];
83
+ };
84
+
85
+ return {
86
+ t,
87
+ };
88
+ },
89
+ });
90
+ </script>
91
+
92
+ <template>
93
+ <Transition
94
+ name="fade"
95
+ class="cosy:transition-opacity cosy:duration-200 cosy:ease-in-out"
96
+ >
97
+ <div
98
+ v-if="modelValue"
99
+ class="cosy:fixed cosy:inset-0 cosy:z-50 cosy:flex cosy:items-center cosy:justify-center cosy:opacity-100 cosy:enter:opacity-0 cosy:leave:opacity-0"
100
+ >
101
+ <!-- 背景遮罩 -->
102
+ <div
103
+ class="cosy:absolute cosy:inset-0 cosy:bg-base-200/80 cosy:backdrop-blur-sm"
104
+ @click="$emit('update:modelValue', false)"
105
+ />
106
+
107
+ <!-- 对话框 -->
108
+ <div
109
+ class="cosy:relative cosy:bg-base-100 cosy:rounded-xl cosy:shadow-lg cosy:w-[400px] cosy:transform cosy:transition-all"
110
+ >
111
+ <!-- 内容区域 -->
112
+ <div class="cosy:p-6">
113
+ <p class="cosy:text-base-content">
114
+ {{ message }}
115
+ </p>
116
+ </div>
117
+
118
+ <!-- 按钮区域 -->
119
+ <div class="cosy:flex cosy:border-t cosy:border-base-300">
120
+ <button
121
+ class="cosy:btn cosy:btn-ghost cosy:flex-1 cosy:rounded-none cosy:rounded-b-xl"
122
+ @click="$emit('update:modelValue', false)"
123
+ >
124
+ {{ t('confirm') }}
125
+ </button>
126
+ </div>
127
+ </div>
128
+ </div>
129
+ </Transition>
130
+ </template>
@@ -0,0 +1,38 @@
1
+ <!--
2
+ @component AlertDialog.Basic
3
+
4
+ @description
5
+ AlertDialog 组件的基础示例,展示最基本的对话框用法。
6
+
7
+ @usage
8
+ ```vue
9
+ <AlertDialogExamples.Basic />
10
+ ```
11
+ -->
12
+
13
+ <script lang="ts">
14
+ import '../../app.css';
15
+ import { ref, defineComponent } from 'vue';
16
+ import AlertDialog from './AlertDialog.vue';
17
+
18
+ export default defineComponent({
19
+ name: 'AlertDialogBasicExample',
20
+ components: {
21
+ AlertDialog,
22
+ },
23
+ setup() {
24
+ const isShow = ref(false);
25
+
26
+ return {
27
+ isShow,
28
+ };
29
+ },
30
+ });
31
+ </script>
32
+
33
+ <template>
34
+ <button @click="isShow = true" class="cosy:btn cosy:btn-primary">
35
+ 显示对话框
36
+ </button>
37
+ <AlertDialog v-model="isShow" message="这是一条重要信息" />
38
+ </template>
@@ -0,0 +1,58 @@
1
+ <!--
2
+ @component AlertDialog.Multilang
3
+
4
+ @description
5
+ AlertDialog 组件的多语言示例,展示如何使用不同语言的对话框。
6
+
7
+ @usage
8
+ ```vue
9
+ <AlertDialogExamples.Multilang />
10
+ ```
11
+ -->
12
+
13
+ <script lang="ts">
14
+ import '../../app.css';
15
+ import { ref, defineComponent } from 'vue';
16
+ import AlertDialog from './AlertDialog.vue';
17
+
18
+ export default defineComponent({
19
+ name: 'AlertDialogMultilangExample',
20
+ components: {
21
+ AlertDialog,
22
+ },
23
+ setup() {
24
+ const isShowEn = ref(false);
25
+ const isShowJa = ref(false);
26
+
27
+ return {
28
+ isShowEn,
29
+ isShowJa,
30
+ };
31
+ },
32
+ });
33
+ </script>
34
+
35
+ <template>
36
+ <div class="flex gap-2">
37
+ <button @click="isShowEn = true" class="cosy:btn cosy:btn-primary">
38
+ English
39
+ </button>
40
+ <button @click="isShowJa = true" class="cosy:btn cosy:btn-primary">
41
+ 日本語
42
+ </button>
43
+ </div>
44
+
45
+ <AlertDialog
46
+ v-model="isShowEn"
47
+ message="Important information"
48
+ ok-text="OK"
49
+ cancel-text="Cancel"
50
+ />
51
+
52
+ <AlertDialog
53
+ v-model="isShowJa"
54
+ message="重要なお知らせ"
55
+ ok-text="確認"
56
+ cancel-text="キャンセル"
57
+ />
58
+ </template>
@@ -0,0 +1,20 @@
1
+ import Basic from './Basic.vue';
2
+ import Multilang from './Multilang.vue';
3
+ import BasicSource from './Basic.vue?raw';
4
+ import MultilangSource from './Multilang.vue?raw';
5
+ import { extractSimpleExample } from '../../utils/component';
6
+
7
+ // 导出主组件
8
+ export { default as AlertDialog } from './AlertDialog.vue';
9
+
10
+ // 导出示例组件
11
+ export const AlertDialogExamples = {
12
+ Basic,
13
+ Multilang,
14
+ };
15
+
16
+ // 导出示例源代码
17
+ export const AlertDialogExampleCodes = {
18
+ Basic: extractSimpleExample(BasicSource, 'Basic'),
19
+ Multilang: extractSimpleExample(MultilangSource, 'Multilang'),
20
+ };
@@ -0,0 +1,336 @@
1
+ <!--
2
+ @component BannerBox
3
+
4
+ @description
5
+ BannerBox 组件是一个可定制的横幅容器,支持自定义背景、尺寸调整和导出为图片功能。
6
+ 可以直接用作容器,也可以通过传入标题、描述和特性列表来显示内容。
7
+ 适用于创建营销横幅、特性展示、社交媒体卡片等内容。
8
+
9
+ @usage
10
+ 基本用法:
11
+ ```vue
12
+ <BannerBox>
13
+ <div>横幅内容</div>
14
+ </BannerBox>
15
+ ```
16
+
17
+ 使用标题和描述:
18
+ ```vue
19
+ <BannerBox
20
+ title="我的横幅标题"
21
+ description="这是一段描述文字"
22
+ :features="[
23
+ { emoji: '🚀', title: '高性能' },
24
+ { emoji: '⚡', title: '快速响应' },
25
+ { emoji: '🔒', title: '安全可靠' }
26
+ ]"
27
+ />
28
+ ```
29
+
30
+ 自定义背景:
31
+ ```vue
32
+ <BannerBox :backgroundClassIndex="5">
33
+ <div>自定义背景的横幅</div>
34
+ </BannerBox>
35
+ ```
36
+
37
+ 设置下载按钮显示模式:
38
+ ```vue
39
+ <BannerBox displayMode="always">
40
+ <div>总是显示下载按钮</div>
41
+ </BannerBox>
42
+ ```
43
+
44
+ @props
45
+ @prop {String} [displayMode='hover'] - 下载按钮显示模式:'always'(总是显示),'hover'(悬停显示),'never'(不显示)
46
+ @prop {Number} [backgroundClassIndex=0] - 背景样式索引,对应内置的背景样式列表
47
+ @prop {String} [title=''] - 横幅标题
48
+ @prop {String} [description=''] - 横幅描述
49
+ @prop {Array} [features=[]] - 特性列表,每项包含{emoji, title, link}
50
+
51
+ @slots
52
+ @slot default - 横幅内容
53
+ -->
54
+
55
+ <script lang="ts">
56
+ import {
57
+ ref,
58
+ onMounted,
59
+ watch,
60
+ onUnmounted,
61
+ computed,
62
+ defineComponent,
63
+ } from 'vue';
64
+ import { RiDownloadLine } from '@remixicon/vue';
65
+ import { toPng } from 'html-to-image';
66
+ import FeatureCard from './FeatureCard.vue';
67
+ import DownloadButton from './DownloadButton.vue';
68
+ import { bgClasses } from './bgStyles';
69
+ import { sizePresets } from './sizePresets';
70
+ import '../../style';
71
+
72
+ export interface IFeature {
73
+ emoji: string;
74
+ title: string;
75
+ link?: string;
76
+ }
77
+
78
+ export default defineComponent({
79
+ name: 'BannerBox',
80
+ components: {
81
+ RiDownloadLine,
82
+ FeatureCard,
83
+ DownloadButton,
84
+ },
85
+ props: {
86
+ displayMode: {
87
+ type: String,
88
+ default: 'hover',
89
+ validator: (value: string) =>
90
+ ['always', 'hover', 'never'].includes(value),
91
+ },
92
+ backgroundClassIndex: {
93
+ type: Number,
94
+ default: 0,
95
+ },
96
+ title: {
97
+ type: String,
98
+ default: '',
99
+ },
100
+ description: {
101
+ type: String,
102
+ default: '',
103
+ },
104
+ features: {
105
+ type: Array as () => IFeature[],
106
+ default: () => [],
107
+ },
108
+ },
109
+ setup(props) {
110
+ const componentRef = ref<HTMLElement | null>(null);
111
+ const isDropdownOpen = ref(false);
112
+ const isLoadedFromStorage = ref(false);
113
+ const selectedBgIndex = ref(props.backgroundClassIndex);
114
+
115
+ const selectedSize = ref(sizePresets[0]);
116
+
117
+ const toggleDropdown = () => {
118
+ console.log('Toggle Dropdown');
119
+ isDropdownOpen.value = !isDropdownOpen.value;
120
+ };
121
+
122
+ // 监听尺寸变化并保存到 localStorage
123
+ watch(selectedSize, (newSize) => {
124
+ localStorage.setItem('bannerBoxSize', JSON.stringify(newSize));
125
+ // 当尺寸改变时,发出事件通知其他组件
126
+ window.dispatchEvent(
127
+ new CustomEvent('bannerBoxSizeChange', {
128
+ detail: newSize,
129
+ })
130
+ );
131
+ // 设置为已加载状态,显示尺寸标签
132
+ isLoadedFromStorage.value = true;
133
+ });
134
+
135
+ // 创建自定义事件处理函数
136
+ const handleSizeClear = () => {
137
+ selectedSize.value = sizePresets[0];
138
+ isLoadedFromStorage.value = false;
139
+ };
140
+
141
+ // 处理尺寸变化的事件
142
+ const handleSizeChange = (event: Event) => {
143
+ const customEvent = event as CustomEvent;
144
+ selectedSize.value = customEvent.detail;
145
+ isLoadedFromStorage.value = true;
146
+ };
147
+
148
+ onMounted(() => {
149
+ const savedSize = localStorage.getItem('bannerBoxSize');
150
+ if (savedSize) {
151
+ const parsed = JSON.parse(savedSize);
152
+ const found = sizePresets.find((preset) => preset.name === parsed.name);
153
+ if (found) {
154
+ selectedSize.value = found;
155
+ isLoadedFromStorage.value = true;
156
+ }
157
+ }
158
+
159
+ // 添加事件监听
160
+ window.addEventListener('bannerBoxClear', handleSizeClear);
161
+ window.addEventListener('bannerBoxSizeChange', handleSizeChange);
162
+
163
+ // 恢复到简单的点击监听方式,但使用正确的选择器
164
+ document.addEventListener('click', (event) => {
165
+ if (!isDropdownOpen.value) return; // 如果下拉菜单已经关闭,就不需要处理
166
+
167
+ const target = event.target as HTMLElement;
168
+ // 检查点击的元素是否是下拉菜单中的元素
169
+ const isClickedOnDropdown = !!target.closest('[data-dropdown]');
170
+
171
+ if (!isClickedOnDropdown) {
172
+ isDropdownOpen.value = false;
173
+ }
174
+ });
175
+ });
176
+
177
+ // Update downloadAsImage function to accept scale parameter
178
+ const downloadAsImage = async () => {
179
+ try {
180
+ const element = componentRef.value;
181
+ if (!element) {
182
+ console.error('Component reference is null');
183
+ return;
184
+ }
185
+
186
+ const dataUrl = await toPng(element, {
187
+ backgroundColor: undefined,
188
+ style: {
189
+ transform: 'scale(1)',
190
+ transformOrigin: 'top left',
191
+ },
192
+ });
193
+
194
+ const link = document.createElement('a');
195
+ const fileName = `feature-${element.offsetWidth}x${element.offsetHeight}.png`;
196
+ link.download = fileName;
197
+ link.href = dataUrl;
198
+ link.click();
199
+ isDropdownOpen.value = false;
200
+ } catch (error) {
201
+ console.error('Failed to download image:', error);
202
+ }
203
+ };
204
+
205
+ const getBackgroundClass = (): string => {
206
+ return bgClasses[selectedBgIndex.value % bgClasses.length];
207
+ };
208
+
209
+ const clearStoredSize = () => {
210
+ localStorage.removeItem('bannerBoxSize');
211
+ // 触发自定义事件
212
+ window.dispatchEvent(new CustomEvent('bannerBoxClear'));
213
+ isDropdownOpen.value = false;
214
+ };
215
+
216
+ // 确保在组件卸载时清理事件监听器
217
+ onUnmounted(() => {
218
+ window.removeEventListener('bannerBoxClear', handleSizeClear);
219
+ window.removeEventListener('bannerBoxSizeChange', handleSizeChange);
220
+ });
221
+
222
+ // 计算下载按钮是否显示及其样式类
223
+ const downloadButtonStyles = computed(() => {
224
+ switch (props.displayMode) {
225
+ case 'always':
226
+ return {
227
+ show: true,
228
+ classes: 'cosy:opacity-100',
229
+ };
230
+ case 'hover':
231
+ return {
232
+ show: true,
233
+ classes:
234
+ 'cosy:opacity-0 cosy:hover:opacity-100 cosy:transition-opacity',
235
+ };
236
+ case 'never':
237
+ return {
238
+ show: false,
239
+ classes: '',
240
+ };
241
+ default:
242
+ return {
243
+ show: true,
244
+ classes:
245
+ 'cosy:opacity-0 cosy:hover:opacity-100 cosy:transition-opacity',
246
+ };
247
+ }
248
+ });
249
+
250
+ return {
251
+ componentRef,
252
+ isDropdownOpen,
253
+ isLoadedFromStorage,
254
+ selectedSize,
255
+ sizePresets,
256
+ selectedBgIndex,
257
+ toggleDropdown,
258
+ downloadAsImage,
259
+ getBackgroundClass,
260
+ clearStoredSize,
261
+ downloadButtonStyles,
262
+ bgClasses,
263
+ };
264
+ },
265
+ });
266
+ </script>
267
+
268
+ <template>
269
+ <div
270
+ class="cosy:relative cosy:w-full cosy:rounded-2xl cosy:max-w-7xl cosy:mx-auto"
271
+ >
272
+ <!-- Size indicator -->
273
+ <div
274
+ v-if="isLoadedFromStorage"
275
+ class="cosy:absolute cosy:top-4 cosy:right-4 cosy:bg-yellow-500/30 cosy:backdrop-blur-sm cosy:px-3 cosy:py-1 cosy:rounded-lg cosy:text-sm cosy:text-white"
276
+ >
277
+ {{ selectedSize.name }}
278
+ </div>
279
+
280
+ <!-- Download button with dropdown menu -->
281
+ <DownloadButton
282
+ :displayMode="displayMode"
283
+ :isLoadedFromStorage="isLoadedFromStorage"
284
+ :selectedSize="selectedSize"
285
+ :selectedBgIndex="selectedBgIndex"
286
+ @update:selectedSize="selectedSize = $event"
287
+ @update:selectedBgIndex="selectedBgIndex = $event"
288
+ @clear-stored-size="clearStoredSize"
289
+ @download-image="downloadAsImage"
290
+ />
291
+
292
+ <div
293
+ ref="componentRef"
294
+ class="cosy:flex cosy:p-8 cosy:rounded-2xl cosy:shadow"
295
+ :class="[getBackgroundClass(), selectedSize.width, selectedSize.height]"
296
+ >
297
+ <div
298
+ class="cosy:py-16 cosy:px-8 cosy:text-center cosy:w-full cosy:rounded-2xl"
299
+ data-type="smart-banner"
300
+ >
301
+ <h2 v-if="title.length > 0" class="cosy:text-4xl cosy:mb-4">
302
+ {{ title }}
303
+ </h2>
304
+
305
+ <p
306
+ v-if="description.length > 0"
307
+ class="cosy:text-lg cosy:text-center cosy:max-w-2xl cosy:mx-auto"
308
+ >
309
+ {{ description }}
310
+ </p>
311
+
312
+ <div
313
+ v-if="features.length > 0"
314
+ class="cosy:flex cosy:flex-row cosy:justify-center cosy:gap-8 cosy:mx-auto cosy:w-full cosy:mt-24"
315
+ >
316
+ <FeatureCard
317
+ v-for="feature in features"
318
+ :key="feature.title"
319
+ :emoji="feature.emoji"
320
+ :title="feature.title"
321
+ :link="feature.link"
322
+ />
323
+ </div>
324
+
325
+ <div
326
+ :class="{
327
+ 'cosy:mt-12':
328
+ title.length > 0 || description.length > 0 || features.length > 0,
329
+ }"
330
+ >
331
+ <slot />
332
+ </div>
333
+ </div>
334
+ </div>
335
+ </div>
336
+ </template>