@kickstartds/ds-agency-premium 1.4.14 → 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.
Files changed (48) hide show
  1. package/dist/{BlogAsideProps-e1cbd5d3.d.ts → BlogAsideProps-99489f0b.d.ts} +11 -4
  2. package/dist/{BlogOverviewProps-83d399b4.d.ts → BlogOverviewProps-9f207f1c.d.ts} +2 -2
  3. package/dist/{BlogPostProps-3f6e4072.d.ts → BlogPostProps-99489f0b.d.ts} +2 -2
  4. package/dist/{PageProps-83d399b4.d.ts → PageProps-aa29c554.d.ts} +1 -1
  5. package/dist/{SectionProps-03ff6d21.d.ts → SectionProps-83d399b4.d.ts} +1 -1
  6. package/dist/components/blog-aside/blog-aside.css +8 -16
  7. package/dist/components/blog-aside/blog-aside.schema.dereffed.json +21 -7
  8. package/dist/components/blog-aside/blog-aside.schema.json +16 -5
  9. package/dist/components/blog-aside/index.d.ts +1 -1
  10. package/dist/components/blog-aside/index.js +2 -2
  11. package/dist/components/blog-overview/index.d.ts +1 -1
  12. package/dist/components/blog-post/blog-post.schema.dereffed.json +21 -7
  13. package/dist/components/blog-post/index.d.ts +1 -1
  14. package/dist/components/blog-post/index.js +1 -1
  15. package/dist/components/blog-teaser/index.d.ts +1 -1
  16. package/dist/components/contact/contact.css +125 -0
  17. package/dist/components/contact/contact.schema.dereffed.json +125 -0
  18. package/dist/components/contact/contact.schema.json +107 -0
  19. package/dist/components/contact/index.d.ts +70 -0
  20. package/dist/components/contact/index.js +16 -0
  21. package/dist/components/hero/hero.css +2 -2
  22. package/dist/components/html/html.schema.json +25 -0
  23. package/dist/components/html/index.d.ts +26 -0
  24. package/dist/components/html/index.js +6 -0
  25. package/dist/components/image-story/index.d.ts +1 -1
  26. package/dist/components/index/index.d.ts +3 -3
  27. package/dist/components/page/index.d.ts +1 -1
  28. package/dist/components/page-wrapper/index.js +6 -0
  29. package/dist/components/page-wrapper/tokens.css +9 -9
  30. package/dist/components/presets.json +140 -6
  31. package/dist/components/providers/index.js +7 -1
  32. package/dist/components/section/index.d.ts +1 -1
  33. package/dist/components/split/index.d.ts +2 -1
  34. package/dist/components/split/index.js +11 -1
  35. package/dist/components/split/split.css +36 -10
  36. package/dist/components/split/split.schema.dereffed.json +12 -3
  37. package/dist/components/split/split.schema.json +7 -1
  38. package/dist/components/video-curtain/video-curtain.css +2 -2
  39. package/dist/static/img/people/author-john.png +0 -0
  40. package/dist/static/img/people/contact-jim.png +0 -0
  41. package/dist/static/img/people/contact-john.png +0 -0
  42. package/dist/static/img/people/portrait-young-girl-smiling.jpg +0 -0
  43. package/dist/tokens/themes.css +4 -4
  44. package/dist/tokens/tokens.css +9 -9
  45. package/dist/tokens/tokens.js +9 -9
  46. package/package.json +1 -1
  47. /package/dist/{BlogTeaserProps-71a3cb5c.d.ts → BlogTeaserProps-f5855e93.d.ts} +0 -0
  48. /package/dist/{ImageStoryProps-03ff6d21.d.ts → ImageStoryProps-e853e1e7.d.ts} +0 -0
@@ -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 };
@@ -0,0 +1,16 @@
1
+ import "./contact.css";
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { forwardRef } from 'react';
4
+ import classnames from 'classnames';
5
+ import { Picture } from '@kickstartds/base/lib/picture';
6
+ import { ContactContext } from '@kickstartds/base/lib/contact';
7
+ import { Link } from '@kickstartds/base/lib/link';
8
+ import { Icon } from '@kickstartds/base/lib/icon';
9
+ import { RichText } from '@kickstartds/base/lib/rich-text';
10
+ import { Container } from '@kickstartds/core/lib/container';
11
+
12
+ const Contact = forwardRef(({ title, subtitle, image, links, copy, className, ...props }, ref) => (jsx(Container, { name: "contact", children: jsxs("address", { className: classnames("dsa-contact", image?.aspectRatio && `dsa-contact--image-${image?.aspectRatio}`, image?.fullWidth && `dsa-contact--image-full-width`, className), ref: ref, ...props, children: [image && image.src ? (jsx("div", { className: "dsa-contact__image-wrap", children: jsx(Picture, { ...image, className: "dsa-contact__image" }) })) : (""), jsxs("div", { className: "dsa-contact__body", children: [title && (jsxs("div", { className: "dsa-contact__header", children: [jsx("span", { className: "dsa-contact__title", children: title }), jsx("span", { className: "dsa-contact__subtitle", children: subtitle })] })), copy && jsx(RichText, { text: copy, className: "dsa-contact__copy" }), links.length ? (jsx("ul", { className: "dsa-contact__links", children: links.map(({ icon, href, label, newTab }, i) => (jsx("li", { children: jsxs(Link, { className: "dsa-contact__link", href: href, ...(newTab ? { target: "_blank", rel: "noopener" } : {}), children: [jsx(Icon, { icon: icon }), label] }) }, i))) })) : ("")] })] }) })));
13
+ Contact.displayName = "Contact";
14
+ const ContactProvider = (props) => (jsx(ContactContext.Provider, { ...props, value: Contact }));
15
+
16
+ export { Contact, ContactProvider };
@@ -1,5 +1,5 @@
1
1
  .dsa-hero {
2
- --dsa-hero__headline--color: var(--dsa-headline__headline--color);
2
+ --dsa-hero__headline--color: var(--dsa-headline--color);
3
3
  --dsa-hero__subheadline--color: var(--dsa-headline__subheadline--color);
4
4
  --dsa-hero_color-neutral__headline--color: var(--ks-text-color-default);
5
5
  --dsa-hero_color-neutral__subheadline--color: var(--ks-text-color-default);
@@ -57,7 +57,7 @@
57
57
  }
58
58
 
59
59
  .c-visual.dsa-hero .dsa-headline .dsa-headline__headline {
60
- color: var(--dsa-hero__headline--color, var(--dsa-headline__headline--color, var(--ks-text-color-display)));
60
+ color: var(--dsa-hero__headline--color, var(--dsa-headline--color, var(--ks-text-color-display)));
61
61
  }
62
62
  .c-visual.dsa-hero .dsa-headline .dsa-headline__subheadline {
63
63
  color: var(--dsa-hero__subheadline--color, var(--dsa-headline__subheadline--color, var(--ks-text-color-primary)));
@@ -0,0 +1,25 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.kickstartds.com/base/html.schema.json",
4
+ "title": "HTML",
5
+ "description": "Display raw HTML.",
6
+ "type": "object",
7
+ "properties": {
8
+ "html": {
9
+ "title": "HTML string",
10
+ "type": "string",
11
+ "examples": ["<p>Hello world!</p>"]
12
+ },
13
+ "className": {
14
+ "title": "Additional Classes",
15
+ "description": "Add additional css classes that should be applied to the element",
16
+ "type": "string"
17
+ },
18
+ "component": {
19
+ "title": "`ks-component` attribute",
20
+ "description": "Optional custom component identifier",
21
+ "type": "string"
22
+ }
23
+ },
24
+ "additionalProperties": false
25
+ }
@@ -0,0 +1,26 @@
1
+ import { ForwardRefRenderFunction, HTMLAttributes } 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 `yarn run schema` to regenerate this file.
7
+ */
8
+ type HTMLString = string;
9
+ /**
10
+ * Add additional css classes that should be applied to the element
11
+ */
12
+ type AdditionalClasses = string;
13
+ /**
14
+ * Optional custom component identifier
15
+ */
16
+ type KsComponentAttribute = string;
17
+ /**
18
+ * Display raw HTML.
19
+ */
20
+ interface HTMLProps {
21
+ html?: HTMLString;
22
+ className?: AdditionalClasses;
23
+ component?: KsComponentAttribute;
24
+ }
25
+ declare const HtmlComponent: ForwardRefRenderFunction<HTMLDivElement, HTMLProps & HTMLAttributes<HTMLDivElement>>;
26
+ export { HTMLProps, HtmlComponent };
@@ -0,0 +1,6 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import classnames from 'classnames';
3
+
4
+ const HtmlComponent = ({ html, className, component, ...props }, ref) => (jsx("div", { className: classnames('c-html', className), dangerouslySetInnerHTML: { __html: html }, "ks-component": component, ref: ref, ...props }));
5
+
6
+ export { HtmlComponent };
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { HTMLAttributes } from "react";
3
- import { ImageStoryProps } from "../../ImageStoryProps-03ff6d21.js";
3
+ import { ImageStoryProps } from "../../ImageStoryProps-e853e1e7.js";
4
4
  declare const ImageStoryContextDefault: import("react").ForwardRefExoticComponent<ImageStoryProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
5
5
  declare const ImageStoryContext: import("react").Context<import("react").ForwardRefExoticComponent<ImageStoryProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
6
6
  declare const ImageStory: import("react").ForwardRefExoticComponent<ImageStoryProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
@@ -24,7 +24,7 @@ interface SettingsProps {
24
24
  */
25
25
  seo: SeoProps;
26
26
  }
27
- export * from "../../BlogPostProps-3f6e4072.js";
28
- export * from "../../BlogOverviewProps-83d399b4.js";
29
- export * from "../../PageProps-83d399b4.js";
27
+ export * from "../../BlogPostProps-99489f0b.js";
28
+ export * from "../../BlogOverviewProps-9f207f1c.js";
29
+ export * from "../../PageProps-aa29c554.js";
30
30
  export { SettingsProps };
@@ -1,4 +1,4 @@
1
- import { PageProps } from "../../PageProps-83d399b4.js";
1
+ import { PageProps } from "../../PageProps-aa29c554.js";
2
2
  import { FC, PropsWithChildren } from "react";
3
3
  declare const Page: FC<PropsWithChildren<PageProps>>;
4
4
  export { Page };
@@ -15,6 +15,12 @@ import '@kickstartds/core/lib/component';
15
15
  import '../teaser-card/index.js';
16
16
  import '@kickstartds/base/lib/teaser-box';
17
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';
23
+ import '@kickstartds/base/lib/rich-text';
18
24
  import '../headline/index.js';
19
25
  import 'markdown-to-jsx';
20
26
  import '@kickstartds/base/lib/headline';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Tue, 03 Sep 2024 06:57:07 GMT
3
+ * Generated on Tue, 03 Sep 2024 13:04:06 GMT
4
4
  */
5
5
  :root, [ks-theme] {
6
6
  --ks-background-color-accent-base: var(--ks-color-primary-to-bg-8-base);
@@ -115,8 +115,8 @@
115
115
  --ks-background-color-secondary-inverted-interactive-active-base: var(--ks-color-secondary-inverted-to-bg-2-base);
116
116
  --ks-background-color-secondary-inverted-interactive-selected-base: var(--ks-color-secondary-inverted-to-bg-4-base);
117
117
  --ks-background-color-secondary-inverted-translucent-base: var(--ks-color-secondary-inverted-alpha-5-base);
118
- --ks-border-color-accent-base: var(--ks-color-primary-to-bg-8-base);
119
- --ks-border-color-accent-inverted-base: var(--ks-color-primary-inverted-to-bg-8-base);
118
+ --ks-border-color-accent-base: var(--ks-color-fg-to-bg-7-base);
119
+ --ks-border-color-accent-inverted-base: var(--ks-color-fg-inverted-to-bg-7-base);
120
120
  --ks-border-color-clear-base: var(--ks-color-transparent-base);
121
121
  --ks-border-color-clear-interactive-base: var(--ks-color-transparent-base);
122
122
  --ks-border-color-clear-interactive-hover-base: var(--ks-color-primary-alpha-8-base);
@@ -807,14 +807,14 @@
807
807
  --ks-spacing-inset-stretch-xl: var(--ks-spacing-xxl) var(--ks-spacing-xl);
808
808
  --ks-text-color-default-base: var(--ks-color-fg-base);
809
809
  --ks-text-color-default-interactive-base: var(--ks-color-link-base);
810
- --ks-text-color-default-interactive-hover-base: var(--ks-color-link-base);
811
- --ks-text-color-default-interactive-active-base: var(--ks-color-link-base);
812
- --ks-text-color-default-interactive-selected-base: var(--ks-color-link-base);
810
+ --ks-text-color-default-interactive-hover-base: var(--ks-color-link-to-fg-5-base);
811
+ --ks-text-color-default-interactive-active-base: var(--ks-color-link-to-fg-5-base);
812
+ --ks-text-color-default-interactive-selected-base: var(--ks-color-link-to-fg-5-base);
813
813
  --ks-text-color-default-inverted-base: var(--ks-color-fg-inverted-base);
814
814
  --ks-text-color-default-inverted-interactive-base: var(--ks-color-link-inverted-base);
815
- --ks-text-color-default-inverted-interactive-hover-base: var(--ks-color-link-inverted-base);
816
- --ks-text-color-default-inverted-interactive-active-base: var(--ks-color-link-inverted-base);
817
- --ks-text-color-default-inverted-interactive-selected-base: var(--ks-color-link-inverted-base);
815
+ --ks-text-color-default-inverted-interactive-hover-base: var(--ks-color-link-inverted-to-fg-5-base);
816
+ --ks-text-color-default-inverted-interactive-active-base: var(--ks-color-link-inverted-to-fg-5-base);
817
+ --ks-text-color-default-inverted-interactive-selected-base: var(--ks-color-link-inverted-to-fg-5-base);
818
818
  --ks-text-color-copy-base: var(--ks-color-fg-alpha-3-base);
819
819
  --ks-text-color-copy-interactive-base: var(--ks-color-link-base);
820
820
  --ks-text-color-copy-interactive-hover-base: var(--ks-color-link-to-fg-2-base);
@@ -3,12 +3,15 @@
3
3
  "id": "blog-blog-aside--default",
4
4
  "group": "Blog/ Blog Aside",
5
5
  "name": "Default",
6
- "code": "<BlogAside\n author={{\n byline: 'CEO at Company',\n email: 'jane.smith@example.com',\n image: 'img/people/author-emily.png',\n name: 'Jane Smith',\n twitter: 'jane_smith'\n }}\n date=\"12/30/2022\"\n readingTime=\"5 min read\"\n socialSharing={[\n {\n href: 'https://twitter.com/share?text=The%20Future%20of%20AI&url=https://example.com/blog/the-future-of-ai',\n icon: 'twitter',\n title: 'Share on Twitter'\n },\n {\n href: 'https://www.linkedin.com/shareArticle?mini=true&url=https://example.com/blog/the-future-of-ai&title=The%20Future%20of%20AI&summary=The%20Future%20of%20AI&source=LinkedIn',\n icon: 'linkedin',\n title: 'Share on LinkedIn'\n }\n ]}\n/>",
6
+ "code": "<BlogAside\n author={{\n byline: 'CEO at Company',\n email: 'jane.smith@example.com',\n image: {\n alt: 'Picture of Jane Smith',\n src: 'img/people/author-emily.png'\n },\n name: 'Jane Smith',\n twitter: 'jane_smith'\n }}\n date=\"12/30/2022\"\n readingTime=\"5 min read\"\n socialSharing={[\n {\n href: 'https://twitter.com/share?text=The%20Future%20of%20AI&url=https://example.com/blog/the-future-of-ai',\n icon: 'twitter',\n title: 'Share on Twitter'\n },\n {\n href: 'https://www.linkedin.com/shareArticle?mini=true&url=https://example.com/blog/the-future-of-ai&title=The%20Future%20of%20AI&summary=The%20Future%20of%20AI&source=LinkedIn',\n icon: 'linkedin',\n title: 'Share on LinkedIn'\n }\n ]}\n title=\"Blog Post\"\n/>",
7
7
  "args": {
8
8
  "author": {
9
9
  "name": "Jane Smith",
10
10
  "byline": "CEO at Company",
11
- "image": "img/people/author-emily.png",
11
+ "image": {
12
+ "src": "img/people/author-emily.png",
13
+ "alt": "Picture of Jane Smith"
14
+ },
12
15
  "twitter": "jane_smith",
13
16
  "email": "jane.smith@example.com"
14
17
  },
@@ -25,7 +28,8 @@
25
28
  }
26
29
  ],
27
30
  "readingTime": "5 min read",
28
- "date": "12/30/2022"
31
+ "date": "12/30/2022",
32
+ "title": "Blog Post"
29
33
  },
30
34
  "screenshot": "img/screenshots/blog-blog-aside--default.png"
31
35
  },
@@ -439,7 +443,7 @@
439
443
  "id": "pages-archetypes--blog-post",
440
444
  "group": "Pages/Archetypes",
441
445
  "name": "BlogPost",
442
- "code": "<BlogPost\n aside={{\n author: {\n byline: 'Senior Developer',\n email: 'Jane.doe@example.com',\n image: 'img/people/author-emily.png',\n name: 'Jane Doe',\n twitter: 'Janedoe'\n },\n date: '12/30/2022',\n readingTime: '5 min read',\n socialSharing: [\n {\n href: 'https://twitter.com/share?text=This%20is%20a%20blog%20post%20headline&url=https://example.com/blog',\n icon: 'twitter',\n title: 'Share on Twitter'\n },\n {\n href: 'https://www.linkedin.com/shareArticle?mini=true&url=https://example.com/blog&title=This%20is%20a%20blog%20post%20headline',\n icon: 'linkedin',\n title: 'Share on LinkedIn'\n }\n ]\n }}\n content=\"\n## Introduction\nThe future of **ArtiEficial Intelligence (AI)** is a topic that has been the subject of much debate. It's a field that's constantly evolving, with new advancements and breakthroughs happening all the time. [Learn more about AI](https://en.wikipedia.org/wiki/Artificial_intelligence)\n\n## The Current State of AI\nToday, AI is already a part of our daily lives. From *smart home devices* to *recommendation algorithms* on our favorite streaming services, AI is everywhere.\n\n## The Potential of AI\nThe potential of AI is immense. It has the ability to revolutionize industries, from healthcare to finance, and everything in between.\n\n## The Challenges of AI\nHowever, with great potential comes great challenges. Issues such as data privacy and the ethical implications of AI are just some of the hurdles that need to be overcome.\n\n## The Role of AI in Society\nAI has the potential to greatly impact society. It can lead to job creation in new industries, and can also help solve complex societal problems.\n\n## Conclusion\nThe future of AI is exciting and full of potential. However, it's important that we navigate this future with caution, ensuring that the benefits of AI are accessible to all, while minimizing its potential risks.\n \"\n cta={{\n buttons: [\n {\n icon: 'person',\n label: 'Contact Us',\n target: '#'\n },\n {\n icon: 'date',\n label: 'Learn More',\n target: '#'\n }\n ],\n colorNeutral: false,\n contentAlign: 'center',\n fullWidth: false,\n headline: 'Ready to Transform Your Development Process?',\n highlightText: false,\n image: {\n padding: true\n },\n order: {\n desktopImageLast: true,\n mobileImageLast: false\n },\n sub: 'Start your journey today.',\n text: 'Get started with our design system today and experience a new level of efficiency and consistency in your projects.',\n textAlign: 'center'\n }}\n head={{\n date: '12/30/2022',\n headline: 'The Future of AI: A Glimpse into the Unseen',\n image: 'img/close-up-young-business-team-working.png',\n tags: [\n {\n entry: 'Technology'\n },\n {\n entry: 'AI'\n }\n ]\n }}\n section={[\n {\n backgroundColor: 'default',\n buttons: [\n {\n disabled: false,\n label: 'Book a meeting',\n size: 'medium',\n variant: 'secondary'\n },\n {\n disabled: false,\n label: 'Book a meeting',\n size: 'medium',\n variant: 'secondary'\n },\n {\n disabled: false,\n label: 'Book a meeting',\n size: 'medium',\n variant: 'secondary'\n }\n ],\n content: {\n align: 'center',\n gutter: 'default',\n mode: 'list',\n tileWidth: 'default',\n width: 'unset'\n },\n headerSpacing: false,\n headline: {\n large: false,\n text: 'Section headline',\n width: 'unset'\n },\n inverted: false,\n spaceAfter: 'default',\n spaceBefore: 'default',\n spotlight: false,\n style: 'default',\n width: 'default'\n },\n {\n backgroundColor: 'default',\n buttons: [\n {\n disabled: false,\n label: 'Book a meeting',\n size: 'medium',\n variant: 'secondary'\n },\n {\n disabled: false,\n label: 'Book a meeting',\n size: 'medium',\n variant: 'secondary'\n },\n {\n disabled: false,\n label: 'Book a meeting',\n size: 'medium',\n variant: 'secondary'\n }\n ],\n content: {\n align: 'center',\n gutter: 'default',\n mode: 'list',\n tileWidth: 'default',\n width: 'unset'\n },\n headerSpacing: false,\n headline: {\n large: false,\n text: 'Section headline',\n width: 'unset'\n },\n inverted: false,\n spaceAfter: 'default',\n spaceBefore: 'default',\n spotlight: false,\n style: 'default',\n width: 'default'\n },\n {\n backgroundColor: 'default',\n buttons: [\n {\n disabled: false,\n label: 'Book a meeting',\n size: 'medium',\n variant: 'secondary'\n },\n {\n disabled: false,\n label: 'Book a meeting',\n size: 'medium',\n variant: 'secondary'\n },\n {\n disabled: false,\n label: 'Book a meeting',\n size: 'medium',\n variant: 'secondary'\n }\n ],\n content: {\n align: 'center',\n gutter: 'default',\n mode: 'list',\n tileWidth: 'default',\n width: 'unset'\n },\n headerSpacing: false,\n headline: {\n large: false,\n text: 'Section headline',\n width: 'unset'\n },\n inverted: false,\n spaceAfter: 'default',\n spaceBefore: 'default',\n spotlight: false,\n style: 'default',\n width: 'default'\n }\n ]}\n/>",
446
+ "code": "<BlogPost\n aside={{\n author: {\n byline: 'Senior Developer',\n email: 'Jane.doe@example.com',\n image: {\n alt: 'Picture of Jane Smith',\n src: 'img/people/author-emily.png'\n },\n name: 'Jane Doe',\n twitter: 'Janedoe'\n },\n date: '12/30/2022',\n readingTime: '5 min read',\n socialSharing: [\n {\n href: 'https://twitter.com/share?text=This%20is%20a%20blog%20post%20headline&url=https://example.com/blog',\n icon: 'twitter',\n title: 'Share on Twitter'\n },\n {\n href: 'https://www.linkedin.com/shareArticle?mini=true&url=https://example.com/blog&title=This%20is%20a%20blog%20post%20headline',\n icon: 'linkedin',\n title: 'Share on LinkedIn'\n }\n ]\n }}\n content=\"\n## Introduction\nThe future of **Artificial Intelligence (AI)** is a topic that has been the subject of much debate. It's a field that's constantly evolving, with new advancements and breakthroughs happening all the time. [Learn more about AI](https://en.wikipedia.org/wiki/Artificial_intelligence)\n\n## The Current State of AI\nToday, AI is already a part of our daily lives. From *smart home devices* to *recommendation algorithms* on our favorite streaming services, AI is everywhere.\n\n## The Potential of AI\nThe potential of AI is immense. It has the ability to revolutionize industries, from healthcare to finance, and everything in between.\n\n## The Challenges of AI\nHowever, with great potential comes great challenges. Issues such as data privacy and the ethical implications of AI are just some of the hurdles that need to be overcome.\n\n## The Role of AI in Society\nAI has the potential to greatly impact society. It can lead to job creation in new industries, and can also help solve complex societal problems.\n\n## Conclusion\nThe future of AI is exciting and full of potential. However, it's important that we navigate this future with caution, ensuring that the benefits of AI are accessible to all, while minimizing its potential risks.\n \"\n cta={{\n buttons: [\n {\n icon: 'person',\n label: 'Contact Us',\n target: '#'\n },\n {\n icon: 'date',\n label: 'Learn More',\n target: '#'\n }\n ],\n colorNeutral: false,\n contentAlign: 'center',\n fullWidth: false,\n headline: 'Ready to Transform Your Development Process?',\n highlightText: false,\n image: {\n padding: true\n },\n order: {\n desktopImageLast: true,\n mobileImageLast: false\n },\n sub: 'Start your journey today.',\n text: 'Get started with our design system today and experience a new level of efficiency and consistency in your projects.',\n textAlign: 'center'\n }}\n head={{\n date: '12/30/2022',\n headline: 'The Future of AI: A Glimpse into the Unseen',\n image: 'img/close-up-young-business-team-working.png',\n tags: [\n {\n entry: 'Technology'\n },\n {\n entry: 'AI'\n }\n ]\n }}\n section={[\n {\n backgroundColor: 'default',\n buttons: [\n {\n disabled: false,\n label: 'Book a meeting',\n size: 'medium',\n variant: 'secondary'\n },\n {\n disabled: false,\n label: 'Book a meeting',\n size: 'medium',\n variant: 'secondary'\n },\n {\n disabled: false,\n label: 'Book a meeting',\n size: 'medium',\n variant: 'secondary'\n }\n ],\n content: {\n align: 'center',\n gutter: 'default',\n mode: 'list',\n tileWidth: 'default',\n width: 'unset'\n },\n headerSpacing: false,\n headline: {\n large: false,\n text: 'Section headline',\n width: 'unset'\n },\n inverted: false,\n spaceAfter: 'default',\n spaceBefore: 'default',\n spotlight: false,\n style: 'default',\n width: 'default'\n },\n {\n backgroundColor: 'default',\n buttons: [\n {\n disabled: false,\n label: 'Book a meeting',\n size: 'medium',\n variant: 'secondary'\n },\n {\n disabled: false,\n label: 'Book a meeting',\n size: 'medium',\n variant: 'secondary'\n },\n {\n disabled: false,\n label: 'Book a meeting',\n size: 'medium',\n variant: 'secondary'\n }\n ],\n content: {\n align: 'center',\n gutter: 'default',\n mode: 'list',\n tileWidth: 'default',\n width: 'unset'\n },\n headerSpacing: false,\n headline: {\n large: false,\n text: 'Section headline',\n width: 'unset'\n },\n inverted: false,\n spaceAfter: 'default',\n spaceBefore: 'default',\n spotlight: false,\n style: 'default',\n width: 'default'\n },\n {\n backgroundColor: 'default',\n buttons: [\n {\n disabled: false,\n label: 'Book a meeting',\n size: 'medium',\n variant: 'secondary'\n },\n {\n disabled: false,\n label: 'Book a meeting',\n size: 'medium',\n variant: 'secondary'\n },\n {\n disabled: false,\n label: 'Book a meeting',\n size: 'medium',\n variant: 'secondary'\n }\n ],\n content: {\n align: 'center',\n gutter: 'default',\n mode: 'list',\n tileWidth: 'default',\n width: 'unset'\n },\n headerSpacing: false,\n headline: {\n large: false,\n text: 'Section headline',\n width: 'unset'\n },\n inverted: false,\n spaceAfter: 'default',\n spaceBefore: 'default',\n spotlight: false,\n style: 'default',\n width: 'default'\n }\n ]}\n/>",
443
447
  "args": {
444
448
  "head": {
445
449
  "date": "12/30/2022",
@@ -458,7 +462,10 @@
458
462
  "author": {
459
463
  "name": "Jane Doe",
460
464
  "byline": "Senior Developer",
461
- "image": "img/people/author-emily.png",
465
+ "image": {
466
+ "src": "img/people/author-emily.png",
467
+ "alt": "Picture of Jane Smith"
468
+ },
462
469
  "twitter": "Janedoe",
463
470
  "email": "Jane.doe@example.com"
464
471
  },
@@ -634,10 +641,137 @@
634
641
  "contentAlign": "center",
635
642
  "text": "Get started with our design system today and experience a new level of efficiency and consistency in your projects."
636
643
  },
637
- "content": "\n## Introduction\nThe future of **ArtiEficial Intelligence (AI)** is a topic that has been the subject of much debate. It's a field that's constantly evolving, with new advancements and breakthroughs happening all the time. [Learn more about AI](https://en.wikipedia.org/wiki/Artificial_intelligence)\n\n## The Current State of AI\nToday, AI is already a part of our daily lives. From *smart home devices* to *recommendation algorithms* on our favorite streaming services, AI is everywhere.\n\n## The Potential of AI\nThe potential of AI is immense. It has the ability to revolutionize industries, from healthcare to finance, and everything in between.\n\n## The Challenges of AI\nHowever, with great potential comes great challenges. Issues such as data privacy and the ethical implications of AI are just some of the hurdles that need to be overcome.\n\n## The Role of AI in Society\nAI has the potential to greatly impact society. It can lead to job creation in new industries, and can also help solve complex societal problems.\n\n## Conclusion\nThe future of AI is exciting and full of potential. However, it's important that we navigate this future with caution, ensuring that the benefits of AI are accessible to all, while minimizing its potential risks.\n "
644
+ "content": "\n## Introduction\nThe future of **Artificial Intelligence (AI)** is a topic that has been the subject of much debate. It's a field that's constantly evolving, with new advancements and breakthroughs happening all the time. [Learn more about AI](https://en.wikipedia.org/wiki/Artificial_intelligence)\n\n## The Current State of AI\nToday, AI is already a part of our daily lives. From *smart home devices* to *recommendation algorithms* on our favorite streaming services, AI is everywhere.\n\n## The Potential of AI\nThe potential of AI is immense. It has the ability to revolutionize industries, from healthcare to finance, and everything in between.\n\n## The Challenges of AI\nHowever, with great potential comes great challenges. Issues such as data privacy and the ethical implications of AI are just some of the hurdles that need to be overcome.\n\n## The Role of AI in Society\nAI has the potential to greatly impact society. It can lead to job creation in new industries, and can also help solve complex societal problems.\n\n## Conclusion\nThe future of AI is exciting and full of potential. However, it's important that we navigate this future with caution, ensuring that the benefits of AI are accessible to all, while minimizing its potential risks.\n "
638
645
  },
639
646
  "screenshot": "img/screenshots/pages-archetypes--blog-post.png"
640
647
  },
648
+ {
649
+ "id": "components-contact--wide-image",
650
+ "group": "Components/Contact",
651
+ "name": "WideImage",
652
+ "code": "<Contact\n image={{\n alt: 'Picture of Jane Smith',\n aspectRatio: 'wide',\n fullWidth: false,\n src: 'img/people/portrait-young-girl-smiling.jpg'\n }}\n links={[\n {\n href: '#',\n icon: 'twitter',\n label: '@Isabella_Doe',\n newTab: false\n },\n {\n href: 'mailto:mail@example.com',\n icon: 'linkedin',\n label: 'Isabella.Doe',\n newTab: false\n }\n ]}\n subtitle=\"Creative Director\"\n title=\"Isabella Doe\"\n/>",
653
+ "args": {
654
+ "image": {
655
+ "src": "img/people/portrait-young-girl-smiling.jpg",
656
+ "alt": "Picture of Jane Smith",
657
+ "fullWidth": false,
658
+ "aspectRatio": "wide"
659
+ },
660
+ "title": "Isabella Doe",
661
+ "subtitle": "Creative Director",
662
+ "links": [
663
+ {
664
+ "icon": "twitter",
665
+ "label": "@Isabella_Doe",
666
+ "href": "#",
667
+ "newTab": false
668
+ },
669
+ {
670
+ "icon": "linkedin",
671
+ "label": "Isabella.Doe",
672
+ "href": "mailto:mail@example.com",
673
+ "newTab": false
674
+ }
675
+ ]
676
+ },
677
+ "screenshot": "img/screenshots/components-contact--wide-image.png"
678
+ },
679
+ {
680
+ "id": "components-contact--circular-avatar",
681
+ "group": "Components/Contact",
682
+ "name": "CircularAvatar",
683
+ "code": "<Contact\n copy=\"Leads with a vision for innovative, user-centric web designs\"\n image={{\n alt: 'Picture of Jane Smith',\n aspectRatio: 'square',\n fullWidth: false,\n src: 'img/people/author-emily.png'\n }}\n links={[\n {\n href: '#',\n icon: 'twitter',\n label: '@jane_smith',\n newTab: false\n },\n {\n href: 'mailto:mail@example.com',\n icon: 'linkedin',\n label: 'jane.smith',\n newTab: false\n }\n ]}\n subtitle=\"CEO at DS Agency\"\n title=\"Jane Smith\"\n/>",
684
+ "args": {
685
+ "image": {
686
+ "src": "img/people/author-emily.png",
687
+ "alt": "Picture of Jane Smith",
688
+ "fullWidth": false,
689
+ "aspectRatio": "square"
690
+ },
691
+ "title": "Jane Smith",
692
+ "subtitle": "CEO at DS Agency",
693
+ "links": [
694
+ {
695
+ "icon": "twitter",
696
+ "label": "@jane_smith",
697
+ "href": "#",
698
+ "newTab": false
699
+ },
700
+ {
701
+ "icon": "linkedin",
702
+ "label": "jane.smith",
703
+ "href": "mailto:mail@example.com",
704
+ "newTab": false
705
+ }
706
+ ],
707
+ "copy": "Leads with a vision for innovative, user-centric web designs"
708
+ },
709
+ "screenshot": "img/screenshots/components-contact--circular-avatar.png"
710
+ },
711
+ {
712
+ "id": "components-contact--vertical-image-with-paragraph",
713
+ "group": "Components/Contact",
714
+ "name": "VerticalImageWithParagraph",
715
+ "code": "<Contact\n copy=\"Leads with a vision for innovative, user-centric web designs, ensuring each project merges creativity with functionality to deliver outstanding digital experiences.\"\n image={{\n alt: 'Picture of Jane Smith',\n aspectRatio: 'vertical',\n fullWidth: false,\n src: 'img/people/contact-john.png'\n }}\n links={[\n {\n href: 'mailto:mail@example.com',\n icon: 'xing',\n label: 'john.smith',\n newTab: false\n },\n {\n href: '#',\n icon: 'twitter',\n label: '@john_smith',\n newTab: false\n }\n ]}\n subtitle=\"Sales Representative\"\n title=\"John Smith\"\n/>",
716
+ "args": {
717
+ "image": {
718
+ "src": "img/people/contact-john.png",
719
+ "alt": "Picture of Jane Smith",
720
+ "fullWidth": false,
721
+ "aspectRatio": "vertical"
722
+ },
723
+ "title": "John Smith",
724
+ "subtitle": "Sales Representative",
725
+ "links": [
726
+ {
727
+ "icon": "xing",
728
+ "label": "john.smith",
729
+ "href": "mailto:mail@example.com",
730
+ "newTab": false
731
+ },
732
+ {
733
+ "icon": "twitter",
734
+ "label": "@john_smith",
735
+ "href": "#",
736
+ "newTab": false
737
+ }
738
+ ],
739
+ "copy": "Leads with a vision for innovative, user-centric web designs, ensuring each project merges creativity with functionality to deliver outstanding digital experiences."
740
+ },
741
+ "screenshot": "img/screenshots/components-contact--vertical-image-with-paragraph.png"
742
+ },
743
+ {
744
+ "id": "components-contact--full-image-width",
745
+ "group": "Components/Contact",
746
+ "name": "FullImageWidth",
747
+ "code": "<Contact\n copy=\"Blends artistic flair with technical expertise, creating visually stunning and intuitive websites that captivate users and drive engagement.\"\n image={{\n alt: 'Picture of Jane Smith',\n aspectRatio: 'wide',\n fullWidth: true,\n src: 'img/people/contact-jim.png'\n }}\n links={[\n {\n href: 'mailto:mail@example.com',\n icon: 'email',\n label: 'jim.johnsson@mail.com',\n newTab: false\n },\n {\n href: '#',\n icon: 'facebook',\n label: '@jim_johnsson',\n newTab: false\n }\n ]}\n subtitle=\"Lead Designer\"\n title=\"Jim Johnsson\"\n/>",
748
+ "args": {
749
+ "image": {
750
+ "src": "img/people/contact-jim.png",
751
+ "alt": "Picture of Jane Smith",
752
+ "fullWidth": true,
753
+ "aspectRatio": "wide"
754
+ },
755
+ "title": "Jim Johnsson",
756
+ "subtitle": "Lead Designer",
757
+ "links": [
758
+ {
759
+ "icon": "email",
760
+ "label": "jim.johnsson@mail.com",
761
+ "href": "mailto:mail@example.com",
762
+ "newTab": false
763
+ },
764
+ {
765
+ "icon": "facebook",
766
+ "label": "@jim_johnsson",
767
+ "href": "#",
768
+ "newTab": false
769
+ }
770
+ ],
771
+ "copy": "Blends artistic flair with technical expertise, creating visually stunning and intuitive websites that captivate users and drive engagement."
772
+ },
773
+ "screenshot": "img/screenshots/components-contact--full-image-width.png"
774
+ },
641
775
  {
642
776
  "id": "components-cta--banner",
643
777
  "group": "Components/Cta",
@@ -2,6 +2,7 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { ButtonProvider } from '../button/index.js';
3
3
  import { SectionProvider } from '../section/index.js';
4
4
  import { TeaserBoxProvider } from '../teaser-card/index.js';
5
+ import { ContactProvider } from '../contact/index.js';
5
6
  import { HeadlineProvider } from '../headline/index.js';
6
7
  import { ThemeProvider } from '@bedrock-layout/spacing-constants';
7
8
  import { ButtonGroupProvider } from '../button-group/index.js';
@@ -14,6 +15,11 @@ import '../section/js/Section.client.js';
14
15
  import '@kickstartds/core/lib/component';
15
16
  import '@kickstartds/base/lib/teaser-box';
16
17
  import '@kickstartds/core/lib/container';
18
+ import '@kickstartds/base/lib/picture';
19
+ import '@kickstartds/base/lib/contact';
20
+ import '@kickstartds/base/lib/link';
21
+ import '@kickstartds/base/lib/icon';
22
+ import '@kickstartds/base/lib/rich-text';
17
23
  import 'markdown-to-jsx';
18
24
  import '@kickstartds/base/lib/headline';
19
25
  import '@kickstartds/base/lib/button-group';
@@ -32,7 +38,7 @@ const theme = {
32
38
  };
33
39
  const BedrockProvider = (props) => (jsx(ThemeProvider, { theme: theme, ...props }));
34
40
 
35
- const Providers = (props) => (jsx(BedrockProvider, { children: jsx(ButtonProvider, { children: jsx(ButtonGroupProvider, { children: jsx(HeadlineProvider, { children: jsx(SectionProvider, { children: jsx(TeaserBoxProvider, { ...props }) }) }) }) }) }));
41
+ const Providers = (props) => (jsx(BedrockProvider, { children: jsx(ButtonProvider, { children: jsx(ContactProvider, { children: jsx(ButtonGroupProvider, { children: jsx(HeadlineProvider, { children: jsx(SectionProvider, { children: jsx(TeaserBoxProvider, { ...props }) }) }) }) }) }) }));
36
42
  const providerDecorator = (storyFn, context) => (jsx(Providers, { children: storyFn(context) }));
37
43
 
38
44
  export { Providers as default, providerDecorator };
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { HTMLAttributes, FC, PropsWithChildren } from "react";
3
- import { SectionProps } from "../../SectionProps-03ff6d21.js";
3
+ import { SectionProps } from "../../SectionProps-83d399b4.js";
4
4
  declare const SectionContextDefault: import("react").ForwardRefExoticComponent<SectionProps & Omit<HTMLAttributes<HTMLElement>, "style" | "content"> & import("react").RefAttributes<HTMLDivElement>>;
5
5
  declare const SectionContext: import("react").Context<import("react").ForwardRefExoticComponent<SectionProps & Omit<HTMLAttributes<HTMLElement>, "style" | "content"> & import("react").RefAttributes<HTMLDivElement>>>;
6
6
  declare const Section: import("react").ForwardRefExoticComponent<SectionProps & Omit<HTMLAttributes<HTMLElement>, "style" | "content"> & import("react").RefAttributes<HTMLDivElement>>;
@@ -6,7 +6,8 @@ import { FC, PropsWithChildren } from "react";
6
6
  * and run json-schema-to-typescript to regenerate this file.
7
7
  */
8
8
  interface SplitProps {
9
- layout?: "sidebarRight" | "sidebarLeft" | "even";
9
+ layout?: "sidebarRight" | "sidebarLeft";
10
+ mainSectionWidth?: "narrow" | "medium" | "wide";
10
11
  }
11
12
  declare const Split: FC<PropsWithChildren<SplitProps>>;
12
13
  export { Split };
@@ -2,6 +2,16 @@ import "./split.css";
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import classnames from 'classnames';
4
4
 
5
- const Split = ({ layout, children, }) => (jsx("div", { className: classnames(`l-split l-split--${layout}`), children: children }));
5
+ const Split = ({ layout = "sidebarRight", mainSectionWidth = "default", children, }) => (jsx("div", { className: classnames("l-split", layout === "sidebarRight"
6
+ ? "l-split--sidebar-right"
7
+ : layout === "sidebarLeft"
8
+ ? "l-split--sidebar-left"
9
+ : "l-split--sidebar-right", mainSectionWidth === "narrow"
10
+ ? "l-split--narrow"
11
+ : mainSectionWidth === "medium"
12
+ ? "l-split--medium"
13
+ : mainSectionWidth === "wide"
14
+ ? "l-split--wide"
15
+ : "l-split--medium"), children: children }));
6
16
 
7
17
  export { Split };
@@ -1,24 +1,50 @@
1
- .l-split--sidebarRight {
1
+ .l-split {
2
+ --dsa-split--gap-vertical: var(--ks-spacing-stack-l);
3
+ --dsa-split--gap-horizontal: var(--ks-spacing-inline-l);
4
+ --dsa-split__side--top-margin: var(--ks-spacing-stack-l);
5
+ --dsa-split__side--flex-basis: 210px;
6
+ }
7
+
8
+ .l-split {
2
9
  display: flex;
3
10
  flex-wrap: wrap;
4
- gap: var(--ks-spacing-stack-l) var(--ks-spacing-inline-xl);
11
+ gap: var(--dsa-split--gap-horizontal) var(--dsa-split--gap-horizontal);
12
+ }
13
+ .l-split--narrow {
14
+ --split__main--flex-basis: var(--l-section--content-width-narrow);
15
+ }
16
+ .l-split--medium {
17
+ --split__main--flex-basis: var(--l-section--content-width-default);
18
+ }
19
+ .l-split--wide {
20
+ --split__main--flex-basis: var(--l-section--content-width-wide);
5
21
  }
6
22
  @media (min-width: 48em) {
7
- .l-split--sidebarRight {
23
+ .l-split {
8
24
  justify-content: space-between;
9
25
  }
10
26
  }
11
- .l-split--sidebarRight > :first-child {
12
- flex-basis: calc(var(--l-section--content-width-default) - var(--l-section--content-padding) * 2);
27
+ .l-split > * {
13
28
  flex-grow: 1;
14
29
  flex-shrink: 1;
15
30
  }
16
- .l-split--sidebarRight > :last-child {
17
- flex-grow: 1;
18
- flex-shrink: 1;
19
- flex-basis: 210px;
31
+ .l-split--sidebar-right > :first-child {
32
+ flex-basis: calc(var(--split__main--flex-basis) - var(--l-section--content-padding) * 2);
33
+ }
34
+ .l-split--sidebar-right > :last-child {
35
+ flex-basis: var(--dsa-split__side--flex-basis, 210px);
36
+ position: -webkit-sticky;
37
+ position: sticky;
38
+ top: var(--dsa-split__side--top-margin, var(--ks-spacing-stack-l));
39
+ height: fit-content;
40
+ }
41
+ .l-split--sidebar-left > :last-child {
42
+ flex-basis: calc(var(--split__main--flex-basis) - var(--l-section--content-padding) * 2);
43
+ }
44
+ .l-split--sidebar-left > :first-child {
45
+ flex-basis: var(--dsa-split__side--flex-basis, 210px);
20
46
  position: -webkit-sticky;
21
47
  position: sticky;
22
- top: var(--ks-spacing-stack-l);
48
+ top: var(--dsa-split__side--top-margin, var(--ks-spacing-stack-l));
23
49
  height: fit-content;
24
50
  }
@@ -8,9 +8,18 @@
8
8
  "type": "string",
9
9
  "enum": [
10
10
  "sidebarRight",
11
- "sidebarLeft",
12
- "even"
13
- ]
11
+ "sidebarLeft"
12
+ ],
13
+ "default": "sidebarRight"
14
+ },
15
+ "mainSectionWidth": {
16
+ "type": "string",
17
+ "enum": [
18
+ "narrow",
19
+ "medium",
20
+ "wide"
21
+ ],
22
+ "default": "medium"
14
23
  },
15
24
  "type": {
16
25
  "const": "split"