@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,98 @@
1
+ .l-container--teaser-card {
2
+ /* stylelint-disable-next-line property-no-unknown */
3
+ container-name: teaser-card;
4
+ }
5
+
6
+ .c-teaser.c-teaser-card {
7
+ --g-topic--font: var(--ks-font-display-l);
8
+ --c-rich-text--font: var(--ks-font-copy-m);
9
+ --c-teaser--padding: var(--ks-spacing-inset-l);
10
+ --c-teaser--background: var(--ks-color-fg-alpha-9);
11
+ --c-teaser--color: var(--ks-color-fg-to-bg-3);
12
+ --c-teaser--border: 1px solid var(--ks-color-fg-alpha-8);
13
+ --c-teaser--border-radius: var(--ks-border-radius-card);
14
+ --c-teaser--shadow-hover: 0 1px 11px var(--ks-color-fg-alpha-6);
15
+ }
16
+ @media (min-width: 48rem) {
17
+ .c-teaser.c-teaser-card {
18
+ --g-topic--font: var(--ks-font-display-s);
19
+ --c-rich-text--font: var(--ks-font-copy-s);
20
+ --c-teaser--padding: var(--ks-spacing-inset-s);
21
+ }
22
+ @container teaser-card (min-width: 300px) {
23
+ .c-teaser.c-teaser-card {
24
+ --c-rich-text--font: var(--ks-font-copy-m);
25
+ --g-topic--font: var(--ks-font-display-m);
26
+ }
27
+ }
28
+ @container teaser-card (min-width: 820px) {
29
+ .c-teaser.c-teaser-card {
30
+ --g-topic--font: var(--ks-font-display-l);
31
+ --c-rich-text--font: var(--ks-font-copy-l);
32
+ --c-teaser--padding: var(--ks-spacing-inset-l);
33
+ }
34
+ }
35
+ }
36
+
37
+ .l-container--teaser-card {
38
+ /* stylelint-disable-next-line property-no-unknown */
39
+ container-name: teaser-card;
40
+ }
41
+
42
+ .l-container--teaser-card {
43
+ display: flex;
44
+ }
45
+
46
+ .c-teaser.c-teaser-card {
47
+ position: relative;
48
+ overflow: visible;
49
+ }
50
+ .c-teaser.c-teaser-card > :first-child:not(.c-teaser__body) {
51
+ overflow: hidden;
52
+ border-radius: var(--c-teaser--border-radius) var(--c-teaser--border-radius) 0 0;
53
+ }
54
+ .c-teaser.c-teaser-card img {
55
+ object-fit: cover;
56
+ }
57
+ .c-teaser.c-teaser-card--wide img {
58
+ aspect-ratio: 4/3;
59
+ }
60
+ .c-teaser.c-teaser-card--landscape img {
61
+ aspect-ratio: 16/9;
62
+ }
63
+ .c-teaser.c-teaser-card--square img {
64
+ aspect-ratio: 1/1;
65
+ }
66
+ @container teaser-card (min-width: 640px) {
67
+ .c-teaser.c-teaser-card--unset img {
68
+ height: 100%;
69
+ }
70
+ .c-teaser.c-teaser-card--row {
71
+ flex-direction: row;
72
+ }
73
+ .c-teaser.c-teaser-card--row .c-teaser__body {
74
+ justify-content: center;
75
+ flex-basis: 50%;
76
+ }
77
+ .c-teaser.c-teaser-card--row .c-teaser__body .c-teaser__text {
78
+ flex: 0;
79
+ }
80
+ .c-teaser.c-teaser-card--row > :first-child:not(.c-teaser__body) {
81
+ flex: 50%;
82
+ border-radius: var(--c-teaser--border-radius) 0 0 var(--c-teaser--border-radius);
83
+ }
84
+ }
85
+ .c-teaser.c-teaser-card--label .c-teaser__label {
86
+ border-radius: var(--ks-border-radius-pill);
87
+ pointer-events: initial;
88
+ padding: 0.5em 1em;
89
+ transform: translate(0.5em, -50%);
90
+ font: var(--ks-font-interface-m);
91
+ text-align: center;
92
+ font-weight: var(--ks-font-weight-semi-bold);
93
+ color: var(--ks-color-fg-base);
94
+ position: absolute;
95
+ background: var(--ks-color-primary-inverted);
96
+ top: 0;
97
+ right: 0;
98
+ }
@@ -0,0 +1,69 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/teaser-card.schema.json",
4
+ "title": "Teaser Card",
5
+ "description": "Component used to tease content",
6
+ "type": "object",
7
+ "properties": {
8
+ "headline": {
9
+ "type": "string",
10
+ "title": "Headline",
11
+ "description": "Headline for the teaser card",
12
+ "format": "markdown"
13
+ },
14
+ "text": {
15
+ "type": "string",
16
+ "title": "Text",
17
+ "description": "Body text for the teaser card",
18
+ "format": "markdown"
19
+ },
20
+ "label": {
21
+ "type": "string",
22
+ "title": "Label",
23
+ "description": "Label for the Teaser Card"
24
+ },
25
+ "layout": {
26
+ "type": "string",
27
+ "enum": [
28
+ "stack",
29
+ "row"
30
+ ],
31
+ "description": "Layout for the Teaser Card",
32
+ "default": "stack"
33
+ },
34
+ "target": {
35
+ "type": "string",
36
+ "title": "Target",
37
+ "description": "Target that should be linked",
38
+ "format": "uri"
39
+ },
40
+ "displayButton": {
41
+ "type": "boolean",
42
+ "title": "Display Button",
43
+ "description": "Toggle wether you want the card to have a visible button or not",
44
+ "default": true
45
+ },
46
+ "image": {
47
+ "type": "string",
48
+ "title": "Image",
49
+ "description": "Image to display as cover",
50
+ "format": "uri"
51
+ },
52
+ "imageRatio": {
53
+ "type": "string",
54
+ "enum": [
55
+ "wide",
56
+ "landscape",
57
+ "square",
58
+ "unset"
59
+ ],
60
+ "description": "Aspect ratio of the image",
61
+ "default": "wide"
62
+ },
63
+ "type": {
64
+ "const": "teaser-card"
65
+ }
66
+ },
67
+ "additionalProperties": false,
68
+ "required": []
69
+ }
@@ -0,0 +1,58 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/teaser-card.schema.json",
4
+ "title": "Teaser Card",
5
+ "description": "Component used to tease content",
6
+ "type": "object",
7
+ "properties": {
8
+ "headline": {
9
+ "type": "string",
10
+ "title": "Headline",
11
+ "description": "Headline for the teaser card",
12
+ "format": "markdown"
13
+ },
14
+ "text": {
15
+ "type": "string",
16
+ "title": "Text",
17
+ "description": "Body text for the teaser card",
18
+ "format": "markdown"
19
+ },
20
+ "label": {
21
+ "type": "string",
22
+ "title": "Label",
23
+ "description": "Label for the Teaser Card"
24
+ },
25
+ "layout": {
26
+ "type": "string",
27
+ "enum": ["stack", "row"],
28
+ "description": "Layout for the Teaser Card",
29
+ "default": "stack"
30
+ },
31
+ "target": {
32
+ "type": "string",
33
+ "title": "Target",
34
+ "description": "Target that should be linked",
35
+ "format": "uri"
36
+ },
37
+ "displayButton": {
38
+ "type": "boolean",
39
+ "title": "Display Button",
40
+ "description": "Toggle wether you want the card to have a visible button or not",
41
+ "default": true
42
+ },
43
+ "image": {
44
+ "type": "string",
45
+ "title": "Image",
46
+ "description": "Image to display as cover",
47
+ "format": "uri"
48
+ },
49
+ "imageRatio": {
50
+ "type": "string",
51
+ "enum": ["wide", "landscape", "square", "unset"],
52
+ "description": "Aspect ratio of the image",
53
+ "default": "wide"
54
+ }
55
+ },
56
+ "additionalProperties": false,
57
+ "required": []
58
+ }
@@ -0,0 +1,33 @@
1
+ :root .c-teaser.c-component-teaser {
2
+ --g-topic--font: var(--ks-font-copy-l);
3
+ --g-topic--font-weight: var(--ks-font-weight-semi-bold);
4
+ --c-teaser_text--spacing: 0.25em;
5
+ --c-rich-text--font: var(--ks-font-copy-s);
6
+ --c-teaser--background: var(--ks-color-fg-alpha-9);
7
+ --c-teaser--color: var(--ks-color-fg-to-bg-3);
8
+ --c-teaser--border: 1px solid var(--ks-color-fg-alpha-8);
9
+ --c-teaser--border-radius: var(--ks-border-radius-card);
10
+ --c-teaser--shadow-hover: 0 1px 11px var(--ks-color-fg-alpha-6);
11
+ }
12
+
13
+ .c-teaser.c-component-teaser {
14
+ position: relative;
15
+ overflow: visible;
16
+ }
17
+ .c-teaser.c-component-teaser img {
18
+ border-radius: var(--c-teaser--border-radius) var(--c-teaser--border-radius) 0 0;
19
+ }
20
+ .c-teaser.c-component-teaser--label .c-teaser__label {
21
+ border-radius: var(--ks-border-radius-pill);
22
+ pointer-events: initial;
23
+ padding: 0.5em 1em;
24
+ transform: translate(0.5em, -50%);
25
+ font: var(--ks-font-interface-m);
26
+ text-align: center;
27
+ font-weight: var(--ks-font-weight-semi-bold);
28
+ color: var(--ks-color-fg-base);
29
+ position: absolute;
30
+ background: var(--ks-color-primary-inverted);
31
+ top: 0;
32
+ right: 0;
33
+ }
@@ -0,0 +1,41 @@
1
+ /// <reference types="react" />
2
+ import { HTMLAttributes, FC, PropsWithChildren } from "react";
3
+ /* eslint-disable */
4
+ /**
5
+ * This file was automatically generated by json-schema-to-typescript.
6
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
7
+ * and run json-schema-to-typescript to regenerate this file.
8
+ */
9
+ /**
10
+ * Headline for the teaser card
11
+ */
12
+ type Headline = string;
13
+ /**
14
+ * Body text for the teaser card
15
+ */
16
+ type Text = string;
17
+ /**
18
+ * Label for the Teaser Card
19
+ */
20
+ type Label = string;
21
+ /**
22
+ * Target that should be linked
23
+ */
24
+ type Target = string;
25
+ /**
26
+ * Image to display as cover
27
+ */
28
+ type Image = string;
29
+ /**
30
+ * Component used to tease content
31
+ */
32
+ interface ComponentTeaserProps {
33
+ title?: Headline;
34
+ text?: Text;
35
+ label?: Label;
36
+ target?: Target;
37
+ image?: Image;
38
+ }
39
+ declare const ComponentTeaser: import("react").ForwardRefExoticComponent<ComponentTeaserProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
40
+ declare const TeaserBoxProvider: FC<PropsWithChildren>;
41
+ export { ComponentTeaser, TeaserBoxProvider };
@@ -0,0 +1,18 @@
1
+ import "./component-teaser.css";
2
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
+ import { forwardRef } from 'react';
4
+ import classnames from 'classnames';
5
+ import { TeaserBoxContextDefault, TeaserBoxContext } from '@kickstartds/base/lib/teaser-box';
6
+
7
+ const ComponentTeaser = forwardRef(({ title, text, target, image, label, ...props }, ref) => {
8
+ return (jsx(TeaserBoxContextDefault, { ...props, className: classnames(`c-component-teaser`, label && `c-component-teaser--label`), ratio: "16:6", topic: title, text: text,
9
+ // @ts-expect-error
10
+ renderTopic: () => (jsxs(Fragment, { children: [label ? jsx("span", { className: "c-teaser__label", children: label }) : "", title] })), link: {
11
+ hidden: true,
12
+ label: "Read more",
13
+ target: target,
14
+ }, image: image, ref: ref }));
15
+ });
16
+ const TeaserBoxProvider = (props) => (jsx(TeaserBoxContext.Provider, { ...props, value: ComponentTeaser }));
17
+
18
+ export { ComponentTeaser, TeaserBoxProvider };
@@ -0,0 +1,9 @@
1
+ import { HTMLAttributes, FC, PropsWithChildren } from "react";
2
+ import { TestimonialsProps } from "../../TestimonialsProps-d27ae4b4.js";
3
+ import { SliderProps } from "../../SliderProps-69b2f1d7.js";
4
+ interface ConditionalSliderProps extends SliderProps {
5
+ layout: "slider" | "list" | "alternating";
6
+ }
7
+ declare const ConditionalSlider: FC<PropsWithChildren<ConditionalSliderProps>>;
8
+ declare const Testimonials: FC<TestimonialsProps & HTMLAttributes<HTMLElement>>;
9
+ export { ConditionalSlider, Testimonials };
@@ -0,0 +1,22 @@
1
+ import "./testimonials.css";
2
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
+ import { Quote } from '@kickstartds/content/lib/quote';
4
+ import { Slider } from '../slider/index.js';
5
+ import '@kickstartds/content/lib/slider';
6
+
7
+ const ConditionalSlider = ({ layout, children, arrows, nav, ...props }) => {
8
+ if (layout === "slider") {
9
+ return (jsx(Slider, { className: "c-testimonials c-testimonials--slider", arrows: arrows, nav: nav, ...props, children: children }));
10
+ }
11
+ else {
12
+ return (jsx("div", { className: "c-testimonials c-testimonials--list", ...props, children: children }));
13
+ }
14
+ };
15
+ const Testimonials = ({ testimonials, layout = "slider", ...props }) => {
16
+ return (jsx(ConditionalSlider, { layout: layout, arrows: true, nav: true, ...props, children: testimonials.map((testimonial, index) => (jsx(Quote, { className: layout === "alternating" && index % 2 === 1
17
+ ? "c-quote--reverse"
18
+ : "", text: testimonial.quote, source: testimonial.name, byline: testimonial.title, image: testimonial.image.src, renderSource: () => (jsxs(Fragment, { children: [testimonial?.rating &&
19
+ (testimonial?.rating ? (jsx("div", { children: [...Array(testimonial?.rating)].map((_, index) => (jsx("span", { children: "\u2605" }, index))) })) : ("")), jsx("div", { className: "c-quote__source", children: testimonial.name })] })) }, index))) }));
20
+ };
21
+
22
+ export { ConditionalSlider, Testimonials };
@@ -0,0 +1,63 @@
1
+ .c-testimonials .c-quote {
2
+ --c-quote_text--font: var(--ks-font-copy-l);
3
+ --c-quote_source--color: var(--ks-color-fg);
4
+ --c-quote_source--font: var(--ks-font-copy-m);
5
+ --c-quote_content--padding-left: var(--ks-spacing-xl);
6
+ --c-quote_icon--font-family: var(--ks-font-family-copy);
7
+ --c-quote_icon--font-size: 3em;
8
+ --c-quote_icon--color: var(--ks-text-color-primary);
9
+ --c-quote_byline--font: var(--ks-font-copy-m);
10
+ --c-quote_byline--font-weight: var(--ks-font-weight-regular);
11
+ --c-quote_byline--color: var(--ks-text-color-default);
12
+ --c-quote_content--padding-left: var(--ks-spacing-xl);
13
+ }
14
+ @container quote (min-width: 640px) {
15
+ .c-testimonials .c-quote {
16
+ --c-quote_image--max-width: 40%;
17
+ }
18
+ }
19
+ @container quote (min-width: 960px) {
20
+ .c-testimonials .c-quote {
21
+ --c-quote_content--padding-left: var(--ks-spacing-l);
22
+ }
23
+ }
24
+ .c-testimonials .c-slider-main {
25
+ --c-slider_bullet--outline-color-active: var(--ks-text-color-primary);
26
+ --c-slider_bullet--size: 1rem;
27
+ }
28
+
29
+ .c-testimonials--list {
30
+ display: flex;
31
+ flex-direction: column;
32
+ gap: var(--ks-spacing-stack-xl);
33
+ }
34
+ .c-testimonials .c-quote__source {
35
+ color: var(--c-quote_source--color);
36
+ }
37
+ .c-testimonials .c-quote__byline {
38
+ color: var(--c-quote_byline--color);
39
+ }
40
+ .c-testimonials .c-quote__text {
41
+ margin-bottom: var(--ks-spacing-stack-s);
42
+ }
43
+ .c-testimonials .c-quote--reverse {
44
+ flex-direction: row-reverse;
45
+ }
46
+ .c-testimonials .c-quote--reverse .c-quote__content {
47
+ padding-right: var(--c-quote_content--padding-left);
48
+ padding-left: unset;
49
+ }
50
+ .c-testimonials .c-quote--reverse .c-quote__content:before {
51
+ right: var(--c-quote_icon--left, calc(var(--c-quote_content--padding-left) / -2));
52
+ top: 0;
53
+ left: unset;
54
+ }
55
+ .c-testimonials .c-quote .c-quote__content {
56
+ font: var(--c-quote_text--font);
57
+ }
58
+ .c-testimonials .c-quote .c-quote__content::before {
59
+ line-height: 0.7;
60
+ }
61
+ .c-testimonials .c-slider .c-slider-nav {
62
+ margin-top: var(--ks-spacing-stack-s);
63
+ }
@@ -0,0 +1,93 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/testimonials.schema.json",
4
+ "title": "Testimonials",
5
+ "description": "Display testimonials with an optional image and rating",
6
+ "type": "object",
7
+ "properties": {
8
+ "layout": {
9
+ "title": "Quote",
10
+ "description": "The testimonial quote",
11
+ "type": "string",
12
+ "enum": [
13
+ "slider",
14
+ "list",
15
+ "alternating"
16
+ ],
17
+ "default": "slider"
18
+ },
19
+ "testimonials": {
20
+ "type": "array",
21
+ "title": "Testimonials",
22
+ "description": "Add testimonials featuring an image, a quote, a source and a rating",
23
+ "items": {
24
+ "type": "object",
25
+ "properties": {
26
+ "quote": {
27
+ "title": "Quote",
28
+ "description": "The testimonial quote",
29
+ "type": "string",
30
+ "examples": [
31
+ "This product is amazing!"
32
+ ]
33
+ },
34
+ "name": {
35
+ "title": "Name",
36
+ "description": "The name of the quote author",
37
+ "type": "string",
38
+ "examples": [
39
+ "John Doe"
40
+ ]
41
+ },
42
+ "title": {
43
+ "title": "Title",
44
+ "description": "The title of the quote author",
45
+ "type": "string",
46
+ "examples": [
47
+ "CEO"
48
+ ]
49
+ },
50
+ "image": {
51
+ "type": "object",
52
+ "properties": {
53
+ "src": {
54
+ "title": "Source",
55
+ "description": "The image to display with the testimonial",
56
+ "type": "string",
57
+ "examples": [
58
+ "https://example.com/image.jpg"
59
+ ]
60
+ },
61
+ "alt": {
62
+ "title": "Alt Text",
63
+ "description": "The alt text of the image file",
64
+ "type": "string"
65
+ }
66
+ },
67
+ "additionalProperties": false
68
+ },
69
+ "rating": {
70
+ "title": "Rating",
71
+ "description": "The rating of the testimonial, from 1 to 5",
72
+ "type": "integer",
73
+ "minimum": 1,
74
+ "maximum": 5
75
+ }
76
+ },
77
+ "additionalProperties": false,
78
+ "required": [
79
+ "quote",
80
+ "name",
81
+ "image"
82
+ ]
83
+ }
84
+ },
85
+ "type": {
86
+ "const": "testimonials"
87
+ }
88
+ },
89
+ "additionalProperties": false,
90
+ "required": [
91
+ "quote"
92
+ ]
93
+ }
@@ -0,0 +1,71 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/testimonials.schema.json",
4
+ "title": "Testimonials",
5
+ "description": "Display testimonials with an optional image and rating",
6
+ "type": "object",
7
+ "properties": {
8
+ "layout": {
9
+ "title": "Quote",
10
+ "description": "The testimonial quote",
11
+ "type": "string",
12
+ "enum": ["slider", "list", "alternating"],
13
+ "default": "slider"
14
+ },
15
+ "testimonials": {
16
+ "type": "array",
17
+ "title": "Testimonials",
18
+ "description": "Add testimonials featuring an image, a quote, a source and a rating",
19
+ "items": {
20
+ "type": "object",
21
+ "properties": {
22
+ "quote": {
23
+ "title": "Quote",
24
+ "description": "The testimonial quote",
25
+ "type": "string",
26
+ "examples": ["This product is amazing!"]
27
+ },
28
+ "name": {
29
+ "title": "Name",
30
+ "description": "The name of the quote author",
31
+ "type": "string",
32
+ "examples": ["John Doe"]
33
+ },
34
+ "title": {
35
+ "title": "Title",
36
+ "description": "The title of the quote author",
37
+ "type": "string",
38
+ "examples": ["CEO"]
39
+ },
40
+ "image": {
41
+ "type": "object",
42
+ "properties": {
43
+ "src": {
44
+ "title": "Source",
45
+ "description": "The image to display with the testimonial",
46
+ "type": "string",
47
+ "examples": ["https://example.com/image.jpg"]
48
+ },
49
+ "alt": {
50
+ "title": "Alt Text",
51
+ "description": "The alt text of the image file",
52
+ "type": "string"
53
+ }
54
+ }
55
+ },
56
+ "rating": {
57
+ "title": "Rating",
58
+ "description": "The rating of the testimonial, from 1 to 5",
59
+ "type": "integer",
60
+ "minimum": 1,
61
+ "maximum": 5
62
+ }
63
+ },
64
+ "additionalProperties": false,
65
+ "required": ["quote", "name", "image"]
66
+ }
67
+ }
68
+ },
69
+ "additionalProperties": false,
70
+ "required": ["quote"]
71
+ }
@@ -0,0 +1,4 @@
1
+ import { HTMLAttributes, FC } from "react";
2
+ import { TextProps } from "../../TextProps-a23170d2.js";
3
+ declare const Text: FC<TextProps & HTMLAttributes<HTMLElement>>;
4
+ export { Text };
@@ -0,0 +1,13 @@
1
+ import "./text.css";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import classnames from 'classnames';
4
+ import { RichText } from '@kickstartds/base/lib/rich-text';
5
+
6
+ const Text = ({ text, layout = "singleColumn", align = "left", highlightText = false, ...props }) => {
7
+ const layoutClass = `${layout === "multiColumn" ? "c-rich-text--columns" : ""}`;
8
+ const highlightClass = `${highlightText ? "c-rich-text--highlight" : ""}`;
9
+ const alignClass = `${align === "center" ? "c-rich-text--center" : ""}`;
10
+ return (jsx(RichText, { className: classnames("c-text", `${layoutClass}`, `${alignClass}`, `${highlightClass}`), ...props, text: text }));
11
+ };
12
+
13
+ export { Text };
@@ -0,0 +1,15 @@
1
+ .c-rich-text {
2
+ --ks-text-col-width: 16em;
3
+ }
4
+ .c-rich-text--highlight.c-rich-text {
5
+ color: var(--ks-color-fg);
6
+ font: var(--ks-font-copy-l);
7
+ }
8
+ .c-rich-text--center.c-rich-text {
9
+ text-align: center;
10
+ }
11
+ .c-rich-text--columns.c-rich-text {
12
+ column-gap: var(--ks-spacing-inline-m);
13
+ column-count: auto;
14
+ column-width: var(--ks-text-col-width);
15
+ }
@@ -0,0 +1,50 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/text.schema.json",
4
+ "title": "Text",
5
+ "description": "Component used for displaying text in chapters",
6
+ "type": "object",
7
+ "properties": {
8
+ "text": {
9
+ "type": "string",
10
+ "title": "Text",
11
+ "description": "Text",
12
+ "examples": [
13
+ "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."
14
+ ]
15
+ },
16
+ "layout": {
17
+ "type": "string",
18
+ "title": "Layout",
19
+ "description": "Variant of layout to be used",
20
+ "enum": [
21
+ "singleColumn",
22
+ "multiColumn"
23
+ ],
24
+ "default": "singleColumn"
25
+ },
26
+ "align": {
27
+ "type": "string",
28
+ "title": "Alignment",
29
+ "description": "Alignment of text",
30
+ "enum": [
31
+ "left",
32
+ "center"
33
+ ],
34
+ "default": "left"
35
+ },
36
+ "highlightText": {
37
+ "type": "boolean",
38
+ "title": "Highlight Text",
39
+ "description": "Visually highlight the text",
40
+ "default": false
41
+ },
42
+ "type": {
43
+ "const": "text"
44
+ }
45
+ },
46
+ "additionalProperties": false,
47
+ "required": [
48
+ "text"
49
+ ]
50
+ }