@kickstartds/ds-agency-premium 1.4.15 → 1.4.16--canary.15.832.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-99489f0b.d.ts} +11 -4
- package/dist/{BlogPostProps-83d399b4.d.ts → BlogPostProps-99489f0b.d.ts} +1 -1
- package/dist/SectionProps-83d399b4.d.ts +1 -1
- package/dist/components/blog-aside/blog-aside.css +8 -16
- package/dist/components/blog-aside/blog-aside.schema.dereffed.json +21 -7
- package/dist/components/blog-aside/blog-aside.schema.json +16 -5
- package/dist/components/blog-aside/index.d.ts +1 -1
- package/dist/components/blog-aside/index.js +2 -2
- package/dist/components/blog-overview/index.d.ts +1 -1
- package/dist/components/blog-post/blog-post.schema.dereffed.json +21 -7
- package/dist/components/blog-post/index.d.ts +1 -1
- package/dist/components/blog-post/index.js +1 -1
- package/dist/components/contact/contact.css +125 -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/hero/hero.css +2 -2
- 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/image-story/index.d.ts +1 -1
- package/dist/components/index/index.d.ts +3 -3
- package/dist/components/page/index.d.ts +1 -1
- package/dist/components/page-wrapper/index.js +6 -0
- package/dist/components/page-wrapper/tokens.css +9 -9
- package/dist/components/presets.json +140 -6
- 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 +36 -10
- package/dist/components/split/split.schema.dereffed.json +12 -3
- package/dist/components/split/split.schema.json +7 -1
- package/dist/components/video-curtain/video-curtain.css +2 -2
- 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
- /package/dist/{BlogOverviewProps-83d399b4.d.ts → BlogOverviewProps-9f207f1c.d.ts} +0 -0
- /package/dist/{ImageStoryProps-03ff6d21.d.ts → ImageStoryProps-e853e1e7.d.ts} +0 -0
- /package/dist/{PageProps-83d399b4.d.ts → PageProps-aa29c554.d.ts} +0 -0
|
@@ -12,9 +12,13 @@ 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
|
+
/**
|
|
19
|
+
* Alt text of the image
|
|
20
|
+
*/
|
|
21
|
+
type AltText = string;
|
|
18
22
|
/**
|
|
19
23
|
* The Twitter name of the author
|
|
20
24
|
*/
|
|
@@ -67,8 +71,11 @@ interface BlogAsideProps {
|
|
|
67
71
|
interface Author {
|
|
68
72
|
name: Name;
|
|
69
73
|
byline?: Byline;
|
|
70
|
-
image?:
|
|
74
|
+
image?: {
|
|
75
|
+
src?: ImageSource;
|
|
76
|
+
alt?: AltText;
|
|
77
|
+
};
|
|
71
78
|
twitter?: Twitter;
|
|
72
79
|
email?: Email;
|
|
73
80
|
}
|
|
74
|
-
export { Name, Byline,
|
|
81
|
+
export { Name, Byline, ImageSource, AltText, Twitter, Email, 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-99489f0b.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";
|
|
@@ -8,7 +8,7 @@ import { FaqProps } from "./FaqProps-ad618cd5.js";
|
|
|
8
8
|
import { FeaturesProps } from "./FeaturesProps-b05859d6.js";
|
|
9
9
|
import { GalleryProps } from "./GalleryProps-76e7de44.js";
|
|
10
10
|
import { HeroProps } from "./HeroProps-cf82a16d.js";
|
|
11
|
-
import { ImageStoryProps } from "./ImageStoryProps-
|
|
11
|
+
import { ImageStoryProps } from "./ImageStoryProps-e853e1e7.js";
|
|
12
12
|
import { ImageTextProps } from "./ImageTextProps-9286cca4.js";
|
|
13
13
|
import { LogosProps } from "./LogosProps-f9474fe2.js";
|
|
14
14
|
import { MosaicProps } from "./MosaicProps-d52c7151.js";
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
.dsa-blog-aside {
|
|
2
|
+
--dsa-blog-aside__meta__item--font: var(--ks-font-interface-s);
|
|
3
|
+
--dsa-blog-aside__meta__item--color: var(--ks-text-color-interface);
|
|
4
|
+
--dsa-blog-aside__meta__item__icon--size: 1.2em;
|
|
2
5
|
--dsa-blog-aside__title--color: var(--dsa-headline--color);
|
|
3
6
|
--dsa-blog-aside__title--font: var(--dsa-headline_h3--font);
|
|
4
|
-
--dsa-blog-aside__copy--color: var(--dsa-rich-text--color);
|
|
5
|
-
--dsa-blog-aside__copy--font: var(--dsa-rich-text--font);
|
|
6
7
|
--dsa-blog-aside__links--color: var(--dsa-link--color);
|
|
7
8
|
--dsa-blog-aside__divider--color: var(--ks-border-color-accent);
|
|
8
9
|
}
|
|
@@ -13,25 +14,16 @@
|
|
|
13
14
|
.dsa-blog-aside .c-post-meta {
|
|
14
15
|
--c-post-meta--gap: var(--ks-spacing-m);
|
|
15
16
|
--c-post-meta_item--gap: var(--ks-spacing-xs);
|
|
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-
|
|
19
|
-
}
|
|
20
|
-
.dsa-blog-aside .c-contact__copy {
|
|
21
|
-
--c-rich-text-font: var(--dsa-post-aside__copy--font, var(--dsa-rich-text--font, var(--ks-font-copy-m)));
|
|
22
|
-
--c-rich-text-color: var(--dsa-post-aside__copy--color, var(--dsa-rich-text--color, var(--ks-text-color-default)));
|
|
23
|
-
}
|
|
24
|
-
.dsa-blog-aside .dsa-headline .dsa-headline__headline {
|
|
25
|
-
font: var(--dsa-post-aside__title--font, var(--dsa-headline_h3--font, var(--ks-font-display-l)));
|
|
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)));
|
|
17
|
+
--c-post-meta_item--font: var(--dsa-blog-aside__meta__item--font, var(--ks-font-interface-s));
|
|
18
|
+
--c-post-meta_item--color: var(--dsa-blog-aside__meta__item--color, var(--ks-text-color-interface));
|
|
19
|
+
--c-post-meta_item--icon-size: var(--dsa-blog-aside__meta__item__icon--size, 1.2em);
|
|
28
20
|
}
|
|
29
21
|
.dsa-blog-aside .c-contact__links {
|
|
30
|
-
color: var(--dsa-
|
|
22
|
+
color: var(--dsa-blog-aside__links--color, var(--dsa-link--color));
|
|
31
23
|
}
|
|
32
24
|
.dsa-blog-aside .c-contact__links .icon {
|
|
33
25
|
color: inherit;
|
|
34
26
|
}
|
|
35
27
|
.dsa-blog-aside .c-divider {
|
|
36
|
-
--c-divider--background: var(--dsa-
|
|
28
|
+
--c-divider--background: var(--dsa-blog-aside__divider--color, var(--ks-border-color-accent));
|
|
37
29
|
}
|
|
@@ -27,13 +27,27 @@
|
|
|
27
27
|
]
|
|
28
28
|
},
|
|
29
29
|
"image": {
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
+
},
|
|
50
|
+
"additionalProperties": false
|
|
37
51
|
},
|
|
38
52
|
"twitter": {
|
|
39
53
|
"title": "Twitter",
|
|
@@ -23,11 +23,22 @@
|
|
|
23
23
|
"examples": ["CEO at Company"]
|
|
24
24
|
},
|
|
25
25
|
"image": {
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
"type": "object",
|
|
27
|
+
"properties": {
|
|
28
|
+
"src": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"format": "image",
|
|
31
|
+
"title": "Image Source",
|
|
32
|
+
"description": "URL of the image to display",
|
|
33
|
+
"examples": ["img/people/author-emily.png"]
|
|
34
|
+
},
|
|
35
|
+
"alt": {
|
|
36
|
+
"type": "string",
|
|
37
|
+
"title": "Alt Text",
|
|
38
|
+
"description": "Alt text of the image",
|
|
39
|
+
"examples": ["Picture of Jane Smith"]
|
|
40
|
+
}
|
|
41
|
+
}
|
|
31
42
|
},
|
|
32
43
|
"twitter": {
|
|
33
44
|
"title": "Twitter",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { BlogAsideProps } from "../../BlogAsideProps-
|
|
2
|
+
import { BlogAsideProps } from "../../BlogAsideProps-99489f0b.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>>;
|
|
@@ -40,8 +40,8 @@ const BlogAsideContextDefault = forwardRef(({ author, socialSharing, readingTime
|
|
|
40
40
|
});
|
|
41
41
|
return (jsx(PostAside, { ...rest, className: classnames(className, "dsa-blog-aside"), author: {
|
|
42
42
|
title: author?.name,
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
subtitle: author?.byline,
|
|
44
|
+
image: author?.image,
|
|
45
45
|
links: authorLinks,
|
|
46
46
|
}, shareBar: {
|
|
47
47
|
headline: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BlogOverviewProps } from "../../BlogOverviewProps-
|
|
1
|
+
import { BlogOverviewProps } from "../../BlogOverviewProps-9f207f1c.js";
|
|
2
2
|
import { FC, PropsWithChildren } from "react";
|
|
3
3
|
declare const BlogOverview: FC<PropsWithChildren<BlogOverviewProps>>;
|
|
4
4
|
export { BlogOverview };
|
|
@@ -107,13 +107,27 @@
|
|
|
107
107
|
]
|
|
108
108
|
},
|
|
109
109
|
"image": {
|
|
110
|
-
"
|
|
111
|
-
"
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
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
|
+
},
|
|
130
|
+
"additionalProperties": false
|
|
117
131
|
},
|
|
118
132
|
"twitter": {
|
|
119
133
|
"title": "Twitter",
|
|
@@ -19,7 +19,7 @@ import '@kickstartds/base/lib/button';
|
|
|
19
19
|
import '../button-group/index.js';
|
|
20
20
|
import '@kickstartds/base/lib/button-group';
|
|
21
21
|
|
|
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 }) }))] }));
|
|
22
|
+
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
23
|
BlogPost.displayName = "BlogPost";
|
|
24
24
|
|
|
25
25
|
export { BlogPost };
|
|
@@ -0,0 +1,125 @@
|
|
|
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
|
+
}
|
|
31
|
+
|
|
32
|
+
.l-container--contact {
|
|
33
|
+
/* stylelint-disable-next-line property-no-unknown */
|
|
34
|
+
container-name: contact;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.dsa-contact {
|
|
38
|
+
display: flex;
|
|
39
|
+
flex-wrap: wrap;
|
|
40
|
+
gap: var(--dsa-contact--gap-horizontal) var(--dsa-contact--gap-vertical);
|
|
41
|
+
}
|
|
42
|
+
.dsa-contact__image-wrap, .dsa-contact__body {
|
|
43
|
+
flex-grow: 1;
|
|
44
|
+
}
|
|
45
|
+
.dsa-contact__body {
|
|
46
|
+
display: flex;
|
|
47
|
+
flex-grow: 1;
|
|
48
|
+
flex-shrink: 0;
|
|
49
|
+
flex-direction: column;
|
|
50
|
+
gap: var(--dsa-contact__body--gap);
|
|
51
|
+
flex-basis: var(--dsa-contact__body--flex-basis);
|
|
52
|
+
}
|
|
53
|
+
.dsa-contact__copy {
|
|
54
|
+
font: var(--dsa-contact__copy--font);
|
|
55
|
+
color: var(--dsa-contact__copy--color);
|
|
56
|
+
}
|
|
57
|
+
.dsa-contact__image-wrap {
|
|
58
|
+
flex: none;
|
|
59
|
+
flex-basis: var(--dsa-contact__image--flex-basis);
|
|
60
|
+
height: 100%;
|
|
61
|
+
width: 100%;
|
|
62
|
+
}
|
|
63
|
+
.dsa-contact--image-full-width .dsa-contact__image-wrap {
|
|
64
|
+
flex-grow: 1;
|
|
65
|
+
}
|
|
66
|
+
.dsa-contact--image-square .dsa-contact__image-wrap {
|
|
67
|
+
aspect-ratio: 1/1;
|
|
68
|
+
}
|
|
69
|
+
.dsa-contact--image-wide .dsa-contact__image-wrap {
|
|
70
|
+
aspect-ratio: 4/3;
|
|
71
|
+
}
|
|
72
|
+
.dsa-contact--image-vertical .dsa-contact__image-wrap {
|
|
73
|
+
aspect-ratio: 3/4;
|
|
74
|
+
}
|
|
75
|
+
.dsa-contact__image {
|
|
76
|
+
width: 100%;
|
|
77
|
+
object-fit: cover;
|
|
78
|
+
height: 100%;
|
|
79
|
+
border-radius: var(--dsa-contact__image--border-radius);
|
|
80
|
+
}
|
|
81
|
+
.dsa-contact__header {
|
|
82
|
+
display: flex;
|
|
83
|
+
flex-direction: column;
|
|
84
|
+
gap: var(--dsa-contact__header--gap);
|
|
85
|
+
}
|
|
86
|
+
.dsa-contact__title {
|
|
87
|
+
font: var(--dsa-contact__title--font);
|
|
88
|
+
color: var(--dsa-contact__title--color);
|
|
89
|
+
font-weight: var(--dsa-contact__title--font-weight);
|
|
90
|
+
}
|
|
91
|
+
.dsa-contact__subtitle {
|
|
92
|
+
font: var(--dsa-contact__subtitle--font);
|
|
93
|
+
color: var(--dsa-contact__subtitle--color);
|
|
94
|
+
font-weight: var(--dsa-contact__subtitle--font-weight);
|
|
95
|
+
}
|
|
96
|
+
.dsa-contact__links {
|
|
97
|
+
display: flex;
|
|
98
|
+
flex-direction: column;
|
|
99
|
+
gap: var(--dsa-contact__links--gap);
|
|
100
|
+
list-style: none;
|
|
101
|
+
padding: 0;
|
|
102
|
+
margin: 0;
|
|
103
|
+
}
|
|
104
|
+
.dsa-contact a.dsa-contact__link {
|
|
105
|
+
color: var(--dsa-contact__link--color);
|
|
106
|
+
font: var(--dsa-contact__link--font);
|
|
107
|
+
font-weight: var(--dsa-contact__link--font-weight);
|
|
108
|
+
}
|
|
109
|
+
.dsa-contact a.dsa-contact__link .icon {
|
|
110
|
+
width: var(--dsa-contact__link__icon--size);
|
|
111
|
+
height: var(--dsa-contact__link__icon--size);
|
|
112
|
+
color: var(--dsa-contact__link__icon--color);
|
|
113
|
+
margin-right: var(--dsa-contact__link__icon--margin-right);
|
|
114
|
+
}
|
|
115
|
+
.dsa-contact a.dsa-contact__link:hover {
|
|
116
|
+
color: var(--dsa-contact__link--color_hover);
|
|
117
|
+
}
|
|
118
|
+
.dsa-contact .c-headline {
|
|
119
|
+
--c-headline--color: var(--dsa-contact__headline--color);
|
|
120
|
+
--c-headline--font: var(--dsa-contact__headline--font);
|
|
121
|
+
--c-headline--font-weight: var(--dsa-contact__headline--font-weight);
|
|
122
|
+
--c-headline__subheadline--color: var(--dsa-contact__headline__subheadline--color);
|
|
123
|
+
--c-headline__subheadline--font: var(--dsa-contact__headline__subheadline--font);
|
|
124
|
+
--c-headline__subheadline--font-weight: var(--dsa-contact__headline__subheadline--font-weight);
|
|
125
|
+
}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "http://schema.mydesignsystem.com/contact.schema.json",
|
|
4
|
+
"title": "Contact",
|
|
5
|
+
"description": "Component used for user interaction",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"image": {
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"src": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"format": "image",
|
|
14
|
+
"title": "Image Source",
|
|
15
|
+
"description": "URL of the image to display",
|
|
16
|
+
"examples": [
|
|
17
|
+
"img/people/author-emily.png"
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
"alt": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"title": "Alt Text",
|
|
23
|
+
"description": "Alt text of the image",
|
|
24
|
+
"examples": [
|
|
25
|
+
"Picture of Jane Smith"
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
"fullWidth": {
|
|
29
|
+
"type": "boolean",
|
|
30
|
+
"title": "Full Width",
|
|
31
|
+
"description": "Image uses all the horizontal space vailable",
|
|
32
|
+
"default": false
|
|
33
|
+
},
|
|
34
|
+
"aspectRatio": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"title": "aspectRatio",
|
|
37
|
+
"description": "Aspect Ratio of the Images",
|
|
38
|
+
"enum": [
|
|
39
|
+
"wide",
|
|
40
|
+
"square",
|
|
41
|
+
"vertical"
|
|
42
|
+
],
|
|
43
|
+
"default": "square"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"additionalProperties": false
|
|
47
|
+
},
|
|
48
|
+
"title": {
|
|
49
|
+
"title": "Title",
|
|
50
|
+
"description": "Name, company name, etc.",
|
|
51
|
+
"type": "string",
|
|
52
|
+
"examples": [
|
|
53
|
+
"Jane Smith"
|
|
54
|
+
]
|
|
55
|
+
},
|
|
56
|
+
"subtitle": {
|
|
57
|
+
"title": "Subtitle",
|
|
58
|
+
"description": "Position, profession, department, location, etc.",
|
|
59
|
+
"type": "string",
|
|
60
|
+
"examples": [
|
|
61
|
+
"CEO at Company"
|
|
62
|
+
]
|
|
63
|
+
},
|
|
64
|
+
"links": {
|
|
65
|
+
"type": "array",
|
|
66
|
+
"items": {
|
|
67
|
+
"type": "object",
|
|
68
|
+
"properties": {
|
|
69
|
+
"icon": {
|
|
70
|
+
"type": "string"
|
|
71
|
+
},
|
|
72
|
+
"label": {
|
|
73
|
+
"type": "string"
|
|
74
|
+
},
|
|
75
|
+
"href": {
|
|
76
|
+
"type": "string",
|
|
77
|
+
"format": "uri"
|
|
78
|
+
},
|
|
79
|
+
"newTab": {
|
|
80
|
+
"title": "Open link in new Tab",
|
|
81
|
+
"description": "Open link in new Tab",
|
|
82
|
+
"type": "boolean",
|
|
83
|
+
"default": false
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
"additionalProperties": false
|
|
87
|
+
},
|
|
88
|
+
"examples": [
|
|
89
|
+
[
|
|
90
|
+
{
|
|
91
|
+
"icon": "phone",
|
|
92
|
+
"label": "0228 / 688 966 20",
|
|
93
|
+
"href": "tel:+4922868896620"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"icon": "email",
|
|
97
|
+
"label": "mail@example.com",
|
|
98
|
+
"href": "mailto:mail@example.com"
|
|
99
|
+
}
|
|
100
|
+
]
|
|
101
|
+
]
|
|
102
|
+
},
|
|
103
|
+
"copy": {
|
|
104
|
+
"title": "Copy text",
|
|
105
|
+
"type": "string"
|
|
106
|
+
},
|
|
107
|
+
"className": {
|
|
108
|
+
"title": "Class",
|
|
109
|
+
"description": "Additional css classes attached to the wrapping element",
|
|
110
|
+
"type": "string"
|
|
111
|
+
},
|
|
112
|
+
"component": {
|
|
113
|
+
"title": "`ks-component` attribute",
|
|
114
|
+
"description": "Optional custom component identifier",
|
|
115
|
+
"type": "string"
|
|
116
|
+
},
|
|
117
|
+
"type": {
|
|
118
|
+
"const": "contact"
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
"additionalProperties": false,
|
|
122
|
+
"required": [
|
|
123
|
+
"name"
|
|
124
|
+
]
|
|
125
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "http://schema.mydesignsystem.com/contact.schema.json",
|
|
4
|
+
"title": "Contact",
|
|
5
|
+
"description": "Component used for user interaction",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"image": {
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"src": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"format": "image",
|
|
14
|
+
"title": "Image Source",
|
|
15
|
+
"description": "URL of the image to display",
|
|
16
|
+
"examples": ["img/people/author-emily.png"]
|
|
17
|
+
},
|
|
18
|
+
"alt": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"title": "Alt Text",
|
|
21
|
+
"description": "Alt text of the image",
|
|
22
|
+
"examples": ["Picture of Jane Smith"]
|
|
23
|
+
},
|
|
24
|
+
"fullWidth": {
|
|
25
|
+
"type": "boolean",
|
|
26
|
+
"title": "Full Width",
|
|
27
|
+
"description": "Image uses all the horizontal space vailable",
|
|
28
|
+
"default": false
|
|
29
|
+
},
|
|
30
|
+
"aspectRatio": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"title": "aspectRatio",
|
|
33
|
+
"description": "Aspect Ratio of the Images",
|
|
34
|
+
"enum": ["wide", "square", "vertical"],
|
|
35
|
+
"default": "square"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"title": {
|
|
40
|
+
"title": "Title",
|
|
41
|
+
"description": "Name, company name, etc.",
|
|
42
|
+
"type": "string",
|
|
43
|
+
"examples": ["Jane Smith"]
|
|
44
|
+
},
|
|
45
|
+
"subtitle": {
|
|
46
|
+
"title": "Subtitle",
|
|
47
|
+
"description": "Position, profession, department, location, etc.",
|
|
48
|
+
"type": "string",
|
|
49
|
+
"examples": ["CEO at Company"]
|
|
50
|
+
},
|
|
51
|
+
"links": {
|
|
52
|
+
"type": "array",
|
|
53
|
+
"items": {
|
|
54
|
+
"type": "object",
|
|
55
|
+
"properties": {
|
|
56
|
+
"icon": {
|
|
57
|
+
"type": "string"
|
|
58
|
+
},
|
|
59
|
+
"label": {
|
|
60
|
+
"type": "string"
|
|
61
|
+
},
|
|
62
|
+
"href": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"format": "uri"
|
|
65
|
+
},
|
|
66
|
+
"newTab": {
|
|
67
|
+
"title": "Open link in new Tab",
|
|
68
|
+
"description": "Open link in new Tab",
|
|
69
|
+
"type": "boolean",
|
|
70
|
+
"default": false
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"additionalProperties": false
|
|
74
|
+
},
|
|
75
|
+
"examples": [
|
|
76
|
+
[
|
|
77
|
+
{
|
|
78
|
+
"icon": "phone",
|
|
79
|
+
"label": "0228 / 688 966 20",
|
|
80
|
+
"href": "tel:+4922868896620"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"icon": "email",
|
|
84
|
+
"label": "mail@example.com",
|
|
85
|
+
"href": "mailto:mail@example.com"
|
|
86
|
+
}
|
|
87
|
+
]
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
"copy": {
|
|
91
|
+
"title": "Copy text",
|
|
92
|
+
"type": "string"
|
|
93
|
+
},
|
|
94
|
+
"className": {
|
|
95
|
+
"title": "Class",
|
|
96
|
+
"description": "Additional css classes attached to the wrapping element",
|
|
97
|
+
"type": "string"
|
|
98
|
+
},
|
|
99
|
+
"component": {
|
|
100
|
+
"title": "`ks-component` attribute",
|
|
101
|
+
"description": "Optional custom component identifier",
|
|
102
|
+
"type": "string"
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
"additionalProperties": false,
|
|
106
|
+
"required": ["name"]
|
|
107
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { HTMLAttributes, FC, PropsWithChildren } 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
|
+
* URL of the image to display
|
|
11
|
+
*/
|
|
12
|
+
type ImageSource = string;
|
|
13
|
+
/**
|
|
14
|
+
* Alt text of the image
|
|
15
|
+
*/
|
|
16
|
+
type AltText = string;
|
|
17
|
+
/**
|
|
18
|
+
* Image uses all the horizontal space vailable
|
|
19
|
+
*/
|
|
20
|
+
type FullWidth = boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Aspect Ratio of the Images
|
|
23
|
+
*/
|
|
24
|
+
type AspectRatio = "wide" | "square" | "vertical";
|
|
25
|
+
/**
|
|
26
|
+
* Name, company name, etc.
|
|
27
|
+
*/
|
|
28
|
+
type Title = string;
|
|
29
|
+
/**
|
|
30
|
+
* Position, profession, department, location, etc.
|
|
31
|
+
*/
|
|
32
|
+
type Subtitle = string;
|
|
33
|
+
/**
|
|
34
|
+
* Open link in new Tab
|
|
35
|
+
*/
|
|
36
|
+
type OpenLinkInNewTab = boolean;
|
|
37
|
+
type CopyText = string;
|
|
38
|
+
/**
|
|
39
|
+
* Additional css classes attached to the wrapping element
|
|
40
|
+
*/
|
|
41
|
+
type Class = string;
|
|
42
|
+
/**
|
|
43
|
+
* Optional custom component identifier
|
|
44
|
+
*/
|
|
45
|
+
type KsComponentAttribute = string;
|
|
46
|
+
/**
|
|
47
|
+
* Component used for user interaction
|
|
48
|
+
*/
|
|
49
|
+
interface ContactProps {
|
|
50
|
+
image?: {
|
|
51
|
+
src?: ImageSource;
|
|
52
|
+
alt?: AltText;
|
|
53
|
+
fullWidth?: FullWidth;
|
|
54
|
+
aspectRatio?: AspectRatio;
|
|
55
|
+
};
|
|
56
|
+
title?: Title;
|
|
57
|
+
subtitle?: Subtitle;
|
|
58
|
+
links?: {
|
|
59
|
+
icon?: string;
|
|
60
|
+
label?: string;
|
|
61
|
+
href?: string;
|
|
62
|
+
newTab?: OpenLinkInNewTab;
|
|
63
|
+
}[];
|
|
64
|
+
copy?: CopyText;
|
|
65
|
+
className?: Class;
|
|
66
|
+
component?: KsComponentAttribute;
|
|
67
|
+
}
|
|
68
|
+
declare const Contact: import("react").ForwardRefExoticComponent<ContactProps & HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLAnchorElement>>;
|
|
69
|
+
declare const ContactProvider: FC<PropsWithChildren>;
|
|
70
|
+
export { Contact, ContactProvider };
|