@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,122 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/mosaic.schema.json",
4
+ "title": "Mosaic",
5
+ "type": "object",
6
+ "properties": {
7
+ "layout": {
8
+ "title": "Layout",
9
+ "description": "Layout of the mosaic component",
10
+ "type": "string",
11
+ "enum": [
12
+ "alternate",
13
+ "textLeft",
14
+ "textRight"
15
+ ],
16
+ "default": "alternate"
17
+ },
18
+ "largeHeadlines": {
19
+ "type": "boolean",
20
+ "title": "Large Headlines",
21
+ "description": "Make the headlines larger",
22
+ "default": false
23
+ },
24
+ "tiles": {
25
+ "type": "array",
26
+ "items": {
27
+ "type": "object",
28
+ "properties": {
29
+ "headline": {
30
+ "title": "Headline",
31
+ "description": "Headline for the tile",
32
+ "type": "string"
33
+ },
34
+ "sub": {
35
+ "title": "Module Subheadline",
36
+ "description": "Subheadline below the tile headline",
37
+ "type": "string"
38
+ },
39
+ "text": {
40
+ "title": "Module Text",
41
+ "description": "Text for tile",
42
+ "type": "string"
43
+ },
44
+ "image": {
45
+ "type": "object",
46
+ "properties": {
47
+ "src": {
48
+ "title": "Source",
49
+ "description": "Picture source",
50
+ "type": "string",
51
+ "format": "image",
52
+ "examples": [
53
+ "img/close-up-young-business-team-working.png"
54
+ ]
55
+ },
56
+ "alt": {
57
+ "title": "Alt text",
58
+ "description": "Alt text to display for picture",
59
+ "type": "string"
60
+ }
61
+ },
62
+ "additionalProperties": false
63
+ },
64
+ "button": {
65
+ "type": "object",
66
+ "properties": {
67
+ "toggle": {
68
+ "title": "Button Toggle",
69
+ "description": "Toggle wether the Button is displayed or not",
70
+ "type": "boolean",
71
+ "default": true
72
+ },
73
+ "label": {
74
+ "type": "string",
75
+ "title": "Label",
76
+ "description": "Text content to display inside the button",
77
+ "examples": [
78
+ "Book a meeting"
79
+ ]
80
+ },
81
+ "target": {
82
+ "type": "string",
83
+ "title": "Target",
84
+ "description": "Target that should be linked, makes the button behave like a link semantically",
85
+ "format": "uri"
86
+ },
87
+ "icon": {
88
+ "type": "string",
89
+ "title": "Icon",
90
+ "description": "Choose an icon"
91
+ }
92
+ },
93
+ "additionalProperties": false
94
+ },
95
+ "backgroundColor": {
96
+ "title": "Background color",
97
+ "description": "Background color for the whole element",
98
+ "type": "string",
99
+ "format": "color"
100
+ },
101
+ "backgroundImage": {
102
+ "title": "Background image",
103
+ "description": "Background image for the whole element",
104
+ "type": "string",
105
+ "format": "image"
106
+ },
107
+ "textColor": {
108
+ "title": "Text color",
109
+ "description": "Overwrite the color to use for the text content",
110
+ "type": "string",
111
+ "format": "color"
112
+ }
113
+ },
114
+ "additionalProperties": false
115
+ }
116
+ },
117
+ "type": {
118
+ "const": "mosaic"
119
+ }
120
+ },
121
+ "additionalProperties": false
122
+ }
@@ -0,0 +1,86 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/mosaic.schema.json",
4
+ "title": "Mosaic",
5
+ "type": "object",
6
+ "properties": {
7
+ "layout": {
8
+ "title": "Layout",
9
+ "description": "Layout of the mosaic component",
10
+ "type": "string",
11
+ "enum": ["alternate", "textLeft", "textRight"],
12
+ "default": "alternate"
13
+ },
14
+ "largeHeadlines": {
15
+ "type": "boolean",
16
+ "title": "Large Headlines",
17
+ "description": "Make the headlines larger",
18
+ "default": false
19
+ },
20
+ "tiles": {
21
+ "type": "array",
22
+ "items": {
23
+ "type": "object",
24
+ "properties": {
25
+ "headline": {
26
+ "title": "Headline",
27
+ "description": "Headline for the tile",
28
+ "type": "string"
29
+ },
30
+ "sub": {
31
+ "title": "Module Subheadline",
32
+ "description": "Subheadline below the tile headline",
33
+ "type": "string"
34
+ },
35
+ "text": {
36
+ "title": "Module Text",
37
+ "description": "Text for tile",
38
+ "type": "string"
39
+ },
40
+ "image": {
41
+ "type": "object",
42
+ "properties": {
43
+ "src": {
44
+ "$ref": "http://schema.mydesignsystem.com/image.schema.json#/properties/src"
45
+ },
46
+ "alt": {
47
+ "$ref": "http://schema.mydesignsystem.com/image.schema.json#/properties/alt"
48
+ }
49
+ }
50
+ },
51
+ "button": {
52
+ "type": "object",
53
+ "properties": {
54
+ "toggle": {
55
+ "title": "Button Toggle",
56
+ "description": "Toggle wether the Button is displayed or not",
57
+ "type": "boolean",
58
+ "default": true
59
+ },
60
+ "label": {
61
+ "$ref": "http://schema.mydesignsystem.com/button.schema.json#/properties/label"
62
+ },
63
+ "target": {
64
+ "$ref": "http://schema.mydesignsystem.com/button.schema.json#/properties/target"
65
+ },
66
+ "icon": {
67
+ "$ref": "http://schema.mydesignsystem.com/button.schema.json#/properties/icon"
68
+ }
69
+ },
70
+ "additionalProperties": false
71
+ },
72
+ "backgroundColor": {
73
+ "$ref": "http://schema.kickstartds.com/content/storytelling.schema.json#/properties/backgroundColor"
74
+ },
75
+ "backgroundImage": {
76
+ "$ref": "http://schema.kickstartds.com/content/storytelling.schema.json#/properties/backgroundImage"
77
+ },
78
+ "textColor": {
79
+ "$ref": "http://schema.kickstartds.com/content/storytelling.schema.json#/properties/box/properties/textColor"
80
+ }
81
+ }
82
+ }
83
+ }
84
+ },
85
+ "additionalProperties": false
86
+ }
@@ -0,0 +1,26 @@
1
+ import { 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
+ import { PictureProps } from "@kickstartds/base/lib/picture/typing";
9
+ interface NavMainProps {
10
+ /**
11
+ * Referenced component PictureProps
12
+ */
13
+ logo: PictureProps;
14
+ logoHref?: string;
15
+ items?: {
16
+ href: string;
17
+ label: string;
18
+ }[];
19
+ }
20
+ declare const NavToggleComponent: FC;
21
+ declare const NavMainItem: FC<{
22
+ label: string;
23
+ href: string;
24
+ }>;
25
+ declare const NavMain: FC<NavMainProps>;
26
+ export { NavToggleComponent, NavMainItem, NavMain };
@@ -0,0 +1,17 @@
1
+ import "./nav-main.css";
2
+ import "./nav-toggle.css";
3
+ import { createElement } from 'react';
4
+ import { jsxs, jsx } from 'react/jsx-runtime';
5
+ import { Link } from '@kickstartds/base/lib/link';
6
+ import { Picture } from '@kickstartds/base/lib/picture';
7
+ import './js/NavToggle.client.js';
8
+ import './js/navMainEvents.client.js';
9
+ import '@kickstartds/core/lib/component';
10
+ import './js/body.client.js';
11
+ import '@kickstartds/core/lib/core';
12
+
13
+ const NavToggleComponent = () => (jsxs("button", { type: "button", className: "nav-toggle", id: "toggle-sidebar", "aria-controls": "nav-main", "aria-expanded": "false", "ks-component": "base.nav-toggle", children: [jsx("span", { className: "nav-toggle__label", children: "toggle navigation" }), jsx("span", { className: "nav-toggle__icon", children: jsx("span", { className: "nav-toggle__icon__middle" }) })] }));
14
+ const NavMainItem = ({ label, href, }) => (jsx("li", { className: "c-nav-main__item", children: jsx(Link, { className: "c-nav-main__link", href: href, children: label }) }));
15
+ const NavMain = ({ logo, logoHref = "/", items }) => items && items.length > 0 ? (jsxs("div", { className: "c-nav-main__wrap", children: [jsx(NavToggleComponent, {}), jsxs("nav", { className: "c-nav-main", id: "nav-main", "aria-label": "Hauptnavigation", children: [jsx(Link, { className: "c-nav-main__logo", href: logoHref, children: jsx(Picture, { ...logo }) }), jsx("ul", { className: "c-nav-main__list", children: items.map((item) => (createElement(NavMainItem, { ...item, key: item.href + item.label }))) })] })] })) : null;
16
+
17
+ export { NavMain, NavMainItem, NavToggleComponent };
@@ -0,0 +1,16 @@
1
+ declare class NavToggle {
2
+ static identifier: string;
3
+ static actions: {
4
+ open: string;
5
+ close: string;
6
+ };
7
+ constructor(element: any);
8
+ isOpen: boolean;
9
+ nav: HTMLElement;
10
+ navMainDropdowns: Element[];
11
+ open(): void;
12
+ close(): void;
13
+ onclick(): void;
14
+ onkeydown(event: any): void;
15
+ }
16
+ export { NavToggle as default };
@@ -0,0 +1,57 @@
1
+ import { define, Component } from '@kickstartds/core/lib/component';
2
+ import { navMainEvents } from './navMainEvents.client.js';
3
+ import body from './body.client.js';
4
+ import '@kickstartds/core/lib/core';
5
+
6
+ class NavToggle extends Component {
7
+ constructor(element) {
8
+ super(element);
9
+ this.isOpen = this.element.getAttribute("aria-expanded") === "true";
10
+ this.nav = document.getElementById(this.element.getAttribute("aria-controls"));
11
+ this.navMainDropdowns = [...document.querySelectorAll("#nav-main details")];
12
+ this.element.addEventListener("click", this);
13
+ window._ks.radio.on(navMainEvents.change, (_, desktop) => {
14
+ if (desktop) {
15
+ this.close();
16
+ }
17
+ });
18
+ window._ks.radio.on("location.change", () => this.close());
19
+ }
20
+ open() {
21
+ this.isOpen = true;
22
+ body.lock();
23
+ this.element.setAttribute("aria-expanded", this.isOpen);
24
+ this.nav.focus();
25
+ window.addEventListener("keydown", this);
26
+ }
27
+ close() {
28
+ this.isOpen = false;
29
+ body.reset();
30
+ this.element.setAttribute("aria-expanded", this.isOpen);
31
+ this.element.focus();
32
+ window.removeEventListener("keydown", this);
33
+ }
34
+ onclick() {
35
+ if (this.isOpen) {
36
+ this.close();
37
+ }
38
+ else {
39
+ this.open();
40
+ }
41
+ }
42
+ onkeydown(event) {
43
+ if (event.key === "Escape") {
44
+ if (this.navMainDropdowns.every((dropdown) => !dropdown.hasAttribute("open"))) {
45
+ this.close();
46
+ }
47
+ }
48
+ }
49
+ }
50
+ NavToggle.identifier = "base.nav-toggle";
51
+ NavToggle.actions = {
52
+ open: `${NavToggle.identifier}.open`,
53
+ close: `${NavToggle.identifier}.close`,
54
+ };
55
+ define(NavToggle.identifier, NavToggle);
56
+
57
+ export { NavToggle as default };
@@ -0,0 +1,5 @@
1
+ declare namespace _default {
2
+ function lock(): void;
3
+ function reset(): void;
4
+ }
5
+ export { _default as default };
@@ -0,0 +1,41 @@
1
+ const cache = new Map();
2
+ const elements = [
3
+ {
4
+ selector: "body",
5
+ property: "paddingRight",
6
+ },
7
+ {
8
+ selector: ".nav-toggle",
9
+ property: "marginRight",
10
+ },
11
+ {
12
+ selector: ".kds-header__wrap > .l-container--section",
13
+ property: "paddingRight",
14
+ },
15
+ ];
16
+ function setStyle(value) {
17
+ elements.forEach(({ selector, property, negative }) => {
18
+ if (!cache.has(selector)) {
19
+ const element = document.querySelector(selector);
20
+ if (!element) {
21
+ return;
22
+ }
23
+ cache.set(selector, element);
24
+ }
25
+ cache.get(selector).style[property] = `${value && negative ? "-" : ""}${value}`;
26
+ });
27
+ }
28
+ var body = {
29
+ lock() {
30
+ setStyle(`${window.innerWidth - document.body.offsetWidth}px`);
31
+ document.documentElement.classList.add("overlay-open");
32
+ },
33
+ reset() {
34
+ setStyle("");
35
+ requestAnimationFrame(() => {
36
+ document.documentElement.classList.remove("overlay-open");
37
+ });
38
+ },
39
+ };
40
+
41
+ export { body as default };
@@ -0,0 +1,5 @@
1
+ declare namespace navMainEvents {
2
+ let change: string;
3
+ }
4
+ declare function isDesktop(): any;
5
+ export { navMainEvents, isDesktop };
@@ -0,0 +1,13 @@
1
+ import { inBrowser } from '@kickstartds/core/lib/core';
2
+
3
+ const navMainEvents = {
4
+ change: "nav-main.change",
5
+ };
6
+ let mm;
7
+ if (inBrowser) {
8
+ mm = window.matchMedia("(min-width: 62em)");
9
+ mm.addEventListener("change", (event) => window._ks.radio.emit(navMainEvents.change, event.matches));
10
+ }
11
+ const isDesktop = () => mm.matches;
12
+
13
+ export { isDesktop, navMainEvents };
@@ -0,0 +1,170 @@
1
+ .c-nav-main {
2
+ --c-nav-main--background: linear-gradient(
3
+ 125deg,
4
+ var(--ks-background-color-default),
5
+ var(--ks-color-primary-to-bg-6)
6
+ );
7
+ --c-nav-main--color: var(--ks-color-fg);
8
+ --c-nav-main--color-hover: var(--ks-color-fg-alpha-4);
9
+ --c-nav-main--color-active: var(--ks-color-fg);
10
+ --c-nav-main--font: var(--ks-font-interface-l);
11
+ --c-nav-main--font-weight: var(--ks-font-weight-semi-bold);
12
+ --c-nav-main--font-weight-active: var(--ks-font-weight-bold);
13
+ --c-nav-main--padding: 0.5rem 0;
14
+ --c-nav-main-link--padding: 0.35em 0;
15
+ --c-nav-main--shadow: 50px 0px 50px 50px rgba(0, 0, 0, 0.539);
16
+ }
17
+ @media (min-width: 62rem) {
18
+ .c-nav-main {
19
+ --c-nav-main-link--padding: 0 0.75em;
20
+ --c-nav-main--font: var(--ks-font-interface-m);
21
+ --c-nav-main--padding: 1px;
22
+ }
23
+ }
24
+
25
+ .c-nav-main {
26
+ display: flex;
27
+ flex-direction: column;
28
+ justify-content: flex-start;
29
+ }
30
+ .c-nav-main ul {
31
+ /* critical:start */
32
+ box-sizing: border-box;
33
+ margin: 0;
34
+ padding: 0;
35
+ list-style: none;
36
+ /* critical:end */
37
+ }
38
+ .c-nav-main ul li {
39
+ display: block;
40
+ margin: 0;
41
+ }
42
+ .c-nav-main__item {
43
+ position: relative;
44
+ }
45
+ .c-nav-main__item--active .nav-main__link {
46
+ color: var(--c-nav-main--color-active);
47
+ font-weight: var(--c-nav-main--font-weight-active);
48
+ }
49
+ .c-nav-main__list:hover .c-nav-main__link {
50
+ color: var(--c-nav-main--color-hover);
51
+ }
52
+ .c-nav-main a.c-nav-main__link {
53
+ /* critical:start */
54
+ font: var(--c-nav-main--font);
55
+ font-weight: var(--c-nav-main--font-weight);
56
+ color: var(--c-nav-main--color);
57
+ position: relative;
58
+ display: block;
59
+ padding: var(--c-nav-main-link--padding);
60
+ /* critical:end */
61
+ }
62
+ .c-nav-main a.c-nav-main__link:hover {
63
+ color: var(--c-nav-main--color);
64
+ }
65
+ .c-nav-main a.c-nav-main__link:active {
66
+ color: var(--c-nav-main--color-active);
67
+ }
68
+ .c-nav-main__logo {
69
+ padding: var(--g-header--spacing-v) 0;
70
+ }
71
+ .c-nav-main__logo img {
72
+ height: var(--g-logo--height);
73
+ width: auto;
74
+ }
75
+ .c-nav-main__wrap {
76
+ flex-grow: 0;
77
+ flex-shrink: 1;
78
+ }
79
+ @media (max-width: 62rem) {
80
+ .c-nav-main {
81
+ /* critical:start */
82
+ left: -100%;
83
+ /* critical:end */
84
+ height: 100vh;
85
+ overflow: hidden;
86
+ position: fixed;
87
+ width: 77vw;
88
+ max-width: 23rem;
89
+ transition: all var(--ks-duration-slow);
90
+ padding: 0 var(--l-section--content-padding);
91
+ right: 0;
92
+ bottom: 0;
93
+ top: 0;
94
+ overflow-y: auto;
95
+ background: var(--c-nav-main--background);
96
+ backface-visibility: hidden;
97
+ -webkit-overflow-scrolling: touch;
98
+ box-shadow: 20px 0px 30px rgba(0, 0, 0, 0);
99
+ }
100
+ .c-nav-main__item--icon {
101
+ border: 0;
102
+ clip: rect(1px, 1px, 1px, 1px);
103
+ clip-path: inset(100%);
104
+ height: 1px;
105
+ overflow: hidden;
106
+ padding: 0;
107
+ position: absolute;
108
+ white-space: nowrap;
109
+ width: 1px;
110
+ }
111
+ .overlay-open .c-nav-main {
112
+ left: 0;
113
+ box-shadow: var(--c-nav-main--shadow);
114
+ }
115
+ .c-nav-main > .c-nav-main__logo {
116
+ margin: var(--g-header-spacing);
117
+ }
118
+ .c-nav-main ul.nav-main__list {
119
+ padding-top: calc(var(--g-header-spacing-v) - var(--ks-spacing-s));
120
+ }
121
+ .c-nav-main ul.nav-main__list .nav-main--button {
122
+ margin-left: var(--g-header-spacing-h);
123
+ margin-top: var(--g-header-spacing-v);
124
+ }
125
+ .c-nav-main ul.nav-main__list .nav-main--button .c-button {
126
+ --c-button--font: var(--ks-font-interface-s);
127
+ }
128
+ .c-nav-main ul.nav-main__list .nav-main--button .c-button .c-button__content {
129
+ --c-button--padding: 0.4rem 1rem;
130
+ }
131
+ }
132
+ @media (min-width: 62rem) {
133
+ .c-nav-main {
134
+ /* critical:start */
135
+ /* critical:end */
136
+ }
137
+ .c-nav-main > .c-nav-main__logo {
138
+ display: none;
139
+ }
140
+ .c-nav-main .c-button--wrapper {
141
+ margin-left: var(--ks-spacing-inline-xs);
142
+ }
143
+ .c-nav-main__wrap {
144
+ display: flex;
145
+ align-items: center;
146
+ }
147
+ .c-nav-main__list {
148
+ /* critical:start */
149
+ display: flex;
150
+ flex-wrap: nowrap;
151
+ align-items: center;
152
+ /* critical:end */
153
+ }
154
+ .c-nav-main__list .nav-main--button .c-button {
155
+ --c-button--font: var(--ks-font-interface-s);
156
+ }
157
+ .c-nav-main__list .nav-main--button .c-button span {
158
+ font-size: 98%;
159
+ }
160
+ .c-nav-main__item {
161
+ /* critical:start */
162
+ flex-shrink: 0;
163
+ /* critical:end */
164
+ outline: 0;
165
+ }
166
+ }
167
+
168
+ .nav-main-toggle[aria-expanded=true] + .nav-main {
169
+ display: block;
170
+ }