@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
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was automatically generated by json-schema-to-typescript.
|
|
3
|
+
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
|
4
|
+
* and run json-schema-to-typescript to regenerate this file.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* The name of the author
|
|
8
|
+
*/
|
|
9
|
+
type Name = string;
|
|
10
|
+
/**
|
|
11
|
+
* The byline of the author
|
|
12
|
+
*/
|
|
13
|
+
type Byline = string;
|
|
14
|
+
/**
|
|
15
|
+
* The image URL of the author
|
|
16
|
+
*/
|
|
17
|
+
type Image = string;
|
|
18
|
+
/**
|
|
19
|
+
* The Twitter name of the author
|
|
20
|
+
*/
|
|
21
|
+
type Twitter = string;
|
|
22
|
+
/**
|
|
23
|
+
* The Email of the author
|
|
24
|
+
*/
|
|
25
|
+
type Email = string;
|
|
26
|
+
/**
|
|
27
|
+
* The icon name for the social link
|
|
28
|
+
*/
|
|
29
|
+
type Icon = string;
|
|
30
|
+
/**
|
|
31
|
+
* The href for the social link
|
|
32
|
+
*/
|
|
33
|
+
type Href = string;
|
|
34
|
+
/**
|
|
35
|
+
* The title for the social link
|
|
36
|
+
*/
|
|
37
|
+
type Title = string;
|
|
38
|
+
/**
|
|
39
|
+
* The social sharing links for the blog post
|
|
40
|
+
*/
|
|
41
|
+
type SocialSharing = {
|
|
42
|
+
icon: Icon;
|
|
43
|
+
href: Href;
|
|
44
|
+
title: Title;
|
|
45
|
+
}[];
|
|
46
|
+
/**
|
|
47
|
+
* The reading time for the blog post
|
|
48
|
+
*/
|
|
49
|
+
type ReadingTime = string;
|
|
50
|
+
/**
|
|
51
|
+
* The date when the blog post was published
|
|
52
|
+
*/
|
|
53
|
+
type PublishedDate = string;
|
|
54
|
+
/**
|
|
55
|
+
* Meta info for a singular blog entry
|
|
56
|
+
*/
|
|
57
|
+
interface BlogAsideProps {
|
|
58
|
+
author: Author;
|
|
59
|
+
socialSharing?: SocialSharing;
|
|
60
|
+
readingTime?: ReadingTime;
|
|
61
|
+
date: PublishedDate;
|
|
62
|
+
className?: string;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* The author of the blog post
|
|
66
|
+
*/
|
|
67
|
+
interface Author {
|
|
68
|
+
name: Name;
|
|
69
|
+
byline?: Byline;
|
|
70
|
+
image?: Image;
|
|
71
|
+
twitter?: Twitter;
|
|
72
|
+
email?: Email;
|
|
73
|
+
}
|
|
74
|
+
export { Name, Byline, Image, Twitter, Email, Icon, Href, Title, SocialSharing, ReadingTime, PublishedDate, BlogAsideProps, Author };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was automatically generated by json-schema-to-typescript.
|
|
3
|
+
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
|
4
|
+
* and run json-schema-to-typescript to regenerate this file.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* The date when the blog post was published
|
|
8
|
+
*/
|
|
9
|
+
type PublishedDate = string;
|
|
10
|
+
/**
|
|
11
|
+
* The tags associated with the blog post
|
|
12
|
+
*/
|
|
13
|
+
type Tags = string[];
|
|
14
|
+
/**
|
|
15
|
+
* The headline of the blog post
|
|
16
|
+
*/
|
|
17
|
+
type Headline = string;
|
|
18
|
+
/**
|
|
19
|
+
* The source of the cover image for the blog post
|
|
20
|
+
*/
|
|
21
|
+
type CoverImage = string;
|
|
22
|
+
/**
|
|
23
|
+
* Intro portion of a singular blog entry
|
|
24
|
+
*/
|
|
25
|
+
interface BlogHeadProps {
|
|
26
|
+
date?: PublishedDate;
|
|
27
|
+
tags?: Tags;
|
|
28
|
+
headline: Headline;
|
|
29
|
+
image?: CoverImage;
|
|
30
|
+
}
|
|
31
|
+
export { PublishedDate, Tags, Headline, CoverImage, BlogHeadProps };
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was automatically generated by json-schema-to-typescript.
|
|
3
|
+
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
|
4
|
+
* and run json-schema-to-typescript to regenerate this file.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* The date of the blog post
|
|
8
|
+
*/
|
|
9
|
+
type Date = string;
|
|
10
|
+
/**
|
|
11
|
+
* The tags for the blog post
|
|
12
|
+
*/
|
|
13
|
+
type Tags = string[];
|
|
14
|
+
/**
|
|
15
|
+
* The headline of the blog post
|
|
16
|
+
*/
|
|
17
|
+
type Headline = string;
|
|
18
|
+
/**
|
|
19
|
+
* The teaser text of the blog post
|
|
20
|
+
*/
|
|
21
|
+
type TeaserText = string;
|
|
22
|
+
/**
|
|
23
|
+
* The preview image for the blog post
|
|
24
|
+
*/
|
|
25
|
+
type Image = string;
|
|
26
|
+
/**
|
|
27
|
+
* The blog entry URL to link
|
|
28
|
+
*/
|
|
29
|
+
type URL = string;
|
|
30
|
+
/**
|
|
31
|
+
* The label to use for the link
|
|
32
|
+
*/
|
|
33
|
+
type Label = string;
|
|
34
|
+
/**
|
|
35
|
+
* Time to read for the blog post
|
|
36
|
+
*/
|
|
37
|
+
type ReadingTime = string;
|
|
38
|
+
/**
|
|
39
|
+
* The name of the author
|
|
40
|
+
*/
|
|
41
|
+
type Name = string;
|
|
42
|
+
/**
|
|
43
|
+
* The title of the author
|
|
44
|
+
*/
|
|
45
|
+
type Title = string;
|
|
46
|
+
/**
|
|
47
|
+
* The image URL of the author
|
|
48
|
+
*/
|
|
49
|
+
type Image1 = string;
|
|
50
|
+
/**
|
|
51
|
+
* Display a blog teaser with date, tags, headline, teaser text and author
|
|
52
|
+
*/
|
|
53
|
+
interface BlogTeaserProps {
|
|
54
|
+
date?: Date;
|
|
55
|
+
tags?: Tags;
|
|
56
|
+
headline: Headline;
|
|
57
|
+
teaserText: TeaserText;
|
|
58
|
+
image?: Image;
|
|
59
|
+
link?: Link;
|
|
60
|
+
readingTime?: ReadingTime;
|
|
61
|
+
author?: Author;
|
|
62
|
+
className?: string;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* URL and label for the blog post linked
|
|
66
|
+
*/
|
|
67
|
+
interface Link {
|
|
68
|
+
url: URL;
|
|
69
|
+
label?: Label;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* The author of the blog post
|
|
73
|
+
*/
|
|
74
|
+
interface Author {
|
|
75
|
+
name: Name;
|
|
76
|
+
title?: Title;
|
|
77
|
+
image?: Image1;
|
|
78
|
+
}
|
|
79
|
+
export { Date, Tags, Headline, TeaserText, Image, URL, Label, ReadingTime, Name, Title, Image1, BlogTeaserProps, Link, Author };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was automatically generated by json-schema-to-typescript.
|
|
3
|
+
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
|
4
|
+
* and run json-schema-to-typescript to regenerate this file.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* The icon for the feature
|
|
8
|
+
*/
|
|
9
|
+
type Icon = string;
|
|
10
|
+
/**
|
|
11
|
+
* The title of the feature
|
|
12
|
+
*/
|
|
13
|
+
type Title = string;
|
|
14
|
+
/**
|
|
15
|
+
* The description of the feature
|
|
16
|
+
*/
|
|
17
|
+
type Text = string;
|
|
18
|
+
/**
|
|
19
|
+
* The CTA target
|
|
20
|
+
*/
|
|
21
|
+
type CallToActionTarget = string;
|
|
22
|
+
/**
|
|
23
|
+
* The text label displayed on the link
|
|
24
|
+
*/
|
|
25
|
+
type LinkLabel = string;
|
|
26
|
+
/**
|
|
27
|
+
* Activate/disable the CTAs
|
|
28
|
+
*/
|
|
29
|
+
type CallToActionToggle = boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Partial Component used to display a feature
|
|
32
|
+
*/
|
|
33
|
+
interface FeatureProps {
|
|
34
|
+
icon?: Icon;
|
|
35
|
+
title: Title;
|
|
36
|
+
text?: Text;
|
|
37
|
+
style?: "intext" | "stack" | "centered" | "besideLarge" | "besideSmall";
|
|
38
|
+
cta?: CallToAction;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The call to action
|
|
42
|
+
*/
|
|
43
|
+
interface CallToAction {
|
|
44
|
+
target?: CallToActionTarget;
|
|
45
|
+
label?: LinkLabel;
|
|
46
|
+
toggle?: CallToActionToggle;
|
|
47
|
+
/**
|
|
48
|
+
* Choose the style of the CTA
|
|
49
|
+
*/
|
|
50
|
+
style?: "button" | "link" | "intext";
|
|
51
|
+
}
|
|
52
|
+
export { Icon, Title, Text, CallToActionTarget, LinkLabel, CallToActionToggle, FeatureProps, CallToAction };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was automatically generated by json-schema-to-typescript.
|
|
3
|
+
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
|
4
|
+
* and run json-schema-to-typescript to regenerate this file.
|
|
5
|
+
*/
|
|
6
|
+
import { FeatureProps } from "./FeatureProps-f8a75850.js";
|
|
7
|
+
/**
|
|
8
|
+
* The layout variant to use for the features
|
|
9
|
+
*/
|
|
10
|
+
type Layout = "largeTiles" | "smallTiles" | "list";
|
|
11
|
+
/**
|
|
12
|
+
* Activate/disable the CTAs
|
|
13
|
+
*/
|
|
14
|
+
type CTAToggle = boolean;
|
|
15
|
+
/**
|
|
16
|
+
* The features to display
|
|
17
|
+
*
|
|
18
|
+
* @minItems 1
|
|
19
|
+
* @maxItems 8
|
|
20
|
+
*/
|
|
21
|
+
type Features = [FeatureProps] | [FeatureProps, FeatureProps] | [FeatureProps, FeatureProps, FeatureProps] | [FeatureProps, FeatureProps, FeatureProps, FeatureProps] | [FeatureProps, FeatureProps, FeatureProps, FeatureProps, FeatureProps] | [FeatureProps, FeatureProps, FeatureProps, FeatureProps, FeatureProps, FeatureProps] | [FeatureProps, FeatureProps, FeatureProps, FeatureProps, FeatureProps, FeatureProps, FeatureProps] | [FeatureProps, FeatureProps, FeatureProps, FeatureProps, FeatureProps, FeatureProps, FeatureProps, FeatureProps];
|
|
22
|
+
/**
|
|
23
|
+
* Component used to display a set of features
|
|
24
|
+
*/
|
|
25
|
+
interface FeaturesProps {
|
|
26
|
+
layout?: Layout;
|
|
27
|
+
style?: "intext" | "stack" | "centered" | "besideLarge" | "besideSmall";
|
|
28
|
+
ctas?: {
|
|
29
|
+
toggle?: CTAToggle;
|
|
30
|
+
style?: "button" | "link" | "intext";
|
|
31
|
+
};
|
|
32
|
+
feature?: Features;
|
|
33
|
+
}
|
|
34
|
+
export { Layout, CTAToggle, Features, FeaturesProps };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was automatically generated by json-schema-to-typescript.
|
|
3
|
+
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
|
4
|
+
* and run json-schema-to-typescript to regenerate this file.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Title used for the page
|
|
8
|
+
*/
|
|
9
|
+
type Title = string;
|
|
10
|
+
/**
|
|
11
|
+
* Description used for the page
|
|
12
|
+
*/
|
|
13
|
+
type Description = string;
|
|
14
|
+
/**
|
|
15
|
+
* Keywords used for the page
|
|
16
|
+
*/
|
|
17
|
+
type Keywords = string;
|
|
18
|
+
/**
|
|
19
|
+
* Preview image used for the page
|
|
20
|
+
*/
|
|
21
|
+
type PreviewImage = string;
|
|
22
|
+
/**
|
|
23
|
+
* Card preview image (larger, e.g. Twitter) used for the page
|
|
24
|
+
*/
|
|
25
|
+
type CardPreviewImage = string;
|
|
26
|
+
/**
|
|
27
|
+
* Abstracts SEO settings for a website into JSON schema
|
|
28
|
+
*/
|
|
29
|
+
interface SeoProps {
|
|
30
|
+
title: Title;
|
|
31
|
+
description?: Description;
|
|
32
|
+
keywords?: Keywords;
|
|
33
|
+
image?: PreviewImage;
|
|
34
|
+
cardImage?: CardPreviewImage;
|
|
35
|
+
}
|
|
36
|
+
export { Title, Description, Keywords, PreviewImage, CardPreviewImage, SeoProps };
|
|
@@ -1,9 +1,37 @@
|
|
|
1
|
-
.
|
|
1
|
+
.dsa-blog-aside {
|
|
2
|
+
--dsa-blog-aside__title--color: var(--dsa-headline--color);
|
|
3
|
+
--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
|
+
--dsa-blog-aside__links--color: var(--dsa-link--color);
|
|
7
|
+
--dsa-blog-aside__divider--color: var(--ks-border-color-accent);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.dsa-blog-aside {
|
|
2
11
|
--c-post-aside--gap: var(--ks-spacing-stack-s);
|
|
3
12
|
}
|
|
4
|
-
.
|
|
5
|
-
--c-
|
|
13
|
+
.dsa-blog-aside .c-post-meta {
|
|
14
|
+
--c-post-meta--gap: var(--ks-spacing-m);
|
|
15
|
+
--c-post-meta_item--gap: var(--ks-spacing-xs);
|
|
16
|
+
--c-post-meta_item--font: var(--dsa-post-aside__meta__item--font, var(--ks-font-interface-s));
|
|
17
|
+
--c-post-meta_item--color: var(--dsa-post-aside__meta__item--color, var(--ks-text-color-interface));
|
|
18
|
+
--c-post-meta_item--icon-size: var(--dsa-post-aside__meta__item__icon--size, 1.2em);
|
|
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)));
|
|
28
|
+
}
|
|
29
|
+
.dsa-blog-aside .c-contact__links {
|
|
30
|
+
color: var(--dsa-post-aside__links--color, var(--dsa-link--color));
|
|
31
|
+
}
|
|
32
|
+
.dsa-blog-aside .c-contact__links .icon {
|
|
33
|
+
color: inherit;
|
|
6
34
|
}
|
|
7
|
-
.
|
|
8
|
-
|
|
35
|
+
.dsa-blog-aside .c-divider {
|
|
36
|
+
--c-divider--background: var(--dsa-post-aside__divider--color, var(--ks-border-color-accent));
|
|
9
37
|
}
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"title": "Image",
|
|
31
31
|
"description": "The image URL of the author",
|
|
32
32
|
"type": "string",
|
|
33
|
-
"format": "
|
|
33
|
+
"format": "image",
|
|
34
34
|
"examples": [
|
|
35
35
|
"img/people/author-emily.png"
|
|
36
36
|
]
|
|
@@ -39,7 +39,6 @@
|
|
|
39
39
|
"title": "Twitter",
|
|
40
40
|
"description": "The Twitter name of the author",
|
|
41
41
|
"type": "string",
|
|
42
|
-
"format": "uri",
|
|
43
42
|
"examples": [
|
|
44
43
|
"johndoe"
|
|
45
44
|
]
|
|
@@ -48,7 +47,7 @@
|
|
|
48
47
|
"title": "Email",
|
|
49
48
|
"description": "The Email of the author",
|
|
50
49
|
"type": "string",
|
|
51
|
-
"
|
|
50
|
+
"pattern": "^[A-Za-z0-9_!#$%&'*+/=?`{|}~^.-]+@[A-Za-z0-9.-]+$",
|
|
52
51
|
"examples": [
|
|
53
52
|
"johndoe@example.com"
|
|
54
53
|
]
|
|
@@ -118,6 +117,9 @@
|
|
|
118
117
|
"12/30/2022"
|
|
119
118
|
]
|
|
120
119
|
},
|
|
120
|
+
"className": {
|
|
121
|
+
"type": "string"
|
|
122
|
+
},
|
|
121
123
|
"type": {
|
|
122
124
|
"const": "blog-aside"
|
|
123
125
|
}
|
|
@@ -26,21 +26,20 @@
|
|
|
26
26
|
"title": "Image",
|
|
27
27
|
"description": "The image URL of the author",
|
|
28
28
|
"type": "string",
|
|
29
|
-
"format": "
|
|
29
|
+
"format": "image",
|
|
30
30
|
"examples": ["img/people/author-emily.png"]
|
|
31
31
|
},
|
|
32
32
|
"twitter": {
|
|
33
33
|
"title": "Twitter",
|
|
34
34
|
"description": "The Twitter name of the author",
|
|
35
35
|
"type": "string",
|
|
36
|
-
"format": "uri",
|
|
37
36
|
"examples": ["johndoe"]
|
|
38
37
|
},
|
|
39
38
|
"email": {
|
|
40
39
|
"title": "Email",
|
|
41
40
|
"description": "The Email of the author",
|
|
42
41
|
"type": "string",
|
|
43
|
-
"
|
|
42
|
+
"pattern": "^[A-Za-z0-9_!#$%&'*+/=?`{|}~^.-]+@[A-Za-z0-9.-]+$",
|
|
44
43
|
"examples": ["johndoe@example.com"]
|
|
45
44
|
}
|
|
46
45
|
},
|
|
@@ -92,6 +91,9 @@
|
|
|
92
91
|
"type": "string",
|
|
93
92
|
"format": "date",
|
|
94
93
|
"examples": ["12/30/2022"]
|
|
94
|
+
},
|
|
95
|
+
"className": {
|
|
96
|
+
"type": "string"
|
|
95
97
|
}
|
|
96
98
|
},
|
|
97
99
|
"additionalProperties": false,
|
|
@@ -1,76 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* The name of the author
|
|
10
|
-
*/
|
|
11
|
-
type Name = string;
|
|
12
|
-
/**
|
|
13
|
-
* The byline of the author
|
|
14
|
-
*/
|
|
15
|
-
type Byline = string;
|
|
16
|
-
/**
|
|
17
|
-
* The image URL of the author
|
|
18
|
-
*/
|
|
19
|
-
type Image = string;
|
|
20
|
-
/**
|
|
21
|
-
* The Twitter name of the author
|
|
22
|
-
*/
|
|
23
|
-
type Twitter = string;
|
|
24
|
-
/**
|
|
25
|
-
* The Email of the author
|
|
26
|
-
*/
|
|
27
|
-
type Email = string;
|
|
28
|
-
/**
|
|
29
|
-
* The icon name for the social link
|
|
30
|
-
*/
|
|
31
|
-
type Icon = string;
|
|
32
|
-
/**
|
|
33
|
-
* The href for the social link
|
|
34
|
-
*/
|
|
35
|
-
type Href = string;
|
|
36
|
-
/**
|
|
37
|
-
* The title for the social link
|
|
38
|
-
*/
|
|
39
|
-
type Title = string;
|
|
40
|
-
/**
|
|
41
|
-
* The social sharing links for the blog post
|
|
42
|
-
*/
|
|
43
|
-
type SocialSharing = {
|
|
44
|
-
icon: Icon;
|
|
45
|
-
href: Href;
|
|
46
|
-
title: Title;
|
|
47
|
-
}[];
|
|
48
|
-
/**
|
|
49
|
-
* The reading time for the blog post
|
|
50
|
-
*/
|
|
51
|
-
type ReadingTime = string;
|
|
52
|
-
/**
|
|
53
|
-
* The date when the blog post was published
|
|
54
|
-
*/
|
|
55
|
-
type PublishedDate = string;
|
|
56
|
-
/**
|
|
57
|
-
* Meta info for a singular blog entry
|
|
58
|
-
*/
|
|
59
|
-
interface BlogAsideProps {
|
|
60
|
-
author: Author;
|
|
61
|
-
socialSharing?: SocialSharing;
|
|
62
|
-
readingTime?: ReadingTime;
|
|
63
|
-
date: PublishedDate;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* The author of the blog post
|
|
67
|
-
*/
|
|
68
|
-
interface Author {
|
|
69
|
-
name: Name;
|
|
70
|
-
byline?: Byline;
|
|
71
|
-
image?: Image;
|
|
72
|
-
twitter?: Twitter;
|
|
73
|
-
email?: Email;
|
|
74
|
-
}
|
|
75
|
-
declare const BlogAside: FC<BlogAsideProps & HTMLAttributes<HTMLElement>>;
|
|
76
|
-
export { BlogAside };
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { BlogAsideProps } from "../../BlogAsideProps-e1cbd5d3.js";
|
|
3
|
+
declare const BlogAsideContextDefault: import("react").ForwardRefExoticComponent<BlogAsideProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
4
|
+
declare const BlogAsideContext: import("react").Context<import("react").ForwardRefExoticComponent<BlogAsideProps & import("react").RefAttributes<HTMLDivElement>>>;
|
|
5
|
+
declare const BlogAside: import("react").ForwardRefExoticComponent<BlogAsideProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
6
|
+
export { BlogAsideContextDefault, BlogAsideContext, BlogAside };
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import "./blog-aside.css";
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import classnames from 'classnames';
|
|
4
|
+
import { forwardRef, createContext, useContext } from 'react';
|
|
3
5
|
import { PostAside } from '@kickstartds/blog/lib/post-aside';
|
|
4
6
|
|
|
5
|
-
const
|
|
7
|
+
const BlogAsideContextDefault = forwardRef(({ author, socialSharing, readingTime, date, className }, ref) => {
|
|
6
8
|
const socialLinks = socialSharing?.map((link) => {
|
|
7
9
|
return {
|
|
8
10
|
icon: link.icon,
|
|
@@ -22,24 +24,24 @@ const BlogAside = ({ author, socialSharing, readingTime, date, }) => {
|
|
|
22
24
|
text: readingTime,
|
|
23
25
|
});
|
|
24
26
|
const authorLinks = [];
|
|
25
|
-
if (author
|
|
27
|
+
if (author?.twitter)
|
|
26
28
|
authorLinks.push({
|
|
27
29
|
href: `https://twitter.com/${author.twitter}`,
|
|
28
30
|
icon: "twitter",
|
|
29
31
|
newTab: true,
|
|
30
32
|
label: `@${author.twitter}`,
|
|
31
33
|
});
|
|
32
|
-
if (author
|
|
34
|
+
if (author?.email)
|
|
33
35
|
authorLinks.push({
|
|
34
36
|
href: `mailto:${author.email}`,
|
|
35
37
|
icon: "email",
|
|
36
38
|
newTab: false,
|
|
37
39
|
label: author.email,
|
|
38
40
|
});
|
|
39
|
-
return (jsx(PostAside, { author: {
|
|
40
|
-
title: author
|
|
41
|
-
image: author
|
|
42
|
-
copy: author
|
|
41
|
+
return (jsx(PostAside, { className: classnames(className, "dsa-blog-aside"), author: {
|
|
42
|
+
title: author?.name,
|
|
43
|
+
image: author?.image && { src: author.image },
|
|
44
|
+
copy: author?.byline,
|
|
43
45
|
links: authorLinks,
|
|
44
46
|
}, shareBar: {
|
|
45
47
|
headline: {
|
|
@@ -49,7 +51,12 @@ const BlogAside = ({ author, socialSharing, readingTime, date, }) => {
|
|
|
49
51
|
links: socialLinks,
|
|
50
52
|
}, meta: {
|
|
51
53
|
items: metaItems,
|
|
52
|
-
} }));
|
|
53
|
-
};
|
|
54
|
+
}, ref: ref }));
|
|
55
|
+
});
|
|
56
|
+
const BlogAsideContext = createContext(BlogAsideContextDefault);
|
|
57
|
+
const BlogAside = forwardRef((props, ref) => {
|
|
58
|
+
const Component = useContext(BlogAsideContext);
|
|
59
|
+
return jsx(Component, { ...props, ref: ref });
|
|
60
|
+
});
|
|
54
61
|
|
|
55
|
-
export { BlogAside };
|
|
62
|
+
export { BlogAside, BlogAsideContext, BlogAsideContextDefault };
|
|
@@ -1,3 +1,23 @@
|
|
|
1
|
-
.
|
|
2
|
-
|
|
1
|
+
.dsa-blog-head {
|
|
2
|
+
--dsa-blog-head__date--font: var(--ks-font-interface-xs);
|
|
3
|
+
--dsa-blog-head__date--font-weight: var(--ks-font-weight-bold);
|
|
4
|
+
--dsa-blog-head__date--color: var(--ks-text-color-interface);
|
|
5
|
+
--dsa-blog-head__headline--font: var(--dsa-headline_h2--font);
|
|
6
|
+
--dsa-blog-head__headline--font-weight: var(--dsa-headline--font-weight);
|
|
7
|
+
--dsa-blog-head__headline--color: var(--dsa-headline--color);
|
|
8
|
+
--dsa-blog-head--margin-bottom: var(--ks-spacing-stack-m);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.dsa-post-head.c-post-head {
|
|
12
|
+
--c-post-head_date--font: var(--dsa-blog-head__date--font, var(--ks-font-interface-xs));
|
|
13
|
+
--c-post-head_date--font-weight: var(--dsa-blog-head__date--font-weight, var(--ks-font-weight-bold));
|
|
14
|
+
--c-post-head_date--color: var(--dsa-blog-head__date--color, var(--ks-text-color-interface));
|
|
15
|
+
}
|
|
16
|
+
.dsa-post-head.c-post-head .dsa-headline__headline {
|
|
17
|
+
font: var(--dsa-blog-head__headline--font, var(--dsa-headline_h2--font, var(--ks-font-display-l)));
|
|
18
|
+
font-weight: var(--dsa-blog-head__headline--font-weight, var(--dsa-headline--font-weight, var(--ks-font-weight-medium)));
|
|
19
|
+
color: var(--dsa-blog-head__headline--color, var(--dsa-headline--color, var(--ks-text-color-display)));
|
|
20
|
+
}
|
|
21
|
+
.dsa-post-head.c-post-head .c-post-head__image {
|
|
22
|
+
margin-bottom: var(--dsa-blog-head--margin-bottom, var(--ks-spacing-stack-m));
|
|
3
23
|
}
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"title": "Headline",
|
|
31
31
|
"description": "The headline of the blog post",
|
|
32
32
|
"type": "string",
|
|
33
|
+
"format": "markdown",
|
|
33
34
|
"examples": [
|
|
34
35
|
"This is a blog post headline"
|
|
35
36
|
]
|
|
@@ -38,7 +39,7 @@
|
|
|
38
39
|
"title": "Cover Image",
|
|
39
40
|
"description": "The source of the cover image for the blog post",
|
|
40
41
|
"type": "string",
|
|
41
|
-
"format": "
|
|
42
|
+
"format": "image",
|
|
42
43
|
"examples": [
|
|
43
44
|
"img/close-up-young-business-team-working.png"
|
|
44
45
|
]
|
|
@@ -25,13 +25,14 @@
|
|
|
25
25
|
"title": "Headline",
|
|
26
26
|
"description": "The headline of the blog post",
|
|
27
27
|
"type": "string",
|
|
28
|
+
"format": "markdown",
|
|
28
29
|
"examples": ["This is a blog post headline"]
|
|
29
30
|
},
|
|
30
31
|
"image": {
|
|
31
32
|
"title": "Cover Image",
|
|
32
33
|
"description": "The source of the cover image for the blog post",
|
|
33
34
|
"type": "string",
|
|
34
|
-
"format": "
|
|
35
|
+
"format": "image",
|
|
35
36
|
"examples": ["img/close-up-young-business-team-working.png"]
|
|
36
37
|
}
|
|
37
38
|
},
|
|
@@ -1,34 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* The date when the blog post was published
|
|
10
|
-
*/
|
|
11
|
-
type PublishedDate = string;
|
|
12
|
-
/**
|
|
13
|
-
* The tags associated with the blog post
|
|
14
|
-
*/
|
|
15
|
-
type Tags = string[];
|
|
16
|
-
/**
|
|
17
|
-
* The headline of the blog post
|
|
18
|
-
*/
|
|
19
|
-
type Headline = string;
|
|
20
|
-
/**
|
|
21
|
-
* The source of the cover image for the blog post
|
|
22
|
-
*/
|
|
23
|
-
type CoverImage = string;
|
|
24
|
-
/**
|
|
25
|
-
* Intro portion of a singular blog entry
|
|
26
|
-
*/
|
|
27
|
-
interface BlogHeadProps {
|
|
28
|
-
date?: PublishedDate;
|
|
29
|
-
tags?: Tags;
|
|
30
|
-
headline: Headline;
|
|
31
|
-
image?: CoverImage;
|
|
32
|
-
}
|
|
33
|
-
declare const BlogHead: FC<BlogHeadProps & HTMLAttributes<HTMLElement>>;
|
|
34
|
-
export { BlogHead };
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { BlogHeadProps } from "../../BlogHeadProps-f9a49428.js";
|
|
3
|
+
declare const BlogHeadContextDefault: import("react").ForwardRefExoticComponent<BlogHeadProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
4
|
+
declare const BlogHeadContext: import("react").Context<import("react").ForwardRefExoticComponent<BlogHeadProps & import("react").RefAttributes<HTMLDivElement>>>;
|
|
5
|
+
declare const BlogHead: import("react").ForwardRefExoticComponent<BlogHeadProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
6
|
+
export { BlogHeadContextDefault, BlogHeadContext, BlogHead };
|