@kickstartds/ds-agency-premium 1.6.71--canary.45.1843.0 → 1.6.71--canary.45.1849.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 (27) hide show
  1. package/dist/{BlogOverviewProps-9f207f1c.d.ts → BlogOverviewProps-d62a0a9a.d.ts} +2 -2
  2. package/dist/{BlogPostProps-6b3cff22.d.ts → BlogPostProps-c760fd2a.d.ts} +1 -1
  3. package/dist/{PageProps-aa29c554.d.ts → PageProps-21d04028.d.ts} +1 -1
  4. package/dist/{SectionProps-21d04028.d.ts → SectionProps-00ddee3a.d.ts} +1 -1
  5. package/dist/components/blog-overview/index.d.ts +1 -1
  6. package/dist/components/blog-post/index.d.ts +1 -1
  7. package/dist/components/blog-teaser/index.d.ts +1 -1
  8. package/dist/components/business-card/business-card.css +104 -0
  9. package/dist/components/business-card/business-card.schema.dereffed.json +138 -0
  10. package/dist/components/business-card/business-card.schema.json +120 -0
  11. package/dist/components/business-card/index.d.ts +102 -0
  12. package/dist/components/business-card/index.js +21 -0
  13. package/dist/components/content-nav/index.js +1 -1
  14. package/dist/components/image-story/index.d.ts +1 -1
  15. package/dist/components/index/index.d.ts +3 -3
  16. package/dist/components/page/index.d.ts +1 -1
  17. package/dist/components/page-wrapper/tokens.css +1 -1
  18. package/dist/components/presets.json +47 -0
  19. package/dist/components/section/index.d.ts +1 -1
  20. package/dist/components/split-even/index.d.ts +1 -1
  21. package/dist/components/split-weighted/index.d.ts +1 -1
  22. package/dist/tokens/themes.css +4 -4
  23. package/dist/tokens/tokens.css +1 -1
  24. package/dist/tokens/tokens.js +1 -1
  25. package/package.json +1 -1
  26. /package/dist/{BlogTeaserProps-f5855e93.d.ts → BlogTeaserProps-d62a0a9a.d.ts} +0 -0
  27. /package/dist/{ImageStoryProps-e853e1e7.d.ts → ImageStoryProps-00ddee3a.d.ts} +0 -0
@@ -3,8 +3,8 @@
3
3
  * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
4
4
  * and run json-schema-to-typescript to regenerate this file.
5
5
  */
6
- import { SectionProps } from "./SectionProps-21d04028.js";
7
- import { BlogTeaserProps } from "./BlogTeaserProps-f5855e93.js";
6
+ import { SectionProps } from "./SectionProps-00ddee3a.js";
7
+ import { BlogTeaserProps } from "./BlogTeaserProps-d62a0a9a.js";
8
8
  import { CtaProps } from "./CtaProps-babe4ee6.js";
9
9
  import { SeoProps } from "./SeoProps-f2d6dcaa.js";
10
10
  /**
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { BlogHeadProps } from "./BlogHeadProps-c04a5ed8.js";
7
7
  import { BlogAsideProps } from "./BlogAsideProps-c760fd2a.js";
8
- import { SectionProps } from "./SectionProps-21d04028.js";
8
+ import { SectionProps } from "./SectionProps-00ddee3a.js";
9
9
  import { CtaProps } from "./CtaProps-babe4ee6.js";
10
10
  import { SeoProps } from "./SeoProps-f2d6dcaa.js";
11
11
  /**
@@ -3,7 +3,7 @@
3
3
  * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
4
4
  * and run json-schema-to-typescript to regenerate this file.
5
5
  */
6
- import { SectionProps } from "./SectionProps-21d04028.js";
6
+ import { SectionProps } from "./SectionProps-00ddee3a.js";
7
7
  import { SeoProps } from "./SeoProps-f2d6dcaa.js";
8
8
  /**
9
9
  * Collection of sections (with their contents) to render on the page
@@ -10,7 +10,7 @@ import { FeaturesProps } from "./FeaturesProps-a9041d97.js";
10
10
  import { GalleryProps } from "./GalleryProps-76e7de44.js";
11
11
  import { HeroProps } from "./HeroProps-40f6c7f5.js";
12
12
  import { HtmlProps } from "./HtmlProps-9d091769.js";
13
- import { ImageStoryProps } from "./ImageStoryProps-e853e1e7.js";
13
+ import { ImageStoryProps } from "./ImageStoryProps-00ddee3a.js";
14
14
  import { ImageTextProps } from "./ImageTextProps-9286cca4.js";
15
15
  import { LogosProps } from "./LogosProps-f9474fe2.js";
16
16
  import { MosaicProps } from "./MosaicProps-d52c7151.js";
@@ -1,4 +1,4 @@
1
- import { BlogOverviewProps } from "../../BlogOverviewProps-9f207f1c.js";
1
+ import { BlogOverviewProps } from "../../BlogOverviewProps-d62a0a9a.js";
2
2
  import { FC, PropsWithChildren } from "react";
3
3
  declare const BlogOverview: FC<PropsWithChildren<BlogOverviewProps>>;
4
4
  export type { BlogOverviewProps };
@@ -1,4 +1,4 @@
1
- import { BlogPostProps } from "../../BlogPostProps-6b3cff22.js";
1
+ import { BlogPostProps } from "../../BlogPostProps-c760fd2a.js";
2
2
  import { FC, PropsWithChildren } from "react";
3
3
  declare const BlogPost: FC<PropsWithChildren<BlogPostProps>>;
4
4
  export type { BlogPostProps };
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { HTMLAttributes } from "react";
3
- import { BlogTeaserProps } from "../../BlogTeaserProps-f5855e93.js";
3
+ import { BlogTeaserProps } from "../../BlogTeaserProps-d62a0a9a.js";
4
4
  declare const BlogTeaserContextDefault: import("react").ForwardRefExoticComponent<BlogTeaserProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
5
5
  declare const BlogTeaserContext: import("react").Context<import("react").ForwardRefExoticComponent<BlogTeaserProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
6
6
  declare const BlogTeaser: import("react").ForwardRefExoticComponent<BlogTeaserProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,104 @@
1
+ .dsa-business-card {
2
+ --dsa-business-card--border-radius: var(--ks-border-radius-card);
3
+ --dsa-business-card--padding: var(--ks-spacing-inset-m);
4
+ --dsa-business-card--background-color: var(--ks-background-color-card);
5
+ --dsa-business-card--gap: var(--ks-spacing-stack-l);
6
+ --dsa-business-card__image--aspect-ratio: 16 / 9;
7
+ --dsa-business-card__image--border-radius: var(--ks-border-radius-card);
8
+ --dsa-business-card__topic--font: var(--dsa-topic--font);
9
+ --dsa-business-card__topic--font-weight: var(--dsa-topic--font-weight);
10
+ --dsa-business-card__topic--color: var(--dsa-topic--color);
11
+ --dsa-business-card__topic--margin-top: var(--ks-spacing-stack-m);
12
+ --dsa-business-card__logo--max-width: var(--dsa-tile--width_small);
13
+ --dsa-business-card__infos--gap: var(--ks-spacing-stack-s);
14
+ --dsa-business-card__address--font: var(--ks-font-interface-m);
15
+ --dsa-business-card__address--color: var(--ks-text-color-interface);
16
+ --dsa-business-card__avatar--border-radius: var(--ks-border-radius-circle);
17
+ --dsa-business-card__avatar--size: calc(var(--dsa-tile--width_smallest) / 2);
18
+ --dsa-business-card__contact--gap: var(--ks-spacing-xxs);
19
+ --dsa-business-card__contact--icon-size: 1.25em;
20
+ --dsa-business-card__contact--font: var(--ks-font-interface-m);
21
+ --dsa-business-card__contact--font-weight: var(--ks-font-weight-semi-bold);
22
+ --dsa-business-card__contact--color: var(--ks-text-color-interface-interactive);
23
+ --dsa-business-card__contact--color_hover: var(--ks-text-color-interface-interactive-hover);
24
+ }
25
+
26
+ .dsa-business-card {
27
+ max-width: var(--dsa-tile--width_medium);
28
+ margin: auto;
29
+ margin-top: 30px;
30
+ border-radius: var(--dsa-business-card--border-radius, var(--ks-border-radius-card));
31
+ padding: var(--dsa-business-card--padding, var(--ks-spacing-inset-m));
32
+ display: flex;
33
+ flex-direction: column;
34
+ gap: var(--dsa-business-card--gap, var(--ks-spacing-stack-l));
35
+ align-items: center;
36
+ background-color: var(--dsa-business-card--background-color, var(--ks-background-color-card));
37
+ }
38
+ .dsa-business-card__topic {
39
+ font: var(--dsa-business-card__topic--font, var(--dsa-topic--font));
40
+ color: var(--dsa-business-card__topic--color, var(--dsa-topic--color));
41
+ font-weight: var(--dsa-business-card__topic--font-weight, var(--dsa-topic--font-weight));
42
+ text-align: center;
43
+ }
44
+ .dsa-business-card__image img {
45
+ aspect-ratio: var(--dsa-business-card__image--aspect-ratio, 16/9);
46
+ object-fit: cover;
47
+ border-radius: var(--dsa-business-card__image--border-radius, var(--ks-border-radius-card));
48
+ }
49
+ .dsa-business-card__logo {
50
+ flex-grow: 1;
51
+ max-width: var(--dsa-business-card__logo--max-width, var(--dsa-tile--width_small));
52
+ width: 100%;
53
+ }
54
+ .dsa-business-card__logo img {
55
+ width: 100%;
56
+ }
57
+ .dsa-business-card__infos {
58
+ display: flex;
59
+ flex-direction: column;
60
+ gap: var(--dsa-business-card__infos--gap, var(--ks-spacing-stack-s));
61
+ align-items: center;
62
+ }
63
+ .dsa-business-card__address {
64
+ font: var(--dsa-business-card__address--font, var(--ks-font-interface-m));
65
+ color: var(--dsa-business-card__address--color, var(--ks-text-color-interface));
66
+ text-align: center;
67
+ }
68
+ .dsa-business-card__avatar {
69
+ width: var(--dsa-business-card__avatar--size, 6em);
70
+ height: var(--dsa-business-card__avatar--size, 6em);
71
+ aspect-ratio: 1;
72
+ border-radius: var(--dsa-business-card__avatar--border-radius, var(--ks-border-radius-circle));
73
+ object-fit: cover;
74
+ }
75
+ .dsa-business-card__contact {
76
+ display: flex;
77
+ flex-direction: column;
78
+ align-items: center;
79
+ gap: var(--dsa-business-card__contact--gap, var(--ks-spacing-xxs));
80
+ width: 100%;
81
+ }
82
+ .dsa-business-card__contact-item {
83
+ display: flex;
84
+ align-items: center;
85
+ font: var(--dsa-business-card__contact--font, var(--ks-font-interface-m));
86
+ --g-link--color: var(--dsa-business-card__contact--color, var(--dsa-link--color));
87
+ --g-link--color-hover: var(--dsa-business-card__contact--color_hover, var(--dsa-link--color_hover));
88
+ --g-link--font-weight: var(--dsa-business-card__contact--font-weight, var(--ks-font-weight-semi-bold));
89
+ text-align: center;
90
+ }
91
+ .dsa-business-card__contact-item .icon {
92
+ width: var(--dsa-business-card__contact--icon-size, 1.25em);
93
+ height: var(--dsa-business-card__contact--icon-size, 1.25em);
94
+ margin-right: 0.35em;
95
+ }
96
+ .dsa-business-card__buttons {
97
+ display: flex;
98
+ gap: var(--ks-spacing-stack-s);
99
+ flex-wrap: wrap;
100
+ justify-content: center;
101
+ }
102
+ .dsa-business-card__buttons .c-button {
103
+ width: fit-content;
104
+ }
@@ -0,0 +1,138 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/business-card.schema.json",
4
+ "title": "Business Card",
5
+ "type": "object",
6
+ "properties": {
7
+ "image": {
8
+ "type": "object",
9
+ "title": "Background Image",
10
+ "description": "A background or feature image displayed on the business card.",
11
+ "properties": {
12
+ "src": {
13
+ "type": "string",
14
+ "format": "uri",
15
+ "description": "URL of the background image shown on the business card."
16
+ },
17
+ "alt": {
18
+ "type": "string",
19
+ "description": "Alternative text describing the background image."
20
+ }
21
+ },
22
+ "required": [
23
+ "src"
24
+ ],
25
+ "additionalProperties": false
26
+ },
27
+ "logo": {
28
+ "type": "object",
29
+ "title": "Company Logo",
30
+ "description": "The logo of the company or organization displayed on the business card.",
31
+ "properties": {
32
+ "src": {
33
+ "type": "string",
34
+ "format": "uri",
35
+ "description": "URL of the company or organization logo."
36
+ },
37
+ "alt": {
38
+ "type": "string",
39
+ "description": "Alternative text describing the logo."
40
+ },
41
+ "url": {
42
+ "type": "string",
43
+ "format": "uri",
44
+ "description": "URL to the company's website or landing page."
45
+ }
46
+ },
47
+ "required": [
48
+ "src"
49
+ ],
50
+ "additionalProperties": false
51
+ },
52
+ "topic": {
53
+ "type": "string",
54
+ "title": "Topic",
55
+ "description": "A headline or main topic for the business card, such as a job title or department."
56
+ },
57
+ "address": {
58
+ "type": "string",
59
+ "title": "Address",
60
+ "description": "The physical or mailing address displayed on the business card."
61
+ },
62
+ "avatar": {
63
+ "type": "object",
64
+ "title": "Avatar",
65
+ "description": "A profile image or avatar representing the person on the business card.",
66
+ "properties": {
67
+ "src": {
68
+ "type": "string",
69
+ "format": "uri",
70
+ "description": "URL of the person's avatar or profile image."
71
+ },
72
+ "alt": {
73
+ "type": "string",
74
+ "description": "Alternative text describing the avatar."
75
+ }
76
+ },
77
+ "required": [
78
+ "src"
79
+ ],
80
+ "additionalProperties": false
81
+ },
82
+ "contact": {
83
+ "type": "array",
84
+ "title": "Contact Information",
85
+ "description": "A list of contact methods for the person or business (e.g., email, phone, website).",
86
+ "items": {
87
+ "type": "object",
88
+ "properties": {
89
+ "label": {
90
+ "type": "string",
91
+ "description": "Label describing the contact method (e.g., 'Email', 'Phone')."
92
+ },
93
+ "icon": {
94
+ "type": "string",
95
+ "description": "Icon name or identifier representing the contact method."
96
+ },
97
+ "url": {
98
+ "type": "string",
99
+ "format": "uri",
100
+ "description": "URL or link for the contact method, if applicable."
101
+ }
102
+ },
103
+ "required": [
104
+ "label"
105
+ ],
106
+ "additionalProperties": false
107
+ }
108
+ },
109
+ "buttons": {
110
+ "type": "array",
111
+ "title": "Buttons",
112
+ "description": "A list of action buttons shown on the business card.",
113
+ "items": {
114
+ "type": "object",
115
+ "properties": {
116
+ "label": {
117
+ "type": "string",
118
+ "description": "Text label for the link."
119
+ },
120
+ "url": {
121
+ "type": "string",
122
+ "format": "uri",
123
+ "description": "URL the link points to."
124
+ }
125
+ },
126
+ "required": [
127
+ "label",
128
+ "url"
129
+ ],
130
+ "additionalProperties": false
131
+ }
132
+ },
133
+ "type": {
134
+ "const": "business-card"
135
+ }
136
+ },
137
+ "additionalProperties": false
138
+ }
@@ -0,0 +1,120 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/business-card.schema.json",
4
+ "title": "Business Card",
5
+ "type": "object",
6
+ "properties": {
7
+ "image": {
8
+ "type": "object",
9
+ "title": "Background Image",
10
+ "description": "A background or feature image displayed on the business card.",
11
+ "properties": {
12
+ "src": {
13
+ "type": "string",
14
+ "format": "uri",
15
+ "description": "URL of the background image shown on the business card."
16
+ },
17
+ "alt": {
18
+ "type": "string",
19
+ "description": "Alternative text describing the background image."
20
+ }
21
+ },
22
+ "required": ["src"]
23
+ },
24
+ "logo": {
25
+ "type": "object",
26
+ "title": "Company Logo",
27
+ "description": "The logo of the company or organization displayed on the business card.",
28
+ "properties": {
29
+ "src": {
30
+ "type": "string",
31
+ "format": "uri",
32
+ "description": "URL of the company or organization logo."
33
+ },
34
+ "alt": {
35
+ "type": "string",
36
+ "description": "Alternative text describing the logo."
37
+ },
38
+ "url": {
39
+ "type": "string",
40
+ "format": "uri",
41
+ "description": "URL to the company's website or landing page."
42
+ }
43
+ },
44
+ "required": ["src"]
45
+ },
46
+ "topic": {
47
+ "type": "string",
48
+ "title": "Topic",
49
+ "description": "A headline or main topic for the business card, such as a job title or department."
50
+ },
51
+ "address": {
52
+ "type": "string",
53
+ "title": "Address",
54
+ "description": "The physical or mailing address displayed on the business card."
55
+ },
56
+ "avatar": {
57
+ "type": "object",
58
+ "title": "Avatar",
59
+ "description": "A profile image or avatar representing the person on the business card.",
60
+ "properties": {
61
+ "src": {
62
+ "type": "string",
63
+ "format": "uri",
64
+ "description": "URL of the person's avatar or profile image."
65
+ },
66
+ "alt": {
67
+ "type": "string",
68
+ "description": "Alternative text describing the avatar."
69
+ }
70
+ },
71
+ "required": ["src"]
72
+ },
73
+ "contact": {
74
+ "type": "array",
75
+ "title": "Contact Information",
76
+ "description": "A list of contact methods for the person or business (e.g., email, phone, website).",
77
+ "items": {
78
+ "type": "object",
79
+ "properties": {
80
+ "label": {
81
+ "type": "string",
82
+ "description": "Label describing the contact method (e.g., 'Email', 'Phone')."
83
+ },
84
+ "icon": {
85
+ "type": "string",
86
+ "description": "Icon name or identifier representing the contact method."
87
+ },
88
+ "url": {
89
+ "type": "string",
90
+ "format": "uri",
91
+ "description": "URL or link for the contact method, if applicable."
92
+ }
93
+ },
94
+ "required": ["label"]
95
+ }
96
+ },
97
+ "buttons": {
98
+ "type": "array",
99
+ "title": "Buttons",
100
+ "description": "A list of action buttons shown on the business card.",
101
+ "items": {
102
+ "type": "object",
103
+ "properties": {
104
+ "label": {
105
+ "type": "string",
106
+ "description": "Text label for the link."
107
+ },
108
+ "url": {
109
+ "type": "string",
110
+ "format": "uri",
111
+ "description": "URL the link points to."
112
+ }
113
+ },
114
+ "required": ["label", "url"],
115
+ "additionalProperties": false
116
+ }
117
+ }
118
+ },
119
+ "additionalProperties": false
120
+ }
@@ -0,0 +1,102 @@
1
+ /// <reference types="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
+ * A headline or main topic for the business card, such as a job title or department.
10
+ */
11
+ type Topic = string;
12
+ /**
13
+ * The physical or mailing address displayed on the business card.
14
+ */
15
+ type Address = string;
16
+ /**
17
+ * A list of contact methods for the person or business (e.g., email, phone, website).
18
+ */
19
+ type ContactInformation = {
20
+ /**
21
+ * Label describing the contact method (e.g., 'Email', 'Phone').
22
+ */
23
+ label: string;
24
+ /**
25
+ * Icon name or identifier representing the contact method.
26
+ */
27
+ icon?: string;
28
+ /**
29
+ * URL or link for the contact method, if applicable.
30
+ */
31
+ url?: string;
32
+ }[];
33
+ /**
34
+ * A list of action buttons shown on the business card.
35
+ */
36
+ type Buttons = {
37
+ /**
38
+ * Text label for the link.
39
+ */
40
+ label: string;
41
+ /**
42
+ * URL the link points to.
43
+ */
44
+ url: string;
45
+ }[];
46
+ interface BusinessCardProps {
47
+ image?: BackgroundImage;
48
+ logo?: CompanyLogo;
49
+ topic?: Topic;
50
+ address?: Address;
51
+ avatar?: Avatar;
52
+ contact?: ContactInformation;
53
+ buttons?: Buttons;
54
+ }
55
+ /**
56
+ * A background or feature image displayed on the business card.
57
+ */
58
+ interface BackgroundImage {
59
+ /**
60
+ * URL of the background image shown on the business card.
61
+ */
62
+ src: string;
63
+ /**
64
+ * Alternative text describing the background image.
65
+ */
66
+ alt?: string;
67
+ }
68
+ /**
69
+ * The logo of the company or organization displayed on the business card.
70
+ */
71
+ interface CompanyLogo {
72
+ /**
73
+ * URL of the company or organization logo.
74
+ */
75
+ src: string;
76
+ /**
77
+ * Alternative text describing the logo.
78
+ */
79
+ alt?: string;
80
+ /**
81
+ * URL to the company's website or landing page.
82
+ */
83
+ url?: string;
84
+ }
85
+ /**
86
+ * A profile image or avatar representing the person on the business card.
87
+ */
88
+ interface Avatar {
89
+ /**
90
+ * URL of the person's avatar or profile image.
91
+ */
92
+ src: string;
93
+ /**
94
+ * Alternative text describing the avatar.
95
+ */
96
+ alt?: string;
97
+ }
98
+ declare const BusinessCardContextDefault: import("react").ForwardRefExoticComponent<BusinessCardProps & import("react").RefAttributes<HTMLDivElement>>;
99
+ declare const BusinessCardContext: import("react").Context<import("react").ForwardRefExoticComponent<BusinessCardProps & import("react").RefAttributes<HTMLDivElement>>>;
100
+ declare const BusinessCard: import("react").ForwardRefExoticComponent<BusinessCardProps & import("react").RefAttributes<HTMLDivElement>>;
101
+ export type { BusinessCardProps };
102
+ export { BusinessCardContextDefault, BusinessCardContext, BusinessCard };
@@ -0,0 +1,21 @@
1
+ import "./business-card.css";
2
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
+ import { forwardRef, createContext, useContext } from 'react';
4
+ import { Icon } from '@kickstartds/base/lib/icon';
5
+ import { Picture } from '@kickstartds/base/lib/picture';
6
+ import Markdown from 'markdown-to-jsx';
7
+ import { Button } from '../button/index.js';
8
+ import { Link } from '@kickstartds/base/lib/link';
9
+ import { Container } from '@kickstartds/core/lib/container';
10
+ import 'classnames';
11
+ import '@kickstartds/base/lib/button';
12
+
13
+ const BusinessCardContextDefault = forwardRef(({ image, logo, topic, address, avatar, contact, buttons }, ref) => (jsx(Container, { name: "business-card", children: jsxs("div", { className: "dsa-business-card", ref: ref, children: [image && (jsx("div", { className: "dsa-business-card__image", children: jsx(Picture, { src: image.src, alt: image.alt }) })), logo && (jsx(Fragment, { children: logo.url ? (jsx(Link, { href: logo.url, className: "dsa-business-card__logo dsa-business-card__logo-link", children: jsx(Picture, { src: logo.src, alt: logo.alt }) })) : (jsx(Picture, { className: "dsa-business-card__logo", src: logo.src, alt: logo.alt })) })), jsxs("address", { className: "dsa-business-card__infos", children: [topic && (jsx("div", { className: "dsa-business-card__topic", children: jsx("span", { children: topic }) })), jsx(Markdown, { className: "dsa-business-card__address", children: address }), avatar && (jsx(Picture, { className: "dsa-business-card__avatar", src: avatar?.src, alt: avatar?.alt })), contact && (jsx("div", { className: "dsa-business-card__contact", children: contact.map((item, index) => (jsx(Fragment, { children: jsxs(Link, { href: item?.url, className: "dsa-business-card__contact-item", children: [item?.icon && jsx(Icon, { icon: item?.icon }), jsx("span", { children: item.label })] }, index) }))) }))] }), buttons && buttons.length > 0 && (jsx("div", { className: "dsa-business-card__buttons", children: buttons.map((button, index) => (jsx(Button, { label: button.label, url: button.url, className: "dsa-business-card__button", variant: "primary" }, index))) }))] }) })));
14
+ const BusinessCardContext = createContext(BusinessCardContextDefault);
15
+ const BusinessCard = forwardRef((props, ref) => {
16
+ const Component = useContext(BusinessCardContext);
17
+ return jsx(Component, { ...props, ref: ref });
18
+ });
19
+ BusinessCard.displayName = "BusinessCard";
20
+
21
+ export { BusinessCard, BusinessCardContext, BusinessCardContextDefault };
@@ -3,7 +3,7 @@ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
3
3
  import { forwardRef, createContext, useContext } from 'react';
4
4
  import { Icon } from '@kickstartds/base/lib/icon';
5
5
 
6
- const ContentNavContextDefault = forwardRef(({ image, links, topic, initiallyShown }, ref) => (jsxs("div", { className: "dsa-content-nav", ref: ref, children: [image && (jsx("div", { className: "dsa-content-nav__image", children: jsx("img", { src: image.src, alt: image.alt }) })), topic && (jsx("div", { className: "dsa-content-nav__topic", children: jsx("span", { children: topic }) })), links && links.length > 0 && (jsxs(Fragment, { children: [jsx("div", { className: "dsa-content-nav__links dsa-content-nav__links--initial", children: links.slice(0, initiallyShown).map((link, index) => (jsx("a", { href: link.url, className: "dsa-content-nav__link", children: link.label }, index))) }), links.length > initiallyShown && (jsxs("details", { className: "dsa-content-nav__more", children: [jsxs("summary", { className: "dsa-content-nav__toggle-more", children: [jsx("span", { className: "dsa-content-nav__toggle-label--more", children: "Show more" }), jsx("span", { className: "dsa-content-nav__toggle-label--less", children: "Show less" }), jsx(Icon, { icon: "chevron-down" })] }), jsx("div", { className: "dsa-content-nav__more-content", children: jsx("div", { className: "dsa-content-nav__links dsa-content-nav__links--more", children: links.slice(initiallyShown).map((link, index) => (jsx("a", { href: link.url, className: "dsa-content-nav__link", children: link.label }, index))) }) })] }))] }))] })));
6
+ const ContentNavContextDefault = forwardRef(({ image, links, topic, initiallyShown }, ref) => (jsxs("div", { className: "dsa-content-nav", ref: ref, children: [image && (jsx("div", { className: "dsa-content-nav__image", children: jsx("img", { src: image.src, alt: image.alt }) })), topic && (jsx("div", { className: "dsa-content-nav__topic", children: jsx("span", { children: topic }) })), links && links.length > 0 && (jsxs(Fragment, { children: [jsx("div", { className: "dsa-content-nav__links dsa-content-nav__links--initial", children: links.slice(0, initiallyShown).map((link, index) => (jsx("a", { href: link.url, className: "dsa-content-nav__link", children: link.label }, index))) }), links.length > initiallyShown && (jsxs("details", { className: "dsa-content-nav__more", children: [jsxs("summary", { className: "dsa-content-nav__toggle-more", children: [jsx("span", { className: "dsa-content-nav__toggle-label--more", children: "Show more" }), jsx("span", { className: "dsa-content-nav__toggle-label--less", children: "Show less" }), jsx(Icon, { "aria-hidden": true, icon: "chevron-down" })] }), jsx("div", { className: "dsa-content-nav__more-content", children: jsx("div", { className: "dsa-content-nav__links dsa-content-nav__links--more", children: links.slice(initiallyShown).map((link, index) => (jsx("a", { href: link.url, className: "dsa-content-nav__link", children: link.label }, index))) }) })] }))] }))] })));
7
7
  const ContentNavContext = createContext(ContentNavContextDefault);
8
8
  const ContentNav = forwardRef((props, ref) => {
9
9
  const Component = useContext(ContentNavContext);
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { HTMLAttributes } from "react";
3
- import { ImageStoryProps } from "../../ImageStoryProps-e853e1e7.js";
3
+ import { ImageStoryProps } from "../../ImageStoryProps-00ddee3a.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>>;
@@ -29,8 +29,8 @@ interface SettingsProps {
29
29
  seo: SeoProps;
30
30
  iconSprite?: IconSprite;
31
31
  }
32
- export * from "../../BlogPostProps-6b3cff22.js";
33
- export * from "../../BlogOverviewProps-9f207f1c.js";
34
- export * from "../../PageProps-aa29c554.js";
32
+ export * from "../../BlogPostProps-c760fd2a.js";
33
+ export * from "../../BlogOverviewProps-d62a0a9a.js";
34
+ export * from "../../PageProps-21d04028.js";
35
35
  export { IconSprite, SettingsProps };
36
36
  export * from "../../EventDetailProps-42a7eebe.js";
@@ -1,4 +1,4 @@
1
- import { PageProps } from "../../PageProps-aa29c554.js";
1
+ import { PageProps } from "../../PageProps-21d04028.js";
2
2
  import { FC, PropsWithChildren } from "react";
3
3
  declare const Page: FC<PropsWithChildren<PageProps>>;
4
4
  export type { PageProps };
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Wed, 09 Jul 2025 06:44:24 GMT
3
+ * Generated on Thu, 10 Jul 2025 08:45:12 GMT
4
4
  */
5
5
  :root, [ks-theme] {
6
6
  --ks-background-color-accent-base: var(--ks-color-fg-to-bg-9-base);
@@ -159,6 +159,53 @@
159
159
  },
160
160
  "screenshot": "img/screenshots/industry-breadcrumb--default.png"
161
161
  },
162
+ {
163
+ "id": "industry-business-card--default",
164
+ "group": "Industry / Business Card",
165
+ "name": "Default",
166
+ "code": "<BusinessCard\n address=\"1234 Business Lane<br />Suite 567 <br />Business City, BC 12345\"\n avatar={{\n alt: 'Emily Johnson',\n src: 'img/people/contact-person.png'\n }}\n buttons={[\n {\n label: 'Market Insights',\n url: '#'\n }\n ]}\n contact={[\n {\n icon: 'phone',\n label: '+1 234 567 890',\n url: 'tel:+1234567890'\n },\n {\n icon: 'email',\n label: 'emily@example.com',\n url: 'mailto:emily@example.com'\n },\n {\n icon: 'linkedin',\n label: 'Emily Johnson',\n url: '#'\n }\n ]}\n image={{\n alt: 'A group of people collaborating in an office setting',\n src: 'img/full-shot-different-people-working-together.png'\n }}\n logo={{\n alt: 'Business Logo',\n src: 'logo.svg',\n url: '#'\n }}\n topic=\"Industry Intelligence\"\n/>",
167
+ "args": {
168
+ "image": {
169
+ "src": "img/full-shot-different-people-working-together.png",
170
+ "alt": "A group of people collaborating in an office setting"
171
+ },
172
+ "logo": {
173
+ "src": "logo.svg",
174
+ "alt": "Business Logo",
175
+ "url": "#"
176
+ },
177
+ "topic": "Industry Intelligence",
178
+ "address": "1234 Business Lane<br />Suite 567 <br />Business City, BC 12345",
179
+ "avatar": {
180
+ "src": "img/people/contact-person.png",
181
+ "alt": "Emily Johnson"
182
+ },
183
+ "contact": [
184
+ {
185
+ "icon": "phone",
186
+ "label": "+1 234 567 890",
187
+ "url": "tel:+1234567890"
188
+ },
189
+ {
190
+ "icon": "email",
191
+ "label": "emily@example.com",
192
+ "url": "mailto:emily@example.com"
193
+ },
194
+ {
195
+ "icon": "linkedin",
196
+ "label": "Emily Johnson",
197
+ "url": "#"
198
+ }
199
+ ],
200
+ "buttons": [
201
+ {
202
+ "label": "Market Insights",
203
+ "url": "#"
204
+ }
205
+ ]
206
+ },
207
+ "screenshot": "img/screenshots/industry-business-card--default.png"
208
+ },
162
209
  {
163
210
  "id": "components-button--primary-button",
164
211
  "group": "Components/Button",
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { HTMLAttributes, FC, PropsWithChildren } from "react";
3
- import { SectionProps } from "../../SectionProps-21d04028.js";
3
+ import { SectionProps } from "../../SectionProps-00ddee3a.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>>;
@@ -13,7 +13,7 @@ import { FeaturesProps } from "../../FeaturesProps-a9041d97.js";
13
13
  import { GalleryProps } from "../../GalleryProps-76e7de44.js";
14
14
  import { HeroProps } from "../../HeroProps-40f6c7f5.js";
15
15
  import { HtmlProps } from "../../HtmlProps-9d091769.js";
16
- import { ImageStoryProps } from "../../ImageStoryProps-e853e1e7.js";
16
+ import { ImageStoryProps } from "../../ImageStoryProps-00ddee3a.js";
17
17
  import { ImageTextProps } from "../../ImageTextProps-9286cca4.js";
18
18
  import { LogosProps } from "../../LogosProps-f9474fe2.js";
19
19
  import { MosaicProps } from "../../MosaicProps-d52c7151.js";
@@ -13,7 +13,7 @@ import { FeaturesProps } from "../../FeaturesProps-a9041d97.js";
13
13
  import { GalleryProps } from "../../GalleryProps-76e7de44.js";
14
14
  import { HeroProps } from "../../HeroProps-40f6c7f5.js";
15
15
  import { HtmlProps } from "../../HtmlProps-9d091769.js";
16
- import { ImageStoryProps } from "../../ImageStoryProps-e853e1e7.js";
16
+ import { ImageStoryProps } from "../../ImageStoryProps-00ddee3a.js";
17
17
  import { ImageTextProps } from "../../ImageTextProps-9286cca4.js";
18
18
  import { LogosProps } from "../../LogosProps-f9474fe2.js";
19
19
  import { MosaicProps } from "../../MosaicProps-d52c7151.js";
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Wed, 09 Jul 2025 06:44:27 GMT
3
+ * Generated on Thu, 10 Jul 2025 08:45:15 GMT
4
4
  */
5
5
  :root [ks-theme=business] {
6
6
  --ks-background-color-accent-base: var(--ks-color-primary-to-bg-8-base);
@@ -2727,7 +2727,7 @@
2727
2727
  }
2728
2728
  /**
2729
2729
  * Do not edit directly
2730
- * Generated on Wed, 09 Jul 2025 06:44:31 GMT
2730
+ * Generated on Thu, 10 Jul 2025 08:45:19 GMT
2731
2731
  */
2732
2732
  :root [ks-theme=google] {
2733
2733
  --ks-background-color-accent-base: var(--ks-color-primary-to-bg-8-base);
@@ -5458,7 +5458,7 @@
5458
5458
  }
5459
5459
  /**
5460
5460
  * Do not edit directly
5461
- * Generated on Wed, 09 Jul 2025 06:44:29 GMT
5461
+ * Generated on Thu, 10 Jul 2025 08:45:17 GMT
5462
5462
  */
5463
5463
  :root [ks-theme=ngo] {
5464
5464
  --ks-background-color-accent-base: var(--ks-color-primary-to-bg-8-base);
@@ -8459,7 +8459,7 @@
8459
8459
  }
8460
8460
  /**
8461
8461
  * Do not edit directly
8462
- * Generated on Wed, 09 Jul 2025 06:44:33 GMT
8462
+ * Generated on Thu, 10 Jul 2025 08:45:21 GMT
8463
8463
  */
8464
8464
  :root [ks-theme=telekom] {
8465
8465
  --ks-background-color-accent-base: var(--ks-color-primary-to-bg-8-base);
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Wed, 09 Jul 2025 06:44:24 GMT
3
+ * Generated on Thu, 10 Jul 2025 08:45:12 GMT
4
4
  */
5
5
 
6
6
  :root, [ks-theme] {
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Wed, 09 Jul 2025 06:44:25 GMT
3
+ * Generated on Thu, 10 Jul 2025 08:45:12 GMT
4
4
  */
5
5
 
6
6
  export const KsBackgroundColorAccentBase = "#f3f3f4";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kickstartds/ds-agency-premium",
3
- "version": "1.6.71--canary.45.1843.0",
3
+ "version": "1.6.71--canary.45.1849.0",
4
4
  "description": "",
5
5
  "homepage": "https://github.com/kickstartDS/ds-agency-premium#readme",
6
6
  "bugs": {