@kickstartds/ds-agency-premium 1.2.10--canary.171.76273d8.0 → 1.2.10--canary.178.33c3c92.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 (129) 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/cta/cta.css +1 -1
  32. package/dist/components/faq/faq.css +27 -14
  33. package/dist/components/faq/faq.schema.dereffed.json +2 -0
  34. package/dist/components/faq/faq.schema.json +2 -0
  35. package/dist/components/faq/index.d.ts +6 -3
  36. package/dist/components/faq/index.js +8 -4
  37. package/dist/components/feature/feature.css +99 -0
  38. package/dist/components/feature/feature.schema.dereffed.json +91 -0
  39. package/dist/components/feature/feature.schema.json +67 -0
  40. package/dist/components/feature/index.d.ts +7 -49
  41. package/dist/components/feature/index.js +19 -15
  42. package/dist/components/features/features.css +7 -93
  43. package/dist/components/features/features.schema.dereffed.json +36 -2
  44. package/dist/components/features/features.schema.json +3 -47
  45. package/dist/components/features/index.d.ts +7 -4
  46. package/dist/components/features/index.js +13 -20
  47. package/dist/components/footer/footer.css +21 -17
  48. package/dist/components/footer/footer.schema.dereffed.json +4 -83
  49. package/dist/components/footer/footer.schema.json +33 -2
  50. package/dist/components/footer/index.d.ts +23 -5
  51. package/dist/components/footer/index.js +1 -1
  52. package/dist/components/gallery/gallery.css +31 -23
  53. package/dist/components/gallery/gallery.schema.dereffed.json +2 -0
  54. package/dist/components/gallery/gallery.schema.json +2 -0
  55. package/dist/components/gallery/index.d.ts +6 -3
  56. package/dist/components/gallery/index.js +11 -6
  57. package/dist/components/header/header.css +19 -43
  58. package/dist/components/header/header.schema.dereffed.json +18 -93
  59. package/dist/components/header/header.schema.json +31 -1
  60. package/dist/components/header/index.d.ts +24 -5
  61. package/dist/components/header/index.js +1 -1
  62. package/dist/components/headline/headline.css +76 -46
  63. package/dist/components/headline/index.d.ts +1 -1
  64. package/dist/components/headline/index.js +1 -1
  65. package/dist/components/hero/hero.css +30 -16
  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/mosaic/mosaic.css +2 -2
  80. package/dist/components/nav-main/index.d.ts +2 -0
  81. package/dist/components/nav-main/index.js +3 -2
  82. package/dist/components/nav-main/nav-main.css +67 -64
  83. package/dist/components/nav-main/nav-main.schema.dereffed.json +17 -11
  84. package/dist/components/nav-main/nav-main.schema.json +15 -12
  85. package/dist/components/nav-main/nav-toggle.css +12 -7
  86. package/dist/components/page/page.schema.dereffed.json +46 -5
  87. package/dist/components/page/page.schema.json +1 -1
  88. package/dist/components/page-wrapper/index.d.ts +2 -3
  89. package/dist/components/page-wrapper/index.js +7 -472
  90. package/dist/components/page-wrapper/tokens.css +1 -1
  91. package/dist/components/providers/index.js +1 -1
  92. package/dist/components/raw-page-wrapper/index.d.ts +3 -0
  93. package/dist/components/raw-page-wrapper/index.js +492 -0
  94. package/dist/components/section/index.d.ts +2 -2
  95. package/dist/components/section/section.schema.dereffed.json +45 -4
  96. package/dist/components/settings/settings.schema.dereffed.json +22 -176
  97. package/dist/components/stat/index.d.ts +32 -0
  98. package/dist/components/stat/index.js +11 -0
  99. package/dist/components/stat/stat.schema.dereffed.json +64 -0
  100. package/dist/components/stat/stat.schema.json +48 -0
  101. package/dist/components/teaser-card/index.d.ts +4 -2
  102. package/dist/components/teaser-card/index.js +16 -13
  103. package/dist/components/teaser-card/teaser-card.css +68 -40
  104. package/dist/components/teaser-card/teaser-card.schema.dereffed.json +2 -2
  105. package/dist/components/teaser-card/teaser-card.schema.json +2 -2
  106. package/dist/components/testimonial/index.d.ts +44 -0
  107. package/dist/components/testimonial/index.js +19 -0
  108. package/dist/components/testimonial/testimonial.schema.dereffed.json +60 -0
  109. package/dist/components/testimonial/testimonial.schema.json +46 -0
  110. package/dist/components/text/index.d.ts +6 -3
  111. package/dist/components/text/index.js +10 -4
  112. package/dist/components/text/text.css +19 -9
  113. package/dist/components/text/text.schema.dereffed.json +1 -0
  114. package/dist/components/text/text.schema.json +1 -0
  115. package/dist/components/video-curtain/video-curtain.css +1 -1
  116. package/dist/global.css +238 -88
  117. package/dist/static/tokens-business.css +1 -1
  118. package/dist/static/tokens-google.css +1 -1
  119. package/dist/static/tokens-ngo.css +1 -1
  120. package/dist/static/tokens-telekom.css +1 -1
  121. package/dist/static/tokens.css +1 -1
  122. package/dist/tokens/tokens.css +1 -1
  123. package/dist/tokens/tokens.js +1 -1
  124. package/package.json +1 -1
  125. package/dist/FeaturesProps-32f5bc0d.d.ts +0 -284
  126. /package/dist/static/fonts/{lughausen → business}/novelpro-regular.woff +0 -0
  127. /package/dist/static/fonts/{lughausen → business}/novelsanspro-bold.woff +0 -0
  128. /package/dist/static/fonts/{lughausen → business}/novelsanspro-regular.woff +0 -0
  129. /package/dist/static/{logo-lughausen.svg → logo-business.svg} +0 -0
@@ -3,33 +3,42 @@
3
3
  container-name: teaser-card;
4
4
  }
5
5
 
6
- .c-teaser.c-teaser-card {
7
- --g-topic--font: var(--ks-font-display-l);
8
- --c-rich-text--font: var(--ks-font-copy-m);
9
- --c-teaser--padding: var(--ks-spacing-inset-l);
10
- --c-teaser--background: var(--ks-color-fg-alpha-9);
11
- --c-teaser--color: var(--ks-color-fg-to-bg-3);
12
- --c-teaser--border: 1px solid var(--ks-color-fg-alpha-8);
13
- --c-teaser--border-radius: var(--ks-border-radius-card);
14
- --c-teaser--shadow-hover: 0 1px 11px var(--ks-color-fg-alpha-6);
6
+ .c-teaser.dsa-teaser-card {
7
+ --dsa-teaser-card--background: var(--ks-background-color-card-interactive);
8
+ --dsa-teaser-card--border-width: var(--ks-border-width-default);
9
+ --dsa-teaser-card--border-color: var(--ks-border-color-card-interactive);
10
+ --dsa-teaser-card--border-color_hover: var(--ks-border-color-card-interactive-hover);
11
+ --dsa-teaser-card--border-radius: var(--ks-border-radius-card);
12
+ --dsa-teaser-card--shadow_hover: var(--ks-box-shadow-card-hover);
13
+ --dsa-teaser-card__label--font: var(--ks-font-interface-m);
14
+ --dsa-teaser-card__label--font-weight: var(--ks-font-weight-semi-bold);
15
+ --dsa-teaser-card__label--color: var(--ks-color-fg-base);
16
+ --dsa-teaser-card__label--background-color: var(--ks-background-color-primary);
17
+ --dsa-teaser-card__label--padding: 0.5em 1em;
18
+ --dsa-teaser-card__label--border-radius: var(--ks-border-radius-pill);
19
+ --dsa-teaser-card__topic--font: var(--ks-font-display-l);
20
+ --dsa-teaser-card__topic--font-weight: var(--dsa-topic--font-weight);
21
+ --dsa-teaser-card__copy--font: var(--dsa-rich-text--font);
22
+ --dsa-teaser-card__copy--color: var(--ks-text-color-default);
23
+ --dsa-teaser-card--padding: var(--ks-spacing-inset-l);
15
24
  }
16
25
  @media (min-width: 48rem) {
17
- .c-teaser.c-teaser-card {
18
- --g-topic--font: var(--ks-font-display-s);
19
- --c-rich-text--font: var(--ks-font-copy-s);
20
- --c-teaser--padding: var(--ks-spacing-inset-s);
26
+ .c-teaser.dsa-teaser-card {
27
+ --dsa-teaser-card__topic--font: var(--ks-font-display-s);
28
+ --dsa-teaser-card__copy--font: var(--ks-font-copy-s);
29
+ --dsa-teaser-card--padding: var(--ks-spacing-inset-s);
21
30
  }
22
31
  @container teaser-card (min-width: 300px) {
23
- .c-teaser.c-teaser-card {
24
- --c-rich-text--font: var(--ks-font-copy-m);
25
- --g-topic--font: var(--ks-font-display-m);
32
+ .c-teaser.dsa-teaser-card {
33
+ --dsa-teaser-card__copy--font: var(--ks-font-copy-m);
34
+ --dsa-teaser-card__topic--font: var(--ks-font-display-m);
26
35
  }
27
36
  }
28
37
  @container teaser-card (min-width: 820px) {
29
- .c-teaser.c-teaser-card {
30
- --g-topic--font: var(--ks-font-display-l);
31
- --c-rich-text--font: var(--ks-font-copy-l);
32
- --c-teaser--padding: var(--ks-spacing-inset-l);
38
+ .c-teaser.dsa-teaser-card {
39
+ --dsa-teaser-card__topic--font: var(--ks-font-display-l);
40
+ --dsa-teaser-card__copy--font: var(--ks-font-copy-l);
41
+ --dsa-teaser-card--padding: var(--ks-spacing-inset-l);
33
42
  }
34
43
  }
35
44
  }
@@ -43,56 +52,75 @@
43
52
  display: flex;
44
53
  }
45
54
 
46
- .c-teaser.c-teaser-card {
55
+ .c-teaser.dsa-teaser-card {
56
+ --c-teaser--padding: var(--dsa-teaser-card--padding, var(--ks-spacing-inset-l));
57
+ --c-teaser--background: var(--dsa-teaser-card--background, var(--ks-background-color-card-interactive));
58
+ --c-teaser--color: var(--dsa-teaser-card__copy--color, var(--ks-text-color-default));
59
+ --c-teaser--border: var(--dsa-teaser-card--border-color, var(--ks-background-color-card-interactive))
60
+ var(--dsa-teaser-card--border-width) solid;
61
+ --c-teaser--border-radius: var(--dsa-teaser-card--border-radius, var(--ks-border-radius-card));
62
+ --c-teaser--shadow-hover: var(--dsa-teaser-card--shadow_hover, var(--ks-box-shadow-card-hover));
47
63
  position: relative;
48
64
  overflow: visible;
65
+ transition-property: border-color, background-color, box-shadow;
49
66
  }
50
- .c-teaser.c-teaser-card > :first-child:not(.c-teaser__body) {
67
+ .c-teaser.dsa-teaser-card > :first-child:not(.c-teaser__body) {
51
68
  overflow: hidden;
52
- border-radius: var(--c-teaser--border-radius) var(--c-teaser--border-radius) 0 0;
69
+ border-radius: var(--dsa-teaser-card--border-radius) var(--dsa-teaser-card--border-radius) 0 0;
53
70
  }
54
- .c-teaser.c-teaser-card img {
71
+ .c-teaser.dsa-teaser-card:hover {
72
+ --c-teaser--border: var(--dsa-teaser-card--border-color_hover, var(--ks-background-color-card-interactive))
73
+ var(--dsa-teaser-card--border-width) solid;
74
+ }
75
+ .c-teaser.dsa-teaser-card img {
55
76
  object-fit: cover;
56
77
  }
57
- .c-teaser.c-teaser-card--wide img {
78
+ .c-teaser.dsa-teaser-card--wide img {
58
79
  aspect-ratio: 4/3;
59
80
  }
60
- .c-teaser.c-teaser-card--landscape img {
81
+ .c-teaser.dsa-teaser-card--landscape img {
61
82
  aspect-ratio: 16/9;
62
83
  }
63
- .c-teaser.c-teaser-card--square img {
84
+ .c-teaser.dsa-teaser-card--square img {
64
85
  aspect-ratio: 1/1;
65
86
  }
87
+ .c-teaser.dsa-teaser-card .c-rich-text {
88
+ font: var(--dsa-teaser-card-card--font, var(--dsa-rich-text--font), var(--ks-font-copy-m));
89
+ }
90
+ .c-teaser.dsa-teaser-card .c-teaser__topic {
91
+ font: var(--dsa-teaser-card__topic--font, var(--dsa-topic-font));
92
+ font-weight: var(--dsa-teaser-card__topic--font-weight, var(--dsa-topic-font-weight));
93
+ }
66
94
  @container teaser-card (min-width: 640px) {
67
- .c-teaser.c-teaser-card--unset img {
95
+ .c-teaser.dsa-teaser-card--unset img {
68
96
  height: 100%;
69
97
  }
70
- .c-teaser.c-teaser-card--row {
98
+ .c-teaser.dsa-teaser-card--row {
71
99
  flex-direction: row;
72
100
  }
73
- .c-teaser.c-teaser-card--row .c-teaser__body {
101
+ .c-teaser.dsa-teaser-card--row .c-teaser__body {
74
102
  justify-content: center;
75
103
  flex-basis: 50%;
76
104
  }
77
- .c-teaser.c-teaser-card--row .c-teaser__body .c-teaser__text {
105
+ .c-teaser.dsa-teaser-card--row .c-teaser__body .c-teaser__text {
78
106
  flex: 0;
79
107
  }
80
- .c-teaser.c-teaser-card--row > :first-child:not(.c-teaser__body) {
108
+ .c-teaser.dsa-teaser-card--row > :first-child:not(.c-teaser__body) {
81
109
  flex: 50%;
82
- border-radius: var(--c-teaser--border-radius) 0 0 var(--c-teaser--border-radius);
110
+ border-radius: var(--dsa-teaser-card--border-radius) 0 0 var(--dsa-teaser-card--border-radius);
83
111
  }
84
112
  }
85
- .c-teaser.c-teaser-card--label .c-teaser__label {
86
- border-radius: var(--ks-border-radius-pill);
113
+ .c-teaser.dsa-teaser-card--label .dsa-teaser-card__label {
114
+ border-radius: var(--dsa-teaser-card__label--border-radius);
87
115
  pointer-events: initial;
88
- padding: 0.5em 1em;
116
+ padding: var(--dsa-teaser-card__label--padding);
89
117
  transform: translate(0.5em, -50%);
90
- font: var(--ks-font-interface-m);
118
+ font: var(--dsa-teaser-card__label--font);
91
119
  text-align: center;
92
- font-weight: var(--ks-font-weight-semi-bold);
93
- color: var(--ks-color-fg-base);
120
+ font-weight: var(--dsa-teaser-card__label--font-weight);
121
+ color: var(--dsa-teaser-card__label--color);
94
122
  position: absolute;
95
- background: var(--ks-color-primary-inverted);
123
+ background-color: var(--dsa-teaser-card__label--background-color);
96
124
  top: 0;
97
125
  right: 0;
98
126
  }
@@ -47,7 +47,7 @@
47
47
  },
48
48
  "chevron": {
49
49
  "title": "Icon",
50
- "description": "Toggle chevron icon",
50
+ "description": "Toggle arrow icon",
51
51
  "type": "boolean",
52
52
  "default": false
53
53
  },
@@ -67,7 +67,7 @@
67
67
  "type": "string",
68
68
  "title": "Image",
69
69
  "description": "Image to display as cover",
70
- "format": "uri"
70
+ "format": "image"
71
71
  },
72
72
  "imageRatio": {
73
73
  "type": "string",
@@ -44,7 +44,7 @@
44
44
  },
45
45
  "chevron": {
46
46
  "title": "Icon",
47
- "description": "Toggle chevron icon",
47
+ "description": "Toggle arrow icon",
48
48
  "type": "boolean",
49
49
  "default": false
50
50
  },
@@ -61,7 +61,7 @@
61
61
  "type": "string",
62
62
  "title": "Image",
63
63
  "description": "Image to display as cover",
64
- "format": "uri"
64
+ "format": "image"
65
65
  },
66
66
  "imageRatio": {
67
67
  "type": "string",
@@ -0,0 +1,44 @@
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 testimonial quote
11
+ */
12
+ type Quote = string;
13
+ /**
14
+ * The name of the quote author
15
+ */
16
+ type Name = string;
17
+ /**
18
+ * The title of the quote author
19
+ */
20
+ type Title = string;
21
+ /**
22
+ * The image to display with the testimonial
23
+ */
24
+ type Source = string;
25
+ /**
26
+ * The alt text of the image file
27
+ */
28
+ type AltText = string;
29
+ /**
30
+ * Testimonial entry of Testimonials component
31
+ */
32
+ interface TestimonialProps {
33
+ quote: Quote;
34
+ name: Name;
35
+ title?: Title;
36
+ image: {
37
+ src?: Source;
38
+ alt?: AltText;
39
+ };
40
+ }
41
+ declare const TestimonialContextDefault: import("react").ForwardRefExoticComponent<TestimonialProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
42
+ declare const TestimonialContext: import("react").Context<import("react").ForwardRefExoticComponent<TestimonialProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
43
+ declare const Testimonial: import("react").ForwardRefExoticComponent<TestimonialProps & import("react").RefAttributes<HTMLDivElement>>;
44
+ export { TestimonialContextDefault, TestimonialContext, Testimonial };
@@ -0,0 +1,19 @@
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
+ import { forwardRef, createContext, useContext } from 'react';
3
+ import { TextMedia } from '@kickstartds/base/lib/text-media';
4
+
5
+ const TestimonialContextDefault = forwardRef(({ image, quote, name, title, ...rest }, ref) => (jsx(TextMedia, { ...rest, ref: ref, mediaAlignment: "beside-left", media: [
6
+ {
7
+ image: {
8
+ src: image?.src,
9
+ alt: image?.alt,
10
+ },
11
+ },
12
+ ], text: quote, renderText: () => (jsxs(Fragment, { children: ["\"", quote, "\"", jsx("br", {}), jsx("br", {}), jsx("b", { children: name }), jsx("br", {}), title] })) })));
13
+ const TestimonialContext = createContext(TestimonialContextDefault);
14
+ const Testimonial = forwardRef((props, ref) => {
15
+ const Component = useContext(TestimonialContext);
16
+ return jsx(Component, { ...props, ref: ref });
17
+ });
18
+
19
+ export { Testimonial, TestimonialContext, TestimonialContextDefault };
@@ -0,0 +1,60 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/testimonial.schema.json",
4
+ "title": "Testimonial",
5
+ "description": "Testimonial entry of Testimonials component",
6
+ "type": "object",
7
+ "properties": {
8
+ "quote": {
9
+ "title": "Quote",
10
+ "description": "The testimonial quote",
11
+ "type": "string",
12
+ "format": "markdown",
13
+ "examples": [
14
+ "This product is amazing!"
15
+ ]
16
+ },
17
+ "name": {
18
+ "title": "Name",
19
+ "description": "The name of the quote author",
20
+ "type": "string",
21
+ "examples": [
22
+ "John Doe"
23
+ ]
24
+ },
25
+ "title": {
26
+ "title": "Title",
27
+ "description": "The title of the quote author",
28
+ "type": "string"
29
+ },
30
+ "image": {
31
+ "type": "object",
32
+ "properties": {
33
+ "src": {
34
+ "title": "Source",
35
+ "description": "The image to display with the testimonial",
36
+ "type": "string",
37
+ "format": "image",
38
+ "examples": [
39
+ "https://example.com/image.jpg"
40
+ ]
41
+ },
42
+ "alt": {
43
+ "title": "Alt Text",
44
+ "description": "The alt text of the image file",
45
+ "type": "string"
46
+ }
47
+ },
48
+ "additionalProperties": false
49
+ },
50
+ "type": {
51
+ "const": "testimonial"
52
+ }
53
+ },
54
+ "additionalProperties": false,
55
+ "required": [
56
+ "quote",
57
+ "name",
58
+ "image"
59
+ ]
60
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/testimonial.schema.json",
4
+ "title": "Testimonial",
5
+ "description": "Testimonial entry of Testimonials component",
6
+ "type": "object",
7
+ "properties": {
8
+ "quote": {
9
+ "title": "Quote",
10
+ "description": "The testimonial quote",
11
+ "type": "string",
12
+ "format": "markdown",
13
+ "examples": ["This product is amazing!"]
14
+ },
15
+ "name": {
16
+ "title": "Name",
17
+ "description": "The name of the quote author",
18
+ "type": "string",
19
+ "examples": ["John Doe"]
20
+ },
21
+ "title": {
22
+ "title": "Title",
23
+ "description": "The title of the quote author",
24
+ "type": "string"
25
+ },
26
+ "image": {
27
+ "type": "object",
28
+ "properties": {
29
+ "src": {
30
+ "title": "Source",
31
+ "description": "The image to display with the testimonial",
32
+ "type": "string",
33
+ "format": "image",
34
+ "examples": ["https://example.com/image.jpg"]
35
+ },
36
+ "alt": {
37
+ "title": "Alt Text",
38
+ "description": "The alt text of the image file",
39
+ "type": "string"
40
+ }
41
+ }
42
+ }
43
+ },
44
+ "additionalProperties": false,
45
+ "required": ["quote", "name", "image"]
46
+ }
@@ -1,4 +1,7 @@
1
- import { HTMLAttributes, FC } from "react";
1
+ /// <reference types="react" />
2
+ import { HTMLAttributes } from "react";
2
3
  import { TextProps } from "../../TextProps-a23170d2.js";
3
- declare const Text: FC<TextProps & HTMLAttributes<HTMLElement>>;
4
- export { Text };
4
+ declare const TextContextDefault: import("react").ForwardRefExoticComponent<TextProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
5
+ declare const TextContext: import("react").Context<import("react").ForwardRefExoticComponent<TextProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
6
+ declare const Text: import("react").ForwardRefExoticComponent<TextProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
7
+ export { TextContextDefault, TextContext, Text };
@@ -1,13 +1,19 @@
1
1
  import "./text.css";
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import classnames from 'classnames';
4
+ import { forwardRef, createContext, useContext } from 'react';
4
5
  import { RichText } from '@kickstartds/base/lib/rich-text';
5
6
 
6
- const Text = ({ text, layout = "singleColumn", align = "left", highlightText = false, ...props }) => {
7
+ const TextContextDefault = forwardRef(({ text, layout = "singleColumn", align = "left", highlightText = false, ...rest }, ref) => {
7
8
  const layoutClass = `${layout === "multiColumn" ? "c-rich-text--columns" : ""}`;
8
9
  const highlightClass = `${highlightText ? "c-rich-text--highlight" : ""}`;
9
10
  const alignClass = `${align === "center" ? "c-rich-text--center" : ""}`;
10
- return (jsx(RichText, { className: classnames("c-text", `${layoutClass}`, `${alignClass}`, `${highlightClass}`), ...props, text: text }));
11
- };
11
+ return (jsx(RichText, { ...rest, ref: ref, className: classnames("dsa-text", `${layoutClass}`, `${alignClass}`, `${highlightClass}`), text: text }));
12
+ });
13
+ const TextContext = createContext(TextContextDefault);
14
+ const Text = forwardRef((props, ref) => {
15
+ const Component = useContext(TextContext);
16
+ return jsx(Component, { ...props, ref: ref });
17
+ });
12
18
 
13
- export { Text };
19
+ export { Text, TextContext, TextContextDefault };
@@ -1,15 +1,25 @@
1
- .c-rich-text {
2
- --ks-text-col-width: 16em;
1
+ :root, :root #root, [ks-inverted], [ks-inverted] #root, #root [ks-inverted], [ks-inverted] #root, [ks-theme], [ks-theme] #root, #root [ks-theme] {
2
+ --dsa-text--font: var(--dsa-rich-text--font);
3
+ --dsa-text--color: var(--dsa-rich-text--color);
4
+ --dsa-text__highlight--color: var(--ks-text-color-default);
5
+ --dsa-text__highlight--font: var(--ks-font-copy-l);
6
+ --dsa-text__col--width: 16em;
7
+ --dsa-text__col--gap: var(--ks-spacing-inline-m);
3
8
  }
4
- .c-rich-text--highlight.c-rich-text {
5
- color: var(--ks-color-fg);
6
- font: var(--ks-font-copy-l);
9
+
10
+ .c-rich-text.dsa-text {
11
+ font: var(--dsa-text--font, var(--dsa-rich-text--font), var(--ks-font-copy-m));
12
+ color: var(--dsa-text--color, var(--dsa-rich-text--color), var(--ks-text-color-default));
7
13
  }
8
- .c-rich-text--center.c-rich-text {
14
+ .c-rich-text.dsa-text--highlight.c-rich-text {
15
+ color: var(--dsa-text-highlight--color, var(--ks-text-color-primary));
16
+ font: var(--dsa-text-highlight--font, var(--ks-font-copy-l));
17
+ }
18
+ .c-rich-text.dsa-text--center.c-rich-text {
9
19
  text-align: center;
10
20
  }
11
- .c-rich-text--columns.c-rich-text {
12
- column-gap: var(--ks-spacing-inline-m);
21
+ .c-rich-text.dsa-text--columns.c-rich-text {
22
+ column-gap: var(--dsa-text__col--gap, var(--ks-spacing-inline-m));
23
+ column-width: var(--dsa-text__col--width, 16em);
13
24
  column-count: auto;
14
- column-width: var(--ks-text-col-width);
15
25
  }
@@ -7,6 +7,7 @@
7
7
  "properties": {
8
8
  "text": {
9
9
  "type": "string",
10
+ "format": "markdown",
10
11
  "title": "Text",
11
12
  "description": "Text",
12
13
  "examples": [
@@ -7,6 +7,7 @@
7
7
  "properties": {
8
8
  "text": {
9
9
  "type": "string",
10
+ "format": "markdown",
10
11
  "title": "Text",
11
12
  "description": "Text",
12
13
  "examples": [
@@ -37,7 +37,7 @@
37
37
  --c-visual_text--color: var(--c-visual--text-color-neutral);
38
38
  --c-visual_subheadline--color: var(--c-visual--text-color-neutral);
39
39
  }
40
- .c-visual.c-video-curtain .c-headline .c-headline__subheadline {
40
+ .c-visual.c-video-curtain .dsa-headline .dsa-headline__subheadline {
41
41
  color: var(--c-visual_subheadline--color);
42
42
  }
43
43
  .c-visual.c-video-curtain.c-visual--full {