@kickstartds/ds-agency-premium 1.2.10--canary.168.f4de958.0 → 1.2.10--canary.175.799b9aa.0

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 (130) hide show
  1. package/dist/BlogAsideProps-e1cbd5d3.d.ts +74 -0
  2. package/dist/BlogHeadProps-f9a49428.d.ts +31 -0
  3. package/dist/BlogTeaserProps-525f7f9f.d.ts +79 -0
  4. package/dist/FeatureProps-f8a75850.d.ts +52 -0
  5. package/dist/FeaturesProps-b05859d6.d.ts +34 -0
  6. package/dist/SeoProps-f2d6dcaa.d.ts +36 -0
  7. package/dist/{TeaserCardProps-3fce7be4.d.ts → TeaserCardProps-b9c28e78.d.ts} +1 -1
  8. package/dist/components/blog-aside/blog-aside.css +33 -5
  9. package/dist/components/blog-aside/blog-aside.schema.dereffed.json +5 -3
  10. package/dist/components/blog-aside/blog-aside.schema.json +5 -3
  11. package/dist/components/blog-aside/index.d.ts +6 -76
  12. package/dist/components/blog-aside/index.js +17 -10
  13. package/dist/components/blog-head/blog-head.css +22 -2
  14. package/dist/components/blog-head/blog-head.schema.dereffed.json +2 -1
  15. package/dist/components/blog-head/blog-head.schema.json +2 -1
  16. package/dist/components/blog-head/index.d.ts +6 -34
  17. package/dist/components/blog-head/index.js +10 -4
  18. package/dist/components/blog-overview/blog-overview.schema.dereffed.json +18 -0
  19. package/dist/components/blog-overview/index.d.ts +39 -0
  20. package/dist/components/blog-overview/index.js +17 -0
  21. package/dist/components/blog-post/blog-post.schema.dereffed.json +7 -4
  22. package/dist/components/blog-post/index.d.ts +39 -0
  23. package/dist/components/blog-post/index.js +24 -0
  24. package/dist/components/blog-teaser/blog-teaser.css +49 -25
  25. package/dist/components/blog-teaser/blog-teaser.schema.dereffed.json +6 -0
  26. package/dist/components/blog-teaser/blog-teaser.schema.json +6 -0
  27. package/dist/components/blog-teaser/index.d.ts +6 -81
  28. package/dist/components/blog-teaser/index.js +25 -16
  29. package/dist/components/button/button.css +109 -59
  30. package/dist/components/button/index.js +2 -1
  31. package/dist/components/faq/faq.css +27 -14
  32. package/dist/components/faq/faq.schema.dereffed.json +2 -0
  33. package/dist/components/faq/faq.schema.json +2 -0
  34. package/dist/components/faq/index.d.ts +6 -3
  35. package/dist/components/faq/index.js +8 -4
  36. package/dist/components/feature/feature.css +99 -0
  37. package/dist/components/feature/feature.schema.dereffed.json +91 -0
  38. package/dist/components/feature/feature.schema.json +67 -0
  39. package/dist/components/feature/index.d.ts +7 -49
  40. package/dist/components/feature/index.js +19 -15
  41. package/dist/components/features/features.css +7 -93
  42. package/dist/components/features/features.schema.dereffed.json +36 -2
  43. package/dist/components/features/features.schema.json +3 -47
  44. package/dist/components/features/index.d.ts +7 -4
  45. package/dist/components/features/index.js +13 -20
  46. package/dist/components/footer/footer.css +21 -17
  47. package/dist/components/footer/footer.schema.dereffed.json +4 -83
  48. package/dist/components/footer/footer.schema.json +33 -2
  49. package/dist/components/footer/index.d.ts +23 -5
  50. package/dist/components/footer/index.js +1 -1
  51. package/dist/components/gallery/gallery.css +31 -23
  52. package/dist/components/gallery/gallery.schema.dereffed.json +2 -0
  53. package/dist/components/gallery/gallery.schema.json +2 -0
  54. package/dist/components/gallery/index.d.ts +6 -3
  55. package/dist/components/gallery/index.js +11 -6
  56. package/dist/components/header/header.css +19 -43
  57. package/dist/components/header/header.schema.dereffed.json +18 -93
  58. package/dist/components/header/header.schema.json +31 -1
  59. package/dist/components/header/index.d.ts +24 -5
  60. package/dist/components/header/index.js +1 -1
  61. package/dist/components/headline/headline.css +76 -46
  62. package/dist/components/headline/index.d.ts +1 -1
  63. package/dist/components/headline/index.js +1 -1
  64. package/dist/components/hero/hero.css +39 -33
  65. package/dist/components/hero/index.js +1 -1
  66. package/dist/components/image/image.css +12 -6
  67. package/dist/components/image/image.schema.dereffed.json +4 -4
  68. package/dist/components/image/image.schema.json +4 -4
  69. package/dist/components/image/index.d.ts +7 -7
  70. package/dist/components/image-text/image-text.css +14 -3
  71. package/dist/components/image-text/image-text.schema.dereffed.json +2 -0
  72. package/dist/components/image-text/image-text.schema.json +2 -0
  73. package/dist/components/image-text/index.d.ts +7 -4
  74. package/dist/components/image-text/index.js +19 -13
  75. package/dist/components/logo/index.d.ts +27 -0
  76. package/dist/components/logo/index.js +12 -0
  77. package/dist/components/logo/logo.schema.dereffed.json +38 -0
  78. package/dist/components/logo/logo.schema.json +31 -0
  79. package/dist/components/nav-main/index.d.ts +2 -0
  80. package/dist/components/nav-main/index.js +3 -2
  81. package/dist/components/nav-main/nav-main.css +67 -64
  82. package/dist/components/nav-main/nav-main.schema.dereffed.json +17 -11
  83. package/dist/components/nav-main/nav-main.schema.json +15 -12
  84. package/dist/components/nav-main/nav-toggle.css +12 -7
  85. package/dist/components/page/page.schema.dereffed.json +46 -5
  86. package/dist/components/page/page.schema.json +1 -1
  87. package/dist/components/page-wrapper/index.d.ts +2 -3
  88. package/dist/components/page-wrapper/index.js +7 -472
  89. package/dist/components/page-wrapper/tokens.css +40 -40
  90. package/dist/components/providers/index.js +1 -1
  91. package/dist/components/raw-page-wrapper/index.d.ts +3 -0
  92. package/dist/components/raw-page-wrapper/index.js +492 -0
  93. package/dist/components/section/index.d.ts +2 -2
  94. package/dist/components/section/section.schema.dereffed.json +45 -4
  95. package/dist/components/settings/settings.schema.dereffed.json +22 -176
  96. package/dist/components/stat/index.d.ts +32 -0
  97. package/dist/components/stat/index.js +11 -0
  98. package/dist/components/stat/stat.schema.dereffed.json +64 -0
  99. package/dist/components/stat/stat.schema.json +48 -0
  100. package/dist/components/teaser-card/index.d.ts +4 -2
  101. package/dist/components/teaser-card/index.js +16 -13
  102. package/dist/components/teaser-card/teaser-card.css +68 -40
  103. package/dist/components/teaser-card/teaser-card.schema.dereffed.json +2 -2
  104. package/dist/components/teaser-card/teaser-card.schema.json +2 -2
  105. package/dist/components/testimonial/index.d.ts +44 -0
  106. package/dist/components/testimonial/index.js +19 -0
  107. package/dist/components/testimonial/testimonial.schema.dereffed.json +60 -0
  108. package/dist/components/testimonial/testimonial.schema.json +46 -0
  109. package/dist/components/text/index.d.ts +6 -3
  110. package/dist/components/text/index.js +10 -4
  111. package/dist/components/text/text.css +19 -9
  112. package/dist/components/text/text.schema.dereffed.json +1 -0
  113. package/dist/components/text/text.schema.json +1 -0
  114. package/dist/global.css +241 -91
  115. package/dist/static/tokens-business.css +1549 -0
  116. package/dist/static/tokens-google.css +1553 -0
  117. package/dist/static/tokens-ngo.css +1547 -0
  118. package/dist/static/tokens-telekom.css +1549 -0
  119. package/dist/static/tokens.css +1554 -0
  120. package/dist/tokens/tokens.css +40 -40
  121. package/dist/tokens/tokens.js +39 -39
  122. package/package.json +5 -4
  123. package/dist/FeaturesProps-32f5bc0d.d.ts +0 -284
  124. package/dist/tokens/themes.css +0 -4657
  125. package/dist/tokens/themes.css.d.ts +0 -0
  126. package/dist/tokens/themes.css.js +0 -1
  127. /package/dist/static/fonts/{lughausen → business}/novelpro-regular.woff +0 -0
  128. /package/dist/static/fonts/{lughausen → business}/novelsanspro-bold.woff +0 -0
  129. /package/dist/static/fonts/{lughausen → business}/novelsanspro-regular.woff +0 -0
  130. /package/dist/static/{logo-lughausen.svg → logo-business.svg} +0 -0
@@ -394,6 +394,7 @@
394
394
  "properties": {
395
395
  "question": {
396
396
  "type": "string",
397
+ "format": "markdown",
397
398
  "title": "Question",
398
399
  "description": "The question",
399
400
  "examples": [
@@ -402,6 +403,7 @@
402
403
  },
403
404
  "answer": {
404
405
  "type": "string",
406
+ "format": "markdown",
405
407
  "title": "Answer",
406
408
  "description": "The answer to the question",
407
409
  "examples": [
@@ -476,11 +478,15 @@
476
478
  },
477
479
  "additionalProperties": false
478
480
  },
479
- "items": {
481
+ "feature": {
480
482
  "type": "array",
481
- "title": "Items",
483
+ "title": "Features",
482
484
  "description": "The features to display",
483
485
  "items": {
486
+ "$schema": "http://json-schema.org/draft-07/schema#",
487
+ "$id": "http://schema.mydesignsystem.com/feature.schema.json",
488
+ "title": "Feature",
489
+ "description": "Partial Component used to display a feature",
484
490
  "type": "object",
485
491
  "properties": {
486
492
  "icon": {
@@ -507,6 +513,17 @@
507
513
  "This is a feature"
508
514
  ]
509
515
  },
516
+ "style": {
517
+ "type": "string",
518
+ "enum": [
519
+ "intext",
520
+ "stack",
521
+ "centered",
522
+ "besideLarge",
523
+ "besideSmall"
524
+ ],
525
+ "default": "stack"
526
+ },
510
527
  "cta": {
511
528
  "type": "object",
512
529
  "title": "Call to Action",
@@ -527,9 +544,28 @@
527
544
  "examples": [
528
545
  "See all our partners"
529
546
  ]
547
+ },
548
+ "toggle": {
549
+ "type": "boolean",
550
+ "title": "Call to Action Toggle",
551
+ "description": "Activate/disable the CTAs",
552
+ "default": true
553
+ },
554
+ "style": {
555
+ "type": "string",
556
+ "description": "Choose the style of the CTA",
557
+ "enum": [
558
+ "button",
559
+ "link",
560
+ "intext"
561
+ ],
562
+ "default": "link"
530
563
  }
531
564
  },
532
565
  "additionalProperties": false
566
+ },
567
+ "type": {
568
+ "const": "feature"
533
569
  }
534
570
  },
535
571
  "additionalProperties": false,
@@ -563,6 +599,7 @@
563
599
  "src": {
564
600
  "type": "string",
565
601
  "title": "src",
602
+ "format": "image",
566
603
  "description": "The source of the image",
567
604
  "examples": [
568
605
  "https://example.com/image1.jpg"
@@ -578,6 +615,7 @@
578
615
  },
579
616
  "caption": {
580
617
  "type": "string",
618
+ "format": "markdown",
581
619
  "title": "Caption",
582
620
  "description": "The caption of the image",
583
621
  "examples": [
@@ -970,6 +1008,7 @@
970
1008
  "properties": {
971
1009
  "text": {
972
1010
  "type": "string",
1011
+ "format": "markdown",
973
1012
  "title": "Text",
974
1013
  "description": "Text content to display beside the image",
975
1014
  "examples": [
@@ -987,6 +1026,7 @@
987
1026
  "properties": {
988
1027
  "src": {
989
1028
  "type": "string",
1029
+ "format": "image",
990
1030
  "title": "Image Source",
991
1031
  "description": "URL of the image to display",
992
1032
  "examples": [
@@ -1460,7 +1500,7 @@
1460
1500
  },
1461
1501
  "chevron": {
1462
1502
  "title": "Icon",
1463
- "description": "Toggle chevron icon",
1503
+ "description": "Toggle arrow icon",
1464
1504
  "type": "boolean",
1465
1505
  "default": false
1466
1506
  },
@@ -1480,7 +1520,7 @@
1480
1520
  "type": "string",
1481
1521
  "title": "Image",
1482
1522
  "description": "Image to display as cover",
1483
- "format": "uri"
1523
+ "format": "image"
1484
1524
  },
1485
1525
  "imageRatio": {
1486
1526
  "type": "string",
@@ -1605,6 +1645,7 @@
1605
1645
  "properties": {
1606
1646
  "text": {
1607
1647
  "type": "string",
1648
+ "format": "markdown",
1608
1649
  "title": "Text",
1609
1650
  "description": "Text",
1610
1651
  "examples": [
@@ -17,10 +17,7 @@
17
17
  "type": "object",
18
18
  "properties": {
19
19
  "logo": {
20
- "$schema": "http://json-schema.org/draft-07/schema#",
21
- "$id": "http://schema.kickstartds.com/base/picture.schema.json",
22
- "title": "Picture",
23
- "description": "Base component to display a picture",
20
+ "title": "Logo",
24
21
  "type": "object",
25
22
  "properties": {
26
23
  "src": {
@@ -32,12 +29,6 @@
32
29
  "https://picsum.photos/seed/kdspicture/300/300"
33
30
  ]
34
31
  },
35
- "srcSet": {
36
- "title": "Picture sourceset",
37
- "description": "Use a srcSet to display picture",
38
- "type": "string",
39
- "format": "image"
40
- },
41
32
  "alt": {
42
33
  "title": "Alt text",
43
34
  "description": "Alt text to display for picture",
@@ -60,84 +51,13 @@
60
51
  "examples": [
61
52
  300
62
53
  ]
63
- },
64
- "className": {
65
- "title": "Additional Classes",
66
- "description": "Add additional css classes that should be applied to the button",
67
- "type": "string"
68
- },
69
- "component": {
70
- "title": "`ks-component` attribute",
71
- "description": "Optional custom component identifier",
72
- "type": "string"
73
- },
74
- "id": {
75
- "title": "Id",
76
- "description": "Add id attribute to the image",
77
- "type": "string"
78
- },
79
- "itemProp": {
80
- "title": "`itemprop` attribute",
81
- "description": "Define an itemprop attribute for the picture",
82
- "type": "string"
83
- },
84
- "style": {
85
- "title": "`style` attribute",
86
- "description": "Define a style attribute for the picture",
87
- "type": "string"
88
- },
89
- "noscript": {
90
- "title": "Noscript",
91
- "description": "Render noscript fallback",
92
- "type": "boolean",
93
- "default": true
94
- },
95
- "lazy": {
96
- "title": "Lazy",
97
- "description": "Load the picture lazily",
98
- "type": "boolean",
99
- "default": true
100
- },
101
- "sources": {
102
- "title": "Sources",
103
- "description": "Additional sources. This will result in a `picture`-Element",
104
- "type": "array",
105
- "items": {
106
- "type": "object",
107
- "properties": {
108
- "srcSet": {
109
- "title": "Picture sourceset",
110
- "description": "Use a srcSet to display picture",
111
- "type": "string",
112
- "format": "image"
113
- },
114
- "media": {
115
- "title": "TODO MEDIA TITLE",
116
- "description": "TODO MEDIA DESCRIPTION",
117
- "type": "string"
118
- },
119
- "type": {
120
- "title": "TODO TYPE TITLE",
121
- "description": "TODO TYPE DESCRIPTION",
122
- "type": "string"
123
- }
124
- },
125
- "additionalProperties": false
126
- }
127
- },
128
- "pictureClassName": {
129
- "title": "`class` attribute",
130
- "description": "Set additional class(es) to the picture",
131
- "type": "string"
132
- },
133
- "type": {
134
- "const": "picture"
135
54
  }
136
55
  },
137
56
  "additionalProperties": false
138
57
  },
139
58
  "logoHref": {
140
59
  "type": "string",
60
+ "format": "uri",
141
61
  "default": "/"
142
62
  },
143
63
  "floating": {
@@ -152,10 +72,14 @@
152
72
  "type": "object",
153
73
  "properties": {
154
74
  "href": {
155
- "type": "string"
75
+ "type": "string",
76
+ "format": "uri"
156
77
  },
157
78
  "label": {
158
79
  "type": "string"
80
+ },
81
+ "active": {
82
+ "type": "boolean"
159
83
  }
160
84
  },
161
85
  "additionalProperties": false,
@@ -167,24 +91,25 @@
167
91
  "examples": [
168
92
  [
169
93
  {
170
- "href": "#about",
171
- "label": "About us"
94
+ "label": "Nav Item",
95
+ "href": "#"
172
96
  },
173
97
  {
174
- "href": "#services",
175
- "label": "Our Services"
98
+ "label": "Active Item",
99
+ "href": "#",
100
+ "active": true
176
101
  },
177
102
  {
178
- "href": "#project",
179
- "label": "Project"
103
+ "label": "Another Item",
104
+ "href": "#"
180
105
  },
181
106
  {
182
- "href": "#showcase",
183
- "label": "Showcase"
107
+ "label": "One more Item",
108
+ "href": "#"
184
109
  },
185
110
  {
186
- "href": "#blog",
187
- "label": "Blog"
111
+ "label": "Last Item",
112
+ "href": "#"
188
113
  }
189
114
  ]
190
115
  ]
@@ -205,10 +130,7 @@
205
130
  "type": "object",
206
131
  "properties": {
207
132
  "logo": {
208
- "$schema": "http://json-schema.org/draft-07/schema#",
209
- "$id": "http://schema.kickstartds.com/base/picture.schema.json",
210
- "title": "Picture",
211
- "description": "Base component to display a picture",
133
+ "title": "Logo",
212
134
  "type": "object",
213
135
  "properties": {
214
136
  "src": {
@@ -220,12 +142,6 @@
220
142
  "https://picsum.photos/seed/kdspicture/300/300"
221
143
  ]
222
144
  },
223
- "srcSet": {
224
- "title": "Picture sourceset",
225
- "description": "Use a srcSet to display picture",
226
- "type": "string",
227
- "format": "image"
228
- },
229
145
  "alt": {
230
146
  "title": "Alt text",
231
147
  "description": "Alt text to display for picture",
@@ -248,84 +164,13 @@
248
164
  "examples": [
249
165
  300
250
166
  ]
251
- },
252
- "className": {
253
- "title": "Additional Classes",
254
- "description": "Add additional css classes that should be applied to the button",
255
- "type": "string"
256
- },
257
- "component": {
258
- "title": "`ks-component` attribute",
259
- "description": "Optional custom component identifier",
260
- "type": "string"
261
- },
262
- "id": {
263
- "title": "Id",
264
- "description": "Add id attribute to the image",
265
- "type": "string"
266
- },
267
- "itemProp": {
268
- "title": "`itemprop` attribute",
269
- "description": "Define an itemprop attribute for the picture",
270
- "type": "string"
271
- },
272
- "style": {
273
- "title": "`style` attribute",
274
- "description": "Define a style attribute for the picture",
275
- "type": "string"
276
- },
277
- "noscript": {
278
- "title": "Noscript",
279
- "description": "Render noscript fallback",
280
- "type": "boolean",
281
- "default": true
282
- },
283
- "lazy": {
284
- "title": "Lazy",
285
- "description": "Load the picture lazily",
286
- "type": "boolean",
287
- "default": true
288
- },
289
- "sources": {
290
- "title": "Sources",
291
- "description": "Additional sources. This will result in a `picture`-Element",
292
- "type": "array",
293
- "items": {
294
- "type": "object",
295
- "properties": {
296
- "srcSet": {
297
- "title": "Picture sourceset",
298
- "description": "Use a srcSet to display picture",
299
- "type": "string",
300
- "format": "image"
301
- },
302
- "media": {
303
- "title": "TODO MEDIA TITLE",
304
- "description": "TODO MEDIA DESCRIPTION",
305
- "type": "string"
306
- },
307
- "type": {
308
- "title": "TODO TYPE TITLE",
309
- "description": "TODO TYPE DESCRIPTION",
310
- "type": "string"
311
- }
312
- },
313
- "additionalProperties": false
314
- }
315
- },
316
- "pictureClassName": {
317
- "title": "`class` attribute",
318
- "description": "Set additional class(es) to the picture",
319
- "type": "string"
320
- },
321
- "type": {
322
- "const": "picture"
323
167
  }
324
168
  },
325
169
  "additionalProperties": false
326
170
  },
327
171
  "logoHref": {
328
172
  "type": "string",
173
+ "format": "uri",
329
174
  "default": "/"
330
175
  },
331
176
  "navItems": {
@@ -334,7 +179,8 @@
334
179
  "type": "object",
335
180
  "properties": {
336
181
  "href": {
337
- "type": "string"
182
+ "type": "string",
183
+ "format": "uri"
338
184
  },
339
185
  "label": {
340
186
  "type": "string"
@@ -0,0 +1,32 @@
1
+ /// <reference types="react" />
2
+ import { HTMLAttributes } from "react";
3
+ /* eslint-disable */
4
+ /**
5
+ * This file was automatically generated by json-schema-to-typescript.
6
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
7
+ * and run json-schema-to-typescript to regenerate this file.
8
+ */
9
+ /**
10
+ * The number of the stat
11
+ */
12
+ type Number = number;
13
+ /**
14
+ * Optional description of the stat
15
+ */
16
+ type Description = string;
17
+ /**
18
+ * Title of the stat
19
+ */
20
+ type Title = string;
21
+ /**
22
+ * Stat entry of Stats component
23
+ */
24
+ interface StatProps {
25
+ number: Number;
26
+ description?: Description;
27
+ title?: Title;
28
+ }
29
+ declare const StatContextDefault: import("react").ForwardRefExoticComponent<StatProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
30
+ declare const StatContext: import("react").Context<import("react").ForwardRefExoticComponent<StatProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
31
+ declare const Stat: import("react").ForwardRefExoticComponent<StatProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
32
+ export { StatContextDefault, StatContext, Stat };
@@ -0,0 +1,11 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { forwardRef, createContext, useContext } from 'react';
3
+
4
+ const StatContextDefault = forwardRef(({ number, title, description, ...rest }, ref) => (jsxs("div", { ...rest, ref: ref, className: "dsa-stats__stat", children: [jsx("span", { className: "dsa-stats__value", children: number }), jsx("span", { className: "dsa-stats__label", children: title }), description && (jsx("span", { className: "dsa-stats__description", children: description }))] })));
5
+ const StatContext = createContext(StatContextDefault);
6
+ const Stat = forwardRef((props, ref) => {
7
+ const Component = useContext(StatContext);
8
+ return jsx(Component, { ...props, ref: ref });
9
+ });
10
+
11
+ export { Stat, StatContext, StatContextDefault };
@@ -0,0 +1,64 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/stat.schema.json",
4
+ "title": "Stat",
5
+ "description": "Stat entry of Stats component",
6
+ "type": "object",
7
+ "properties": {
8
+ "number": {
9
+ "title": "Number",
10
+ "description": "The number of the stat",
11
+ "type": "integer",
12
+ "examples": [
13
+ 1,
14
+ 2,
15
+ 3,
16
+ 4
17
+ ]
18
+ },
19
+ "description": {
20
+ "title": "Description",
21
+ "description": "Optional description of the stat",
22
+ "type": "string",
23
+ "format": "markdown"
24
+ },
25
+ "title": {
26
+ "title": "Title",
27
+ "description": "Title of the stat",
28
+ "type": "string",
29
+ "format": "markdown",
30
+ "examples": [
31
+ "Stat 1",
32
+ "Stat 2",
33
+ "Stat 3",
34
+ "Stat 4"
35
+ ]
36
+ },
37
+ "type": {
38
+ "const": "stat"
39
+ }
40
+ },
41
+ "additionalProperties": false,
42
+ "required": [
43
+ "number",
44
+ "label"
45
+ ],
46
+ "examples": [
47
+ {
48
+ "number": 1,
49
+ "label": "Stat 1"
50
+ },
51
+ {
52
+ "number": 2,
53
+ "label": "Stat 2"
54
+ },
55
+ {
56
+ "number": 3,
57
+ "label": "Stat 3"
58
+ },
59
+ {
60
+ "value": 4,
61
+ "label": "Stat 4"
62
+ }
63
+ ]
64
+ }
@@ -0,0 +1,48 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/stat.schema.json",
4
+ "title": "Stat",
5
+ "description": "Stat entry of Stats component",
6
+ "type": "object",
7
+ "properties": {
8
+ "number": {
9
+ "title": "Number",
10
+ "description": "The number of the stat",
11
+ "type": "integer",
12
+ "examples": [1, 2, 3, 4]
13
+ },
14
+ "description": {
15
+ "title": "Description",
16
+ "description": "Optional description of the stat",
17
+ "type": "string",
18
+ "format": "markdown"
19
+ },
20
+ "title": {
21
+ "title": "Title",
22
+ "description": "Title of the stat",
23
+ "type": "string",
24
+ "format": "markdown",
25
+ "examples": ["Stat 1", "Stat 2", "Stat 3", "Stat 4"]
26
+ }
27
+ },
28
+ "additionalProperties": false,
29
+ "required": ["number", "label"],
30
+ "examples": [
31
+ {
32
+ "number": 1,
33
+ "label": "Stat 1"
34
+ },
35
+ {
36
+ "number": 2,
37
+ "label": "Stat 2"
38
+ },
39
+ {
40
+ "number": 3,
41
+ "label": "Stat 3"
42
+ },
43
+ {
44
+ "value": 4,
45
+ "label": "Stat 4"
46
+ }
47
+ ]
48
+ }
@@ -1,6 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import { HTMLAttributes, FC, PropsWithChildren } from "react";
3
- import { TeaserCardProps } from "../../TeaserCardProps-3fce7be4.js";
3
+ import { TeaserCardProps } from "../../TeaserCardProps-b9c28e78.js";
4
+ declare const TeaserCardContextDefault: import("react").ForwardRefExoticComponent<TeaserCardProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
5
+ declare const TeaserCardContext: import("react").Context<import("react").ForwardRefExoticComponent<TeaserCardProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
4
6
  declare const TeaserCard: import("react").ForwardRefExoticComponent<TeaserCardProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
5
7
  declare const TeaserBoxProvider: FC<PropsWithChildren>;
6
- export { TeaserCard, TeaserBoxProvider };
8
+ export { TeaserCardContextDefault, TeaserCardContext, TeaserCard, TeaserBoxProvider };
@@ -1,22 +1,25 @@
1
1
  import "./teaser-card.css";
2
2
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
- import { forwardRef } from 'react';
3
+ import { forwardRef, createContext, useContext } from 'react';
4
4
  import classnames from 'classnames';
5
5
  import { TeaserBoxContextDefault, TeaserBoxContext } from '@kickstartds/base/lib/teaser-box';
6
6
  import { Container } from '@kickstartds/core/lib/container';
7
7
 
8
- const TeaserCard = forwardRef(({ headline, text, button, target, image, imageRatio = "wide", label, layout = "stack", ...props }, ref) => {
9
- return (jsx(Container, { name: "teaser-card", children: jsx(TeaserBoxContextDefault, { ...props, className: classnames(`c-teaser-card`, label && `c-teaser-card--label`, `c-teaser-card--${layout}`, `c-teaser-card--${imageRatio}`), topic: headline, text: text,
10
- // @ts-expect-error
11
- renderTopic: () => (jsxs(Fragment, { children: [label ? jsx("span", { className: "c-teaser__label", children: label }) : "", headline] })), link: {
12
- hidden: button?.hidden,
13
- label: button.label,
14
- variant: "secondary",
15
- target: target,
16
- icon: button?.chevron ? "chevron-right" : undefined,
17
- }, image: image, ref: ref }) }));
8
+ const TeaserCardContextDefault = forwardRef(({ headline, text, button, target, image, imageRatio = "wide", label, layout = "stack", ...rest }, ref) => (jsx(Container, { name: "teaser-card", children: jsx(TeaserBoxContextDefault, { ...rest, className: classnames(`dsa-teaser-card`, label && `dsa-teaser-card--label`, `dsa-teaser-card--${layout}`, `dsa-teaser-card--${imageRatio}`), topic: headline, text: text,
9
+ // @ts-expect-error
10
+ renderTopic: () => (jsxs(Fragment, { children: [label ? (jsx("span", { className: "dsa-teaser-card__label", children: label })) : (""), headline] })), link: {
11
+ hidden: button?.hidden,
12
+ label: button.label,
13
+ variant: "secondary",
14
+ target: target,
15
+ icon: button?.chevron ? "chevron-right" : undefined,
16
+ }, image: image, ref: ref }) })));
17
+ TeaserCardContextDefault.displayName = "TeaserCard";
18
+ const TeaserCardContext = createContext(TeaserCardContextDefault);
19
+ const TeaserCard = forwardRef((props, ref) => {
20
+ const Component = useContext(TeaserCardContext);
21
+ return jsx(Component, { ...props, ref: ref });
18
22
  });
19
- TeaserCard.displayName = "TeaserCard";
20
23
  const TeaserBoxProvider = (props) => (jsx(TeaserBoxContext.Provider, { ...props, value: TeaserCard }));
21
24
 
22
- export { TeaserBoxProvider, TeaserCard };
25
+ export { TeaserBoxProvider, TeaserCard, TeaserCardContext, TeaserCardContextDefault };