@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.
- 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/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 +39 -33
- package/dist/components/hero/index.js +1 -1
- 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/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 +40 -40
- 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/global.css +241 -91
- package/dist/static/tokens-business.css +1549 -0
- package/dist/static/tokens-google.css +1553 -0
- package/dist/static/tokens-ngo.css +1547 -0
- package/dist/static/tokens-telekom.css +1549 -0
- package/dist/static/tokens.css +1554 -0
- package/dist/tokens/tokens.css +40 -40
- package/dist/tokens/tokens.js +39 -39
- package/package.json +5 -4
- package/dist/FeaturesProps-32f5bc0d.d.ts +0 -284
- package/dist/tokens/themes.css +0 -4657
- package/dist/tokens/themes.css.d.ts +0 -0
- package/dist/tokens/themes.css.js +0 -1
- /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
|
@@ -1,23 +1,27 @@
|
|
|
1
|
+
import "./feature.css";
|
|
1
2
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef, createContext, useContext } from 'react';
|
|
2
4
|
import classnames from 'classnames';
|
|
3
5
|
import { Icon } from '@kickstartds/base/lib/icon';
|
|
4
6
|
import { Button } from '../button/index.js';
|
|
5
7
|
import { Link } from '@kickstartds/base/lib/link';
|
|
6
|
-
import 'react';
|
|
7
8
|
import '@kickstartds/base/lib/button';
|
|
8
9
|
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
10
|
+
const FeatureContextDefault = forwardRef(({ style = "stack", title, text, icon, cta: { toggle = true, style: ctaStyle = "link", target, label = "Read more", }, ...rest }, ref) => (jsxs("div", { ...rest, ref: ref, className: classnames(`c-feature c-feature--${style === `stack`
|
|
11
|
+
? `stack c-feature--large`
|
|
12
|
+
: style === `besideSmall`
|
|
13
|
+
? `beside c-feature--small`
|
|
14
|
+
: style === `besideLarge`
|
|
15
|
+
? `beside c-feature--large`
|
|
16
|
+
: style === `intext`
|
|
17
|
+
? `intext c-feature--small`
|
|
18
|
+
: style === `centered`
|
|
19
|
+
? `centered c-feature--large`
|
|
20
|
+
: `${style}`}`), children: [jsxs("div", { className: "c-feature__header", children: [icon && jsx(Icon, { className: "c-feature__icon", icon: icon }), jsx("span", { className: "c-feature__title", children: title })] }), text || ctaStyle === "intext" ? (jsxs("p", { className: "c-feature__text", children: [text, ctaStyle === "intext" && toggle ? (jsxs(Fragment, { children: [" ", jsx(Link, { href: target, children: label ? label : "See more" })] })) : ("")] })) : (""), toggle && (ctaStyle === "link" || ctaStyle === "button") && (jsx("div", { className: "c-feature__cta", children: ctaStyle === "link" ? (jsxs(Link, { className: "c-feature__link", href: target, children: [label ? label : "See more", jsx(Icon, { icon: "arrow-right" })] })) : ctaStyle === "button" ? (jsx(Button, { className: "c-feature__button", size: "small", target: target, label: label ? label : "See more" })) : ("") }))] })));
|
|
21
|
+
const FeatureContext = createContext(FeatureContextDefault);
|
|
22
|
+
const Feature = forwardRef((props, ref) => {
|
|
23
|
+
const Component = useContext(FeatureContext);
|
|
24
|
+
return jsx(Component, { ...props, ref: ref });
|
|
25
|
+
});
|
|
22
26
|
|
|
23
|
-
export { Feature };
|
|
27
|
+
export { Feature, FeatureContext, FeatureContextDefault };
|
|
@@ -1,31 +1,18 @@
|
|
|
1
|
-
.c-
|
|
2
|
-
--
|
|
3
|
-
|
|
4
|
-
.c-feature--small {
|
|
5
|
-
--c-feature-icon--size: calc(var(--ks-line-height-interface-m) * var(--ks-font-size-interface-m));
|
|
6
|
-
--c-feature--stack: var(--ks-spacing-stack-xs);
|
|
7
|
-
--c-feature-icon--gap: var(--ks-spacing-xs);
|
|
8
|
-
}
|
|
9
|
-
.c-feature--large {
|
|
10
|
-
--c-feature-icon--size: calc(var(--ks-font-size-copy-m) * 2.5);
|
|
11
|
-
--c-feature--stack: var(--ks-spacing-stack-s);
|
|
12
|
-
--c-feature-icon--gap: var(--ks-spacing-s);
|
|
13
|
-
}
|
|
14
|
-
.c-feature--large.c-feature--beside {
|
|
15
|
-
--c-feature--stack: var(--ks-spacing-stack-xs);
|
|
16
|
-
}
|
|
17
|
-
.c-feature--stack.c-feature--large {
|
|
18
|
-
--c-feature-icon--gap: var(--ks-spacing-xs);
|
|
1
|
+
.c-features {
|
|
2
|
+
--dsa-features--gap-vertical: var(--ks-spacing-stack-l);
|
|
3
|
+
--dsa-features--gap-horizontal: var(--ks-spacing-inline-m);
|
|
19
4
|
}
|
|
20
5
|
|
|
6
|
+
.c-features {
|
|
7
|
+
gap: var(--dsa-features--gap-vertical, var(--ks-spacing-stack-l)) var(--dsa-features--gap-horizontal, var(--ks-spacing-inline-m));
|
|
8
|
+
}
|
|
21
9
|
.c-features--list {
|
|
22
10
|
display: flex;
|
|
23
11
|
flex-direction: column;
|
|
24
|
-
gap: var(--
|
|
12
|
+
gap: var(--dsa-features--gap-vertical);
|
|
25
13
|
}
|
|
26
14
|
.c-features--large-tiles {
|
|
27
15
|
display: grid;
|
|
28
|
-
gap: var(--ks-spacing-stack-l) var(--ks-spacing-inline-m);
|
|
29
16
|
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
|
|
30
17
|
}
|
|
31
18
|
.c-features--large-tiles .c-feature {
|
|
@@ -35,81 +22,8 @@
|
|
|
35
22
|
}
|
|
36
23
|
.c-features--small-tiles {
|
|
37
24
|
display: grid;
|
|
38
|
-
gap: var(--ks-spacing-stack-l) var(--ks-spacing-inline-m);
|
|
39
25
|
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
|
40
26
|
}
|
|
41
27
|
.l-section--align-center .c-features--small-tiles {
|
|
42
28
|
justify-content: center;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
.c-feature {
|
|
46
|
-
display: flex;
|
|
47
|
-
position: relative;
|
|
48
|
-
flex-direction: column;
|
|
49
|
-
gap: var(--c-feature--stack);
|
|
50
|
-
}
|
|
51
|
-
.c-feature--beside {
|
|
52
|
-
padding-left: calc(var(--c-feature-icon--size) + var(--c-feature-icon--gap));
|
|
53
|
-
}
|
|
54
|
-
.c-feature--beside .c-feature__icon {
|
|
55
|
-
position: absolute;
|
|
56
|
-
top: 0;
|
|
57
|
-
left: 0;
|
|
58
|
-
}
|
|
59
|
-
.c-feature--stack .c-feature__header {
|
|
60
|
-
display: flex;
|
|
61
|
-
flex-direction: column;
|
|
62
|
-
align-items: flex-start;
|
|
63
|
-
}
|
|
64
|
-
.c-feature--centered .c-feature__header {
|
|
65
|
-
display: flex;
|
|
66
|
-
flex-direction: column;
|
|
67
|
-
align-items: center;
|
|
68
|
-
}
|
|
69
|
-
.c-feature--centered .c-feature__title,
|
|
70
|
-
.c-feature--centered .c-feature__text {
|
|
71
|
-
text-align: center;
|
|
72
|
-
}
|
|
73
|
-
.c-feature--centered .c-feature__cta {
|
|
74
|
-
display: flex;
|
|
75
|
-
justify-content: center;
|
|
76
|
-
}
|
|
77
|
-
.c-feature__header {
|
|
78
|
-
display: flex;
|
|
79
|
-
align-items: center;
|
|
80
|
-
gap: var(--c-feature-icon--gap);
|
|
81
|
-
}
|
|
82
|
-
.c-feature__title {
|
|
83
|
-
font: var(--ks-font-interface-m);
|
|
84
|
-
color: var(--ks-color-fg);
|
|
85
|
-
font-family: var(--ks-font-family-display);
|
|
86
|
-
font-weight: var(--ks-font-weight-semi-bold);
|
|
87
|
-
}
|
|
88
|
-
.c-feature__text {
|
|
89
|
-
color: var(--ks-text-color-default);
|
|
90
|
-
font: var(--ks-font-copy-s);
|
|
91
|
-
margin: 0;
|
|
92
|
-
}
|
|
93
|
-
.c-feature__icon {
|
|
94
|
-
color: var(--c-feature-icon--color);
|
|
95
|
-
width: var(--c-feature-icon--size);
|
|
96
|
-
height: var(--c-feature-icon--size);
|
|
97
|
-
}
|
|
98
|
-
.c-feature__cta {
|
|
99
|
-
margin-top: auto;
|
|
100
|
-
}
|
|
101
|
-
.c-feature__link {
|
|
102
|
-
font: var(--ks-font-copy-s);
|
|
103
|
-
display: flex;
|
|
104
|
-
align-items: center;
|
|
105
|
-
gap: var(--ks-spacing-xxs);
|
|
106
|
-
font-weight: var(--ks-font-weight-semi-bold) !important;
|
|
107
|
-
width: fit-content;
|
|
108
|
-
}
|
|
109
|
-
.c-feature__link .icon {
|
|
110
|
-
width: 1.125em;
|
|
111
|
-
height: 1.125em;
|
|
112
|
-
}
|
|
113
|
-
.c-feature__button {
|
|
114
|
-
margin-top: calc(var(--c-feature--stack) * 0.5);
|
|
115
29
|
}
|
|
@@ -48,11 +48,15 @@
|
|
|
48
48
|
},
|
|
49
49
|
"additionalProperties": false
|
|
50
50
|
},
|
|
51
|
-
"
|
|
51
|
+
"feature": {
|
|
52
52
|
"type": "array",
|
|
53
|
-
"title": "
|
|
53
|
+
"title": "Features",
|
|
54
54
|
"description": "The features to display",
|
|
55
55
|
"items": {
|
|
56
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
57
|
+
"$id": "http://schema.mydesignsystem.com/feature.schema.json",
|
|
58
|
+
"title": "Feature",
|
|
59
|
+
"description": "Partial Component used to display a feature",
|
|
56
60
|
"type": "object",
|
|
57
61
|
"properties": {
|
|
58
62
|
"icon": {
|
|
@@ -79,6 +83,17 @@
|
|
|
79
83
|
"This is a feature"
|
|
80
84
|
]
|
|
81
85
|
},
|
|
86
|
+
"style": {
|
|
87
|
+
"type": "string",
|
|
88
|
+
"enum": [
|
|
89
|
+
"intext",
|
|
90
|
+
"stack",
|
|
91
|
+
"centered",
|
|
92
|
+
"besideLarge",
|
|
93
|
+
"besideSmall"
|
|
94
|
+
],
|
|
95
|
+
"default": "stack"
|
|
96
|
+
},
|
|
82
97
|
"cta": {
|
|
83
98
|
"type": "object",
|
|
84
99
|
"title": "Call to Action",
|
|
@@ -99,9 +114,28 @@
|
|
|
99
114
|
"examples": [
|
|
100
115
|
"See all our partners"
|
|
101
116
|
]
|
|
117
|
+
},
|
|
118
|
+
"toggle": {
|
|
119
|
+
"type": "boolean",
|
|
120
|
+
"title": "Call to Action Toggle",
|
|
121
|
+
"description": "Activate/disable the CTAs",
|
|
122
|
+
"default": true
|
|
123
|
+
},
|
|
124
|
+
"style": {
|
|
125
|
+
"type": "string",
|
|
126
|
+
"description": "Choose the style of the CTA",
|
|
127
|
+
"enum": [
|
|
128
|
+
"button",
|
|
129
|
+
"link",
|
|
130
|
+
"intext"
|
|
131
|
+
],
|
|
132
|
+
"default": "link"
|
|
102
133
|
}
|
|
103
134
|
},
|
|
104
135
|
"additionalProperties": false
|
|
136
|
+
},
|
|
137
|
+
"type": {
|
|
138
|
+
"const": "feature"
|
|
105
139
|
}
|
|
106
140
|
},
|
|
107
141
|
"additionalProperties": false,
|
|
@@ -34,56 +34,12 @@
|
|
|
34
34
|
},
|
|
35
35
|
"additionalProperties": false
|
|
36
36
|
},
|
|
37
|
-
"
|
|
37
|
+
"feature": {
|
|
38
38
|
"type": "array",
|
|
39
|
-
"title": "
|
|
39
|
+
"title": "Features",
|
|
40
40
|
"description": "The features to display",
|
|
41
41
|
"items": {
|
|
42
|
-
"
|
|
43
|
-
"properties": {
|
|
44
|
-
"icon": {
|
|
45
|
-
"type": "string",
|
|
46
|
-
"title": "Icon",
|
|
47
|
-
"description": "The icon for the feature",
|
|
48
|
-
"examples": ["person"]
|
|
49
|
-
},
|
|
50
|
-
"title": {
|
|
51
|
-
"type": "string",
|
|
52
|
-
"title": "Title",
|
|
53
|
-
"description": "The title of the feature",
|
|
54
|
-
"examples": ["Feature 1"]
|
|
55
|
-
},
|
|
56
|
-
"text": {
|
|
57
|
-
"type": "string",
|
|
58
|
-
"title": "Text",
|
|
59
|
-
"description": "The description of the feature",
|
|
60
|
-
"examples": ["This is a feature"]
|
|
61
|
-
},
|
|
62
|
-
"cta": {
|
|
63
|
-
"type": "object",
|
|
64
|
-
"title": "Call to Action",
|
|
65
|
-
"description": "The call to action",
|
|
66
|
-
"properties": {
|
|
67
|
-
"target": {
|
|
68
|
-
"type": "string",
|
|
69
|
-
"title": "Call to Action target",
|
|
70
|
-
"description": "The CTA target",
|
|
71
|
-
"default": "#",
|
|
72
|
-
"format": "uri"
|
|
73
|
-
},
|
|
74
|
-
"label": {
|
|
75
|
-
"type": "string",
|
|
76
|
-
"title": "Link Label",
|
|
77
|
-
"description": "The text label displayed on the link",
|
|
78
|
-
"default": "See more",
|
|
79
|
-
"examples": ["See all our partners"]
|
|
80
|
-
}
|
|
81
|
-
},
|
|
82
|
-
"additionalProperties": false
|
|
83
|
-
}
|
|
84
|
-
},
|
|
85
|
-
"additionalProperties": false,
|
|
86
|
-
"required": ["title"]
|
|
42
|
+
"$ref": "http://schema.mydesignsystem.com/feature.schema.json"
|
|
87
43
|
},
|
|
88
44
|
"minItems": 1,
|
|
89
45
|
"maxItems": 8
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { HTMLAttributes } from "react";
|
|
3
|
+
import { FeaturesProps } from "../../FeaturesProps-b05859d6.js";
|
|
4
|
+
declare const FeaturesContextDefault: import("react").ForwardRefExoticComponent<FeaturesProps & Omit<HTMLAttributes<HTMLDivElement>, "style"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
5
|
+
declare const FeaturesContext: import("react").Context<import("react").ForwardRefExoticComponent<FeaturesProps & Omit<HTMLAttributes<HTMLDivElement>, "style"> & import("react").RefAttributes<HTMLDivElement>>>;
|
|
6
|
+
declare const Features: import("react").ForwardRefExoticComponent<FeaturesProps & Omit<HTMLAttributes<HTMLDivElement>, "style"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
7
|
+
export { FeaturesContextDefault, FeaturesContext, Features };
|
|
@@ -1,32 +1,25 @@
|
|
|
1
1
|
import "./features.css";
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef, createContext, useContext } from 'react';
|
|
3
4
|
import classnames from 'classnames';
|
|
4
5
|
import { Feature } from '../feature/index.js';
|
|
5
6
|
import '@kickstartds/base/lib/icon';
|
|
6
7
|
import '../button/index.js';
|
|
7
|
-
import 'react';
|
|
8
8
|
import '@kickstartds/base/lib/button';
|
|
9
9
|
import '@kickstartds/base/lib/link';
|
|
10
10
|
|
|
11
|
-
const
|
|
11
|
+
const FeaturesContextDefault = forwardRef(({ layout = "largeTiles", ctas = {
|
|
12
12
|
style: "link",
|
|
13
13
|
toggle: true,
|
|
14
|
-
}, style = "intext",
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
? "centered"
|
|
25
|
-
: style === "besideLarge"
|
|
26
|
-
? "besideLarge"
|
|
27
|
-
: style === "besideSmall"
|
|
28
|
-
? "besideSmall"
|
|
29
|
-
: undefined, icon: item?.icon, ctaLabel: item?.cta?.label, ctaTarget: item?.cta?.target, ctaToggle: ctas?.toggle, ctaStyle: ctas?.style }, index))) }));
|
|
30
|
-
};
|
|
14
|
+
}, style = "intext", feature: features = [], ...rest }, ref) => (jsx("div", { ...rest, ref: ref, className: classnames(`c-features c-features--${layout === "largeTiles"
|
|
15
|
+
? "large-tiles"
|
|
16
|
+
: layout === "smallTiles"
|
|
17
|
+
? "small-tiles"
|
|
18
|
+
: `${layout}`}`), children: features.map((feature, index) => (jsx(Feature, { ...feature, style: style }, index))) })));
|
|
19
|
+
const FeaturesContext = createContext(FeaturesContextDefault);
|
|
20
|
+
const Features = forwardRef((props, ref) => {
|
|
21
|
+
const Component = useContext(FeaturesContext);
|
|
22
|
+
return jsx(Component, { ...props, ref: ref });
|
|
23
|
+
});
|
|
31
24
|
|
|
32
|
-
export { Features };
|
|
25
|
+
export { Features, FeaturesContext, FeaturesContextDefault };
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
.c-footer {
|
|
2
|
-
--
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
--dsa-footer--background-color: var(--ks-background-color-default);
|
|
3
|
+
--dsa-footer--border-top: 1px solid var(--ks-border-color-accent);
|
|
4
|
+
--dsa-footer--max-width: var(--l-section--content-width-wide);
|
|
5
|
+
--dsa-footer--gap-vertical: var(--ks-spacing-stack-m);
|
|
6
|
+
--dsa-footer__trademark--font: var(--ks-font-copy-xs);
|
|
7
|
+
--dsa-footer__trademark--color: var(--ks-text-color-default);
|
|
8
|
+
--dsa-footer__links--gap: var(--ks-spacing-stack-s) var(--ks-spacing-inline-m);
|
|
9
|
+
--dsa-footer__links--font: var(--ks-font-interface-s);
|
|
10
|
+
--dsa-footer__links--color: var(--dsa-link--color);
|
|
11
|
+
--dsa-footer__logo--height: 1.5rem;
|
|
8
12
|
}
|
|
9
13
|
@media (min-width: 62em) {
|
|
10
14
|
.c-footer {
|
|
11
|
-
--
|
|
15
|
+
--dsa-footer__logo--height: 2rem;
|
|
12
16
|
}
|
|
13
17
|
}
|
|
14
18
|
|
|
@@ -17,37 +21,37 @@
|
|
|
17
21
|
z-index: 1;
|
|
18
22
|
width: 100%;
|
|
19
23
|
display: flex;
|
|
20
|
-
background-color: var(--ks-background-color-default);
|
|
24
|
+
background-color: var(--dsa-footer--background-color, var(--ks-background-color-default));
|
|
21
25
|
}
|
|
22
26
|
.c-footer__content {
|
|
23
27
|
padding: var(--l-section--space-small) var(--l-section--content-padding);
|
|
24
|
-
border-top: 1px solid var(--ks-border-color-accent);
|
|
25
|
-
max-width: var(--l-section--content-width-wide);
|
|
28
|
+
border-top: var(--dsa-footer--border-top, 1px solid var(--ks-border-color-accent));
|
|
29
|
+
max-width: var(--dsa-footer--max-width, var(--l-section--content-width-wide));
|
|
26
30
|
width: 100%;
|
|
27
31
|
margin: auto;
|
|
28
32
|
display: flex;
|
|
29
33
|
flex-direction: column;
|
|
30
34
|
align-items: center;
|
|
31
|
-
gap: var(--ks-spacing-stack-m);
|
|
35
|
+
gap: var(--dsa-footer--gap-vertical, var(--ks-spacing-stack-m));
|
|
32
36
|
}
|
|
33
37
|
.c-footer__logo {
|
|
34
38
|
display: block;
|
|
35
39
|
}
|
|
36
40
|
.c-footer__logo img {
|
|
37
|
-
height: var(--
|
|
41
|
+
height: var(--dsa-footer__logo--height);
|
|
38
42
|
width: auto;
|
|
39
43
|
}
|
|
40
44
|
.c-footer__trademark {
|
|
41
|
-
font: var(--ks-font-copy-xs);
|
|
42
|
-
color: var(--ks-text-color-default);
|
|
45
|
+
font: var(--dsa-footer__trademark--font, var(--ks-font-copy-xs));
|
|
46
|
+
color: var(--dsa-footer__trademark--color, var(--ks-text-color-default));
|
|
43
47
|
}
|
|
44
48
|
.c-footer__links {
|
|
45
49
|
display: flex;
|
|
46
50
|
flex-wrap: wrap;
|
|
47
51
|
justify-content: center;
|
|
48
|
-
gap: var(--ks-spacing-inline-m);
|
|
52
|
+
gap: var(--dsa-footer__links--gap, var(--ks-spacing-stack-s) var(--ks-spacing-inline-m));
|
|
49
53
|
}
|
|
50
54
|
.c-footer__link {
|
|
51
|
-
font: var(--ks-font-interface-s);
|
|
52
|
-
--
|
|
55
|
+
font: var(--dsa-footer__links--font, var(--ks-font-interface-s));
|
|
56
|
+
color: var(--dsa-footer__links--color, var(--dsa-link--color));
|
|
53
57
|
}
|
|
@@ -5,10 +5,7 @@
|
|
|
5
5
|
"type": "object",
|
|
6
6
|
"properties": {
|
|
7
7
|
"logo": {
|
|
8
|
-
"
|
|
9
|
-
"$id": "http://schema.kickstartds.com/base/picture.schema.json",
|
|
10
|
-
"title": "Picture",
|
|
11
|
-
"description": "Base component to display a picture",
|
|
8
|
+
"title": "Logo",
|
|
12
9
|
"type": "object",
|
|
13
10
|
"properties": {
|
|
14
11
|
"src": {
|
|
@@ -20,12 +17,6 @@
|
|
|
20
17
|
"https://picsum.photos/seed/kdspicture/300/300"
|
|
21
18
|
]
|
|
22
19
|
},
|
|
23
|
-
"srcSet": {
|
|
24
|
-
"title": "Picture sourceset",
|
|
25
|
-
"description": "Use a srcSet to display picture",
|
|
26
|
-
"type": "string",
|
|
27
|
-
"format": "image"
|
|
28
|
-
},
|
|
29
20
|
"alt": {
|
|
30
21
|
"title": "Alt text",
|
|
31
22
|
"description": "Alt text to display for picture",
|
|
@@ -48,84 +39,13 @@
|
|
|
48
39
|
"examples": [
|
|
49
40
|
300
|
|
50
41
|
]
|
|
51
|
-
},
|
|
52
|
-
"className": {
|
|
53
|
-
"title": "Additional Classes",
|
|
54
|
-
"description": "Add additional css classes that should be applied to the button",
|
|
55
|
-
"type": "string"
|
|
56
|
-
},
|
|
57
|
-
"component": {
|
|
58
|
-
"title": "`ks-component` attribute",
|
|
59
|
-
"description": "Optional custom component identifier",
|
|
60
|
-
"type": "string"
|
|
61
|
-
},
|
|
62
|
-
"id": {
|
|
63
|
-
"title": "Id",
|
|
64
|
-
"description": "Add id attribute to the image",
|
|
65
|
-
"type": "string"
|
|
66
|
-
},
|
|
67
|
-
"itemProp": {
|
|
68
|
-
"title": "`itemprop` attribute",
|
|
69
|
-
"description": "Define an itemprop attribute for the picture",
|
|
70
|
-
"type": "string"
|
|
71
|
-
},
|
|
72
|
-
"style": {
|
|
73
|
-
"title": "`style` attribute",
|
|
74
|
-
"description": "Define a style attribute for the picture",
|
|
75
|
-
"type": "string"
|
|
76
|
-
},
|
|
77
|
-
"noscript": {
|
|
78
|
-
"title": "Noscript",
|
|
79
|
-
"description": "Render noscript fallback",
|
|
80
|
-
"type": "boolean",
|
|
81
|
-
"default": true
|
|
82
|
-
},
|
|
83
|
-
"lazy": {
|
|
84
|
-
"title": "Lazy",
|
|
85
|
-
"description": "Load the picture lazily",
|
|
86
|
-
"type": "boolean",
|
|
87
|
-
"default": true
|
|
88
|
-
},
|
|
89
|
-
"sources": {
|
|
90
|
-
"title": "Sources",
|
|
91
|
-
"description": "Additional sources. This will result in a `picture`-Element",
|
|
92
|
-
"type": "array",
|
|
93
|
-
"items": {
|
|
94
|
-
"type": "object",
|
|
95
|
-
"properties": {
|
|
96
|
-
"srcSet": {
|
|
97
|
-
"title": "Picture sourceset",
|
|
98
|
-
"description": "Use a srcSet to display picture",
|
|
99
|
-
"type": "string",
|
|
100
|
-
"format": "image"
|
|
101
|
-
},
|
|
102
|
-
"media": {
|
|
103
|
-
"title": "TODO MEDIA TITLE",
|
|
104
|
-
"description": "TODO MEDIA DESCRIPTION",
|
|
105
|
-
"type": "string"
|
|
106
|
-
},
|
|
107
|
-
"type": {
|
|
108
|
-
"title": "TODO TYPE TITLE",
|
|
109
|
-
"description": "TODO TYPE DESCRIPTION",
|
|
110
|
-
"type": "string"
|
|
111
|
-
}
|
|
112
|
-
},
|
|
113
|
-
"additionalProperties": false
|
|
114
|
-
}
|
|
115
|
-
},
|
|
116
|
-
"pictureClassName": {
|
|
117
|
-
"title": "`class` attribute",
|
|
118
|
-
"description": "Set additional class(es) to the picture",
|
|
119
|
-
"type": "string"
|
|
120
|
-
},
|
|
121
|
-
"type": {
|
|
122
|
-
"const": "picture"
|
|
123
42
|
}
|
|
124
43
|
},
|
|
125
44
|
"additionalProperties": false
|
|
126
45
|
},
|
|
127
46
|
"logoHref": {
|
|
128
47
|
"type": "string",
|
|
48
|
+
"format": "uri",
|
|
129
49
|
"default": "/"
|
|
130
50
|
},
|
|
131
51
|
"navItems": {
|
|
@@ -134,7 +54,8 @@
|
|
|
134
54
|
"type": "object",
|
|
135
55
|
"properties": {
|
|
136
56
|
"href": {
|
|
137
|
-
"type": "string"
|
|
57
|
+
"type": "string",
|
|
58
|
+
"format": "uri"
|
|
138
59
|
},
|
|
139
60
|
"label": {
|
|
140
61
|
"type": "string"
|
|
@@ -5,10 +5,41 @@
|
|
|
5
5
|
"type": "object",
|
|
6
6
|
"properties": {
|
|
7
7
|
"logo": {
|
|
8
|
-
"
|
|
8
|
+
"title": "Logo",
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"src": {
|
|
12
|
+
"title": "Source",
|
|
13
|
+
"description": "Picture source",
|
|
14
|
+
"type": "string",
|
|
15
|
+
"format": "image",
|
|
16
|
+
"examples": ["https://picsum.photos/seed/kdspicture/300/300"]
|
|
17
|
+
},
|
|
18
|
+
"alt": {
|
|
19
|
+
"title": "Alt text",
|
|
20
|
+
"description": "Alt text to display for picture",
|
|
21
|
+
"type": "string"
|
|
22
|
+
},
|
|
23
|
+
"width": {
|
|
24
|
+
"title": "Width",
|
|
25
|
+
"description": "Width of the picture",
|
|
26
|
+
"type": "integer",
|
|
27
|
+
"minimum": 0,
|
|
28
|
+
"examples": [300]
|
|
29
|
+
},
|
|
30
|
+
"height": {
|
|
31
|
+
"title": "Height",
|
|
32
|
+
"description": "Height of the picture",
|
|
33
|
+
"type": "integer",
|
|
34
|
+
"minimum": 0,
|
|
35
|
+
"examples": [300]
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"additionalProperties": false
|
|
9
39
|
},
|
|
10
40
|
"logoHref": {
|
|
11
41
|
"type": "string",
|
|
42
|
+
"format": "uri",
|
|
12
43
|
"default": "/"
|
|
13
44
|
},
|
|
14
45
|
"navItems": {
|
|
@@ -16,7 +47,7 @@
|
|
|
16
47
|
"items": {
|
|
17
48
|
"type": "object",
|
|
18
49
|
"properties": {
|
|
19
|
-
"href": { "type": "string" },
|
|
50
|
+
"href": { "type": "string", "format": "uri" },
|
|
20
51
|
"label": { "type": "string" },
|
|
21
52
|
"target": { "type": "string" }
|
|
22
53
|
},
|
|
@@ -5,12 +5,24 @@ import { FC } from "react";
|
|
|
5
5
|
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
|
6
6
|
* and run json-schema-to-typescript to regenerate this file.
|
|
7
7
|
*/
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Picture source
|
|
10
|
+
*/
|
|
11
|
+
type Source = string;
|
|
12
|
+
/**
|
|
13
|
+
* Alt text to display for picture
|
|
14
|
+
*/
|
|
15
|
+
type AltText = string;
|
|
16
|
+
/**
|
|
17
|
+
* Width of the picture
|
|
18
|
+
*/
|
|
19
|
+
type Width = number;
|
|
20
|
+
/**
|
|
21
|
+
* Height of the picture
|
|
22
|
+
*/
|
|
23
|
+
type Height = number;
|
|
9
24
|
interface FooterProps {
|
|
10
|
-
|
|
11
|
-
* Referenced component PictureProps
|
|
12
|
-
*/
|
|
13
|
-
logo: PictureProps;
|
|
25
|
+
logo: Logo;
|
|
14
26
|
logoHref?: string;
|
|
15
27
|
navItems?: {
|
|
16
28
|
href: string;
|
|
@@ -18,5 +30,11 @@ interface FooterProps {
|
|
|
18
30
|
target?: string;
|
|
19
31
|
}[];
|
|
20
32
|
}
|
|
33
|
+
interface Logo {
|
|
34
|
+
src?: Source;
|
|
35
|
+
alt?: AltText;
|
|
36
|
+
width?: Width;
|
|
37
|
+
height?: Height;
|
|
38
|
+
}
|
|
21
39
|
declare const Footer: FC<FooterProps>;
|
|
22
40
|
export { Footer };
|
|
@@ -6,6 +6,6 @@ import { Picture } from '@kickstartds/base/lib/picture';
|
|
|
6
6
|
import { Link } from '@kickstartds/base/lib/link';
|
|
7
7
|
|
|
8
8
|
const now = new Date();
|
|
9
|
-
const Footer = ({ logo, logoHref = "/", navItems = [], }) => (jsx("div", { className: classnames("c-footer"), children: jsxs("div", { className: "c-footer__content", children: [jsx(Link, { className: "c-footer__logo", href: logoHref, children: jsx(Picture, { ...logo }) }), jsxs("span", { className: "c-footer__trademark", children: ["\u00A9 ", now.getFullYear(), " systemics Inc. All rights reserved."] }), navItems.length > 0 ? (jsx("div", { className: "c-footer__links", children: navItems.map(({ label, ...linkProps }) => (createElement(Link, { ...linkProps, className: "c-footer__link", key: linkProps.href + label }, label))) })) : null] }) }));
|
|
9
|
+
const Footer = ({ logo, logoHref = "/", navItems = [], }) => (jsx("div", { className: classnames("c-footer"), children: jsxs("div", { className: "c-footer__content", children: [jsx(Link, { className: "c-footer__logo", href: logoHref, children: jsx(Picture, { ...logo, lazy: true }) }), jsxs("span", { className: "c-footer__trademark", children: ["\u00A9 ", now.getFullYear(), " systemics Inc. All rights reserved."] }), navItems.length > 0 ? (jsx("div", { className: "c-footer__links", children: navItems.map(({ label, ...linkProps }) => (createElement(Link, { ...linkProps, className: "c-footer__link", key: linkProps.href + label }, label))) })) : null] }) }));
|
|
10
10
|
|
|
11
11
|
export { Footer };
|