@kickstartds/ds-agency-premium 1.4.16 → 1.5.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 → BlogAsideProps-b06e0358.d.ts} +27 -10
- package/dist/BlogPostProps-6b3cff22.d.ts +1 -1
- package/dist/components/blog-aside/blog-aside.css +55 -21
- package/dist/components/blog-aside/blog-aside.schema.dereffed.json +74 -21
- package/dist/components/blog-aside/blog-aside.schema.json +3 -17
- package/dist/components/blog-aside/index.d.ts +1 -1
- package/dist/components/blog-aside/index.js +15 -32
- package/dist/components/blog-post/blog-post.schema.dereffed.json +74 -21
- package/dist/components/blog-post/index.js +12 -2
- package/dist/components/contact/contact.css +129 -0
- package/dist/components/contact/contact.schema.dereffed.json +125 -0
- package/dist/components/contact/contact.schema.json +107 -0
- package/dist/components/contact/index.d.ts +70 -0
- package/dist/components/contact/index.js +16 -0
- package/dist/components/headline/headline.css +43 -7
- package/dist/components/html/html.schema.json +25 -0
- package/dist/components/html/index.d.ts +26 -0
- package/dist/components/html/index.js +6 -0
- package/dist/components/page-wrapper/index.js +6 -0
- package/dist/components/page-wrapper/tokens.css +9 -9
- package/dist/components/presets.json +172 -8
- package/dist/components/providers/index.js +7 -1
- package/dist/components/split/index.d.ts +2 -1
- package/dist/components/split/index.js +11 -1
- package/dist/components/split/split.css +39 -10
- package/dist/components/split/split.schema.dereffed.json +12 -3
- package/dist/components/split/split.schema.json +7 -1
- package/dist/static/img/people/author-john.png +0 -0
- package/dist/static/img/people/contact-jim.png +0 -0
- package/dist/static/img/people/contact-john.png +0 -0
- package/dist/static/img/people/portrait-young-girl-smiling.jpg +0 -0
- package/dist/tokens/themes.css +4 -4
- package/dist/tokens/tokens.css +9 -9
- package/dist/tokens/tokens.js +9 -9
- package/package.json +1 -1
|
@@ -12,17 +12,25 @@ type Name = string;
|
|
|
12
12
|
*/
|
|
13
13
|
type Byline = string;
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* URL of the image to display
|
|
16
16
|
*/
|
|
17
|
-
type
|
|
17
|
+
type ImageSource = string;
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
19
|
+
* Alt text of the image
|
|
20
20
|
*/
|
|
21
|
-
type
|
|
21
|
+
type AltText = string;
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
23
|
+
* Image uses all the horizontal space vailable
|
|
24
24
|
*/
|
|
25
|
-
type
|
|
25
|
+
type FullWidth = boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Aspect Ratio of the Images
|
|
28
|
+
*/
|
|
29
|
+
type AspectRatio = "wide" | "square" | "vertical";
|
|
30
|
+
/**
|
|
31
|
+
* Open link in new Tab
|
|
32
|
+
*/
|
|
33
|
+
type OpenLinkInNewTab = boolean;
|
|
26
34
|
/**
|
|
27
35
|
* The icon name for the social link
|
|
28
36
|
*/
|
|
@@ -67,8 +75,17 @@ interface BlogAsideProps {
|
|
|
67
75
|
interface Author {
|
|
68
76
|
name: Name;
|
|
69
77
|
byline?: Byline;
|
|
70
|
-
image?:
|
|
71
|
-
|
|
72
|
-
|
|
78
|
+
image?: {
|
|
79
|
+
src?: ImageSource;
|
|
80
|
+
alt?: AltText;
|
|
81
|
+
fullWidth?: FullWidth;
|
|
82
|
+
aspectRatio?: AspectRatio;
|
|
83
|
+
};
|
|
84
|
+
links?: {
|
|
85
|
+
icon?: string;
|
|
86
|
+
label?: string;
|
|
87
|
+
href?: string;
|
|
88
|
+
newTab?: OpenLinkInNewTab;
|
|
89
|
+
}[];
|
|
73
90
|
}
|
|
74
|
-
export { Name, Byline,
|
|
91
|
+
export { Name, Byline, ImageSource, AltText, FullWidth, AspectRatio, OpenLinkInNewTab, Icon, Href, Title, SocialSharing, ReadingTime, PublishedDate, BlogAsideProps, Author };
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* and run json-schema-to-typescript to regenerate this file.
|
|
5
5
|
*/
|
|
6
6
|
import { BlogHeadProps } from "./BlogHeadProps-3f6e4072.js";
|
|
7
|
-
import { BlogAsideProps } from "./BlogAsideProps-
|
|
7
|
+
import { BlogAsideProps } from "./BlogAsideProps-b06e0358.js";
|
|
8
8
|
import { SectionProps } from "./SectionProps-83d399b4.js";
|
|
9
9
|
import { CtaProps } from "./CtaProps-93230a76.js";
|
|
10
10
|
import { SeoProps } from "./SeoProps-f2d6dcaa.js";
|
|
@@ -1,37 +1,71 @@
|
|
|
1
|
+
.l-container--blog-aside {
|
|
2
|
+
/* stylelint-disable-next-line property-no-unknown */
|
|
3
|
+
container-name: blog-aside;
|
|
4
|
+
}
|
|
5
|
+
|
|
1
6
|
.dsa-blog-aside {
|
|
2
|
-
--dsa-blog-
|
|
3
|
-
--dsa-blog-
|
|
4
|
-
--dsa-blog-
|
|
5
|
-
--dsa-blog-
|
|
6
|
-
--dsa-blog-
|
|
7
|
-
--dsa-blog-
|
|
7
|
+
--dsa-blog-aside--gap: var(--ks-spacing-stack-xs);
|
|
8
|
+
--dsa-blog-aside__author__title--font: var(--ks-font-copy-m);
|
|
9
|
+
--dsa-blog-aside__author__subtitle--font: var(--ks-font-copy-s);
|
|
10
|
+
--dsa-blog-aside__author__image--flex-basis: 120px;
|
|
11
|
+
--dsa-blog-aside__author__link--font: var(--ks-font-interface-s);
|
|
12
|
+
--dsa-blog-aside__meta__item--font: var(--ks-font-interface-s);
|
|
13
|
+
--dsa-blog-aside__meta__item--color: var(--ks-text-color-interface);
|
|
14
|
+
--dsa-blog-aside__meta__item__icon--size: 1.2em;
|
|
15
|
+
--dsa-blog-aside__share-bar__icon--size: 1.75em;
|
|
16
|
+
--dsa-blog-aside__sharebar__link--color: var(--dsa-link--color);
|
|
17
|
+
--dsa-blog-aside__sharebar__link--color_hover: var(--dsa-link--color_hover);
|
|
18
|
+
}
|
|
19
|
+
@container blog-aside (min-width: 640px) {
|
|
20
|
+
.dsa-blog-aside {
|
|
21
|
+
--dsa-blog-aside__author__title--font: var(--ks-font-copy-l);
|
|
22
|
+
--dsa-blog-aside__author__subtitle--font: var(--ks-font-copy-m);
|
|
23
|
+
--dsa-blog-aside__author__link--font: var(--ks-font-interface-m);
|
|
24
|
+
--dsa-blog-aside__meta__item--font: var(--ks-font-interface-m);
|
|
25
|
+
--dsa-blog-aside__share-bar__icon--size: 2em;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.l-container--blog-aside {
|
|
30
|
+
/* stylelint-disable-next-line property-no-unknown */
|
|
31
|
+
container-name: blog-aside;
|
|
8
32
|
}
|
|
9
33
|
|
|
10
34
|
.dsa-blog-aside {
|
|
11
|
-
|
|
35
|
+
display: flex;
|
|
36
|
+
flex-direction: column;
|
|
37
|
+
gap: var(--dsa-blog-aside--gap);
|
|
38
|
+
}
|
|
39
|
+
.dsa-blog-aside .dsa-contact {
|
|
40
|
+
--dsa-contact--gap-vertical: var(--dsa-blog-asde__author--gap-vertical, var(--ks-spacing-stack-xs));
|
|
41
|
+
--dsa-contact--gap-horizontal: var(--dsa-blog-asde__author--gap-horizontal, var(--ks-spacing-inline-xs));
|
|
42
|
+
--dsa-contact__image--flex-basis: var(--dsa-blog-aside__author__image--flex-basis, 200px);
|
|
43
|
+
--dsa-contact__title--font: var(--dsa-blog-aside__author__title--font, var(--ks-font-copy-m));
|
|
44
|
+
--dsa-contact__subtitle--font: var(--dsa-blog-aside__author__subtitle--font, var(--ks-font-copy-s));
|
|
45
|
+
--dsa-contact__link--font: var(--dsa-blog-aside__author__link--font, var(--ks-font-interface-s));
|
|
12
46
|
}
|
|
13
47
|
.dsa-blog-aside .c-post-meta {
|
|
14
|
-
--c-post-meta--gap: var(--ks-spacing-
|
|
15
|
-
--c-post-meta_item--gap:
|
|
16
|
-
--c-post-meta_item--font: var(--dsa-
|
|
17
|
-
--c-post-meta_item--color: var(--dsa-
|
|
18
|
-
--c-post-meta_item--icon-size: var(--dsa-
|
|
48
|
+
--c-post-meta--gap: 0.25em var(--ks-spacing-inline-s);
|
|
49
|
+
--c-post-meta_item--gap: 0.5em;
|
|
50
|
+
--c-post-meta_item--font: var(--dsa-blog-aside__meta__item--font, var(--ks-font-interface-s));
|
|
51
|
+
--c-post-meta_item--color: var(--dsa-blog-aside__meta__item--color, var(--ks-text-color-interface));
|
|
52
|
+
--c-post-meta_item--icon-size: var(--dsa-blog-aside__meta__item__icon--size, 1.2em);
|
|
53
|
+
}
|
|
54
|
+
.dsa-blog-aside .c-post-share-bar {
|
|
55
|
+
--c-post-share-bar_link--icon-size: var(--dsa-blog-aside__share-bar__icon--size, 1.5rem);
|
|
19
56
|
}
|
|
20
|
-
.dsa-blog-aside .c-
|
|
21
|
-
|
|
22
|
-
--c-rich-text-color: var(--dsa-post-aside__copy--color, var(--dsa-rich-text--color, var(--ks-text-color-default)));
|
|
57
|
+
.dsa-blog-aside .c-post-share-bar .c-post-share-bar__link {
|
|
58
|
+
color: var(--dsa-blog-aside__sharebar__link--color, var(--dsa-link--color));
|
|
23
59
|
}
|
|
24
|
-
.dsa-blog-aside .
|
|
25
|
-
|
|
26
|
-
font-weight: var(--dsa-headline--font-weight);
|
|
27
|
-
color: var(--dsa-post-aside__title--color, var(--dsa-headline--color, var(--ks-text-color-display)));
|
|
60
|
+
.dsa-blog-aside .c-post-share-bar .c-post-share-bar__link:hover {
|
|
61
|
+
color: var(--dsa-blog-aside__sharebar__link--color_hover, var(--dsa-link--color_hover));
|
|
28
62
|
}
|
|
29
63
|
.dsa-blog-aside .c-contact__links {
|
|
30
|
-
color: var(--dsa-
|
|
64
|
+
color: var(--dsa-blog-aside__links--color, var(--dsa-link--color));
|
|
31
65
|
}
|
|
32
66
|
.dsa-blog-aside .c-contact__links .icon {
|
|
33
67
|
color: inherit;
|
|
34
68
|
}
|
|
35
69
|
.dsa-blog-aside .c-divider {
|
|
36
|
-
--c-divider--background: var(--dsa-
|
|
70
|
+
--c-divider--background: var(--dsa-blog-aside__divider--color, var(--ks-border-color-accent));
|
|
37
71
|
}
|
|
@@ -27,29 +27,82 @@
|
|
|
27
27
|
]
|
|
28
28
|
},
|
|
29
29
|
"image": {
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
30
|
+
"type": "object",
|
|
31
|
+
"properties": {
|
|
32
|
+
"src": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"format": "image",
|
|
35
|
+
"title": "Image Source",
|
|
36
|
+
"description": "URL of the image to display",
|
|
37
|
+
"examples": [
|
|
38
|
+
"img/people/author-emily.png"
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
"alt": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"title": "Alt Text",
|
|
44
|
+
"description": "Alt text of the image",
|
|
45
|
+
"examples": [
|
|
46
|
+
"Picture of Jane Smith"
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
"fullWidth": {
|
|
50
|
+
"type": "boolean",
|
|
51
|
+
"title": "Full Width",
|
|
52
|
+
"description": "Image uses all the horizontal space vailable",
|
|
53
|
+
"default": false
|
|
54
|
+
},
|
|
55
|
+
"aspectRatio": {
|
|
56
|
+
"type": "string",
|
|
57
|
+
"title": "aspectRatio",
|
|
58
|
+
"description": "Aspect Ratio of the Images",
|
|
59
|
+
"enum": [
|
|
60
|
+
"wide",
|
|
61
|
+
"square",
|
|
62
|
+
"vertical"
|
|
63
|
+
],
|
|
64
|
+
"default": "square"
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"additionalProperties": false
|
|
45
68
|
},
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
|
|
50
|
-
|
|
69
|
+
"links": {
|
|
70
|
+
"type": "array",
|
|
71
|
+
"items": {
|
|
72
|
+
"type": "object",
|
|
73
|
+
"properties": {
|
|
74
|
+
"icon": {
|
|
75
|
+
"type": "string"
|
|
76
|
+
},
|
|
77
|
+
"label": {
|
|
78
|
+
"type": "string"
|
|
79
|
+
},
|
|
80
|
+
"href": {
|
|
81
|
+
"type": "string",
|
|
82
|
+
"format": "uri"
|
|
83
|
+
},
|
|
84
|
+
"newTab": {
|
|
85
|
+
"title": "Open link in new Tab",
|
|
86
|
+
"description": "Open link in new Tab",
|
|
87
|
+
"type": "boolean",
|
|
88
|
+
"default": false
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
"additionalProperties": false
|
|
92
|
+
},
|
|
51
93
|
"examples": [
|
|
52
|
-
|
|
94
|
+
[
|
|
95
|
+
{
|
|
96
|
+
"icon": "phone",
|
|
97
|
+
"label": "0228 / 688 966 20",
|
|
98
|
+
"href": "tel:+4922868896620"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"icon": "email",
|
|
102
|
+
"label": "mail@example.com",
|
|
103
|
+
"href": "mailto:mail@example.com"
|
|
104
|
+
}
|
|
105
|
+
]
|
|
53
106
|
]
|
|
54
107
|
}
|
|
55
108
|
},
|
|
@@ -23,24 +23,10 @@
|
|
|
23
23
|
"examples": ["CEO at Company"]
|
|
24
24
|
},
|
|
25
25
|
"image": {
|
|
26
|
-
"
|
|
27
|
-
"description": "The image URL of the author",
|
|
28
|
-
"type": "string",
|
|
29
|
-
"format": "image",
|
|
30
|
-
"examples": ["img/people/author-emily.png"]
|
|
31
|
-
},
|
|
32
|
-
"twitter": {
|
|
33
|
-
"title": "Twitter",
|
|
34
|
-
"description": "The Twitter name of the author",
|
|
35
|
-
"type": "string",
|
|
36
|
-
"examples": ["johndoe"]
|
|
26
|
+
"$ref": "http://schema.mydesignsystem.com/contact.schema.json#/properties/image"
|
|
37
27
|
},
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"description": "The Email of the author",
|
|
41
|
-
"type": "string",
|
|
42
|
-
"pattern": "^[A-Za-z0-9_!#$%&'*+/=?`{|}~^.-]+@[A-Za-z0-9.-]+$",
|
|
43
|
-
"examples": ["johndoe@example.com"]
|
|
28
|
+
"links": {
|
|
29
|
+
"$ref": "http://schema.mydesignsystem.com/contact.schema.json#/properties/links"
|
|
44
30
|
}
|
|
45
31
|
},
|
|
46
32
|
"additionalProperties": false,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { BlogAsideProps } from "../../BlogAsideProps-
|
|
2
|
+
import { BlogAsideProps } from "../../BlogAsideProps-b06e0358.js";
|
|
3
3
|
declare const BlogAsideContextDefault: import("react").ForwardRefExoticComponent<BlogAsideProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
4
4
|
declare const BlogAsideContext: import("react").Context<import("react").ForwardRefExoticComponent<BlogAsideProps & import("react").RefAttributes<HTMLDivElement>>>;
|
|
5
5
|
declare const BlogAside: import("react").ForwardRefExoticComponent<BlogAsideProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
import "./blog-aside.css";
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
3
3
|
import classnames from 'classnames';
|
|
4
4
|
import { forwardRef, createContext, useContext } from 'react';
|
|
5
|
-
import {
|
|
5
|
+
import { PostMeta } from '@kickstartds/blog/lib/post-meta';
|
|
6
|
+
import { PostShareBar } from '@kickstartds/blog/lib/post-share-bar';
|
|
7
|
+
import { Container } from '@kickstartds/core/lib/container';
|
|
8
|
+
import { Contact } from '../contact/index.js';
|
|
9
|
+
import { Headline } from '../headline/index.js';
|
|
10
|
+
import '@kickstartds/base/lib/picture';
|
|
11
|
+
import '@kickstartds/base/lib/contact';
|
|
12
|
+
import '@kickstartds/base/lib/link';
|
|
13
|
+
import '@kickstartds/base/lib/icon';
|
|
14
|
+
import '@kickstartds/base/lib/rich-text';
|
|
15
|
+
import 'markdown-to-jsx';
|
|
16
|
+
import '@kickstartds/base/lib/headline';
|
|
6
17
|
|
|
7
|
-
const BlogAsideContextDefault = forwardRef(({ author, socialSharing, readingTime, date, className
|
|
18
|
+
const BlogAsideContextDefault = forwardRef(({ author, socialSharing, readingTime, date, className }) => {
|
|
8
19
|
const socialLinks = socialSharing?.map((link) => {
|
|
9
20
|
return {
|
|
10
21
|
icon: link.icon,
|
|
@@ -23,35 +34,7 @@ const BlogAsideContextDefault = forwardRef(({ author, socialSharing, readingTime
|
|
|
23
34
|
icon: "time",
|
|
24
35
|
text: readingTime,
|
|
25
36
|
});
|
|
26
|
-
|
|
27
|
-
if (author?.twitter)
|
|
28
|
-
authorLinks.push({
|
|
29
|
-
href: `https://twitter.com/${author.twitter}`,
|
|
30
|
-
icon: "twitter",
|
|
31
|
-
newTab: true,
|
|
32
|
-
label: `@${author.twitter}`,
|
|
33
|
-
});
|
|
34
|
-
if (author?.email)
|
|
35
|
-
authorLinks.push({
|
|
36
|
-
href: `mailto:${author.email}`,
|
|
37
|
-
icon: "email",
|
|
38
|
-
newTab: false,
|
|
39
|
-
label: author.email,
|
|
40
|
-
});
|
|
41
|
-
return (jsx(PostAside, { ...rest, className: classnames(className, "dsa-blog-aside"), author: {
|
|
42
|
-
title: author?.name,
|
|
43
|
-
image: author?.image && { src: author.image },
|
|
44
|
-
copy: author?.byline,
|
|
45
|
-
links: authorLinks,
|
|
46
|
-
}, shareBar: {
|
|
47
|
-
headline: {
|
|
48
|
-
text: "Share this post",
|
|
49
|
-
level: "h3",
|
|
50
|
-
},
|
|
51
|
-
links: socialLinks,
|
|
52
|
-
}, meta: {
|
|
53
|
-
items: metaItems,
|
|
54
|
-
}, ref: ref }));
|
|
37
|
+
return (jsx(Container, { name: "blog-aside", children: jsxs("div", { className: classnames(className, "dsa-blog-aside"), children: [jsx(Contact, { className: "dsa-blog-aside__author", title: author?.name, subtitle: author?.byline, image: author?.image, links: author?.links }), metaItems && (jsx(Fragment, { children: jsx(PostMeta, { className: "dsa-blog-aside__meta", items: metaItems }) })), socialLinks && (jsxs("div", { children: [jsx(Headline, { text: "Share this Article", level: "p", style: "p", spaceAfter: "minimum" }), jsx(PostShareBar, { className: "dsa-blog-aside__share-bar", links: socialLinks })] }))] }) }));
|
|
55
38
|
});
|
|
56
39
|
const BlogAsideContext = createContext(BlogAsideContextDefault);
|
|
57
40
|
const BlogAside = forwardRef((props, ref) => {
|
|
@@ -107,29 +107,82 @@
|
|
|
107
107
|
]
|
|
108
108
|
},
|
|
109
109
|
"image": {
|
|
110
|
-
"
|
|
111
|
-
"
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
110
|
+
"type": "object",
|
|
111
|
+
"properties": {
|
|
112
|
+
"src": {
|
|
113
|
+
"type": "string",
|
|
114
|
+
"format": "image",
|
|
115
|
+
"title": "Image Source",
|
|
116
|
+
"description": "URL of the image to display",
|
|
117
|
+
"examples": [
|
|
118
|
+
"img/people/author-emily.png"
|
|
119
|
+
]
|
|
120
|
+
},
|
|
121
|
+
"alt": {
|
|
122
|
+
"type": "string",
|
|
123
|
+
"title": "Alt Text",
|
|
124
|
+
"description": "Alt text of the image",
|
|
125
|
+
"examples": [
|
|
126
|
+
"Picture of Jane Smith"
|
|
127
|
+
]
|
|
128
|
+
},
|
|
129
|
+
"fullWidth": {
|
|
130
|
+
"type": "boolean",
|
|
131
|
+
"title": "Full Width",
|
|
132
|
+
"description": "Image uses all the horizontal space vailable",
|
|
133
|
+
"default": false
|
|
134
|
+
},
|
|
135
|
+
"aspectRatio": {
|
|
136
|
+
"type": "string",
|
|
137
|
+
"title": "aspectRatio",
|
|
138
|
+
"description": "Aspect Ratio of the Images",
|
|
139
|
+
"enum": [
|
|
140
|
+
"wide",
|
|
141
|
+
"square",
|
|
142
|
+
"vertical"
|
|
143
|
+
],
|
|
144
|
+
"default": "square"
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
"additionalProperties": false
|
|
125
148
|
},
|
|
126
|
-
"
|
|
127
|
-
"
|
|
128
|
-
"
|
|
129
|
-
|
|
130
|
-
|
|
149
|
+
"links": {
|
|
150
|
+
"type": "array",
|
|
151
|
+
"items": {
|
|
152
|
+
"type": "object",
|
|
153
|
+
"properties": {
|
|
154
|
+
"icon": {
|
|
155
|
+
"type": "string"
|
|
156
|
+
},
|
|
157
|
+
"label": {
|
|
158
|
+
"type": "string"
|
|
159
|
+
},
|
|
160
|
+
"href": {
|
|
161
|
+
"type": "string",
|
|
162
|
+
"format": "uri"
|
|
163
|
+
},
|
|
164
|
+
"newTab": {
|
|
165
|
+
"title": "Open link in new Tab",
|
|
166
|
+
"description": "Open link in new Tab",
|
|
167
|
+
"type": "boolean",
|
|
168
|
+
"default": false
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
"additionalProperties": false
|
|
172
|
+
},
|
|
131
173
|
"examples": [
|
|
132
|
-
|
|
174
|
+
[
|
|
175
|
+
{
|
|
176
|
+
"icon": "phone",
|
|
177
|
+
"label": "0228 / 688 966 20",
|
|
178
|
+
"href": "tel:+4922868896620"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"icon": "email",
|
|
182
|
+
"label": "mail@example.com",
|
|
183
|
+
"href": "mailto:mail@example.com"
|
|
184
|
+
}
|
|
185
|
+
]
|
|
133
186
|
]
|
|
134
187
|
}
|
|
135
188
|
},
|
|
@@ -12,14 +12,24 @@ import '@kickstartds/core/lib/react';
|
|
|
12
12
|
import '@kickstartds/base/lib/section';
|
|
13
13
|
import '../section/js/Section.client.js';
|
|
14
14
|
import '@kickstartds/core/lib/component';
|
|
15
|
-
import '@kickstartds/blog/lib/post-
|
|
15
|
+
import '@kickstartds/blog/lib/post-meta';
|
|
16
|
+
import '@kickstartds/blog/lib/post-share-bar';
|
|
17
|
+
import '@kickstartds/core/lib/container';
|
|
18
|
+
import '../contact/index.js';
|
|
19
|
+
import '@kickstartds/base/lib/picture';
|
|
20
|
+
import '@kickstartds/base/lib/contact';
|
|
21
|
+
import '@kickstartds/base/lib/link';
|
|
22
|
+
import '@kickstartds/base/lib/icon';
|
|
16
23
|
import '@kickstartds/base/lib/rich-text';
|
|
24
|
+
import '../headline/index.js';
|
|
25
|
+
import 'markdown-to-jsx';
|
|
26
|
+
import '@kickstartds/base/lib/headline';
|
|
17
27
|
import '@kickstartds/content/lib/storytelling';
|
|
18
28
|
import '@kickstartds/base/lib/button';
|
|
19
29
|
import '../button-group/index.js';
|
|
20
30
|
import '@kickstartds/base/lib/button-group';
|
|
21
31
|
|
|
22
|
-
const BlogPost = ({ head, content, aside, cta, children, }) => (jsxs(Fragment, { children: [jsx(Section, { width: "wide", children: jsxs(Split, { layout: "sidebarRight", children: [jsxs("div", { children: [head && jsx(BlogHead, { ...head }), content ? jsx(Text, { text: content }) : children] }), jsx(BlogAside, { ...aside })] }) }), cta && (jsx(Section, { content: { mode: "list" }, children: jsx(Cta, { ...cta }) }))] }));
|
|
32
|
+
const BlogPost = ({ head, content, aside, cta, children, }) => (jsxs(Fragment, { children: [jsx(Section, { width: "wide", children: jsxs(Split, { mainSectionWidth: "narrow", layout: "sidebarRight", children: [jsxs("div", { children: [head && jsx(BlogHead, { ...head }), content ? jsx(Text, { text: content }) : children] }), jsx(BlogAside, { ...aside })] }) }), cta && (jsx(Section, { content: { mode: "list" }, children: jsx(Cta, { ...cta }) }))] }));
|
|
23
33
|
BlogPost.displayName = "BlogPost";
|
|
24
34
|
|
|
25
35
|
export { BlogPost };
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
.l-container--contact {
|
|
2
|
+
/* stylelint-disable-next-line property-no-unknown */
|
|
3
|
+
container-name: contact;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.dsa-contact {
|
|
7
|
+
--dsa-contact--gap-horizontal: var(--ks-spacing-inline-m);
|
|
8
|
+
--dsa-contact--gap-vertical: var(--ks-spacing-stack-m);
|
|
9
|
+
--dsa-contact__header--gap: 0;
|
|
10
|
+
--dsa-contact__image--flex-basis: 200px;
|
|
11
|
+
--dsa-contact__image--border-radius: var(--ks-border-radius-card);
|
|
12
|
+
--dsa-contact__body--gap: var(--ks-spacing-stack-xs);
|
|
13
|
+
--dsa-contact__body--flex-basis: 300px;
|
|
14
|
+
--dsa-contact__copy--font: var(--dsa-rich-text--font);
|
|
15
|
+
--dsa-contact__copy--color: var(--dsa-rich-text--color);
|
|
16
|
+
--dsa-contact__title--color: var(--ks-text-color-display);
|
|
17
|
+
--dsa-contact__title--font: var(--ks-font-copy-l);
|
|
18
|
+
--dsa-contact__title--font-weight: var(--ks-font-weight-bold);
|
|
19
|
+
--dsa-contact__subtitle--color: var(--ks-text-color-display);
|
|
20
|
+
--dsa-contact__subtitle--font: var(--ks-font-copy-m);
|
|
21
|
+
--dsa-contact__subtitle--font-weight: var(--ks-font-weight-regular);
|
|
22
|
+
--dsa-contact__links--gap: 0;
|
|
23
|
+
--dsa-contact__link--color: var(--dsa-link--color);
|
|
24
|
+
--dsa-contact__link--color_hover: var(--dsa-link--color_hover);
|
|
25
|
+
--dsa-contact__link--font: var(--ks-font-interface-m);
|
|
26
|
+
--dsa-contact__link--font-weight: var(--dsa-link--font-weight);
|
|
27
|
+
--dsa-contact__link__icon--margin-right: 0.5em;
|
|
28
|
+
--dsa-contact__link__icon--size: 1.5em;
|
|
29
|
+
--dsa-contact__link__icon--color: inherit;
|
|
30
|
+
--dsa-contact__link--text-decoration: none;
|
|
31
|
+
--dsa-contact__link--text-decoration_hover: none;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.l-container--contact {
|
|
35
|
+
/* stylelint-disable-next-line property-no-unknown */
|
|
36
|
+
container-name: contact;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.dsa-contact {
|
|
40
|
+
display: flex;
|
|
41
|
+
flex-wrap: wrap;
|
|
42
|
+
gap: var(--dsa-contact--gap-horizontal) var(--dsa-contact--gap-vertical);
|
|
43
|
+
}
|
|
44
|
+
.dsa-contact__image-wrap, .dsa-contact__body {
|
|
45
|
+
flex-grow: 1;
|
|
46
|
+
}
|
|
47
|
+
.dsa-contact__body {
|
|
48
|
+
display: flex;
|
|
49
|
+
flex-grow: 1;
|
|
50
|
+
flex-shrink: 0;
|
|
51
|
+
flex-direction: column;
|
|
52
|
+
gap: var(--dsa-contact__body--gap);
|
|
53
|
+
flex-basis: var(--dsa-contact__body--flex-basis);
|
|
54
|
+
}
|
|
55
|
+
.dsa-contact__copy {
|
|
56
|
+
font: var(--dsa-contact__copy--font);
|
|
57
|
+
color: var(--dsa-contact__copy--color);
|
|
58
|
+
}
|
|
59
|
+
.dsa-contact__image-wrap {
|
|
60
|
+
flex: none;
|
|
61
|
+
flex-basis: var(--dsa-contact__image--flex-basis);
|
|
62
|
+
height: 100%;
|
|
63
|
+
width: 100%;
|
|
64
|
+
}
|
|
65
|
+
.dsa-contact--image-full-width .dsa-contact__image-wrap {
|
|
66
|
+
flex-grow: 1;
|
|
67
|
+
}
|
|
68
|
+
.dsa-contact--image-square .dsa-contact__image-wrap {
|
|
69
|
+
aspect-ratio: 1/1;
|
|
70
|
+
}
|
|
71
|
+
.dsa-contact--image-wide .dsa-contact__image-wrap {
|
|
72
|
+
aspect-ratio: 4/3;
|
|
73
|
+
}
|
|
74
|
+
.dsa-contact--image-vertical .dsa-contact__image-wrap {
|
|
75
|
+
aspect-ratio: 3/4;
|
|
76
|
+
}
|
|
77
|
+
.dsa-contact__image {
|
|
78
|
+
width: 100%;
|
|
79
|
+
object-fit: cover;
|
|
80
|
+
height: 100%;
|
|
81
|
+
border-radius: var(--dsa-contact__image--border-radius);
|
|
82
|
+
}
|
|
83
|
+
.dsa-contact__header {
|
|
84
|
+
display: flex;
|
|
85
|
+
flex-direction: column;
|
|
86
|
+
gap: var(--dsa-contact__header--gap);
|
|
87
|
+
}
|
|
88
|
+
.dsa-contact__title {
|
|
89
|
+
font: var(--dsa-contact__title--font);
|
|
90
|
+
color: var(--dsa-contact__title--color);
|
|
91
|
+
font-weight: var(--dsa-contact__title--font-weight);
|
|
92
|
+
}
|
|
93
|
+
.dsa-contact__subtitle {
|
|
94
|
+
font: var(--dsa-contact__subtitle--font);
|
|
95
|
+
color: var(--dsa-contact__subtitle--color);
|
|
96
|
+
font-weight: var(--dsa-contact__subtitle--font-weight);
|
|
97
|
+
}
|
|
98
|
+
.dsa-contact__links {
|
|
99
|
+
display: flex;
|
|
100
|
+
flex-direction: column;
|
|
101
|
+
gap: var(--dsa-contact__links--gap);
|
|
102
|
+
list-style: none;
|
|
103
|
+
padding: 0;
|
|
104
|
+
margin: 0;
|
|
105
|
+
}
|
|
106
|
+
.dsa-contact a.dsa-contact__link {
|
|
107
|
+
color: var(--dsa-contact__link--color);
|
|
108
|
+
font: var(--dsa-contact__link--font);
|
|
109
|
+
font-weight: var(--dsa-contact__link--font-weight);
|
|
110
|
+
text-decoration: var(--dsa-contact__link--text-decoration);
|
|
111
|
+
}
|
|
112
|
+
.dsa-contact a.dsa-contact__link .icon {
|
|
113
|
+
width: var(--dsa-contact__link__icon--size);
|
|
114
|
+
height: var(--dsa-contact__link__icon--size);
|
|
115
|
+
color: var(--dsa-contact__link__icon--color);
|
|
116
|
+
margin-right: var(--dsa-contact__link__icon--margin-right);
|
|
117
|
+
}
|
|
118
|
+
.dsa-contact a.dsa-contact__link:hover {
|
|
119
|
+
color: var(--dsa-contact__link--color_hover);
|
|
120
|
+
text-decoration: var(--dsa-contact__link--text-decoration_hover);
|
|
121
|
+
}
|
|
122
|
+
.dsa-contact .c-headline {
|
|
123
|
+
--c-headline--color: var(--dsa-contact__headline--color);
|
|
124
|
+
--c-headline--font: var(--dsa-contact__headline--font);
|
|
125
|
+
--c-headline--font-weight: var(--dsa-contact__headline--font-weight);
|
|
126
|
+
--c-headline__subheadline--color: var(--dsa-contact__headline__subheadline--color);
|
|
127
|
+
--c-headline__subheadline--font: var(--dsa-contact__headline__subheadline--font);
|
|
128
|
+
--c-headline__subheadline--font-weight: var(--dsa-contact__headline__subheadline--font-weight);
|
|
129
|
+
}
|