@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.
- package/dist/BlogAsideProps-e1cbd5d3.d.ts +74 -0
- package/dist/BlogHeadProps-f9a49428.d.ts +31 -0
- package/dist/BlogTeaserProps-525f7f9f.d.ts +79 -0
- package/dist/FeatureProps-f8a75850.d.ts +52 -0
- package/dist/FeaturesProps-b05859d6.d.ts +34 -0
- package/dist/SeoProps-f2d6dcaa.d.ts +36 -0
- package/dist/{TeaserCardProps-3fce7be4.d.ts → TeaserCardProps-b9c28e78.d.ts} +1 -1
- package/dist/components/blog-aside/blog-aside.css +33 -5
- package/dist/components/blog-aside/blog-aside.schema.dereffed.json +5 -3
- package/dist/components/blog-aside/blog-aside.schema.json +5 -3
- package/dist/components/blog-aside/index.d.ts +6 -76
- package/dist/components/blog-aside/index.js +17 -10
- package/dist/components/blog-head/blog-head.css +22 -2
- package/dist/components/blog-head/blog-head.schema.dereffed.json +2 -1
- package/dist/components/blog-head/blog-head.schema.json +2 -1
- package/dist/components/blog-head/index.d.ts +6 -34
- package/dist/components/blog-head/index.js +10 -4
- package/dist/components/blog-overview/blog-overview.schema.dereffed.json +18 -0
- package/dist/components/blog-overview/index.d.ts +39 -0
- package/dist/components/blog-overview/index.js +17 -0
- package/dist/components/blog-post/blog-post.schema.dereffed.json +7 -4
- package/dist/components/blog-post/index.d.ts +39 -0
- package/dist/components/blog-post/index.js +24 -0
- package/dist/components/blog-teaser/blog-teaser.css +49 -25
- package/dist/components/blog-teaser/blog-teaser.schema.dereffed.json +6 -0
- package/dist/components/blog-teaser/blog-teaser.schema.json +6 -0
- package/dist/components/blog-teaser/index.d.ts +6 -81
- package/dist/components/blog-teaser/index.js +25 -16
- package/dist/components/button/button.css +109 -59
- package/dist/components/button/index.js +2 -1
- package/dist/components/cta/cta.css +1 -1
- package/dist/components/faq/faq.css +27 -14
- package/dist/components/faq/faq.schema.dereffed.json +2 -0
- package/dist/components/faq/faq.schema.json +2 -0
- package/dist/components/faq/index.d.ts +6 -3
- package/dist/components/faq/index.js +8 -4
- package/dist/components/feature/feature.css +99 -0
- package/dist/components/feature/feature.schema.dereffed.json +91 -0
- package/dist/components/feature/feature.schema.json +67 -0
- package/dist/components/feature/index.d.ts +7 -49
- package/dist/components/feature/index.js +19 -15
- package/dist/components/features/features.css +7 -93
- package/dist/components/features/features.schema.dereffed.json +36 -2
- package/dist/components/features/features.schema.json +3 -47
- package/dist/components/features/index.d.ts +7 -4
- package/dist/components/features/index.js +13 -20
- package/dist/components/footer/footer.css +21 -17
- package/dist/components/footer/footer.schema.dereffed.json +4 -83
- package/dist/components/footer/footer.schema.json +33 -2
- package/dist/components/footer/index.d.ts +23 -5
- package/dist/components/footer/index.js +1 -1
- package/dist/components/gallery/gallery.css +31 -23
- package/dist/components/gallery/gallery.schema.dereffed.json +2 -0
- package/dist/components/gallery/gallery.schema.json +2 -0
- package/dist/components/gallery/index.d.ts +6 -3
- package/dist/components/gallery/index.js +11 -6
- package/dist/components/header/header.css +19 -43
- package/dist/components/header/header.schema.dereffed.json +18 -93
- package/dist/components/header/header.schema.json +31 -1
- package/dist/components/header/index.d.ts +24 -5
- package/dist/components/header/index.js +1 -1
- package/dist/components/headline/headline.css +76 -46
- package/dist/components/headline/index.d.ts +1 -1
- package/dist/components/headline/index.js +1 -1
- package/dist/components/hero/hero.css +30 -16
- package/dist/components/image/image.css +12 -6
- package/dist/components/image/image.schema.dereffed.json +4 -4
- package/dist/components/image/image.schema.json +4 -4
- package/dist/components/image/index.d.ts +7 -7
- package/dist/components/image-text/image-text.css +14 -3
- package/dist/components/image-text/image-text.schema.dereffed.json +2 -0
- package/dist/components/image-text/image-text.schema.json +2 -0
- package/dist/components/image-text/index.d.ts +7 -4
- package/dist/components/image-text/index.js +19 -13
- package/dist/components/logo/index.d.ts +27 -0
- package/dist/components/logo/index.js +12 -0
- package/dist/components/logo/logo.schema.dereffed.json +38 -0
- package/dist/components/logo/logo.schema.json +31 -0
- package/dist/components/mosaic/mosaic.css +2 -2
- package/dist/components/nav-main/index.d.ts +2 -0
- package/dist/components/nav-main/index.js +3 -2
- package/dist/components/nav-main/nav-main.css +67 -64
- package/dist/components/nav-main/nav-main.schema.dereffed.json +17 -11
- package/dist/components/nav-main/nav-main.schema.json +15 -12
- package/dist/components/nav-main/nav-toggle.css +12 -7
- package/dist/components/page/page.schema.dereffed.json +46 -5
- package/dist/components/page/page.schema.json +1 -1
- package/dist/components/page-wrapper/index.d.ts +2 -3
- package/dist/components/page-wrapper/index.js +7 -472
- package/dist/components/page-wrapper/tokens.css +1 -1
- package/dist/components/providers/index.js +1 -1
- package/dist/components/raw-page-wrapper/index.d.ts +3 -0
- package/dist/components/raw-page-wrapper/index.js +492 -0
- package/dist/components/section/index.d.ts +2 -2
- package/dist/components/section/section.schema.dereffed.json +45 -4
- package/dist/components/settings/settings.schema.dereffed.json +22 -176
- package/dist/components/stat/index.d.ts +32 -0
- package/dist/components/stat/index.js +11 -0
- package/dist/components/stat/stat.schema.dereffed.json +64 -0
- package/dist/components/stat/stat.schema.json +48 -0
- package/dist/components/teaser-card/index.d.ts +4 -2
- package/dist/components/teaser-card/index.js +16 -13
- package/dist/components/teaser-card/teaser-card.css +68 -40
- package/dist/components/teaser-card/teaser-card.schema.dereffed.json +2 -2
- package/dist/components/teaser-card/teaser-card.schema.json +2 -2
- package/dist/components/testimonial/index.d.ts +44 -0
- package/dist/components/testimonial/index.js +19 -0
- package/dist/components/testimonial/testimonial.schema.dereffed.json +60 -0
- package/dist/components/testimonial/testimonial.schema.json +46 -0
- package/dist/components/text/index.d.ts +6 -3
- package/dist/components/text/index.js +10 -4
- package/dist/components/text/text.css +19 -9
- package/dist/components/text/text.schema.dereffed.json +1 -0
- package/dist/components/text/text.schema.json +1 -0
- package/dist/components/video-curtain/video-curtain.css +1 -1
- package/dist/global.css +238 -88
- package/dist/static/tokens-business.css +1 -1
- package/dist/static/tokens-google.css +1 -1
- package/dist/static/tokens-ngo.css +1 -1
- package/dist/static/tokens-telekom.css +1 -1
- package/dist/static/tokens.css +1 -1
- package/dist/tokens/tokens.css +1 -1
- package/dist/tokens/tokens.js +1 -1
- package/package.json +1 -1
- package/dist/FeaturesProps-32f5bc0d.d.ts +0 -284
- /package/dist/static/fonts/{lughausen → business}/novelpro-regular.woff +0 -0
- /package/dist/static/fonts/{lughausen → business}/novelsanspro-bold.woff +0 -0
- /package/dist/static/fonts/{lughausen → business}/novelsanspro-regular.woff +0 -0
- /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.
|
|
7
|
-
--
|
|
8
|
-
--
|
|
9
|
-
--
|
|
10
|
-
--
|
|
11
|
-
--
|
|
12
|
-
--
|
|
13
|
-
--
|
|
14
|
-
--
|
|
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.
|
|
18
|
-
--
|
|
19
|
-
--
|
|
20
|
-
--
|
|
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.
|
|
24
|
-
--
|
|
25
|
-
--
|
|
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.
|
|
30
|
-
--
|
|
31
|
-
--
|
|
32
|
-
--
|
|
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.
|
|
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.
|
|
67
|
+
.c-teaser.dsa-teaser-card > :first-child:not(.c-teaser__body) {
|
|
51
68
|
overflow: hidden;
|
|
52
|
-
border-radius: var(--
|
|
69
|
+
border-radius: var(--dsa-teaser-card--border-radius) var(--dsa-teaser-card--border-radius) 0 0;
|
|
53
70
|
}
|
|
54
|
-
.c-teaser.
|
|
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.
|
|
78
|
+
.c-teaser.dsa-teaser-card--wide img {
|
|
58
79
|
aspect-ratio: 4/3;
|
|
59
80
|
}
|
|
60
|
-
.c-teaser.
|
|
81
|
+
.c-teaser.dsa-teaser-card--landscape img {
|
|
61
82
|
aspect-ratio: 16/9;
|
|
62
83
|
}
|
|
63
|
-
.c-teaser.
|
|
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.
|
|
95
|
+
.c-teaser.dsa-teaser-card--unset img {
|
|
68
96
|
height: 100%;
|
|
69
97
|
}
|
|
70
|
-
.c-teaser.
|
|
98
|
+
.c-teaser.dsa-teaser-card--row {
|
|
71
99
|
flex-direction: row;
|
|
72
100
|
}
|
|
73
|
-
.c-teaser.
|
|
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.
|
|
105
|
+
.c-teaser.dsa-teaser-card--row .c-teaser__body .c-teaser__text {
|
|
78
106
|
flex: 0;
|
|
79
107
|
}
|
|
80
|
-
.c-teaser.
|
|
108
|
+
.c-teaser.dsa-teaser-card--row > :first-child:not(.c-teaser__body) {
|
|
81
109
|
flex: 50%;
|
|
82
|
-
border-radius: var(--
|
|
110
|
+
border-radius: var(--dsa-teaser-card--border-radius) 0 0 var(--dsa-teaser-card--border-radius);
|
|
83
111
|
}
|
|
84
112
|
}
|
|
85
|
-
.c-teaser.
|
|
86
|
-
border-radius: var(--
|
|
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:
|
|
116
|
+
padding: var(--dsa-teaser-card__label--padding);
|
|
89
117
|
transform: translate(0.5em, -50%);
|
|
90
|
-
font: var(--
|
|
118
|
+
font: var(--dsa-teaser-card__label--font);
|
|
91
119
|
text-align: center;
|
|
92
|
-
font-weight: var(--
|
|
93
|
-
color: var(--
|
|
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(--
|
|
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
|
|
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": "
|
|
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
|
|
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": "
|
|
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
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { HTMLAttributes } from "react";
|
|
2
3
|
import { TextProps } from "../../TextProps-a23170d2.js";
|
|
3
|
-
declare const
|
|
4
|
-
|
|
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
|
|
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("
|
|
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
|
-
|
|
2
|
-
--
|
|
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
|
-
|
|
5
|
-
|
|
6
|
-
font: var(--ks-font-copy-
|
|
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--
|
|
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
|
}
|
|
@@ -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 .
|
|
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 {
|