@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,158 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/cta.schema.json",
4
+ "title": "Cta",
5
+ "type": "object",
6
+ "properties": {
7
+ "headline": {
8
+ "title": "Component Headline",
9
+ "description": "Headline for the Component element",
10
+ "type": "string",
11
+ "examples": [
12
+ "Headline"
13
+ ]
14
+ },
15
+ "sub": {
16
+ "title": "Component Subheadline",
17
+ "description": "Subheadline below the component headline",
18
+ "type": "string",
19
+ "examples": [
20
+ "Subheadline"
21
+ ]
22
+ },
23
+ "text": {
24
+ "title": "Component Text",
25
+ "description": "Info text for the component element",
26
+ "type": "string"
27
+ },
28
+ "highlightText": {
29
+ "type": "boolean",
30
+ "title": "Highlight Text",
31
+ "description": "Visually highlight the text",
32
+ "default": false
33
+ },
34
+ "colorNeutral": {
35
+ "title": "Color Neutral",
36
+ "description": "Make the text and buttons color neutral",
37
+ "default": false,
38
+ "type": "boolean"
39
+ },
40
+ "fullWidth": {
41
+ "title": "Width",
42
+ "description": "Set the width of the content to the full width of the element",
43
+ "type": "boolean",
44
+ "default": false
45
+ },
46
+ "buttons": {
47
+ "type": "array",
48
+ "items": {
49
+ "title": "Button",
50
+ "type": "object",
51
+ "properties": {
52
+ "label": {
53
+ "type": "string",
54
+ "title": "Label",
55
+ "description": "Text content to display inside the button",
56
+ "examples": [
57
+ "Book a meeting"
58
+ ]
59
+ },
60
+ "icon": {
61
+ "type": "string",
62
+ "title": "Icon",
63
+ "description": "Choose an icon"
64
+ },
65
+ "target": {
66
+ "type": "string",
67
+ "title": "Target",
68
+ "description": "Target that should be linked, makes the button behave like a link semantically",
69
+ "format": "uri"
70
+ }
71
+ },
72
+ "additionalProperties": false
73
+ }
74
+ },
75
+ "backgroundColor": {
76
+ "title": "Background color",
77
+ "description": "Background color for the whole element",
78
+ "type": "string",
79
+ "format": "color"
80
+ },
81
+ "backgroundImage": {
82
+ "title": "Background image",
83
+ "description": "Background image for the whole element",
84
+ "type": "string",
85
+ "format": "image"
86
+ },
87
+ "image": {
88
+ "title": "Image",
89
+ "description": "Image displayed alongside the text content",
90
+ "type": "object",
91
+ "properties": {
92
+ "src": {
93
+ "title": "Image source",
94
+ "description": "Image source to use",
95
+ "type": "string",
96
+ "format": "image"
97
+ },
98
+ "padding": {
99
+ "title": "Padding",
100
+ "description": "Toggle padding of the image",
101
+ "type": "boolean",
102
+ "default": true
103
+ },
104
+ "alt": {
105
+ "title": "Alt text",
106
+ "description": "Image description",
107
+ "type": "string"
108
+ }
109
+ },
110
+ "additionalProperties": false
111
+ },
112
+ "order": {
113
+ "title": "Order",
114
+ "description": "Choose what comes first on mobile and desktop: image or text",
115
+ "type": "object",
116
+ "properties": {
117
+ "mobileImageLast": {
118
+ "title": "Mobile image after text",
119
+ "description": "Switch to displaying the image after the text on mobile",
120
+ "type": "boolean",
121
+ "default": false
122
+ },
123
+ "desktopImageLast": {
124
+ "title": "Desktop image after text",
125
+ "description": "Switch to displaying the image after the text on desktop",
126
+ "type": "boolean",
127
+ "default": true
128
+ }
129
+ },
130
+ "additionalProperties": false
131
+ },
132
+ "textAlign": {
133
+ "title": "Text Alignment",
134
+ "description": "Choose the alginment of the text",
135
+ "enum": [
136
+ "left",
137
+ "center"
138
+ ],
139
+ "type": "string",
140
+ "default": "left"
141
+ },
142
+ "contentAlign": {
143
+ "title": "Vertical alignment of the content",
144
+ "description": "Select a vertical alignment for the image",
145
+ "type": "string",
146
+ "enum": [
147
+ "center",
148
+ "top",
149
+ "bottom"
150
+ ],
151
+ "default": "center"
152
+ },
153
+ "type": {
154
+ "const": "cta"
155
+ }
156
+ },
157
+ "additionalProperties": false
158
+ }
@@ -0,0 +1,127 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/cta.schema.json",
4
+ "title": "Cta",
5
+ "type": "object",
6
+ "properties": {
7
+ "headline": {
8
+ "title": "Component Headline",
9
+ "description": "Headline for the Component element",
10
+ "type": "string",
11
+ "examples": ["Headline"]
12
+ },
13
+ "sub": {
14
+ "title": "Component Subheadline",
15
+ "description": "Subheadline below the component headline",
16
+ "type": "string",
17
+ "examples": ["Subheadline"]
18
+ },
19
+ "text": {
20
+ "title": "Component Text",
21
+ "description": "Info text for the component element",
22
+ "type": "string"
23
+ },
24
+ "highlightText": {
25
+ "type": "boolean",
26
+ "title": "Highlight Text",
27
+ "description": "Visually highlight the text",
28
+ "default": false
29
+ },
30
+ "colorNeutral": {
31
+ "title": "Color Neutral",
32
+ "description": "Make the text and buttons color neutral",
33
+ "default": false,
34
+ "type": "boolean"
35
+ },
36
+ "fullWidth": {
37
+ "title": "Width",
38
+ "description": "Set the width of the content to the full width of the element",
39
+ "type": "boolean",
40
+ "default": false
41
+ },
42
+ "buttons": {
43
+ "type": "array",
44
+ "items": {
45
+ "title": "Button",
46
+ "type": "object",
47
+ "properties": {
48
+ "label": {
49
+ "$ref": "http://schema.mydesignsystem.com/button.schema.json#/properties/label"
50
+ },
51
+ "icon": {
52
+ "$ref": "http://schema.mydesignsystem.com/button.schema.json#/properties/icon"
53
+ },
54
+ "target": {
55
+ "$ref": "http://schema.mydesignsystem.com/button.schema.json#/properties/target"
56
+ }
57
+ }
58
+ }
59
+ },
60
+ "backgroundColor": {
61
+ "$ref": "http://schema.kickstartds.com/content/storytelling.schema.json#/properties/backgroundColor"
62
+ },
63
+ "backgroundImage": {
64
+ "$ref": "http://schema.kickstartds.com/content/storytelling.schema.json#/properties/backgroundImage"
65
+ },
66
+ "image": {
67
+ "title": "Image",
68
+ "description": "Image displayed alongside the text content",
69
+ "type": "object",
70
+ "properties": {
71
+ "src": {
72
+ "title": "Image source",
73
+ "description": "Image source to use",
74
+ "type": "string",
75
+ "format": "image"
76
+ },
77
+ "padding": {
78
+ "title": "Padding",
79
+ "description": "Toggle padding of the image",
80
+ "type": "boolean",
81
+ "default": true
82
+ },
83
+ "alt": {
84
+ "title": "Alt text",
85
+ "description": "Image description",
86
+ "type": "string"
87
+ }
88
+ },
89
+ "additionalProperties": false
90
+ },
91
+ "order": {
92
+ "title": "Order",
93
+ "description": "Choose what comes first on mobile and desktop: image or text",
94
+ "type": "object",
95
+ "properties": {
96
+ "mobileImageLast": {
97
+ "title": "Mobile image after text",
98
+ "description": "Switch to displaying the image after the text on mobile",
99
+ "type": "boolean",
100
+ "default": false
101
+ },
102
+ "desktopImageLast": {
103
+ "title": "Desktop image after text",
104
+ "description": "Switch to displaying the image after the text on desktop",
105
+ "type": "boolean",
106
+ "default": true
107
+ }
108
+ },
109
+ "additionalProperties": false
110
+ },
111
+ "textAlign": {
112
+ "title": "Text Alignment",
113
+ "description": "Choose the alginment of the text",
114
+ "enum": ["left", "center"],
115
+ "type": "string",
116
+ "default": "left"
117
+ },
118
+ "contentAlign": {
119
+ "title": "Vertical alignment of the content",
120
+ "description": "Select a vertical alignment for the image",
121
+ "type": "string",
122
+ "enum": ["center", "top", "bottom"],
123
+ "default": "center"
124
+ }
125
+ },
126
+ "additionalProperties": false
127
+ }
@@ -0,0 +1,4 @@
1
+ import { FC } from "react";
2
+ import { CtaProps } from "../../CtaProps-93230a76.js";
3
+ declare const Cta: FC<CtaProps>;
4
+ export { Cta };
@@ -0,0 +1,40 @@
1
+ import "./cta.css";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { Storytelling } from '@kickstartds/content/lib/storytelling';
4
+ import { ButtonContext } from '@kickstartds/base/lib/button';
5
+ import classnames from 'classnames';
6
+ import { useButtonGroup } from '../button-group/index.js';
7
+ import 'react';
8
+ import '@kickstartds/base/lib/button-group';
9
+
10
+ const Cta = ({ headline, highlightText = false, sub, image, text, textAlign, backgroundImage, backgroundColor, colorNeutral, contentAlign, order, fullWidth = false, buttons = [], }) => {
11
+ const ButtonGroup = useButtonGroup();
12
+ return (jsx(ButtonContext.Provider
13
+ // @ts-expect-error
14
+ , {
15
+ // @ts-expect-error
16
+ value: ButtonGroup, children: jsx(Storytelling, { className: classnames("c-cta", fullWidth ? `c-cta--full-width` : "", highlightText ? `c-cta--highlight-text` : "", colorNeutral ? `c-cta--color-neutral` : "", contentAlign && contentAlign !== "center"
17
+ ? `c-cta--align-${contentAlign}`
18
+ : ""), backgroundImage: backgroundImage, backgroundColor: backgroundColor, full: image?.padding === false, image: {
19
+ source: image?.src,
20
+ order: order,
21
+ }, box: {
22
+ text: text,
23
+ textAlign: textAlign,
24
+ link: {
25
+ // @ts-expect-error
26
+ buttons,
27
+ colorNeutral: colorNeutral,
28
+ },
29
+ headline: {
30
+ text: headline,
31
+ level: "h2",
32
+ style: highlightText === true ? "h1" : undefined,
33
+ sub: sub,
34
+ spaceAfter: highlightText === true ? "large" : undefined,
35
+ align: textAlign,
36
+ },
37
+ } }) }));
38
+ };
39
+
40
+ export { Cta };
@@ -0,0 +1,17 @@
1
+ .c-collapsible-box {
2
+ --c-collapsible-box-summary--color: var(--g-headline--color);
3
+ --c-collapsible-box-summary--font-weight: var(--g-headline--font-weight);
4
+ --c-collapsible-box-summary--font: var(--ks-font-copy-l);
5
+ --c-collapsible-box-icon--color: var(--ks-text-color-default);
6
+ --c-collapsible-box_header--padding: 1em 0;
7
+ --c-collapsible-box_content--padding: 0em 0em 1em 0em;
8
+ }
9
+ .c-collapsible-box__header__text {
10
+ color: var(--c-collapsible-box-summary--color);
11
+ font: var(--c-collapsible-box-summary--font);
12
+ font-weight: var(--c-collapsible-box-summary--font-weight);
13
+ font-family: var(--ks-font-family-display);
14
+ }
15
+ .c-collapsible-box__header__icon {
16
+ color: var(--c-collapsible-box-icon--color);
17
+ }
@@ -0,0 +1,48 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/faq.schema.json",
4
+ "title": "Faq",
5
+ "description": "Component used to display a Faq section",
6
+ "type": "object",
7
+ "properties": {
8
+ "questions": {
9
+ "type": "array",
10
+ "title": "Questions",
11
+ "description": "The questions and answers in the Faq section",
12
+ "items": {
13
+ "type": "object",
14
+ "properties": {
15
+ "question": {
16
+ "type": "string",
17
+ "title": "Question",
18
+ "description": "The question",
19
+ "examples": [
20
+ "What is the product made of?"
21
+ ]
22
+ },
23
+ "answer": {
24
+ "type": "string",
25
+ "title": "Answer",
26
+ "description": "The answer to the question",
27
+ "examples": [
28
+ "The product is made of high-quality materials"
29
+ ]
30
+ }
31
+ },
32
+ "additionalProperties": false,
33
+ "required": [
34
+ "question",
35
+ "answer"
36
+ ]
37
+ },
38
+ "minItems": 1
39
+ },
40
+ "type": {
41
+ "const": "faq"
42
+ }
43
+ },
44
+ "additionalProperties": false,
45
+ "required": [
46
+ "questions"
47
+ ]
48
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/faq.schema.json",
4
+ "title": "Faq",
5
+ "description": "Component used to display a Faq section",
6
+ "type": "object",
7
+ "properties": {
8
+ "questions": {
9
+ "type": "array",
10
+ "title": "Questions",
11
+ "description": "The questions and answers in the Faq section",
12
+ "items": {
13
+ "type": "object",
14
+ "properties": {
15
+ "question": {
16
+ "type": "string",
17
+ "title": "Question",
18
+ "description": "The question",
19
+ "examples": ["What is the product made of?"]
20
+ },
21
+ "answer": {
22
+ "type": "string",
23
+ "title": "Answer",
24
+ "description": "The answer to the question",
25
+ "examples": ["The product is made of high-quality materials"]
26
+ }
27
+ },
28
+ "additionalProperties": false,
29
+ "required": ["question", "answer"]
30
+ },
31
+ "minItems": 1
32
+ }
33
+ },
34
+ "additionalProperties": false,
35
+ "required": ["questions"]
36
+ }
@@ -0,0 +1,4 @@
1
+ import { HTMLAttributes, FC } from "react";
2
+ import { FaqProps } from "../../FaqProps-ad618cd5.js";
3
+ declare const Faq: FC<FaqProps & HTMLAttributes<HTMLElement>>;
4
+ export { Faq };
@@ -0,0 +1,9 @@
1
+ import "./faq.css";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { CollapsibleBox } from '@kickstartds/base/lib/collapsible-box';
4
+
5
+ const Faq = ({ questions, }) => {
6
+ return (jsx("div", { className: `c-faq`, children: questions.map((question, index) => (jsx(CollapsibleBox, { summary: question.question, text: question.answer }, index))) }));
7
+ };
8
+
9
+ export { Faq };
@@ -0,0 +1,49 @@
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 icon for the feature
10
+ */
11
+ type Icon = string;
12
+ /**
13
+ * The title of the feature
14
+ */
15
+ type Title = string;
16
+ /**
17
+ * The description of the feature
18
+ */
19
+ type Text = string;
20
+ /**
21
+ * The CTA target
22
+ */
23
+ type CallToActionTarget = string;
24
+ /**
25
+ * The text label displayed on the link
26
+ */
27
+ type LinkLabel = string;
28
+ /**
29
+ * Activate/disable the CTAs
30
+ */
31
+ type CallToActionToggle = boolean;
32
+ /**
33
+ * Partial Component used to display a feature
34
+ */
35
+ interface FeatureProps {
36
+ icon?: Icon;
37
+ title: Title;
38
+ text: Text;
39
+ style?: "intext" | "stack" | "centered" | "besideLarge" | "besideSmall";
40
+ ctaTarget?: CallToActionTarget;
41
+ ctaLabel?: LinkLabel;
42
+ ctaToggle?: CallToActionToggle;
43
+ /**
44
+ * Choose the style of the CTA
45
+ */
46
+ ctaStyle?: "button" | "link" | "intext";
47
+ }
48
+ declare const Feature: FC<FeatureProps & HTMLAttributes<HTMLElement>>;
49
+ export { Feature };
@@ -0,0 +1,23 @@
1
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
+ import classnames from 'classnames';
3
+ import { Icon } from '@kickstartds/base/lib/icon';
4
+ import { Button } from '../button/index.js';
5
+ import { Link } from '@kickstartds/base/lib/link';
6
+ import 'react';
7
+ import '@kickstartds/base/lib/button';
8
+
9
+ const Feature = ({ style = "stack", title, text, icon, ctaToggle = true, ctaStyle = "link", ctaTarget, ctaLabel = "Read more", }) => {
10
+ return (jsxs("div", { className: classnames(`c-feature c-feature--${style === `stack`
11
+ ? `stack c-feature--large`
12
+ : style === `besideSmall`
13
+ ? `beside c-feature--small`
14
+ : style === `besideLarge`
15
+ ? `beside c-feature--large`
16
+ : style === `intext`
17
+ ? `intext c-feature--small`
18
+ : style === `centered`
19
+ ? `centered c-feature--large`
20
+ : `${style}`}`), children: [jsxs("div", { className: "c-feature__header", children: [icon && jsx(Icon, { className: "c-feature__icon", icon: icon }), jsx("span", { className: "c-feature__title", children: title })] }), text || ctaStyle === "intext" ? (jsxs("p", { className: "c-feature__text", children: [text, ctaStyle === "intext" && ctaToggle ? (jsxs(Fragment, { children: [" ", " ", jsx(Link, { href: ctaTarget, children: ctaLabel ? ctaLabel : "See more" })] })) : ("")] })) : (""), ctaToggle && (ctaStyle === "link" || ctaStyle === "button") && (jsx("div", { className: "c-feature__cta", children: ctaStyle === "link" ? (jsxs(Link, { className: "c-feature__link", href: ctaTarget, children: [ctaLabel ? ctaLabel : "See more", jsx(Icon, { icon: "arrow-right" })] })) : ctaStyle === "button" ? (jsx(Button, { className: "c-feature__button", size: "small", target: ctaTarget, label: ctaLabel ? ctaLabel : "See more" })) : ("") }))] }));
21
+ };
22
+
23
+ export { Feature };
@@ -0,0 +1,115 @@
1
+ .c-feature {
2
+ --c-feature-icon--color: var(--ks-text-color-primary);
3
+ }
4
+ .c-feature--small {
5
+ --c-feature-icon--size: calc(var(--ks-line-height-interface-m) * var(--ks-font-size-interface-m));
6
+ --c-feature--stack: var(--ks-spacing-stack-xs);
7
+ --c-feature-icon--gap: var(--ks-spacing-xs);
8
+ }
9
+ .c-feature--large {
10
+ --c-feature-icon--size: calc(var(--ks-font-size-copy-m) * 2.5);
11
+ --c-feature--stack: var(--ks-spacing-stack-s);
12
+ --c-feature-icon--gap: var(--ks-spacing-s);
13
+ }
14
+ .c-feature--large.c-feature--beside {
15
+ --c-feature--stack: var(--ks-spacing-stack-xs);
16
+ }
17
+ .c-feature--stack.c-feature--large {
18
+ --c-feature-icon--gap: var(--ks-spacing-xs);
19
+ }
20
+
21
+ .c-features--list {
22
+ display: flex;
23
+ flex-direction: column;
24
+ gap: var(--ks-spacing-stack-m);
25
+ }
26
+ .c-features--large-tiles {
27
+ display: grid;
28
+ gap: var(--ks-spacing-stack-l) var(--ks-spacing-inline-m);
29
+ grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
30
+ }
31
+ .c-features--large-tiles .c-feature {
32
+ flex-basis: 300px;
33
+ flex-grow: 1;
34
+ flex-shrink: 0;
35
+ }
36
+ .c-features--small-tiles {
37
+ display: grid;
38
+ gap: var(--ks-spacing-stack-l) var(--ks-spacing-inline-m);
39
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
40
+ }
41
+ .l-section--align-center .c-features--small-tiles {
42
+ justify-content: center;
43
+ }
44
+
45
+ .c-feature {
46
+ display: flex;
47
+ position: relative;
48
+ flex-direction: column;
49
+ gap: var(--c-feature--stack);
50
+ }
51
+ .c-feature--beside {
52
+ padding-left: calc(var(--c-feature-icon--size) + var(--c-feature-icon--gap));
53
+ }
54
+ .c-feature--beside .c-feature__icon {
55
+ position: absolute;
56
+ top: 0;
57
+ left: 0;
58
+ }
59
+ .c-feature--stack .c-feature__header {
60
+ display: flex;
61
+ flex-direction: column;
62
+ align-items: flex-start;
63
+ }
64
+ .c-feature--centered .c-feature__header {
65
+ display: flex;
66
+ flex-direction: column;
67
+ align-items: center;
68
+ }
69
+ .c-feature--centered .c-feature__title,
70
+ .c-feature--centered .c-feature__text {
71
+ text-align: center;
72
+ }
73
+ .c-feature--centered .c-feature__cta {
74
+ display: flex;
75
+ justify-content: center;
76
+ }
77
+ .c-feature__header {
78
+ display: flex;
79
+ align-items: center;
80
+ gap: var(--c-feature-icon--gap);
81
+ }
82
+ .c-feature__title {
83
+ font: var(--ks-font-interface-m);
84
+ color: var(--ks-color-fg);
85
+ font-family: var(--ks-font-family-display);
86
+ font-weight: var(--ks-font-weight-semi-bold);
87
+ }
88
+ .c-feature__text {
89
+ color: var(--ks-text-color-default);
90
+ font: var(--ks-font-copy-s);
91
+ margin: 0;
92
+ }
93
+ .c-feature__icon {
94
+ color: var(--c-feature-icon--color);
95
+ width: var(--c-feature-icon--size);
96
+ height: var(--c-feature-icon--size);
97
+ }
98
+ .c-feature__cta {
99
+ margin-top: auto;
100
+ }
101
+ .c-feature__link {
102
+ font: var(--ks-font-copy-s);
103
+ display: flex;
104
+ align-items: center;
105
+ gap: var(--ks-spacing-xxs);
106
+ font-weight: var(--ks-font-weight-semi-bold) !important;
107
+ width: fit-content;
108
+ }
109
+ .c-feature__link .icon {
110
+ width: 1.125em;
111
+ height: 1.125em;
112
+ }
113
+ .c-feature__button {
114
+ margin-top: calc(var(--c-feature--stack) * 0.5);
115
+ }