@kickstartds/ds-agency-premium 1.0.1

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 (301) hide show
  1. package/README.md +96 -0
  2. package/dist/ButtonProps-03ff6d21.d.ts +41 -0
  3. package/dist/CtaProps-93230a76.d.ts +113 -0
  4. package/dist/FaqProps-ad618cd5.d.ts +35 -0
  5. package/dist/FeaturesProps-79dea880.d.ts +284 -0
  6. package/dist/GalleryProps-76e7de44.d.ts +331 -0
  7. package/dist/HeadlineProps-d413a2cc.d.ts +48 -0
  8. package/dist/HeroProps-cf82a16d.d.ts +104 -0
  9. package/dist/ImageStoryProps-03ff6d21.d.ts +70 -0
  10. package/dist/ImageTextProps-9286cca4.d.ts +38 -0
  11. package/dist/LogosProps-8af8b3c7.d.ts +929 -0
  12. package/dist/MosaicProps-aacb9422.d.ts +84 -0
  13. package/dist/SliderProps-69b2f1d7.d.ts +43 -0
  14. package/dist/SplitProps-89ef39c4.d.ts +9 -0
  15. package/dist/StatsProps-afa48599.d.ts +41 -0
  16. package/dist/TeaserCardProps-b52479e5.d.ts +49 -0
  17. package/dist/TestimonialsProps-d27ae4b4.d.ts +54 -0
  18. package/dist/TextProps-a23170d2.d.ts +31 -0
  19. package/dist/VideoCurtainProps-6c625a69.d.ts +82 -0
  20. package/dist/components/blog-aside/blog-aside.css +9 -0
  21. package/dist/components/blog-aside/blog-aside.schema.dereffed.json +130 -0
  22. package/dist/components/blog-aside/blog-aside.schema.json +99 -0
  23. package/dist/components/blog-aside/index.d.ts +76 -0
  24. package/dist/components/blog-aside/index.js +55 -0
  25. package/dist/components/blog-head/blog-head.css +3 -0
  26. package/dist/components/blog-head/blog-head.schema.dereffed.json +54 -0
  27. package/dist/components/blog-head/blog-head.schema.json +40 -0
  28. package/dist/components/blog-head/index.d.ts +34 -0
  29. package/dist/components/blog-head/index.js +11 -0
  30. package/dist/components/blog-teaser/blog-teaser.css +58 -0
  31. package/dist/components/blog-teaser/blog-teaser.schema.dereffed.json +135 -0
  32. package/dist/components/blog-teaser/blog-teaser.schema.json +102 -0
  33. package/dist/components/blog-teaser/index.d.ts +81 -0
  34. package/dist/components/blog-teaser/index.js +37 -0
  35. package/dist/components/button/button.css +67 -0
  36. package/dist/components/button/button.schema.dereffed.json +63 -0
  37. package/dist/components/button/button.schema.json +48 -0
  38. package/dist/components/button/index.d.ts +6 -0
  39. package/dist/components/button/index.js +18 -0
  40. package/dist/components/button-group/button-group.schema.dereffed.json +115 -0
  41. package/dist/components/button-group/button-group.schema.json +27 -0
  42. package/dist/components/button-group/index.d.ts +40 -0
  43. package/dist/components/button-group/index.js +30 -0
  44. package/dist/components/component-teaser/component-teaser.schema.dereffed.json +43 -0
  45. package/dist/components/component-teaser/component-teaser.schema.json +40 -0
  46. package/dist/components/cta/cta.css +100 -0
  47. package/dist/components/cta/cta.schema.dereffed.json +158 -0
  48. package/dist/components/cta/cta.schema.json +127 -0
  49. package/dist/components/cta/index.d.ts +4 -0
  50. package/dist/components/cta/index.js +40 -0
  51. package/dist/components/faq/faq.css +17 -0
  52. package/dist/components/faq/faq.schema.dereffed.json +48 -0
  53. package/dist/components/faq/faq.schema.json +36 -0
  54. package/dist/components/faq/index.d.ts +4 -0
  55. package/dist/components/faq/index.js +9 -0
  56. package/dist/components/feature/index.d.ts +49 -0
  57. package/dist/components/feature/index.js +23 -0
  58. package/dist/components/features/features.css +115 -0
  59. package/dist/components/features/features.schema.dereffed.json +121 -0
  60. package/dist/components/features/features.schema.json +93 -0
  61. package/dist/components/features/index.d.ts +4 -0
  62. package/dist/components/features/index.js +32 -0
  63. package/dist/components/footer/footer.css +53 -0
  64. package/dist/components/footer/footer.schema.dereffed.json +178 -0
  65. package/dist/components/footer/footer.schema.json +47 -0
  66. package/dist/components/footer/index.d.ts +22 -0
  67. package/dist/components/footer/index.js +11 -0
  68. package/dist/components/gallery/gallery.css +50 -0
  69. package/dist/components/gallery/gallery.schema.dereffed.json +84 -0
  70. package/dist/components/gallery/gallery.schema.json +62 -0
  71. package/dist/components/gallery/index.d.ts +4 -0
  72. package/dist/components/gallery/index.js +35 -0
  73. package/dist/components/header/header.css +78 -0
  74. package/dist/components/header/header.schema.dereffed.json +188 -0
  75. package/dist/components/header/header.schema.json +25 -0
  76. package/dist/components/header/index.d.ts +26 -0
  77. package/dist/components/header/index.js +16 -0
  78. package/dist/components/headline/headline.css +78 -0
  79. package/dist/components/headline/headline.schema.dereffed.json +86 -0
  80. package/dist/components/headline/headline.schema.json +60 -0
  81. package/dist/components/headline/index.d.ts +11 -0
  82. package/dist/components/headline/index.js +18 -0
  83. package/dist/components/hero/hero.css +95 -0
  84. package/dist/components/hero/hero.schema.dereffed.json +166 -0
  85. package/dist/components/hero/hero.schema.json +79 -0
  86. package/dist/components/hero/index.d.ts +4 -0
  87. package/dist/components/hero/index.js +55 -0
  88. package/dist/components/image/image.css +12 -0
  89. package/dist/components/image/image.schema.dereffed.json +105 -0
  90. package/dist/components/image/image.schema.json +95 -0
  91. package/dist/components/image/index.d.ts +87 -0
  92. package/dist/components/image/index.js +11 -0
  93. package/dist/components/image-story/image-story.css +26 -0
  94. package/dist/components/image-story/image-story.schema.dereffed.json +165 -0
  95. package/dist/components/image-story/image-story.schema.json +81 -0
  96. package/dist/components/image-story/index.d.ts +4 -0
  97. package/dist/components/image-story/index.js +39 -0
  98. package/dist/components/image-text/image-text.css +4 -0
  99. package/dist/components/image-text/image-text.schema.dereffed.json +68 -0
  100. package/dist/components/image-text/image-text.schema.json +46 -0
  101. package/dist/components/image-text/index.d.ts +5 -0
  102. package/dist/components/image-text/index.js +20 -0
  103. package/dist/components/logos/index.d.ts +4 -0
  104. package/dist/components/logos/index.js +12 -0
  105. package/dist/components/logos/logos.css +91 -0
  106. package/dist/components/logos/logos.schema.dereffed.json +131 -0
  107. package/dist/components/logos/logos.schema.json +106 -0
  108. package/dist/components/mosaic/index.d.ts +4 -0
  109. package/dist/components/mosaic/index.js +33 -0
  110. package/dist/components/mosaic/mosaic.css +35 -0
  111. package/dist/components/mosaic/mosaic.schema.dereffed.json +122 -0
  112. package/dist/components/mosaic/mosaic.schema.json +86 -0
  113. package/dist/components/nav-main/index.d.ts +26 -0
  114. package/dist/components/nav-main/index.js +17 -0
  115. package/dist/components/nav-main/js/NavToggle.client.d.ts +16 -0
  116. package/dist/components/nav-main/js/NavToggle.client.js +57 -0
  117. package/dist/components/nav-main/js/body.client.d.ts +5 -0
  118. package/dist/components/nav-main/js/body.client.js +41 -0
  119. package/dist/components/nav-main/js/navMainEvents.client.d.ts +5 -0
  120. package/dist/components/nav-main/js/navMainEvents.client.js +13 -0
  121. package/dist/components/nav-main/nav-main.css +170 -0
  122. package/dist/components/nav-main/nav-main.schema.dereffed.json +182 -0
  123. package/dist/components/nav-main/nav-main.schema.json +53 -0
  124. package/dist/components/nav-main/nav-toggle.css +85 -0
  125. package/dist/components/page/page.schema.dereffed.json +1945 -0
  126. package/dist/components/page/page.schema.json +58 -0
  127. package/dist/components/page-intro/index.d.ts +17 -0
  128. package/dist/components/page-intro/index.js +18 -0
  129. package/dist/components/page-intro/page-intro.css +8 -0
  130. package/dist/components/page-intro/page-intro.schema.dereffed.json +30 -0
  131. package/dist/components/page-intro/page-intro.schema.json +26 -0
  132. package/dist/components/page-wrapper/index.d.ts +2 -0
  133. package/dist/components/page-wrapper/index.js +28 -0
  134. package/dist/components/page-wrapper/tokens.css +1556 -0
  135. package/dist/components/picture/picture.schema.json +88 -0
  136. package/dist/components/providers/index.d.ts +6 -0
  137. package/dist/components/providers/index.js +38 -0
  138. package/dist/components/raw-page-wrapper/index.d.ts +3 -0
  139. package/dist/components/raw-page-wrapper/index.js +492 -0
  140. package/dist/components/section/index.d.ts +147 -0
  141. package/dist/components/section/index.js +48 -0
  142. package/dist/components/section/js/Section.client.d.ts +2 -0
  143. package/dist/components/section/js/Section.client.js +26 -0
  144. package/dist/components/section/js/spotlight.client.d.ts +2 -0
  145. package/dist/components/section/js/spotlight.client.js +14 -0
  146. package/dist/components/section/section.css +110 -0
  147. package/dist/components/section/section.schema.dereffed.json +1875 -0
  148. package/dist/components/section/section.schema.json +222 -0
  149. package/dist/components/slider/index.d.ts +4 -0
  150. package/dist/components/slider/index.js +7 -0
  151. package/dist/components/slider/slider.css +24 -0
  152. package/dist/components/slider/slider.schema.dereffed.json +54 -0
  153. package/dist/components/slider/slider.schema.json +30 -0
  154. package/dist/components/split/index.d.ts +4 -0
  155. package/dist/components/split/index.js +7 -0
  156. package/dist/components/split/split.css +24 -0
  157. package/dist/components/split/split.schema.dereffed.json +20 -0
  158. package/dist/components/split/split.schema.json +13 -0
  159. package/dist/components/stats/index.d.ts +4 -0
  160. package/dist/components/stats/index.js +11 -0
  161. package/dist/components/stats/stats.css +49 -0
  162. package/dist/components/stats/stats.schema.dereffed.json +71 -0
  163. package/dist/components/stats/stats.schema.json +49 -0
  164. package/dist/components/teaser-card/index.d.ts +6 -0
  165. package/dist/components/teaser-card/index.js +25 -0
  166. package/dist/components/teaser-card/teaser-card.css +98 -0
  167. package/dist/components/teaser-card/teaser-card.schema.dereffed.json +69 -0
  168. package/dist/components/teaser-card/teaser-card.schema.json +58 -0
  169. package/dist/components/teaser-component/component-teaser.css +33 -0
  170. package/dist/components/teaser-component/index.d.ts +41 -0
  171. package/dist/components/teaser-component/index.js +18 -0
  172. package/dist/components/testimonials/index.d.ts +9 -0
  173. package/dist/components/testimonials/index.js +22 -0
  174. package/dist/components/testimonials/testimonials.css +63 -0
  175. package/dist/components/testimonials/testimonials.schema.dereffed.json +93 -0
  176. package/dist/components/testimonials/testimonials.schema.json +71 -0
  177. package/dist/components/text/index.d.ts +4 -0
  178. package/dist/components/text/index.js +13 -0
  179. package/dist/components/text/text.css +15 -0
  180. package/dist/components/text/text.schema.dereffed.json +50 -0
  181. package/dist/components/text/text.schema.json +39 -0
  182. package/dist/components/video-curtain/index.d.ts +4 -0
  183. package/dist/components/video-curtain/index.js +47 -0
  184. package/dist/components/video-curtain/video-curtain.css +51 -0
  185. package/dist/components/video-curtain/video-curtain.schema.dereffed.json +123 -0
  186. package/dist/components/video-curtain/video-curtain.schema.json +67 -0
  187. package/dist/global-35f78d6d.js +1 -0
  188. package/dist/global.client.d.ts +2 -0
  189. package/dist/global.client.js +8 -0
  190. package/dist/global.css +564 -0
  191. package/dist/static/.gitkeep +0 -0
  192. package/dist/static/favicon/.gitkeep +0 -0
  193. package/dist/static/favicon/android-chrome-192x192.png +0 -0
  194. package/dist/static/favicon/android-chrome-512x512.png +0 -0
  195. package/dist/static/favicon/apple-touch-icon.png +0 -0
  196. package/dist/static/favicon/browserconfig.xml +9 -0
  197. package/dist/static/favicon/favicon-16x16.png +0 -0
  198. package/dist/static/favicon/favicon-192-192.png +20 -0
  199. package/dist/static/favicon/favicon-32x32.png +0 -0
  200. package/dist/static/favicon/favicon.ico +0 -0
  201. package/dist/static/favicon/mstile-144x144.png +0 -0
  202. package/dist/static/favicon/mstile-150x150.png +0 -0
  203. package/dist/static/favicon/mstile-310x150.png +0 -0
  204. package/dist/static/favicon/mstile-310x310.png +0 -0
  205. package/dist/static/favicon/mstile-70x70.png +0 -0
  206. package/dist/static/favicon/safari-pinned-tab.svg +30 -0
  207. package/dist/static/favicon/site.webmanifest +19 -0
  208. package/dist/static/fonts/dsa/Fredoka-Bold.woff +0 -0
  209. package/dist/static/fonts/dsa/Fredoka-Bold.woff2 +0 -0
  210. package/dist/static/fonts/dsa/Fredoka-Light.woff +0 -0
  211. package/dist/static/fonts/dsa/Fredoka-Light.woff2 +0 -0
  212. package/dist/static/fonts/dsa/Fredoka-Medium.woff +0 -0
  213. package/dist/static/fonts/dsa/Fredoka-Medium.woff2 +0 -0
  214. package/dist/static/fonts/dsa/Fredoka-Regular.woff +0 -0
  215. package/dist/static/fonts/dsa/Fredoka-Regular.woff2 +0 -0
  216. package/dist/static/fonts/dsa/Fredoka-SemiBold.woff +0 -0
  217. package/dist/static/fonts/dsa/Fredoka-SemiBold.woff2 +0 -0
  218. package/dist/static/fonts/dsa/Mulish-300.woff +0 -0
  219. package/dist/static/fonts/dsa/Mulish-300.woff2 +0 -0
  220. package/dist/static/fonts/dsa/Mulish-600.woff +0 -0
  221. package/dist/static/fonts/dsa/Mulish-600.woff2 +0 -0
  222. package/dist/static/fonts/dsa/Mulish-800.woff +0 -0
  223. package/dist/static/fonts/dsa/Mulish-800.woff2 +0 -0
  224. package/dist/static/fonts/dsa/Mulish-Regular.woff +0 -0
  225. package/dist/static/fonts/dsa/Mulish-Regular.woff2 +0 -0
  226. package/dist/static/fonts/google/google-sans-18pt.woff2 +0 -0
  227. package/dist/static/fonts/google/google-sans-display.woff2 +0 -0
  228. package/dist/static/fonts/google/google-sans-text-medium.woff2 +0 -0
  229. package/dist/static/fonts/google/google-sans-text.woff2 +0 -0
  230. package/dist/static/fonts/lughausen/novelpro-regular.woff +0 -0
  231. package/dist/static/fonts/lughausen/novelsanspro-bold.woff +0 -0
  232. package/dist/static/fonts/lughausen/novelsanspro-regular.woff +0 -0
  233. package/dist/static/fonts/telekom/teleneo-bold-woff-data.woff +0 -0
  234. package/dist/static/fonts/telekom/teleneo-extrabold-woff-data.woff +0 -0
  235. package/dist/static/fonts/telekom/teleneo-medium-woff-data.woff +0 -0
  236. package/dist/static/fonts/telekom/teleneo-thin-woff-data.woff +0 -0
  237. package/dist/static/img/02.jpg +0 -0
  238. package/dist/static/img/angled-image.png +0 -0
  239. package/dist/static/img/bg_dot-carpet-blue.svg +346 -0
  240. package/dist/static/img/close-up-young-business-team-working.png +0 -0
  241. package/dist/static/img/colleagues-work-office-using-computers-looking-aside.png +0 -0
  242. package/dist/static/img/colored-square.png +0 -0
  243. package/dist/static/img/contact-person.png +0 -0
  244. package/dist/static/img/full-shot-different-people-working-together.png +0 -0
  245. package/dist/static/img/grid-bg.svg +19 -0
  246. package/dist/static/img/logos/castaway.svg +111 -0
  247. package/dist/static/img/logos/logoipsum-212.svg +12 -0
  248. package/dist/static/img/logos/logoipsum-217.svg +4 -0
  249. package/dist/static/img/logos/logoipsum-239.svg +16 -0
  250. package/dist/static/img/logos/logoipsum-244.svg +19 -0
  251. package/dist/static/img/logos/logoipsum-250.svg +21 -0
  252. package/dist/static/img/logos/logoipsum-286.svg +20 -0
  253. package/dist/static/img/low-angle-tall-building-with-many-windows_23-2148230392.png +0 -0
  254. package/dist/static/img/mosaic-1.png +0 -0
  255. package/dist/static/img/mosaic-2.png +0 -0
  256. package/dist/static/img/mosaic-2_1.svg +34 -0
  257. package/dist/static/img/mosaic-2_2.svg +25 -0
  258. package/dist/static/img/mosaic-2_3.svg +32 -0
  259. package/dist/static/img/mosaic-3.png +0 -0
  260. package/dist/static/img/office-divider-image.png +0 -0
  261. package/dist/static/img/offset-image.png +0 -0
  262. package/dist/static/img/people/author-alex.png +0 -0
  263. package/dist/static/img/people/author-emily.png +0 -0
  264. package/dist/static/img/people/author-john.png +0 -0
  265. package/dist/static/img/people-brainstorming-work-meeting.png +0 -0
  266. package/dist/static/img/responsive_image-1680.png +0 -0
  267. package/dist/static/img/responsive_image-420.png +0 -0
  268. package/dist/static/img/responsive_image-980.png +0 -0
  269. package/dist/static/img/showcases/audio_bg.svg +10 -0
  270. package/dist/static/img/showcases/comp_audio01.jpg +0 -0
  271. package/dist/static/img/showcases/comp_audio04.png +0 -0
  272. package/dist/static/img/showcases/comp_eco01.jpg +0 -0
  273. package/dist/static/img/showcases/comp_eco01.png +0 -0
  274. package/dist/static/img/showcases/comp_eco02.png +0 -0
  275. package/dist/static/img/showcases/comp_eco03.png +0 -0
  276. package/dist/static/img/showcases/comp_eco04.jpg +0 -0
  277. package/dist/static/img/showcases/comp_eco04.png +0 -0
  278. package/dist/static/img/showcases/comp_tfe01.jpg +0 -0
  279. package/dist/static/img/showcases/eco_bg.png +0 -0
  280. package/dist/static/img/showcases/preview_audio.png +0 -0
  281. package/dist/static/img/showcases/preview_eco.png +0 -0
  282. package/dist/static/img/showcases/preview_tfe.png +0 -0
  283. package/dist/static/img/showcases/tfe_bg.svg +48 -0
  284. package/dist/static/img/top-view-desk-with-keyboard-drawing-pad.png +0 -0
  285. package/dist/static/img/videos/handshake-bw.mp4 +0 -0
  286. package/dist/static/img/videos/video-720.mp4 +0 -0
  287. package/dist/static/img/videos/video-agency.mp4 +0 -0
  288. package/dist/static/img/view-modern-office.jpg +0 -0
  289. package/dist/static/logo-google.svg +1 -0
  290. package/dist/static/logo-lughausen.svg +27 -0
  291. package/dist/static/logo-telekom.svg +8 -0
  292. package/dist/static/logo.svg +26 -0
  293. package/dist/static/tokens-google.css +1553 -0
  294. package/dist/static/tokens-lughausen.css +1549 -0
  295. package/dist/static/tokens-telekom.css +1549 -0
  296. package/dist/static/tokens.css +1554 -0
  297. package/dist/tokens/IconSprite.js +467 -0
  298. package/dist/tokens/icon-sprite.html +37 -0
  299. package/dist/tokens/tokens.css +1554 -0
  300. package/dist/tokens/tokens.js +652 -0
  301. package/package.json +138 -0
@@ -0,0 +1,76 @@
1
+ import { HTMLAttributes, FC } from "react";
2
+ /* eslint-disable */
3
+ /**
4
+ * This file was automatically generated by json-schema-to-typescript.
5
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
6
+ * and run json-schema-to-typescript to regenerate this file.
7
+ */
8
+ /**
9
+ * The name of the author
10
+ */
11
+ type Name = string;
12
+ /**
13
+ * The byline of the author
14
+ */
15
+ type Byline = string;
16
+ /**
17
+ * The image URL of the author
18
+ */
19
+ type Image = string;
20
+ /**
21
+ * The Twitter name of the author
22
+ */
23
+ type Twitter = string;
24
+ /**
25
+ * The Email of the author
26
+ */
27
+ type Email = string;
28
+ /**
29
+ * The icon name for the social link
30
+ */
31
+ type Icon = string;
32
+ /**
33
+ * The href for the social link
34
+ */
35
+ type Href = string;
36
+ /**
37
+ * The title for the social link
38
+ */
39
+ type Title = string;
40
+ /**
41
+ * The social sharing links for the blog post
42
+ */
43
+ type SocialSharing = {
44
+ icon: Icon;
45
+ href: Href;
46
+ title: Title;
47
+ }[];
48
+ /**
49
+ * The reading time for the blog post
50
+ */
51
+ type ReadingTime = string;
52
+ /**
53
+ * The date when the blog post was published
54
+ */
55
+ type PublishedDate = string;
56
+ /**
57
+ * Meta info for a singular blog entry
58
+ */
59
+ interface BlogAsideProps {
60
+ author: Author;
61
+ socialSharing?: SocialSharing;
62
+ readingTime?: ReadingTime;
63
+ date: PublishedDate;
64
+ }
65
+ /**
66
+ * The author of the blog post
67
+ */
68
+ interface Author {
69
+ name: Name;
70
+ byline?: Byline;
71
+ image?: Image;
72
+ twitter?: Twitter;
73
+ email?: Email;
74
+ }
75
+ declare const BlogAside: FC<BlogAsideProps & HTMLAttributes<HTMLElement>>;
76
+ export { BlogAside };
@@ -0,0 +1,55 @@
1
+ import "./blog-aside.css";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { PostAside } from '@kickstartds/blog/lib/post-aside';
4
+
5
+ const BlogAside = ({ author, socialSharing, readingTime, date, }) => {
6
+ const socialLinks = socialSharing?.map((link) => {
7
+ return {
8
+ icon: link.icon,
9
+ href: link.href,
10
+ title: link.title,
11
+ };
12
+ });
13
+ const metaItems = [
14
+ {
15
+ icon: "date",
16
+ text: date,
17
+ },
18
+ ];
19
+ if (readingTime)
20
+ metaItems.push({
21
+ icon: "time",
22
+ text: readingTime,
23
+ });
24
+ const authorLinks = [];
25
+ if (author.twitter)
26
+ authorLinks.push({
27
+ href: `https://twitter.com/${author.twitter}`,
28
+ icon: "twitter",
29
+ newTab: true,
30
+ label: `@${author.twitter}`,
31
+ });
32
+ if (author.email)
33
+ authorLinks.push({
34
+ href: `mailto:${author.email}`,
35
+ icon: "email",
36
+ newTab: false,
37
+ label: author.email,
38
+ });
39
+ return (jsx(PostAside, { author: {
40
+ title: author.name,
41
+ image: author.image && { src: author.image },
42
+ copy: author.byline,
43
+ links: authorLinks,
44
+ }, shareBar: {
45
+ headline: {
46
+ text: "Share this post",
47
+ level: "h3",
48
+ },
49
+ links: socialLinks,
50
+ }, meta: {
51
+ items: metaItems,
52
+ } }));
53
+ };
54
+
55
+ export { BlogAside };
@@ -0,0 +1,3 @@
1
+ .c-post-head__image {
2
+ margin-bottom: var(--ks-spacing-stack-m);
3
+ }
@@ -0,0 +1,54 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/blog-head.schema.json",
4
+ "title": "Blog Head",
5
+ "description": "Intro portion of a singular blog entry",
6
+ "type": "object",
7
+ "properties": {
8
+ "date": {
9
+ "title": "Published Date",
10
+ "description": "The date when the blog post was published",
11
+ "type": "string",
12
+ "format": "date",
13
+ "examples": [
14
+ "12/30/2022"
15
+ ]
16
+ },
17
+ "tags": {
18
+ "type": "array",
19
+ "title": "Tags",
20
+ "description": "The tags associated with the blog post",
21
+ "items": {
22
+ "type": "string",
23
+ "examples": [
24
+ "tech",
25
+ "programming"
26
+ ]
27
+ }
28
+ },
29
+ "headline": {
30
+ "title": "Headline",
31
+ "description": "The headline of the blog post",
32
+ "type": "string",
33
+ "examples": [
34
+ "This is a blog post headline"
35
+ ]
36
+ },
37
+ "image": {
38
+ "title": "Cover Image",
39
+ "description": "The source of the cover image for the blog post",
40
+ "type": "string",
41
+ "format": "uri",
42
+ "examples": [
43
+ "img/close-up-young-business-team-working.png"
44
+ ]
45
+ },
46
+ "type": {
47
+ "const": "blog-head"
48
+ }
49
+ },
50
+ "additionalProperties": false,
51
+ "required": [
52
+ "headline"
53
+ ]
54
+ }
@@ -0,0 +1,40 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/blog-head.schema.json",
4
+ "title": "Blog Head",
5
+ "description": "Intro portion of a singular blog entry",
6
+ "type": "object",
7
+ "properties": {
8
+ "date": {
9
+ "title": "Published Date",
10
+ "description": "The date when the blog post was published",
11
+ "type": "string",
12
+ "format": "date",
13
+ "examples": ["12/30/2022"]
14
+ },
15
+ "tags": {
16
+ "type": "array",
17
+ "title": "Tags",
18
+ "description": "The tags associated with the blog post",
19
+ "items": {
20
+ "type": "string",
21
+ "examples": ["tech", "programming"]
22
+ }
23
+ },
24
+ "headline": {
25
+ "title": "Headline",
26
+ "description": "The headline of the blog post",
27
+ "type": "string",
28
+ "examples": ["This is a blog post headline"]
29
+ },
30
+ "image": {
31
+ "title": "Cover Image",
32
+ "description": "The source of the cover image for the blog post",
33
+ "type": "string",
34
+ "format": "uri",
35
+ "examples": ["img/close-up-young-business-team-working.png"]
36
+ }
37
+ },
38
+ "additionalProperties": false,
39
+ "required": ["headline"]
40
+ }
@@ -0,0 +1,34 @@
1
+ import { HTMLAttributes, FC } from "react";
2
+ /* eslint-disable */
3
+ /**
4
+ * This file was automatically generated by json-schema-to-typescript.
5
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
6
+ * and run json-schema-to-typescript to regenerate this file.
7
+ */
8
+ /**
9
+ * The date when the blog post was published
10
+ */
11
+ type PublishedDate = string;
12
+ /**
13
+ * The tags associated with the blog post
14
+ */
15
+ type Tags = string[];
16
+ /**
17
+ * The headline of the blog post
18
+ */
19
+ type Headline = string;
20
+ /**
21
+ * The source of the cover image for the blog post
22
+ */
23
+ type CoverImage = string;
24
+ /**
25
+ * Intro portion of a singular blog entry
26
+ */
27
+ interface BlogHeadProps {
28
+ date?: PublishedDate;
29
+ tags?: Tags;
30
+ headline: Headline;
31
+ image?: CoverImage;
32
+ }
33
+ declare const BlogHead: FC<BlogHeadProps & HTMLAttributes<HTMLElement>>;
34
+ export { BlogHead };
@@ -0,0 +1,11 @@
1
+ import "./blog-head.css";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { PostHead } from '@kickstartds/blog/lib/post-head';
4
+
5
+ const BlogHead = ({ date, tags, headline, image, }) => {
6
+ return (jsx(PostHead, { date: date, headline: { text: headline, level: "h1", align: "left" }, image: { src: image }, categories: tags.map((tag) => {
7
+ return { label: tag };
8
+ }) }));
9
+ };
10
+
11
+ export { BlogHead };
@@ -0,0 +1,58 @@
1
+ .l-container--post-teaser {
2
+ /* stylelint-disable-next-line property-no-unknown */
3
+ container-name: post-teaser;
4
+ }
5
+
6
+ article.c-post-teaser {
7
+ --c-teaser--background: transparent;
8
+ --c-post-teaser--gap: var(--ks-spacing-stack-s) var(--ks-spacing-inline-s);
9
+ --c-teaser_text--spacing: var(--ks-spacing-stack-s);
10
+ --g-topic--font: var(--ks-font-display-s);
11
+ }
12
+ @container post-teaser (min-width: 640px) {
13
+ article.c-post-teaser {
14
+ --g-topic--font: var(--ks-font-display-l);
15
+ --c-rich-text--font: var(--ks-font-copy-m);
16
+ }
17
+ article.c-post-teaser .c-tag-label--s {
18
+ --c-tag-label--font: var(--ks-font-interface-s);
19
+ }
20
+ }
21
+ @container post-teaser (min-width: 1000px) {
22
+ article.c-post-teaser {
23
+ --g-topic--font: var(--ks-font-display-xl);
24
+ }
25
+ }
26
+ article.c-post-teaser .c-teaser {
27
+ overflow: visible;
28
+ cursor: pointer;
29
+ }
30
+ article.c-post-teaser .c-teaser:hover .c-teaser__topic {
31
+ text-shadow: 0 0 15px var(--ks-color-fg-alpha-5);
32
+ }
33
+ article.c-post-teaser .c-teaser:hover .c-rich-text {
34
+ color: var(--ks-color-fg);
35
+ }
36
+ article.c-post-teaser .c-teaser:hover .c-rich-text > :not(.c-post-meta) {
37
+ text-decoration: none;
38
+ }
39
+ article.c-post-teaser .c-post-teaser__image img {
40
+ border-radius: var(--ks-border-radius-card);
41
+ }
42
+ article.c-post-teaser .c-post-meta {
43
+ --c-post-meta_author--font-weight: var(--ks-font-weight-semi-bold);
44
+ --c-post-meta--gap: 0.5em 1em;
45
+ margin: 0;
46
+ }
47
+ article.c-post-teaser .c-rich-text {
48
+ transition: var(--ks-transition-hover);
49
+ transition-property: color;
50
+ display: flex;
51
+ flex-direction: column;
52
+ gap: var(--c-post-teaser--gap);
53
+ }
54
+ article.c-post-teaser .c-teaser__topic {
55
+ text-align: left;
56
+ transition: var(--ks-transition-hover);
57
+ transition-property: text-shadow;
58
+ }
@@ -0,0 +1,135 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/blog-teaser.schema.json",
4
+ "title": "Blog Teaser",
5
+ "description": "Display a blog teaser with date, tags, headline, teaser text and author",
6
+ "type": "object",
7
+ "properties": {
8
+ "date": {
9
+ "title": "Date",
10
+ "description": "The date of the blog post",
11
+ "type": "string",
12
+ "format": "date",
13
+ "examples": [
14
+ "12/30/2022"
15
+ ]
16
+ },
17
+ "tags": {
18
+ "type": "array",
19
+ "title": "Tags",
20
+ "description": "The tags for the blog post",
21
+ "items": {
22
+ "type": "string",
23
+ "examples": [
24
+ "tech",
25
+ "programming"
26
+ ]
27
+ }
28
+ },
29
+ "headline": {
30
+ "title": "Headline",
31
+ "description": "The headline of the blog post",
32
+ "type": "string",
33
+ "examples": [
34
+ "This is a blog post headline"
35
+ ]
36
+ },
37
+ "teaserText": {
38
+ "title": "Teaser Text",
39
+ "description": "The teaser text of the blog post",
40
+ "type": "string",
41
+ "examples": [
42
+ "This is a teaser text for the blog post"
43
+ ]
44
+ },
45
+ "image": {
46
+ "title": "Image",
47
+ "description": "The preview image for the blog post",
48
+ "type": "string",
49
+ "format": "image",
50
+ "examples": [
51
+ "img/close-up-young-business-team-working.png"
52
+ ]
53
+ },
54
+ "link": {
55
+ "type": "object",
56
+ "title": "Link",
57
+ "description": "URL and label for the blog post linked",
58
+ "properties": {
59
+ "url": {
60
+ "title": "URL",
61
+ "description": "The blog entry URL to link",
62
+ "type": "string",
63
+ "format": "uri",
64
+ "examples": [
65
+ "https://example.com"
66
+ ]
67
+ },
68
+ "label": {
69
+ "title": "Label",
70
+ "description": "The label to use for the link",
71
+ "type": "string",
72
+ "examples": [
73
+ "Read more"
74
+ ],
75
+ "default": "Read more"
76
+ }
77
+ },
78
+ "additionalProperties": false,
79
+ "required": [
80
+ "url"
81
+ ]
82
+ },
83
+ "readingTime": {
84
+ "title": "Reading Time",
85
+ "description": "Time to read for the blog post",
86
+ "type": "string",
87
+ "examples": [
88
+ "5 min read"
89
+ ]
90
+ },
91
+ "author": {
92
+ "type": "object",
93
+ "title": "Author",
94
+ "description": "The author of the blog post",
95
+ "properties": {
96
+ "name": {
97
+ "title": "Name",
98
+ "description": "The name of the author",
99
+ "type": "string",
100
+ "examples": [
101
+ "John Doe"
102
+ ]
103
+ },
104
+ "title": {
105
+ "title": "Title",
106
+ "description": "The title of the author",
107
+ "type": "string",
108
+ "examples": [
109
+ "CEO"
110
+ ]
111
+ },
112
+ "image": {
113
+ "title": "Image",
114
+ "description": "The image URL of the author",
115
+ "type": "string",
116
+ "examples": [
117
+ "img/people/author-emily.png"
118
+ ]
119
+ }
120
+ },
121
+ "additionalProperties": false,
122
+ "required": [
123
+ "name"
124
+ ]
125
+ },
126
+ "type": {
127
+ "const": "blog-teaser"
128
+ }
129
+ },
130
+ "additionalProperties": false,
131
+ "required": [
132
+ "headline",
133
+ "teaserText"
134
+ ]
135
+ }
@@ -0,0 +1,102 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/blog-teaser.schema.json",
4
+ "title": "Blog Teaser",
5
+ "description": "Display a blog teaser with date, tags, headline, teaser text and author",
6
+ "type": "object",
7
+ "properties": {
8
+ "date": {
9
+ "title": "Date",
10
+ "description": "The date of the blog post",
11
+ "type": "string",
12
+ "format": "date",
13
+ "examples": ["12/30/2022"]
14
+ },
15
+ "tags": {
16
+ "type": "array",
17
+ "title": "Tags",
18
+ "description": "The tags for the blog post",
19
+ "items": {
20
+ "type": "string",
21
+ "examples": ["tech", "programming"]
22
+ }
23
+ },
24
+ "headline": {
25
+ "title": "Headline",
26
+ "description": "The headline of the blog post",
27
+ "type": "string",
28
+ "examples": ["This is a blog post headline"]
29
+ },
30
+ "teaserText": {
31
+ "title": "Teaser Text",
32
+ "description": "The teaser text of the blog post",
33
+ "type": "string",
34
+ "examples": ["This is a teaser text for the blog post"]
35
+ },
36
+ "image": {
37
+ "title": "Image",
38
+ "description": "The preview image for the blog post",
39
+ "type": "string",
40
+ "format": "image",
41
+ "examples": ["img/close-up-young-business-team-working.png"]
42
+ },
43
+ "link": {
44
+ "type": "object",
45
+ "title": "Link",
46
+ "description": "URL and label for the blog post linked",
47
+ "properties": {
48
+ "url": {
49
+ "title": "URL",
50
+ "description": "The blog entry URL to link",
51
+ "type": "string",
52
+ "format": "uri",
53
+ "examples": ["https://example.com"]
54
+ },
55
+ "label": {
56
+ "title": "Label",
57
+ "description": "The label to use for the link",
58
+ "type": "string",
59
+ "examples": ["Read more"],
60
+ "default": "Read more"
61
+ }
62
+ },
63
+ "additionalProperties": false,
64
+ "required": ["url"]
65
+ },
66
+ "readingTime": {
67
+ "title": "Reading Time",
68
+ "description": "Time to read for the blog post",
69
+ "type": "string",
70
+ "examples": ["5 min read"]
71
+ },
72
+ "author": {
73
+ "type": "object",
74
+ "title": "Author",
75
+ "description": "The author of the blog post",
76
+ "properties": {
77
+ "name": {
78
+ "title": "Name",
79
+ "description": "The name of the author",
80
+ "type": "string",
81
+ "examples": ["John Doe"]
82
+ },
83
+ "title": {
84
+ "title": "Title",
85
+ "description": "The title of the author",
86
+ "type": "string",
87
+ "examples": ["CEO"]
88
+ },
89
+ "image": {
90
+ "title": "Image",
91
+ "description": "The image URL of the author",
92
+ "type": "string",
93
+ "examples": ["img/people/author-emily.png"]
94
+ }
95
+ },
96
+ "additionalProperties": false,
97
+ "required": ["name"]
98
+ }
99
+ },
100
+ "additionalProperties": false,
101
+ "required": ["headline", "teaserText"]
102
+ }
@@ -0,0 +1,81 @@
1
+ import { HTMLAttributes, FC } from "react";
2
+ /* eslint-disable */
3
+ /**
4
+ * This file was automatically generated by json-schema-to-typescript.
5
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
6
+ * and run json-schema-to-typescript to regenerate this file.
7
+ */
8
+ /**
9
+ * The date of the blog post
10
+ */
11
+ type Date = string;
12
+ /**
13
+ * The tags for the blog post
14
+ */
15
+ type Tags = string[];
16
+ /**
17
+ * The headline of the blog post
18
+ */
19
+ type Headline = string;
20
+ /**
21
+ * The teaser text of the blog post
22
+ */
23
+ type TeaserText = string;
24
+ /**
25
+ * The preview image for the blog post
26
+ */
27
+ type Image = string;
28
+ /**
29
+ * The blog entry URL to link
30
+ */
31
+ type URL = string;
32
+ /**
33
+ * The label to use for the link
34
+ */
35
+ type Label = string;
36
+ /**
37
+ * Time to read for the blog post
38
+ */
39
+ type ReadingTime = string;
40
+ /**
41
+ * The name of the author
42
+ */
43
+ type Name = string;
44
+ /**
45
+ * The title of the author
46
+ */
47
+ type Title = string;
48
+ /**
49
+ * The image URL of the author
50
+ */
51
+ type Image1 = string;
52
+ /**
53
+ * Display a blog teaser with date, tags, headline, teaser text and author
54
+ */
55
+ interface BlogTeaserProps {
56
+ date?: Date;
57
+ tags?: Tags;
58
+ headline: Headline;
59
+ teaserText: TeaserText;
60
+ image?: Image;
61
+ link?: Link;
62
+ readingTime?: ReadingTime;
63
+ author?: Author;
64
+ }
65
+ /**
66
+ * URL and label for the blog post linked
67
+ */
68
+ interface Link {
69
+ url: URL;
70
+ label?: Label;
71
+ }
72
+ /**
73
+ * The author of the blog post
74
+ */
75
+ interface Author {
76
+ name: Name;
77
+ title?: Title;
78
+ image?: Image1;
79
+ }
80
+ declare const BlogTeaser: FC<BlogTeaserProps & HTMLAttributes<HTMLElement>>;
81
+ export { BlogTeaser };
@@ -0,0 +1,37 @@
1
+ import "./blog-teaser.css";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { PostTeaserContextDefault } from '@kickstartds/blog/lib/post-teaser';
4
+ import { Container } from '@kickstartds/core/lib/container';
5
+
6
+ const BlogTeaser = ({ date, tags, headline, teaserText, image, link, readingTime, author, }) => {
7
+ const teaserMetaItems = [];
8
+ if (date)
9
+ teaserMetaItems.push({
10
+ icon: "date",
11
+ text: typeof date === "number" ? new Date(date).toLocaleDateString() : date,
12
+ });
13
+ if (readingTime)
14
+ teaserMetaItems.push({
15
+ icon: "time",
16
+ text: readingTime,
17
+ });
18
+ return (jsx(Container, { name: "post-teaser", children: jsx(PostTeaserContextDefault
19
+ // @ts-expect-error
20
+ , {
21
+ // @ts-expect-error
22
+ image: { src: image }, meta: {
23
+ author: {
24
+ image: author.image && { src: author.image },
25
+ name: author.name,
26
+ },
27
+ items: teaserMetaItems,
28
+ }, link: {
29
+ label: link.label || "Read more",
30
+ // @ts-expect-error
31
+ target: link.url,
32
+ }, title: headline, body: teaserText, categories: tags.map((tag) => {
33
+ return { label: tag };
34
+ }) }) }));
35
+ };
36
+
37
+ export { BlogTeaser };