@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.
Files changed (130) hide show
  1. package/dist/BlogAsideProps-e1cbd5d3.d.ts +74 -0
  2. package/dist/BlogHeadProps-f9a49428.d.ts +31 -0
  3. package/dist/BlogTeaserProps-525f7f9f.d.ts +79 -0
  4. package/dist/FeatureProps-f8a75850.d.ts +52 -0
  5. package/dist/FeaturesProps-b05859d6.d.ts +34 -0
  6. package/dist/SeoProps-f2d6dcaa.d.ts +36 -0
  7. package/dist/{TeaserCardProps-3fce7be4.d.ts → TeaserCardProps-b9c28e78.d.ts} +1 -1
  8. package/dist/components/blog-aside/blog-aside.css +33 -5
  9. package/dist/components/blog-aside/blog-aside.schema.dereffed.json +5 -3
  10. package/dist/components/blog-aside/blog-aside.schema.json +5 -3
  11. package/dist/components/blog-aside/index.d.ts +6 -76
  12. package/dist/components/blog-aside/index.js +17 -10
  13. package/dist/components/blog-head/blog-head.css +22 -2
  14. package/dist/components/blog-head/blog-head.schema.dereffed.json +2 -1
  15. package/dist/components/blog-head/blog-head.schema.json +2 -1
  16. package/dist/components/blog-head/index.d.ts +6 -34
  17. package/dist/components/blog-head/index.js +10 -4
  18. package/dist/components/blog-overview/blog-overview.schema.dereffed.json +18 -0
  19. package/dist/components/blog-overview/index.d.ts +39 -0
  20. package/dist/components/blog-overview/index.js +17 -0
  21. package/dist/components/blog-post/blog-post.schema.dereffed.json +7 -4
  22. package/dist/components/blog-post/index.d.ts +39 -0
  23. package/dist/components/blog-post/index.js +24 -0
  24. package/dist/components/blog-teaser/blog-teaser.css +49 -25
  25. package/dist/components/blog-teaser/blog-teaser.schema.dereffed.json +6 -0
  26. package/dist/components/blog-teaser/blog-teaser.schema.json +6 -0
  27. package/dist/components/blog-teaser/index.d.ts +6 -81
  28. package/dist/components/blog-teaser/index.js +25 -16
  29. package/dist/components/button/button.css +109 -59
  30. package/dist/components/button/index.js +2 -1
  31. package/dist/components/faq/faq.css +27 -14
  32. package/dist/components/faq/faq.schema.dereffed.json +2 -0
  33. package/dist/components/faq/faq.schema.json +2 -0
  34. package/dist/components/faq/index.d.ts +6 -3
  35. package/dist/components/faq/index.js +8 -4
  36. package/dist/components/feature/feature.css +99 -0
  37. package/dist/components/feature/feature.schema.dereffed.json +91 -0
  38. package/dist/components/feature/feature.schema.json +67 -0
  39. package/dist/components/feature/index.d.ts +7 -49
  40. package/dist/components/feature/index.js +19 -15
  41. package/dist/components/features/features.css +7 -93
  42. package/dist/components/features/features.schema.dereffed.json +36 -2
  43. package/dist/components/features/features.schema.json +3 -47
  44. package/dist/components/features/index.d.ts +7 -4
  45. package/dist/components/features/index.js +13 -20
  46. package/dist/components/footer/footer.css +21 -17
  47. package/dist/components/footer/footer.schema.dereffed.json +4 -83
  48. package/dist/components/footer/footer.schema.json +33 -2
  49. package/dist/components/footer/index.d.ts +23 -5
  50. package/dist/components/footer/index.js +1 -1
  51. package/dist/components/gallery/gallery.css +31 -23
  52. package/dist/components/gallery/gallery.schema.dereffed.json +2 -0
  53. package/dist/components/gallery/gallery.schema.json +2 -0
  54. package/dist/components/gallery/index.d.ts +6 -3
  55. package/dist/components/gallery/index.js +11 -6
  56. package/dist/components/header/header.css +19 -43
  57. package/dist/components/header/header.schema.dereffed.json +18 -93
  58. package/dist/components/header/header.schema.json +31 -1
  59. package/dist/components/header/index.d.ts +24 -5
  60. package/dist/components/header/index.js +1 -1
  61. package/dist/components/headline/headline.css +76 -46
  62. package/dist/components/headline/index.d.ts +1 -1
  63. package/dist/components/headline/index.js +1 -1
  64. package/dist/components/hero/hero.css +39 -33
  65. package/dist/components/hero/index.js +1 -1
  66. package/dist/components/image/image.css +12 -6
  67. package/dist/components/image/image.schema.dereffed.json +4 -4
  68. package/dist/components/image/image.schema.json +4 -4
  69. package/dist/components/image/index.d.ts +7 -7
  70. package/dist/components/image-text/image-text.css +14 -3
  71. package/dist/components/image-text/image-text.schema.dereffed.json +2 -0
  72. package/dist/components/image-text/image-text.schema.json +2 -0
  73. package/dist/components/image-text/index.d.ts +7 -4
  74. package/dist/components/image-text/index.js +19 -13
  75. package/dist/components/logo/index.d.ts +27 -0
  76. package/dist/components/logo/index.js +12 -0
  77. package/dist/components/logo/logo.schema.dereffed.json +38 -0
  78. package/dist/components/logo/logo.schema.json +31 -0
  79. package/dist/components/nav-main/index.d.ts +2 -0
  80. package/dist/components/nav-main/index.js +3 -2
  81. package/dist/components/nav-main/nav-main.css +67 -64
  82. package/dist/components/nav-main/nav-main.schema.dereffed.json +17 -11
  83. package/dist/components/nav-main/nav-main.schema.json +15 -12
  84. package/dist/components/nav-main/nav-toggle.css +12 -7
  85. package/dist/components/page/page.schema.dereffed.json +46 -5
  86. package/dist/components/page/page.schema.json +1 -1
  87. package/dist/components/page-wrapper/index.d.ts +2 -3
  88. package/dist/components/page-wrapper/index.js +7 -472
  89. package/dist/components/page-wrapper/tokens.css +40 -40
  90. package/dist/components/providers/index.js +1 -1
  91. package/dist/components/raw-page-wrapper/index.d.ts +3 -0
  92. package/dist/components/raw-page-wrapper/index.js +492 -0
  93. package/dist/components/section/index.d.ts +2 -2
  94. package/dist/components/section/section.schema.dereffed.json +45 -4
  95. package/dist/components/settings/settings.schema.dereffed.json +22 -176
  96. package/dist/components/stat/index.d.ts +32 -0
  97. package/dist/components/stat/index.js +11 -0
  98. package/dist/components/stat/stat.schema.dereffed.json +64 -0
  99. package/dist/components/stat/stat.schema.json +48 -0
  100. package/dist/components/teaser-card/index.d.ts +4 -2
  101. package/dist/components/teaser-card/index.js +16 -13
  102. package/dist/components/teaser-card/teaser-card.css +68 -40
  103. package/dist/components/teaser-card/teaser-card.schema.dereffed.json +2 -2
  104. package/dist/components/teaser-card/teaser-card.schema.json +2 -2
  105. package/dist/components/testimonial/index.d.ts +44 -0
  106. package/dist/components/testimonial/index.js +19 -0
  107. package/dist/components/testimonial/testimonial.schema.dereffed.json +60 -0
  108. package/dist/components/testimonial/testimonial.schema.json +46 -0
  109. package/dist/components/text/index.d.ts +6 -3
  110. package/dist/components/text/index.js +10 -4
  111. package/dist/components/text/text.css +19 -9
  112. package/dist/components/text/text.schema.dereffed.json +1 -0
  113. package/dist/components/text/text.schema.json +1 -0
  114. package/dist/global.css +241 -91
  115. package/dist/static/tokens-business.css +1549 -0
  116. package/dist/static/tokens-google.css +1553 -0
  117. package/dist/static/tokens-ngo.css +1547 -0
  118. package/dist/static/tokens-telekom.css +1549 -0
  119. package/dist/static/tokens.css +1554 -0
  120. package/dist/tokens/tokens.css +40 -40
  121. package/dist/tokens/tokens.js +39 -39
  122. package/package.json +5 -4
  123. package/dist/FeaturesProps-32f5bc0d.d.ts +0 -284
  124. package/dist/tokens/themes.css +0 -4657
  125. package/dist/tokens/themes.css.d.ts +0 -0
  126. package/dist/tokens/themes.css.js +0 -1
  127. /package/dist/static/fonts/{lughausen → business}/novelpro-regular.woff +0 -0
  128. /package/dist/static/fonts/{lughausen → business}/novelsanspro-bold.woff +0 -0
  129. /package/dist/static/fonts/{lughausen → business}/novelsanspro-regular.woff +0 -0
  130. /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 };
@@ -24,7 +24,7 @@ type Target = string;
24
24
  */
25
25
  type Label1 = string;
26
26
  /**
27
- * Toggle chevron icon
27
+ * Toggle arrow icon
28
28
  */
29
29
  type Icon = boolean;
30
30
  /**
@@ -1,9 +1,37 @@
1
- .c-post-aside {
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
- .c-post-aside .c-headline__headline {
5
- --c-headline--font: var(--ks-font-display-m);
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
- .c-post-aside .c-contact__links .icon {
8
- color: var(--g-link--color);
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": "uri",
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
- "format": "email",
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": "uri",
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
- "format": "email",
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
- import { HTMLAttributes, FC } from "react";
2
- /* eslint-disable */
3
- /**
4
- * This file was automatically generated by json-schema-to-typescript.
5
- * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
6
- * and run json-schema-to-typescript to regenerate this file.
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 BlogAside = ({ author, socialSharing, readingTime, date, }) => {
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.twitter)
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.email)
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.name,
41
- image: author.image && { src: author.image },
42
- copy: author.byline,
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
- .c-post-head__image {
2
- margin-bottom: var(--ks-spacing-stack-m);
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": "uri",
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": "uri",
35
+ "format": "image",
35
36
  "examples": ["img/close-up-young-business-team-working.png"]
36
37
  }
37
38
  },
@@ -1,34 +1,6 @@
1
- import { HTMLAttributes, FC } from "react";
2
- /* eslint-disable */
3
- /**
4
- * This file was automatically generated by json-schema-to-typescript.
5
- * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
6
- * and run json-schema-to-typescript to regenerate this file.
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 };