@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
package/README.md ADDED
@@ -0,0 +1,96 @@
1
+ # kickstartDS Agency Starter
2
+
3
+ kickstartDS Agency Starter is a specialized version of the kickstartDS Starter, tailored for digital agencies. It provides a set of content components that can be used to style marketing pages, while maintaining the flexibility and customizability of the original starter.
4
+
5
+ ## Features
6
+
7
+ - **Design System:** A ready-to-use Design System, with pre-configured semantic token structure and example components.
8
+ - **Storybook Integration:** Storybook is configured with best practices, kickstartDS integration, addons, and composition. Hot reload is enabled for all code changes.
9
+ - **Playroom Integration:** Playroom is integrated for prototyping.
10
+ - **Bundling:** The Design System is bundled for use with and without React.
11
+ - **Release Handling:** Semantic release handling is configured using auto.
12
+ - **Content:** Includes components, recipes, pages, and docs.
13
+
14
+ ## Installation
15
+
16
+ To install the Agency Starter, you need to have Node.js installed. We recommend managing your local Node.js versions using [nvm](https://github.com/nvm-sh/nvm).
17
+
18
+ ## Getting Started
19
+
20
+ To get started with the Agency Starter, follow these steps:
21
+
22
+ 1. Create a new repository based on this template.
23
+ 2. Update the `package.json` file with your project details.
24
+ 3. Add your own logo.
25
+ 4. Install the dependencies (`npm install` / `yarn install`).
26
+ 5. Start Storybook (`npm start`, `yarn start`).
27
+
28
+ ## Components
29
+
30
+ The Agency Starter includes several components that are immediately useful for creating marketing pages. These components are built using the kickstartDS Starter and kickstartDS itself, showcasing its features and best practices:
31
+
32
+ | Component | Description | Main Properties |
33
+ | --------------- | -------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
34
+ | **Blog Aside** | This component provides meta info for a singular blog entry. | author, social sharing links, reading time, and published date |
35
+ | **Blog Head** | This component serves as the intro portion of a singular blog entry. | published date, tags, headline, and cover image |
36
+ | **Blog Teaser** | This component is used to display a blog teaser with date, tags, headline, teaser text and author. | date, tags, headline, teaser text, image, link, reading time, and author |
37
+ | **Button** | A basic button component for user interaction. | label, target, variant, icon, size, and disabled state |
38
+ | **CTA** | A Call to Action component. | headline, subheadline, text, button, and alignment |
39
+ | **FAQ** | This component is used to display a FAQ section. | an array of questions and answers |
40
+ | **Features** | This component is used to display a set of features. | layout and features |
41
+ | **Footer** | A basic footer component. | logo, navigation, and social links |
42
+ | **Gallery** | This component is used to display a gallery of images. | images and captions |
43
+ | **Header** | A basic header component. | logo, navigation, and social links |
44
+ | **Logos** | This component is used to display a set of logos. | an array of logos |
45
+ | **Nav Main** | This component is used for main navigation. | an array of navigation items |
46
+ | **Section** | This component is used to layout components into pages. | title, content, and layout |
47
+ | **Split** | This component is used to create a split layout. | left and right content |
48
+ | **Stats** | This component is used to display a set of statistics. | an array of stats |
49
+ | **Teaser Card** | This component is used to display a teaser card. | image, headline, text, and link |
50
+ | **Testimonial** | This component is used to display a testimonial. | author, quote, and image |
51
+ | **Text** | A basic text component. | content and variant |
52
+ | **Visual** | This component is used to display a visual element. | image, alt text, and caption |
53
+
54
+ ## Customizing
55
+
56
+ ### Applying your Design / Brand
57
+
58
+ To apply your branding and corporate design to kickstartDS, you need to follow two main steps:
59
+
60
+ 1. Use a reduced set of Branding Token to generate your initial Design Token set in `src/token/branding-token.json`.
61
+ 2. Fine-tune the resulting Design Token set in `src/token/dictionary` to closely fit your corporate identity.
62
+
63
+ For a more in-depth overview of those tokens, have a look at our [foundations page](https://www.kickstartds.com/docs/foundations/token/) about [Branding Token](https://www.kickstartds.com/docs/foundations/token/branding-token/), detailing all values in use.
64
+
65
+ You can change some select values around to match your brand. For example, you might want to change the `primary` color to `#05566a`, the `primary-inverted` color to `#ecff00`, and the `font-family` to `-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'` if you're trying to recreate the kickstartDS branding.
66
+
67
+ After you've selected your Branding Tokens, you can apply them by updating the `branding-token.json` file with your chosen values, and running `npm run init-tokens` / `yarn init-tokens`.
68
+
69
+ With this, you have completed your Design Token setup, and your branding should be successfully applied to kickstartDS!
70
+
71
+ ### Adding Your Own Component
72
+
73
+ To add your own component to this project, you can follow the guide ["Create a component"](https://www.kickstartds.com/docs/guides/examples/components/teaser-card/). Alternatively you can read about the ideas behind [component creation](https://www.kickstartds.com/docs/guides/components/create/). Here is a brief overview of the steps involved:
74
+
75
+ 1. **Create your component file:** This should be a `.tsx` file in the `src/components` directory. The component should be a functional component and should follow the structure of existing components. For example, if you're creating a `MyComponent` component, you would create a `MyComponent.tsx` file in the `src/components/my-component` directory.
76
+
77
+ 2. **Create your component's JSON Schema:** This should be a `.schema.json` file in the same directory as your component file. This file should define the [component API](https://www.kickstartds.com/docs/foundations/components/component-api/) for your component. For example, if you're creating a `MyComponent` component, you would create a `my-component.schema.json` file in the `src/components/my-component` directory. The `.ts` file for props will be generated based on this JSON Schema definition.
78
+
79
+ 3. **Create your component's Storybook file:** This should be a `.stories.tsx` file in the same directory as your component file. This file should define the Storybook stories for your component. For example, if you're creating a `MyComponent` component, you would create a `MyComponent.stories.tsx` file in the `src/components/my-component` directory.
80
+
81
+ 4. **Add your component to the Playroom components:** This involves adding an export statement for your component in the `src/playroom/components.ts` file.
82
+
83
+ ## Contributing
84
+
85
+ Contributions are welcome. Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as below, without any additional terms or conditions.
86
+
87
+ ## License
88
+
89
+ This project is licensed under either of
90
+
91
+ - [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) ([LICENSE-APACHE](LICENSE-APACHE))
92
+ - [MIT license](https://opensource.org/license/mit/) ([LICENSE-MIT](LICENSE-MIT))
93
+
94
+ at your option.
95
+
96
+ The SPDX license identifier for this project is MIT OR Apache-2.0.
@@ -0,0 +1,41 @@
1
+ /**
2
+ * This file was automatically generated by json-schema-to-typescript.
3
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
4
+ * and run json-schema-to-typescript to regenerate this file.
5
+ */
6
+ /**
7
+ * Text content to display inside the button
8
+ */
9
+ type Label = string;
10
+ /**
11
+ * Target that should be linked, makes the button behave like a link semantically
12
+ */
13
+ type Target = string;
14
+ /**
15
+ * Variant of button to be used
16
+ */
17
+ type Variant = "primary" | "secondary" | "tertiary";
18
+ /**
19
+ * Choose an icon
20
+ */
21
+ type Icon = string;
22
+ /**
23
+ * Size of button to use
24
+ */
25
+ type Size = "small" | "medium" | "large";
26
+ /**
27
+ * Whether the button should be disabled
28
+ */
29
+ type Disabled = boolean;
30
+ /**
31
+ * Component used for user interaction
32
+ */
33
+ interface ButtonProps {
34
+ label: Label;
35
+ target?: Target;
36
+ variant?: Variant;
37
+ icon?: Icon;
38
+ size?: Size;
39
+ disabled?: Disabled;
40
+ }
41
+ export { Label, Target, Variant, Icon, Size, Disabled, ButtonProps };
@@ -0,0 +1,113 @@
1
+ /**
2
+ * This file was automatically generated by json-schema-to-typescript.
3
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
4
+ * and run json-schema-to-typescript to regenerate this file.
5
+ */
6
+ /**
7
+ * Headline for the Component element
8
+ */
9
+ type ComponentHeadline = string;
10
+ /**
11
+ * Subheadline below the component headline
12
+ */
13
+ type ComponentSubheadline = string;
14
+ /**
15
+ * Info text for the component element
16
+ */
17
+ type ComponentText = string;
18
+ /**
19
+ * Visually highlight the text
20
+ */
21
+ type HighlightText = boolean;
22
+ /**
23
+ * Make the text and buttons color neutral
24
+ */
25
+ type ColorNeutral = boolean;
26
+ /**
27
+ * Set the width of the content to the full width of the element
28
+ */
29
+ type Width = boolean;
30
+ /**
31
+ * Text content to display inside the button
32
+ */
33
+ type Label = string;
34
+ /**
35
+ * Choose an icon
36
+ */
37
+ type Icon = string;
38
+ /**
39
+ * Target that should be linked, makes the button behave like a link semantically
40
+ */
41
+ type Target = string;
42
+ /**
43
+ * Background color for the whole element
44
+ */
45
+ type BackgroundColor = string;
46
+ /**
47
+ * Background image for the whole element
48
+ */
49
+ type BackgroundImage = string;
50
+ /**
51
+ * Image source to use
52
+ */
53
+ type ImageSource = string;
54
+ /**
55
+ * Toggle padding of the image
56
+ */
57
+ type Padding = boolean;
58
+ /**
59
+ * Image description
60
+ */
61
+ type AltText = string;
62
+ /**
63
+ * Switch to displaying the image after the text on mobile
64
+ */
65
+ type MobileImageAfterText = boolean;
66
+ /**
67
+ * Switch to displaying the image after the text on desktop
68
+ */
69
+ type DesktopImageAfterText = boolean;
70
+ /**
71
+ * Choose the alginment of the text
72
+ */
73
+ type TextAlignment = "left" | "center";
74
+ /**
75
+ * Select a vertical alignment for the image
76
+ */
77
+ type VerticalAlignmentOfTheContent = "center" | "top" | "bottom";
78
+ interface CtaProps {
79
+ headline?: ComponentHeadline;
80
+ sub?: ComponentSubheadline;
81
+ text?: ComponentText;
82
+ highlightText?: HighlightText;
83
+ colorNeutral?: ColorNeutral;
84
+ fullWidth?: Width;
85
+ buttons?: Button[];
86
+ backgroundColor?: BackgroundColor;
87
+ backgroundImage?: BackgroundImage;
88
+ image?: Image;
89
+ order?: Order;
90
+ textAlign?: TextAlignment;
91
+ contentAlign?: VerticalAlignmentOfTheContent;
92
+ }
93
+ interface Button {
94
+ label?: Label;
95
+ icon?: Icon;
96
+ target?: Target;
97
+ }
98
+ /**
99
+ * Image displayed alongside the text content
100
+ */
101
+ interface Image {
102
+ src?: ImageSource;
103
+ padding?: Padding;
104
+ alt?: AltText;
105
+ }
106
+ /**
107
+ * Choose what comes first on mobile and desktop: image or text
108
+ */
109
+ interface Order {
110
+ mobileImageLast?: MobileImageAfterText;
111
+ desktopImageLast?: DesktopImageAfterText;
112
+ }
113
+ export { ComponentHeadline, ComponentSubheadline, ComponentText, HighlightText, ColorNeutral, Width, Label, Icon, Target, BackgroundColor, BackgroundImage, ImageSource, Padding, AltText, MobileImageAfterText, DesktopImageAfterText, TextAlignment, VerticalAlignmentOfTheContent, CtaProps, Button, Image, Order };
@@ -0,0 +1,35 @@
1
+ /**
2
+ * This file was automatically generated by json-schema-to-typescript.
3
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
4
+ * and run json-schema-to-typescript to regenerate this file.
5
+ */
6
+ /**
7
+ * The questions and answers in the Faq section
8
+ *
9
+ * @minItems 1
10
+ */
11
+ type Questions = [
12
+ {
13
+ question: Question;
14
+ answer: Answer;
15
+ },
16
+ ...{
17
+ question: Question;
18
+ answer: Answer;
19
+ }[]
20
+ ];
21
+ /**
22
+ * The question
23
+ */
24
+ type Question = string;
25
+ /**
26
+ * The answer to the question
27
+ */
28
+ type Answer = string;
29
+ /**
30
+ * Component used to display a Faq section
31
+ */
32
+ interface FaqProps {
33
+ questions: Questions;
34
+ }
35
+ export { Questions, Question, Answer, FaqProps };
@@ -0,0 +1,284 @@
1
+ /**
2
+ * This file was automatically generated by json-schema-to-typescript.
3
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
4
+ * and run json-schema-to-typescript to regenerate this file.
5
+ */
6
+ /**
7
+ * The layout variant to use for the features
8
+ */
9
+ type Layout = "largeTiles" | "smallTiles" | "list";
10
+ /**
11
+ * Activate/disable the CTAs
12
+ */
13
+ type CTAToggle = boolean;
14
+ /**
15
+ * The features to display
16
+ *
17
+ * @minItems 1
18
+ * @maxItems 8
19
+ */
20
+ type Features = [
21
+ {
22
+ icon?: Icon;
23
+ title: Title;
24
+ text: Text;
25
+ cta?: CallToAction;
26
+ }
27
+ ] | [
28
+ {
29
+ icon?: Icon;
30
+ title: Title;
31
+ text: Text;
32
+ cta?: CallToAction;
33
+ },
34
+ {
35
+ icon?: Icon;
36
+ title: Title;
37
+ text: Text;
38
+ cta?: CallToAction;
39
+ }
40
+ ] | [
41
+ {
42
+ icon?: Icon;
43
+ title: Title;
44
+ text: Text;
45
+ cta?: CallToAction;
46
+ },
47
+ {
48
+ icon?: Icon;
49
+ title: Title;
50
+ text: Text;
51
+ cta?: CallToAction;
52
+ },
53
+ {
54
+ icon?: Icon;
55
+ title: Title;
56
+ text: Text;
57
+ cta?: CallToAction;
58
+ }
59
+ ] | [
60
+ {
61
+ icon?: Icon;
62
+ title: Title;
63
+ text: Text;
64
+ cta?: CallToAction;
65
+ },
66
+ {
67
+ icon?: Icon;
68
+ title: Title;
69
+ text: Text;
70
+ cta?: CallToAction;
71
+ },
72
+ {
73
+ icon?: Icon;
74
+ title: Title;
75
+ text: Text;
76
+ cta?: CallToAction;
77
+ },
78
+ {
79
+ icon?: Icon;
80
+ title: Title;
81
+ text: Text;
82
+ cta?: CallToAction;
83
+ }
84
+ ] | [
85
+ {
86
+ icon?: Icon;
87
+ title: Title;
88
+ text: Text;
89
+ cta?: CallToAction;
90
+ },
91
+ {
92
+ icon?: Icon;
93
+ title: Title;
94
+ text: Text;
95
+ cta?: CallToAction;
96
+ },
97
+ {
98
+ icon?: Icon;
99
+ title: Title;
100
+ text: Text;
101
+ cta?: CallToAction;
102
+ },
103
+ {
104
+ icon?: Icon;
105
+ title: Title;
106
+ text: Text;
107
+ cta?: CallToAction;
108
+ },
109
+ {
110
+ icon?: Icon;
111
+ title: Title;
112
+ text: Text;
113
+ cta?: CallToAction;
114
+ }
115
+ ] | [
116
+ {
117
+ icon?: Icon;
118
+ title: Title;
119
+ text: Text;
120
+ cta?: CallToAction;
121
+ },
122
+ {
123
+ icon?: Icon;
124
+ title: Title;
125
+ text: Text;
126
+ cta?: CallToAction;
127
+ },
128
+ {
129
+ icon?: Icon;
130
+ title: Title;
131
+ text: Text;
132
+ cta?: CallToAction;
133
+ },
134
+ {
135
+ icon?: Icon;
136
+ title: Title;
137
+ text: Text;
138
+ cta?: CallToAction;
139
+ },
140
+ {
141
+ icon?: Icon;
142
+ title: Title;
143
+ text: Text;
144
+ cta?: CallToAction;
145
+ },
146
+ {
147
+ icon?: Icon;
148
+ title: Title;
149
+ text: Text;
150
+ cta?: CallToAction;
151
+ }
152
+ ] | [
153
+ {
154
+ icon?: Icon;
155
+ title: Title;
156
+ text: Text;
157
+ cta?: CallToAction;
158
+ },
159
+ {
160
+ icon?: Icon;
161
+ title: Title;
162
+ text: Text;
163
+ cta?: CallToAction;
164
+ },
165
+ {
166
+ icon?: Icon;
167
+ title: Title;
168
+ text: Text;
169
+ cta?: CallToAction;
170
+ },
171
+ {
172
+ icon?: Icon;
173
+ title: Title;
174
+ text: Text;
175
+ cta?: CallToAction;
176
+ },
177
+ {
178
+ icon?: Icon;
179
+ title: Title;
180
+ text: Text;
181
+ cta?: CallToAction;
182
+ },
183
+ {
184
+ icon?: Icon;
185
+ title: Title;
186
+ text: Text;
187
+ cta?: CallToAction;
188
+ },
189
+ {
190
+ icon?: Icon;
191
+ title: Title;
192
+ text: Text;
193
+ cta?: CallToAction;
194
+ }
195
+ ] | [
196
+ {
197
+ icon?: Icon;
198
+ title: Title;
199
+ text: Text;
200
+ cta?: CallToAction;
201
+ },
202
+ {
203
+ icon?: Icon;
204
+ title: Title;
205
+ text: Text;
206
+ cta?: CallToAction;
207
+ },
208
+ {
209
+ icon?: Icon;
210
+ title: Title;
211
+ text: Text;
212
+ cta?: CallToAction;
213
+ },
214
+ {
215
+ icon?: Icon;
216
+ title: Title;
217
+ text: Text;
218
+ cta?: CallToAction;
219
+ },
220
+ {
221
+ icon?: Icon;
222
+ title: Title;
223
+ text: Text;
224
+ cta?: CallToAction;
225
+ },
226
+ {
227
+ icon?: Icon;
228
+ title: Title;
229
+ text: Text;
230
+ cta?: CallToAction;
231
+ },
232
+ {
233
+ icon?: Icon;
234
+ title: Title;
235
+ text: Text;
236
+ cta?: CallToAction;
237
+ },
238
+ {
239
+ icon?: Icon;
240
+ title: Title;
241
+ text: Text;
242
+ cta?: CallToAction;
243
+ }
244
+ ];
245
+ /**
246
+ * The icon for the feature
247
+ */
248
+ type Icon = string;
249
+ /**
250
+ * The title of the feature
251
+ */
252
+ type Title = string;
253
+ /**
254
+ * The description of the feature
255
+ */
256
+ type Text = string;
257
+ /**
258
+ * The CTA target
259
+ */
260
+ type CallToActionTarget = string;
261
+ /**
262
+ * The text label displayed on the link
263
+ */
264
+ type LinkLabel = string;
265
+ /**
266
+ * Component used to display a set of features
267
+ */
268
+ interface FeaturesProps {
269
+ layout?: Layout;
270
+ style?: "intext" | "stack" | "centered" | "besideLarge" | "besideSmall";
271
+ ctas?: {
272
+ toggle?: CTAToggle;
273
+ style?: "button" | "link" | "intext";
274
+ };
275
+ features?: Features;
276
+ }
277
+ /**
278
+ * The call to action
279
+ */
280
+ interface CallToAction {
281
+ target?: CallToActionTarget;
282
+ label?: LinkLabel;
283
+ }
284
+ export { Layout, CTAToggle, Features, Icon, Title, Text, CallToActionTarget, LinkLabel, FeaturesProps, CallToAction };