@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,1945 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/cms/page.schema.json",
4
+ "title": "Page",
5
+ "description": "Abstracts a page concept into JSON schema",
6
+ "type": "object",
7
+ "required": [
8
+ "id",
9
+ "slug",
10
+ "layout",
11
+ "title"
12
+ ],
13
+ "properties": {
14
+ "layout": {
15
+ "type": "string",
16
+ "title": "Layout",
17
+ "description": "Choose a layout for the page",
18
+ "enum": [
19
+ "default",
20
+ "content",
21
+ "blog-list",
22
+ "blog-detail",
23
+ "glossary"
24
+ ],
25
+ "default": "default"
26
+ },
27
+ "description": {
28
+ "type": "string",
29
+ "title": "Description",
30
+ "description": "Description used for the page"
31
+ },
32
+ "keywords": {
33
+ "type": "string",
34
+ "title": "Keywords",
35
+ "description": "Keywords used for the page"
36
+ },
37
+ "image": {
38
+ "type": "string",
39
+ "title": "Preview Image",
40
+ "description": "Preview image used for the page",
41
+ "format": "image"
42
+ },
43
+ "cardImage": {
44
+ "type": "string",
45
+ "title": "Card Preview Image",
46
+ "description": "Card preview image (larger, e.g. Twitter) used for the page"
47
+ },
48
+ "sections": {
49
+ "type": "array",
50
+ "title": "Sections",
51
+ "description": "Collection of sections (with their contents) to render on the page",
52
+ "items": {
53
+ "$schema": "http://json-schema.org/draft-07/schema#",
54
+ "$id": "http://schema.mydesignsystem.com/section.schema.json",
55
+ "title": "Section",
56
+ "description": "Component used to layout components into pages",
57
+ "type": "object",
58
+ "properties": {
59
+ "width": {
60
+ "type": "string",
61
+ "title": "Width",
62
+ "description": "Width of section to use",
63
+ "enum": [
64
+ "full",
65
+ "max",
66
+ "wide",
67
+ "default",
68
+ "narrow"
69
+ ],
70
+ "default": "default"
71
+ },
72
+ "style": {
73
+ "type": "string",
74
+ "title": "Style",
75
+ "description": "Style of background",
76
+ "enum": [
77
+ "stagelights",
78
+ "horizontalGradient",
79
+ "verticalGradient",
80
+ "accentTransition",
81
+ "boldTransition",
82
+ "symmetricGlow",
83
+ "anchorGlow"
84
+ ],
85
+ "default": "default"
86
+ },
87
+ "backgroundColor": {
88
+ "type": "string",
89
+ "title": "Style",
90
+ "description": "Color of background",
91
+ "enum": [
92
+ "default",
93
+ "accent",
94
+ "bold"
95
+ ],
96
+ "default": "default"
97
+ },
98
+ "spotlight": {
99
+ "type": "boolean",
100
+ "title": "Spotlight",
101
+ "description": "Show spotlight behind cursor",
102
+ "default": false
103
+ },
104
+ "spaceBefore": {
105
+ "type": "string",
106
+ "title": "Space Before",
107
+ "description": "Amount of spacing before the section",
108
+ "enum": [
109
+ "default",
110
+ "small",
111
+ "none"
112
+ ],
113
+ "default": "default"
114
+ },
115
+ "spaceAfter": {
116
+ "type": "string",
117
+ "title": "Space After",
118
+ "description": "Amount of spacing after the section",
119
+ "enum": [
120
+ "default",
121
+ "small",
122
+ "none"
123
+ ],
124
+ "default": "default"
125
+ },
126
+ "inverted": {
127
+ "type": "boolean",
128
+ "title": "Inverted",
129
+ "description": "Whether to invert the section",
130
+ "default": false
131
+ },
132
+ "headerSpacing": {
133
+ "type": "boolean",
134
+ "title": "Header Spacing",
135
+ "description": "Reserve additional spacing for a floating header",
136
+ "default": false
137
+ },
138
+ "headline": {
139
+ "type": "object",
140
+ "properties": {
141
+ "text": {
142
+ "type": "string",
143
+ "title": "Headline",
144
+ "description": "Headline Text for the section",
145
+ "format": "markdown",
146
+ "examples": [
147
+ "Section headline"
148
+ ]
149
+ },
150
+ "large": {
151
+ "type": "boolean",
152
+ "title": "Large Headline",
153
+ "description": "Make the headline larger",
154
+ "default": false
155
+ },
156
+ "width": {
157
+ "type": "string",
158
+ "title": "Headline Width",
159
+ "description": "Width of headline to use",
160
+ "enum": [
161
+ "unset",
162
+ "narrow",
163
+ "default",
164
+ "wide"
165
+ ],
166
+ "default": "unset"
167
+ },
168
+ "textAlign": {
169
+ "title": "Headline Text Alignment",
170
+ "description": "Choose the text alignment for the headline",
171
+ "type": "string",
172
+ "enum": [
173
+ "left",
174
+ "center",
175
+ "right"
176
+ ]
177
+ },
178
+ "align": {
179
+ "title": "Headline Alignment",
180
+ "description": "Choose an alignment for positioning the headline",
181
+ "type": "string",
182
+ "enum": [
183
+ "left",
184
+ "center",
185
+ "right"
186
+ ]
187
+ },
188
+ "sub": {
189
+ "type": "string",
190
+ "title": "Subheadline",
191
+ "description": "Subheadline for the section",
192
+ "format": "markdown"
193
+ },
194
+ "switchOrder": {
195
+ "type": "boolean",
196
+ "title": "Switch Headline Order",
197
+ "description": "Switch the order of headline and subheadline"
198
+ }
199
+ },
200
+ "additionalProperties": false
201
+ },
202
+ "content": {
203
+ "type": "object",
204
+ "properties": {
205
+ "width": {
206
+ "type": "string",
207
+ "title": "Content Width",
208
+ "description": "Width of content to use",
209
+ "enum": [
210
+ "unset",
211
+ "narrow",
212
+ "default",
213
+ "wide"
214
+ ],
215
+ "default": "unset"
216
+ },
217
+ "align": {
218
+ "title": "Content Alignment",
219
+ "description": "Choose an alignment for the content",
220
+ "type": "string",
221
+ "enum": [
222
+ "left",
223
+ "center",
224
+ "right"
225
+ ],
226
+ "default": "center"
227
+ },
228
+ "gutter": {
229
+ "type": "string",
230
+ "title": "Gutter",
231
+ "description": "Size of gutter to use",
232
+ "enum": [
233
+ "large",
234
+ "default",
235
+ "small",
236
+ "none"
237
+ ],
238
+ "default": "default"
239
+ },
240
+ "mode": {
241
+ "type": "string",
242
+ "title": "Mode",
243
+ "description": "Layout mode used for section contents",
244
+ "enum": [
245
+ "default",
246
+ "tile",
247
+ "list",
248
+ "slider"
249
+ ],
250
+ "default": "default"
251
+ },
252
+ "tileWidth": {
253
+ "type": "string",
254
+ "title": "Tile Width",
255
+ "description": "Set min-width for the tiles in the grid",
256
+ "enum": [
257
+ "control",
258
+ "card",
259
+ "narrow",
260
+ "medium",
261
+ "wide"
262
+ ],
263
+ "default": "cards"
264
+ }
265
+ },
266
+ "additionalProperties": false
267
+ },
268
+ "components": {
269
+ "type": "array",
270
+ "title": "Content",
271
+ "description": "Allowed components for content",
272
+ "items": {
273
+ "anyOf": [
274
+ {
275
+ "$schema": "http://json-schema.org/draft-07/schema#",
276
+ "$id": "http://schema.mydesignsystem.com/hero.schema.json",
277
+ "title": "Hero",
278
+ "type": "object",
279
+ "properties": {
280
+ "headline": {
281
+ "title": "Headline",
282
+ "description": "Headline for the visual",
283
+ "type": "string"
284
+ },
285
+ "sub": {
286
+ "title": "Module Subheadline",
287
+ "description": "Subheadline below the module headline",
288
+ "type": "string"
289
+ },
290
+ "text": {
291
+ "title": "Module Text",
292
+ "description": "Info text for the module element",
293
+ "type": "string"
294
+ },
295
+ "highlightText": {
296
+ "type": "boolean",
297
+ "title": "Highlight Text",
298
+ "description": "Visually highlight the text",
299
+ "default": false
300
+ },
301
+ "colorNeutral": {
302
+ "title": "Color Neutral",
303
+ "description": "Make the text and buttons color neutral",
304
+ "default": false,
305
+ "type": "boolean"
306
+ },
307
+ "height": {
308
+ "title": "Height",
309
+ "type": "string",
310
+ "enum": [
311
+ "small",
312
+ "default",
313
+ "fullImage",
314
+ "fullScreen"
315
+ ],
316
+ "default": "default"
317
+ },
318
+ "textbox": {
319
+ "type": "boolean",
320
+ "title": "Textbox",
321
+ "default": true,
322
+ "description": "Toggle wether you want your text to be displayed within in box"
323
+ },
324
+ "buttons": {
325
+ "type": "array",
326
+ "items": {
327
+ "title": "Button",
328
+ "type": "object",
329
+ "properties": {
330
+ "label": {
331
+ "type": "string",
332
+ "title": "Label",
333
+ "description": "Text content to display inside the button",
334
+ "examples": [
335
+ "Book a meeting"
336
+ ]
337
+ },
338
+ "icon": {
339
+ "type": "string",
340
+ "title": "Icon",
341
+ "description": "Choose an icon"
342
+ },
343
+ "target": {
344
+ "type": "string",
345
+ "title": "Target",
346
+ "description": "Target that should be linked, makes the button behave like a link semantically",
347
+ "format": "uri"
348
+ }
349
+ },
350
+ "additionalProperties": false
351
+ }
352
+ },
353
+ "overlay": {
354
+ "title": "Grid layer",
355
+ "description": "Enable grid layer",
356
+ "type": "boolean",
357
+ "default": false
358
+ },
359
+ "image": {
360
+ "title": "Background image",
361
+ "description": "Sources of background images for different screen sizes",
362
+ "type": "object",
363
+ "required": [
364
+ "srcMobile"
365
+ ],
366
+ "properties": {
367
+ "srcMobile": {
368
+ "title": "Mobile image source",
369
+ "description": "Background image source for small screens",
370
+ "type": "string",
371
+ "format": "image",
372
+ "examples": [
373
+ "https://picsum.photos/seed/kdsvisual/640/270"
374
+ ]
375
+ },
376
+ "srcTablet": {
377
+ "title": "Tablet image source",
378
+ "description": "Background image source for medium screens",
379
+ "type": "string",
380
+ "format": "image",
381
+ "examples": [
382
+ "https://picsum.photos/seed/kdsvisual/1280/540"
383
+ ]
384
+ },
385
+ "srcDesktop": {
386
+ "title": "Desktop image source",
387
+ "description": "Background image source for large screens",
388
+ "type": "string",
389
+ "format": "image",
390
+ "examples": [
391
+ "https://picsum.photos/seed/kdsvisual/1920/810"
392
+ ]
393
+ },
394
+ "src": {
395
+ "title": "Optional source",
396
+ "description": "Override for img tag of picture element, if needed",
397
+ "type": "string",
398
+ "format": "image",
399
+ "examples": [
400
+ "https://picsum.photos/seed/kdsvisual/640/270"
401
+ ]
402
+ },
403
+ "indent": {
404
+ "title": "Image indent",
405
+ "description": "Choose to indent the image horizontally on small screens",
406
+ "type": "string",
407
+ "enum": [
408
+ "none",
409
+ "left",
410
+ "right"
411
+ ],
412
+ "default": "none"
413
+ },
414
+ "alt": {
415
+ "title": "Alt text",
416
+ "description": "Alt text to display for picture",
417
+ "type": "string"
418
+ }
419
+ },
420
+ "additionalProperties": false
421
+ },
422
+ "textPosition": {
423
+ "title": "Module aligment",
424
+ "description": "Choose the alginment of the module content",
425
+ "enum": [
426
+ "center",
427
+ "below",
428
+ "left",
429
+ "right"
430
+ ],
431
+ "type": "string",
432
+ "default": "bottom"
433
+ },
434
+ "type": {
435
+ "const": "hero"
436
+ }
437
+ },
438
+ "additionalProperties": false
439
+ },
440
+ {
441
+ "$schema": "http://json-schema.org/draft-07/schema#",
442
+ "$id": "http://schema.mydesignsystem.com/cta.schema.json",
443
+ "title": "Cta",
444
+ "type": "object",
445
+ "properties": {
446
+ "headline": {
447
+ "title": "Component Headline",
448
+ "description": "Headline for the Component element",
449
+ "type": "string",
450
+ "examples": [
451
+ "Headline"
452
+ ]
453
+ },
454
+ "sub": {
455
+ "title": "Component Subheadline",
456
+ "description": "Subheadline below the component headline",
457
+ "type": "string",
458
+ "examples": [
459
+ "Subheadline"
460
+ ]
461
+ },
462
+ "text": {
463
+ "title": "Component Text",
464
+ "description": "Info text for the component element",
465
+ "type": "string"
466
+ },
467
+ "highlightText": {
468
+ "type": "boolean",
469
+ "title": "Highlight Text",
470
+ "description": "Visually highlight the text",
471
+ "default": false
472
+ },
473
+ "colorNeutral": {
474
+ "title": "Color Neutral",
475
+ "description": "Make the text and buttons color neutral",
476
+ "default": false,
477
+ "type": "boolean"
478
+ },
479
+ "fullWidth": {
480
+ "title": "Width",
481
+ "description": "Set the width of the content to the full width of the element",
482
+ "type": "boolean",
483
+ "default": false
484
+ },
485
+ "buttons": {
486
+ "type": "array",
487
+ "items": {
488
+ "title": "Button",
489
+ "type": "object",
490
+ "properties": {
491
+ "label": {
492
+ "type": "string",
493
+ "title": "Label",
494
+ "description": "Text content to display inside the button",
495
+ "examples": [
496
+ "Book a meeting"
497
+ ]
498
+ },
499
+ "icon": {
500
+ "type": "string",
501
+ "title": "Icon",
502
+ "description": "Choose an icon"
503
+ },
504
+ "target": {
505
+ "type": "string",
506
+ "title": "Target",
507
+ "description": "Target that should be linked, makes the button behave like a link semantically",
508
+ "format": "uri"
509
+ }
510
+ },
511
+ "additionalProperties": false
512
+ }
513
+ },
514
+ "backgroundColor": {
515
+ "title": "Background color",
516
+ "description": "Background color for the whole element",
517
+ "type": "string",
518
+ "format": "color"
519
+ },
520
+ "backgroundImage": {
521
+ "title": "Background image",
522
+ "description": "Background image for the whole element",
523
+ "type": "string",
524
+ "format": "image"
525
+ },
526
+ "image": {
527
+ "title": "Image",
528
+ "description": "Image displayed alongside the text content",
529
+ "type": "object",
530
+ "properties": {
531
+ "src": {
532
+ "title": "Image source",
533
+ "description": "Image source to use",
534
+ "type": "string",
535
+ "format": "image"
536
+ },
537
+ "padding": {
538
+ "title": "Padding",
539
+ "description": "Toggle padding of the image",
540
+ "type": "boolean",
541
+ "default": true
542
+ },
543
+ "alt": {
544
+ "title": "Alt text",
545
+ "description": "Image description",
546
+ "type": "string"
547
+ }
548
+ },
549
+ "additionalProperties": false
550
+ },
551
+ "order": {
552
+ "title": "Order",
553
+ "description": "Choose what comes first on mobile and desktop: image or text",
554
+ "type": "object",
555
+ "properties": {
556
+ "mobileImageLast": {
557
+ "title": "Mobile image after text",
558
+ "description": "Switch to displaying the image after the text on mobile",
559
+ "type": "boolean",
560
+ "default": false
561
+ },
562
+ "desktopImageLast": {
563
+ "title": "Desktop image after text",
564
+ "description": "Switch to displaying the image after the text on desktop",
565
+ "type": "boolean",
566
+ "default": true
567
+ }
568
+ },
569
+ "additionalProperties": false
570
+ },
571
+ "textAlign": {
572
+ "title": "Text Alignment",
573
+ "description": "Choose the alginment of the text",
574
+ "enum": [
575
+ "left",
576
+ "center"
577
+ ],
578
+ "type": "string",
579
+ "default": "left"
580
+ },
581
+ "contentAlign": {
582
+ "title": "Vertical alignment of the content",
583
+ "description": "Select a vertical alignment for the image",
584
+ "type": "string",
585
+ "enum": [
586
+ "center",
587
+ "top",
588
+ "bottom"
589
+ ],
590
+ "default": "center"
591
+ },
592
+ "type": {
593
+ "const": "cta"
594
+ }
595
+ },
596
+ "additionalProperties": false
597
+ },
598
+ {
599
+ "$schema": "http://json-schema.org/draft-07/schema#",
600
+ "$id": "http://schema.mydesignsystem.com/mosaic.schema.json",
601
+ "title": "Mosaic",
602
+ "type": "object",
603
+ "properties": {
604
+ "layout": {
605
+ "title": "Layout",
606
+ "description": "Layout of the mosaic component",
607
+ "type": "string",
608
+ "enum": [
609
+ "alternate",
610
+ "textLeft",
611
+ "textRight"
612
+ ],
613
+ "default": "alternate"
614
+ },
615
+ "largeHeadlines": {
616
+ "type": "boolean",
617
+ "title": "Large Headlines",
618
+ "description": "Make the headlines larger",
619
+ "default": false
620
+ },
621
+ "tiles": {
622
+ "type": "array",
623
+ "items": {
624
+ "type": "object",
625
+ "properties": {
626
+ "headline": {
627
+ "title": "Headline",
628
+ "description": "Headline for the tile",
629
+ "type": "string"
630
+ },
631
+ "sub": {
632
+ "title": "Module Subheadline",
633
+ "description": "Subheadline below the tile headline",
634
+ "type": "string"
635
+ },
636
+ "text": {
637
+ "title": "Module Text",
638
+ "description": "Text for tile",
639
+ "type": "string"
640
+ },
641
+ "image": {
642
+ "type": "object",
643
+ "properties": {
644
+ "src": {
645
+ "title": "Source",
646
+ "description": "Picture source",
647
+ "type": "string",
648
+ "format": "image",
649
+ "examples": [
650
+ "img/close-up-young-business-team-working.png"
651
+ ]
652
+ },
653
+ "alt": {
654
+ "title": "Alt text",
655
+ "description": "Alt text to display for picture",
656
+ "type": "string"
657
+ }
658
+ },
659
+ "additionalProperties": false
660
+ },
661
+ "button": {
662
+ "type": "object",
663
+ "properties": {
664
+ "toggle": {
665
+ "title": "Button Toggle",
666
+ "description": "Toggle wether the Button is displayed or not",
667
+ "type": "boolean",
668
+ "default": true
669
+ },
670
+ "label": {
671
+ "type": "string",
672
+ "title": "Label",
673
+ "description": "Text content to display inside the button",
674
+ "examples": [
675
+ "Book a meeting"
676
+ ]
677
+ },
678
+ "target": {
679
+ "type": "string",
680
+ "title": "Target",
681
+ "description": "Target that should be linked, makes the button behave like a link semantically",
682
+ "format": "uri"
683
+ },
684
+ "icon": {
685
+ "type": "string",
686
+ "title": "Icon",
687
+ "description": "Choose an icon"
688
+ }
689
+ },
690
+ "additionalProperties": false
691
+ },
692
+ "backgroundColor": {
693
+ "title": "Background color",
694
+ "description": "Background color for the whole element",
695
+ "type": "string",
696
+ "format": "color"
697
+ },
698
+ "backgroundImage": {
699
+ "title": "Background image",
700
+ "description": "Background image for the whole element",
701
+ "type": "string",
702
+ "format": "image"
703
+ },
704
+ "textColor": {
705
+ "title": "Text color",
706
+ "description": "Overwrite the color to use for the text content",
707
+ "type": "string",
708
+ "format": "color"
709
+ }
710
+ },
711
+ "additionalProperties": false
712
+ }
713
+ },
714
+ "type": {
715
+ "const": "mosaic"
716
+ }
717
+ },
718
+ "additionalProperties": false
719
+ },
720
+ {
721
+ "$schema": "http://json-schema.org/draft-07/schema#",
722
+ "$id": "http://schema.mydesignsystem.com/faq.schema.json",
723
+ "title": "Faq",
724
+ "description": "Component used to display a Faq section",
725
+ "type": "object",
726
+ "properties": {
727
+ "questions": {
728
+ "type": "array",
729
+ "title": "Questions",
730
+ "description": "The questions and answers in the Faq section",
731
+ "items": {
732
+ "type": "object",
733
+ "properties": {
734
+ "question": {
735
+ "type": "string",
736
+ "title": "Question",
737
+ "description": "The question",
738
+ "examples": [
739
+ "What is the product made of?"
740
+ ]
741
+ },
742
+ "answer": {
743
+ "type": "string",
744
+ "title": "Answer",
745
+ "description": "The answer to the question",
746
+ "examples": [
747
+ "The product is made of high-quality materials"
748
+ ]
749
+ }
750
+ },
751
+ "additionalProperties": false,
752
+ "required": [
753
+ "question",
754
+ "answer"
755
+ ]
756
+ },
757
+ "minItems": 1
758
+ },
759
+ "type": {
760
+ "const": "faq"
761
+ }
762
+ },
763
+ "additionalProperties": false,
764
+ "required": [
765
+ "questions"
766
+ ]
767
+ },
768
+ {
769
+ "$schema": "http://json-schema.org/draft-07/schema#",
770
+ "$id": "http://schema.mydesignsystem.com/features.schema.json",
771
+ "title": "Features",
772
+ "description": "Component used to display a set of features",
773
+ "type": "object",
774
+ "properties": {
775
+ "layout": {
776
+ "type": "string",
777
+ "title": "Layout",
778
+ "description": "The layout variant to use for the features",
779
+ "enum": [
780
+ "largeTiles",
781
+ "smallTiles",
782
+ "list"
783
+ ],
784
+ "default": "largeTiles"
785
+ },
786
+ "style": {
787
+ "type": "string",
788
+ "enum": [
789
+ "intext",
790
+ "stack",
791
+ "centered",
792
+ "besideLarge",
793
+ "besideSmall"
794
+ ],
795
+ "default": "stack"
796
+ },
797
+ "ctas": {
798
+ "type": "object",
799
+ "properties": {
800
+ "toggle": {
801
+ "type": "boolean",
802
+ "default": true,
803
+ "title": "CTA Toggle",
804
+ "description": "Activate/disable the CTAs"
805
+ },
806
+ "style": {
807
+ "type": "string",
808
+ "enum": [
809
+ "button",
810
+ "link",
811
+ "intext"
812
+ ],
813
+ "default": "link"
814
+ }
815
+ },
816
+ "additionalProperties": false
817
+ },
818
+ "features": {
819
+ "type": "array",
820
+ "title": "Features",
821
+ "description": "The features to display",
822
+ "items": {
823
+ "type": "object",
824
+ "properties": {
825
+ "icon": {
826
+ "type": "string",
827
+ "title": "Icon",
828
+ "description": "The icon for the feature",
829
+ "examples": [
830
+ "person"
831
+ ]
832
+ },
833
+ "title": {
834
+ "type": "string",
835
+ "title": "Title",
836
+ "description": "The title of the feature",
837
+ "examples": [
838
+ "Feature 1"
839
+ ]
840
+ },
841
+ "text": {
842
+ "type": "string",
843
+ "title": "Text",
844
+ "description": "The description of the feature",
845
+ "examples": [
846
+ "This is a feature"
847
+ ]
848
+ },
849
+ "cta": {
850
+ "type": "object",
851
+ "title": "Call to Action",
852
+ "description": "The call to action",
853
+ "properties": {
854
+ "target": {
855
+ "type": "string",
856
+ "title": "Call to Action target",
857
+ "description": "The CTA target",
858
+ "default": "#",
859
+ "format": "uri"
860
+ },
861
+ "label": {
862
+ "type": "string",
863
+ "title": "Link Label",
864
+ "description": "The text label displayed on the link",
865
+ "default": "See more",
866
+ "examples": [
867
+ "See all our partners"
868
+ ]
869
+ }
870
+ },
871
+ "additionalProperties": false
872
+ }
873
+ },
874
+ "additionalProperties": false,
875
+ "required": [
876
+ "title",
877
+ "text"
878
+ ]
879
+ },
880
+ "minItems": 1,
881
+ "maxItems": 8
882
+ },
883
+ "type": {
884
+ "const": "features"
885
+ }
886
+ },
887
+ "additionalProperties": false
888
+ },
889
+ {
890
+ "$schema": "http://json-schema.org/draft-07/schema#",
891
+ "$id": "http://schema.mydesignsystem.com/gallery.schema.json",
892
+ "title": "Gallery",
893
+ "description": "Component used to display a gallery of images",
894
+ "type": "object",
895
+ "properties": {
896
+ "images": {
897
+ "type": "array",
898
+ "title": "Images",
899
+ "description": "The images to display in the gallery",
900
+ "items": {
901
+ "type": "object",
902
+ "properties": {
903
+ "src": {
904
+ "type": "string",
905
+ "title": "src",
906
+ "description": "The source of the image",
907
+ "examples": [
908
+ "https://example.com/image1.jpg"
909
+ ]
910
+ },
911
+ "alt": {
912
+ "type": "string",
913
+ "title": "Alt text",
914
+ "description": "Alt text of the image",
915
+ "examples": [
916
+ "https://example.com/image1.jpg"
917
+ ]
918
+ },
919
+ "caption": {
920
+ "type": "string",
921
+ "title": "Caption",
922
+ "description": "The caption of the image",
923
+ "examples": [
924
+ "Caption Image"
925
+ ]
926
+ }
927
+ },
928
+ "additionalProperties": false,
929
+ "required": [
930
+ "src"
931
+ ]
932
+ },
933
+ "minItems": 1,
934
+ "maxItems": 10
935
+ },
936
+ "layout": {
937
+ "type": "string",
938
+ "title": "Layout",
939
+ "description": "The layout of the gallery images",
940
+ "enum": [
941
+ "stack",
942
+ "smallTiles",
943
+ "largeTiles"
944
+ ]
945
+ },
946
+ "aspectRatio": {
947
+ "type": "string",
948
+ "title": "Aspect Ratio",
949
+ "description": "The aspect ratio of the gallery images",
950
+ "enum": [
951
+ "unset",
952
+ "square",
953
+ "wide",
954
+ "landscape"
955
+ ],
956
+ "default": "unset"
957
+ },
958
+ "lightbox": {
959
+ "type": "boolean",
960
+ "title": "Lightbox",
961
+ "description": "Display images in a lightbox gallery",
962
+ "default": false
963
+ },
964
+ "type": {
965
+ "const": "gallery"
966
+ }
967
+ },
968
+ "additionalProperties": false,
969
+ "required": [
970
+ "images"
971
+ ]
972
+ },
973
+ {
974
+ "$schema": "http://json-schema.org/draft-07/schema#",
975
+ "$id": "http://schema.mydesignsystem.com/headline.schema.json",
976
+ "title": "Headline",
977
+ "description": "Component used for headlines",
978
+ "type": "object",
979
+ "properties": {
980
+ "text": {
981
+ "type": "string",
982
+ "title": "Text",
983
+ "description": "Text content of headline",
984
+ "format": "markdown"
985
+ },
986
+ "sub": {
987
+ "type": "string",
988
+ "title": "Sub",
989
+ "description": "Subheadline content",
990
+ "format": "markdown"
991
+ },
992
+ "switchOrder": {
993
+ "type": "boolean",
994
+ "title": "Switch order?",
995
+ "description": "Switch order of headline and subheadline",
996
+ "default": false
997
+ },
998
+ "align": {
999
+ "type": "string",
1000
+ "title": "Section alignment",
1001
+ "enum": [
1002
+ "left",
1003
+ "center",
1004
+ "right"
1005
+ ]
1006
+ },
1007
+ "level": {
1008
+ "type": "string",
1009
+ "title": "Level",
1010
+ "description": "Level of headline to use",
1011
+ "enum": [
1012
+ "h1",
1013
+ "h2",
1014
+ "h3",
1015
+ "h4",
1016
+ "p"
1017
+ ],
1018
+ "default": "h2"
1019
+ },
1020
+ "style": {
1021
+ "type": "string",
1022
+ "title": "Style",
1023
+ "description": "Style of headline to show",
1024
+ "enum": [
1025
+ "h1",
1026
+ "h2",
1027
+ "h3",
1028
+ "h4",
1029
+ "p"
1030
+ ],
1031
+ "default": "h2"
1032
+ },
1033
+ "spaceAfter": {
1034
+ "type": "string",
1035
+ "title": "Space after?",
1036
+ "description": "Whether to display space after headline",
1037
+ "enum": [
1038
+ "minimum",
1039
+ "small",
1040
+ "large"
1041
+ ],
1042
+ "default": "small"
1043
+ },
1044
+ "className": {
1045
+ "type": "string",
1046
+ "title": "Class Name",
1047
+ "description": "Set a custom class name"
1048
+ },
1049
+ "type": {
1050
+ "const": "headline"
1051
+ }
1052
+ },
1053
+ "additionalProperties": false,
1054
+ "required": [
1055
+ "level",
1056
+ "text"
1057
+ ]
1058
+ },
1059
+ {
1060
+ "$schema": "http://json-schema.org/draft-07/schema#",
1061
+ "$id": "http://schema.mydesignsystem.com/image-story.schema.json",
1062
+ "title": "Image Story",
1063
+ "type": "object",
1064
+ "properties": {
1065
+ "headline": {
1066
+ "title": "Module Headline",
1067
+ "description": "Headline for the module element",
1068
+ "type": "string",
1069
+ "examples": [
1070
+ "Headline"
1071
+ ]
1072
+ },
1073
+ "largeHeadline": {
1074
+ "type": "boolean",
1075
+ "title": "Large Headline",
1076
+ "description": "Make the headline larger",
1077
+ "default": false
1078
+ },
1079
+ "sub": {
1080
+ "title": "Module Subheadline",
1081
+ "description": "Subheadline below the module headline",
1082
+ "type": "string",
1083
+ "examples": [
1084
+ "Subheadline"
1085
+ ]
1086
+ },
1087
+ "text": {
1088
+ "title": "Module Text",
1089
+ "description": "Info text for the module element",
1090
+ "type": "string"
1091
+ },
1092
+ "layout": {
1093
+ "type": "string",
1094
+ "title": "Layout",
1095
+ "description": "Choose the layout for the component",
1096
+ "enum": [
1097
+ "textLeft",
1098
+ "imageLeft"
1099
+ ],
1100
+ "default": "imageLeft"
1101
+ },
1102
+ "padding": {
1103
+ "type": "boolean",
1104
+ "title": "Padding",
1105
+ "default": false,
1106
+ "description": "Give the component padding"
1107
+ },
1108
+ "buttons": {
1109
+ "title": "Buttons",
1110
+ "description": "Buttons of the Button Group",
1111
+ "type": "array",
1112
+ "items": {
1113
+ "$schema": "http://json-schema.org/draft-07/schema#",
1114
+ "$id": "http://schema.mydesignsystem.com/button.schema.json",
1115
+ "title": "Button",
1116
+ "description": "Component used for user interaction",
1117
+ "type": "object",
1118
+ "properties": {
1119
+ "label": {
1120
+ "type": "string",
1121
+ "title": "Label",
1122
+ "description": "Text content to display inside the button",
1123
+ "examples": [
1124
+ "Book a meeting"
1125
+ ]
1126
+ },
1127
+ "target": {
1128
+ "type": "string",
1129
+ "title": "Target",
1130
+ "description": "Target that should be linked, makes the button behave like a link semantically",
1131
+ "format": "uri"
1132
+ },
1133
+ "variant": {
1134
+ "type": "string",
1135
+ "title": "Variant",
1136
+ "description": "Variant of button to be used",
1137
+ "enum": [
1138
+ "primary",
1139
+ "secondary",
1140
+ "tertiary"
1141
+ ],
1142
+ "default": "secondary"
1143
+ },
1144
+ "icon": {
1145
+ "type": "string",
1146
+ "title": "Icon",
1147
+ "description": "Choose an icon"
1148
+ },
1149
+ "size": {
1150
+ "type": "string",
1151
+ "title": "Size",
1152
+ "description": "Size of button to use",
1153
+ "enum": [
1154
+ "small",
1155
+ "medium",
1156
+ "large"
1157
+ ],
1158
+ "default": "medium"
1159
+ },
1160
+ "disabled": {
1161
+ "type": "boolean",
1162
+ "title": "Disabled?",
1163
+ "description": "Whether the button should be disabled",
1164
+ "default": false
1165
+ },
1166
+ "type": {
1167
+ "const": "button"
1168
+ }
1169
+ },
1170
+ "additionalProperties": false,
1171
+ "required": [
1172
+ "label"
1173
+ ]
1174
+ }
1175
+ },
1176
+ "image": {
1177
+ "title": "Image",
1178
+ "description": "Image displayed alongside the text content",
1179
+ "type": "object",
1180
+ "properties": {
1181
+ "src": {
1182
+ "title": "Image source",
1183
+ "description": "Image source to use",
1184
+ "type": "string",
1185
+ "format": "image"
1186
+ },
1187
+ "ratio": {
1188
+ "title": "Image aspect ratio",
1189
+ "description": "Select an aspect ratio to use for cropping and displaying the image",
1190
+ "type": "string",
1191
+ "enum": [
1192
+ "4:3",
1193
+ "3:2",
1194
+ "16:9",
1195
+ "1:1",
1196
+ "none"
1197
+ ],
1198
+ "default": "none"
1199
+ },
1200
+ "alt": {
1201
+ "title": "Alt text",
1202
+ "description": "Image description",
1203
+ "type": "string"
1204
+ }
1205
+ },
1206
+ "additionalProperties": false
1207
+ },
1208
+ "textAlign": {
1209
+ "title": "Text Alignment",
1210
+ "description": "Choose the alginment of the text",
1211
+ "enum": [
1212
+ "left",
1213
+ "center"
1214
+ ],
1215
+ "type": "string",
1216
+ "default": "left"
1217
+ },
1218
+ "type": {
1219
+ "const": "image-story"
1220
+ }
1221
+ },
1222
+ "additionalProperties": false
1223
+ },
1224
+ {
1225
+ "$schema": "http://json-schema.org/draft-07/schema#",
1226
+ "$id": "http://schema.mydesignsystem.com/split.schema.json",
1227
+ "title": "Split",
1228
+ "type": "object",
1229
+ "properties": {
1230
+ "layout": {
1231
+ "type": "string",
1232
+ "enum": [
1233
+ "sidebarRight",
1234
+ "sidebarLeft",
1235
+ "even"
1236
+ ]
1237
+ },
1238
+ "type": {
1239
+ "const": "split"
1240
+ }
1241
+ },
1242
+ "additionalProperties": false
1243
+ },
1244
+ {
1245
+ "$schema": "http://json-schema.org/draft-07/schema#",
1246
+ "$id": "http://schema.mydesignsystem.com/stats.schema.json",
1247
+ "title": "Stats",
1248
+ "description": "Component used to display stats with a number upcounter",
1249
+ "type": "object",
1250
+ "properties": {
1251
+ "stats": {
1252
+ "type": "array",
1253
+ "title": "Stats",
1254
+ "description": "The stats to display with a number upcounter",
1255
+ "items": {
1256
+ "type": "object",
1257
+ "title": "Stat",
1258
+ "properties": {
1259
+ "number": {
1260
+ "title": "Number",
1261
+ "description": "The number of the stat",
1262
+ "type": "integer",
1263
+ "examples": [
1264
+ 1,
1265
+ 2,
1266
+ 3,
1267
+ 4
1268
+ ]
1269
+ },
1270
+ "description": {
1271
+ "title": "Description",
1272
+ "description": "Optional description of the stat",
1273
+ "type": "string"
1274
+ },
1275
+ "title": {
1276
+ "title": "Title",
1277
+ "description": "Title of the stat",
1278
+ "type": "string",
1279
+ "examples": [
1280
+ "Stat 1",
1281
+ "Stat 2",
1282
+ "Stat 3",
1283
+ "Stat 4"
1284
+ ]
1285
+ },
1286
+ "icon": {
1287
+ "title": "Icon",
1288
+ "description": "Optional icon of the stat",
1289
+ "type": "string",
1290
+ "examples": [
1291
+ "person",
1292
+ "home",
1293
+ "map"
1294
+ ]
1295
+ }
1296
+ },
1297
+ "additionalProperties": false,
1298
+ "required": [
1299
+ "number",
1300
+ "title"
1301
+ ]
1302
+ },
1303
+ "minItems": 1,
1304
+ "maxItems": 4
1305
+ },
1306
+ "type": {
1307
+ "const": "stats"
1308
+ }
1309
+ },
1310
+ "additionalProperties": false,
1311
+ "required": [
1312
+ "stats"
1313
+ ]
1314
+ },
1315
+ {
1316
+ "$schema": "http://json-schema.org/draft-07/schema#",
1317
+ "$id": "http://schema.mydesignsystem.com/teaser-card.schema.json",
1318
+ "title": "Teaser Card",
1319
+ "description": "Component used to tease content",
1320
+ "type": "object",
1321
+ "properties": {
1322
+ "headline": {
1323
+ "type": "string",
1324
+ "title": "Headline",
1325
+ "description": "Headline for the teaser card",
1326
+ "format": "markdown"
1327
+ },
1328
+ "text": {
1329
+ "type": "string",
1330
+ "title": "Text",
1331
+ "description": "Body text for the teaser card",
1332
+ "format": "markdown"
1333
+ },
1334
+ "label": {
1335
+ "type": "string",
1336
+ "title": "Label",
1337
+ "description": "Label for the Teaser Card"
1338
+ },
1339
+ "layout": {
1340
+ "type": "string",
1341
+ "enum": [
1342
+ "stack",
1343
+ "row"
1344
+ ],
1345
+ "description": "Layout for the Teaser Card",
1346
+ "default": "stack"
1347
+ },
1348
+ "target": {
1349
+ "type": "string",
1350
+ "title": "Target",
1351
+ "description": "Target that should be linked",
1352
+ "format": "uri"
1353
+ },
1354
+ "displayButton": {
1355
+ "type": "boolean",
1356
+ "title": "Display Button",
1357
+ "description": "Toggle wether you want the card to have a visible button or not",
1358
+ "default": true
1359
+ },
1360
+ "image": {
1361
+ "type": "string",
1362
+ "title": "Image",
1363
+ "description": "Image to display as cover",
1364
+ "format": "uri"
1365
+ },
1366
+ "imageRatio": {
1367
+ "type": "string",
1368
+ "enum": [
1369
+ "wide",
1370
+ "landscape",
1371
+ "square",
1372
+ "unset"
1373
+ ],
1374
+ "description": "Aspect ratio of the image",
1375
+ "default": "wide"
1376
+ },
1377
+ "type": {
1378
+ "const": "teaser-card"
1379
+ }
1380
+ },
1381
+ "additionalProperties": false,
1382
+ "required": []
1383
+ },
1384
+ {
1385
+ "$schema": "http://json-schema.org/draft-07/schema#",
1386
+ "$id": "http://schema.mydesignsystem.com/testimonials.schema.json",
1387
+ "title": "Testimonials",
1388
+ "description": "Display testimonials with an optional image and rating",
1389
+ "type": "object",
1390
+ "properties": {
1391
+ "layout": {
1392
+ "title": "Quote",
1393
+ "description": "The testimonial quote",
1394
+ "type": "string",
1395
+ "enum": [
1396
+ "slider",
1397
+ "list",
1398
+ "alternating"
1399
+ ],
1400
+ "default": "slider"
1401
+ },
1402
+ "testimonials": {
1403
+ "type": "array",
1404
+ "title": "Testimonials",
1405
+ "description": "Add testimonials featuring an image, a quote, a source and a rating",
1406
+ "items": {
1407
+ "type": "object",
1408
+ "properties": {
1409
+ "quote": {
1410
+ "title": "Quote",
1411
+ "description": "The testimonial quote",
1412
+ "type": "string",
1413
+ "examples": [
1414
+ "This product is amazing!"
1415
+ ]
1416
+ },
1417
+ "name": {
1418
+ "title": "Name",
1419
+ "description": "The name of the quote author",
1420
+ "type": "string",
1421
+ "examples": [
1422
+ "John Doe"
1423
+ ]
1424
+ },
1425
+ "title": {
1426
+ "title": "Title",
1427
+ "description": "The title of the quote author",
1428
+ "type": "string",
1429
+ "examples": [
1430
+ "CEO"
1431
+ ]
1432
+ },
1433
+ "image": {
1434
+ "type": "object",
1435
+ "properties": {
1436
+ "src": {
1437
+ "title": "Source",
1438
+ "description": "The image to display with the testimonial",
1439
+ "type": "string",
1440
+ "examples": [
1441
+ "https://example.com/image.jpg"
1442
+ ]
1443
+ },
1444
+ "alt": {
1445
+ "title": "Alt Text",
1446
+ "description": "The alt text of the image file",
1447
+ "type": "string"
1448
+ }
1449
+ },
1450
+ "additionalProperties": false
1451
+ },
1452
+ "rating": {
1453
+ "title": "Rating",
1454
+ "description": "The rating of the testimonial, from 1 to 5",
1455
+ "type": "integer",
1456
+ "minimum": 1,
1457
+ "maximum": 5
1458
+ }
1459
+ },
1460
+ "additionalProperties": false,
1461
+ "required": [
1462
+ "quote",
1463
+ "name",
1464
+ "image"
1465
+ ]
1466
+ }
1467
+ },
1468
+ "type": {
1469
+ "const": "testimonials"
1470
+ }
1471
+ },
1472
+ "additionalProperties": false,
1473
+ "required": [
1474
+ "quote"
1475
+ ]
1476
+ },
1477
+ {
1478
+ "$schema": "http://json-schema.org/draft-07/schema#",
1479
+ "$id": "http://schema.mydesignsystem.com/text.schema.json",
1480
+ "title": "Text",
1481
+ "description": "Component used for displaying text in chapters",
1482
+ "type": "object",
1483
+ "properties": {
1484
+ "text": {
1485
+ "type": "string",
1486
+ "title": "Text",
1487
+ "description": "Text",
1488
+ "examples": [
1489
+ "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."
1490
+ ]
1491
+ },
1492
+ "layout": {
1493
+ "type": "string",
1494
+ "title": "Layout",
1495
+ "description": "Variant of layout to be used",
1496
+ "enum": [
1497
+ "singleColumn",
1498
+ "multiColumn"
1499
+ ],
1500
+ "default": "singleColumn"
1501
+ },
1502
+ "align": {
1503
+ "type": "string",
1504
+ "title": "Alignment",
1505
+ "description": "Alignment of text",
1506
+ "enum": [
1507
+ "left",
1508
+ "center"
1509
+ ],
1510
+ "default": "left"
1511
+ },
1512
+ "highlightText": {
1513
+ "type": "boolean",
1514
+ "title": "Highlight Text",
1515
+ "description": "Visually highlight the text",
1516
+ "default": false
1517
+ },
1518
+ "type": {
1519
+ "const": "text"
1520
+ }
1521
+ },
1522
+ "additionalProperties": false,
1523
+ "required": [
1524
+ "text"
1525
+ ]
1526
+ },
1527
+ {
1528
+ "$schema": "http://json-schema.org/draft-07/schema#",
1529
+ "$id": "http://schema.mydesignsystem.com/video-curtain.schema.json",
1530
+ "title": "Video Curtain",
1531
+ "type": "object",
1532
+ "properties": {
1533
+ "headline": {
1534
+ "title": "Headline",
1535
+ "description": "Headline for the visual",
1536
+ "type": "string"
1537
+ },
1538
+ "sub": {
1539
+ "title": "Module Subheadline",
1540
+ "description": "Subheadline below the module headline",
1541
+ "type": "string"
1542
+ },
1543
+ "text": {
1544
+ "title": "Module Text",
1545
+ "description": "Info text for the module element",
1546
+ "type": "string"
1547
+ },
1548
+ "highlightText": {
1549
+ "type": "boolean",
1550
+ "title": "Highlight Text",
1551
+ "description": "Visually highlight the text",
1552
+ "default": false
1553
+ },
1554
+ "colorNeutral": {
1555
+ "title": "Color Neutral",
1556
+ "description": "Make the text and buttons color neutral",
1557
+ "default": false,
1558
+ "type": "boolean"
1559
+ },
1560
+ "buttons": {
1561
+ "type": "array",
1562
+ "items": {
1563
+ "title": "Button",
1564
+ "type": "object",
1565
+ "properties": {
1566
+ "label": {
1567
+ "type": "string",
1568
+ "title": "Label",
1569
+ "description": "Text content to display inside the button",
1570
+ "examples": [
1571
+ "Book a meeting"
1572
+ ]
1573
+ },
1574
+ "icon": {
1575
+ "type": "string",
1576
+ "title": "Icon",
1577
+ "description": "Choose an icon"
1578
+ },
1579
+ "target": {
1580
+ "type": "string",
1581
+ "title": "Target",
1582
+ "description": "Target that should be linked, makes the button behave like a link semantically",
1583
+ "format": "uri"
1584
+ }
1585
+ },
1586
+ "additionalProperties": false
1587
+ }
1588
+ },
1589
+ "overlay": {
1590
+ "title": "Grid layer",
1591
+ "description": "Enable grid layer",
1592
+ "type": "boolean",
1593
+ "default": false
1594
+ },
1595
+ "video": {
1596
+ "title": "Background video",
1597
+ "description": "Sources of background videos for different screen sizes",
1598
+ "type": "object",
1599
+ "required": [
1600
+ "srcMobile"
1601
+ ],
1602
+ "properties": {
1603
+ "srcMobile": {
1604
+ "title": "Mobile video source",
1605
+ "description": "Background video source for small screens",
1606
+ "type": "string",
1607
+ "format": "video",
1608
+ "examples": [
1609
+ "https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_2mb.mp4"
1610
+ ]
1611
+ },
1612
+ "srcTablet": {
1613
+ "title": "Tablet video source",
1614
+ "description": "Background video source for medium screens",
1615
+ "type": "string",
1616
+ "format": "video",
1617
+ "examples": [
1618
+ "https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_2mb.mp4"
1619
+ ]
1620
+ },
1621
+ "srcDesktop": {
1622
+ "title": "Desktop video source",
1623
+ "description": "Background video source for large screens",
1624
+ "type": "string",
1625
+ "format": "video",
1626
+ "examples": [
1627
+ "https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_2mb.mp4"
1628
+ ]
1629
+ }
1630
+ },
1631
+ "additionalProperties": false
1632
+ },
1633
+ "textPosition": {
1634
+ "title": "Module aligment",
1635
+ "description": "Choose the alginment of the module content",
1636
+ "enum": [
1637
+ "center",
1638
+ "left",
1639
+ "right"
1640
+ ],
1641
+ "type": "string",
1642
+ "default": "bottom"
1643
+ },
1644
+ "type": {
1645
+ "const": "video-curtain"
1646
+ }
1647
+ },
1648
+ "additionalProperties": false
1649
+ },
1650
+ {
1651
+ "$schema": "http://json-schema.org/draft-07/schema#",
1652
+ "$id": "http://schema.mydesignsystem.com/image-text.schema.json",
1653
+ "title": "Image Text",
1654
+ "description": "Component used to display an image beside or above/below a text block",
1655
+ "type": "object",
1656
+ "properties": {
1657
+ "text": {
1658
+ "type": "string",
1659
+ "title": "Text",
1660
+ "description": "Text content to display beside the image",
1661
+ "examples": [
1662
+ "This is a sample text"
1663
+ ]
1664
+ },
1665
+ "highlightText": {
1666
+ "type": "boolean",
1667
+ "title": "Highlight Text",
1668
+ "description": "Visually highlight the text",
1669
+ "default": false
1670
+ },
1671
+ "image": {
1672
+ "type": "object",
1673
+ "properties": {
1674
+ "src": {
1675
+ "type": "string",
1676
+ "title": "Image Source",
1677
+ "description": "URL of the image to display",
1678
+ "examples": [
1679
+ "http://example.com/image.jpg"
1680
+ ]
1681
+ },
1682
+ "alt": {
1683
+ "type": "string",
1684
+ "title": "Alt Text",
1685
+ "description": "Alt text of the image",
1686
+ "examples": [
1687
+ "http://example.com/image.jpg"
1688
+ ]
1689
+ }
1690
+ },
1691
+ "additionalProperties": false
1692
+ },
1693
+ "layout": {
1694
+ "type": "string",
1695
+ "enum": [
1696
+ "above",
1697
+ "below",
1698
+ "beside-right",
1699
+ "beside-left"
1700
+ ],
1701
+ "title": "Layout",
1702
+ "description": "Position of the image relative to the text",
1703
+ "examples": [
1704
+ "above"
1705
+ ]
1706
+ },
1707
+ "type": {
1708
+ "const": "image-text"
1709
+ }
1710
+ },
1711
+ "required": [
1712
+ "text",
1713
+ "image",
1714
+ "layout"
1715
+ ],
1716
+ "additionalProperties": false
1717
+ },
1718
+ {
1719
+ "$schema": "http://json-schema.org/draft-07/schema#",
1720
+ "$id": "http://schema.mydesignsystem.com/logos.schema.json",
1721
+ "title": "Logos",
1722
+ "description": "Component used to display a set of logos",
1723
+ "type": "object",
1724
+ "properties": {
1725
+ "tagline": {
1726
+ "type": "string",
1727
+ "title": "Logo Tagline",
1728
+ "description": "A short tagline atop the logos",
1729
+ "examples": [
1730
+ "Your Success, Our Commitment"
1731
+ ]
1732
+ },
1733
+ "logos": {
1734
+ "type": "array",
1735
+ "title": "Logos",
1736
+ "description": "The logos to display",
1737
+ "items": {
1738
+ "type": "object",
1739
+ "properties": {
1740
+ "src": {
1741
+ "type": "string",
1742
+ "title": "URL",
1743
+ "description": "The URL of the logo image",
1744
+ "examples": [
1745
+ "img/logos/logoipsum-212.svg",
1746
+ "img/logos/logoipsum-217.svg",
1747
+ "img/logos/logoipsum-239.svg",
1748
+ "img/logos/logoipsum-244.svg",
1749
+ "img/logos/logoipsum-250.svg",
1750
+ "img/logos/logoipsum-286.svg"
1751
+ ]
1752
+ },
1753
+ "alt": {
1754
+ "type": "string",
1755
+ "title": "Caption",
1756
+ "description": "The alt text of the logo",
1757
+ "examples": [
1758
+ "Logo 1"
1759
+ ]
1760
+ }
1761
+ },
1762
+ "additionalProperties": false,
1763
+ "required": [
1764
+ "src"
1765
+ ]
1766
+ },
1767
+ "minItems": 1,
1768
+ "maxItems": 20
1769
+ },
1770
+ "align": {
1771
+ "type": "string",
1772
+ "title": "Alignment",
1773
+ "description": "The alignment of the logo layout",
1774
+ "enum": [
1775
+ "left",
1776
+ "center"
1777
+ ],
1778
+ "default": "center"
1779
+ },
1780
+ "logosPerRow": {
1781
+ "type": "integer",
1782
+ "title": "Logos Per Row",
1783
+ "description": "The amount of logos to display per row",
1784
+ "minimum": 2,
1785
+ "maximum": 8,
1786
+ "examples": [
1787
+ 5
1788
+ ]
1789
+ },
1790
+ "cta": {
1791
+ "type": "object",
1792
+ "title": "Call to Action",
1793
+ "description": "The call to action",
1794
+ "properties": {
1795
+ "toggle": {
1796
+ "type": "boolean",
1797
+ "default": false,
1798
+ "title": "CTA Toggle",
1799
+ "description": "Activate/disable the CTA"
1800
+ },
1801
+ "text": {
1802
+ "type": "string",
1803
+ "title": "Call to Action Text",
1804
+ "description": "A short CTA text",
1805
+ "examples": [
1806
+ "Explore the success stories of our valued customers and discover more about their journey."
1807
+ ]
1808
+ },
1809
+ "link": {
1810
+ "type": "string",
1811
+ "title": "Call to Action Link",
1812
+ "description": "The CTA link",
1813
+ "default": "#",
1814
+ "format": "uri"
1815
+ },
1816
+ "label": {
1817
+ "type": "string",
1818
+ "title": "Link Label",
1819
+ "description": "The text label displayed on the link",
1820
+ "examples": [
1821
+ "See all our partners"
1822
+ ]
1823
+ },
1824
+ "style": {
1825
+ "type": "string",
1826
+ "enum": [
1827
+ "button",
1828
+ "text"
1829
+ ],
1830
+ "default": "text"
1831
+ }
1832
+ },
1833
+ "additionalProperties": false,
1834
+ "required": [
1835
+ "style",
1836
+ "link",
1837
+ "label"
1838
+ ]
1839
+ },
1840
+ "type": {
1841
+ "const": "logos"
1842
+ }
1843
+ },
1844
+ "additionalProperties": false,
1845
+ "required": [
1846
+ "logos"
1847
+ ]
1848
+ }
1849
+ ]
1850
+ }
1851
+ },
1852
+ "buttons": {
1853
+ "title": "Buttons",
1854
+ "description": "Buttons of the Button Group",
1855
+ "type": "array",
1856
+ "items": {
1857
+ "$schema": "http://json-schema.org/draft-07/schema#",
1858
+ "$id": "http://schema.mydesignsystem.com/button.schema.json",
1859
+ "title": "Button",
1860
+ "description": "Component used for user interaction",
1861
+ "type": "object",
1862
+ "properties": {
1863
+ "label": {
1864
+ "type": "string",
1865
+ "title": "Label",
1866
+ "description": "Text content to display inside the button",
1867
+ "examples": [
1868
+ "Book a meeting"
1869
+ ]
1870
+ },
1871
+ "target": {
1872
+ "type": "string",
1873
+ "title": "Target",
1874
+ "description": "Target that should be linked, makes the button behave like a link semantically",
1875
+ "format": "uri"
1876
+ },
1877
+ "variant": {
1878
+ "type": "string",
1879
+ "title": "Variant",
1880
+ "description": "Variant of button to be used",
1881
+ "enum": [
1882
+ "primary",
1883
+ "secondary",
1884
+ "tertiary"
1885
+ ],
1886
+ "default": "secondary"
1887
+ },
1888
+ "icon": {
1889
+ "type": "string",
1890
+ "title": "Icon",
1891
+ "description": "Choose an icon"
1892
+ },
1893
+ "size": {
1894
+ "type": "string",
1895
+ "title": "Size",
1896
+ "description": "Size of button to use",
1897
+ "enum": [
1898
+ "small",
1899
+ "medium",
1900
+ "large"
1901
+ ],
1902
+ "default": "medium"
1903
+ },
1904
+ "disabled": {
1905
+ "type": "boolean",
1906
+ "title": "Disabled?",
1907
+ "description": "Whether the button should be disabled",
1908
+ "default": false
1909
+ },
1910
+ "type": {
1911
+ "const": "button"
1912
+ }
1913
+ },
1914
+ "additionalProperties": false,
1915
+ "required": [
1916
+ "label"
1917
+ ]
1918
+ }
1919
+ },
1920
+ "type": {
1921
+ "const": "section"
1922
+ }
1923
+ },
1924
+ "additionalProperties": false,
1925
+ "required": []
1926
+ }
1927
+ },
1928
+ "updated": {
1929
+ "type": "string",
1930
+ "title": "Updated",
1931
+ "description": "Last update date for the page",
1932
+ "format": "date-time"
1933
+ },
1934
+ "created": {
1935
+ "type": "string",
1936
+ "title": "Created",
1937
+ "description": "Creation date for the page",
1938
+ "format": "date-time"
1939
+ },
1940
+ "type": {
1941
+ "const": "page"
1942
+ }
1943
+ },
1944
+ "additionalProperties": false
1945
+ }