@kickstartds/ds-agency-premium 1.6.71--canary.45.2035.0 → 1.6.71--canary.2073.560ebaa.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 (134) hide show
  1. package/dist/{BlogOverviewProps-9f207f1c.d.ts → BlogOverviewProps-d62a0a9a.d.ts} +2 -2
  2. package/dist/BlogPostProps-c760fd2a.d.ts +2 -2
  3. package/dist/{ButtonProps-00ddee3a.d.ts → ButtonProps-4e2b2ecf.d.ts} +3 -1
  4. package/dist/ImageStoryProps-e853e1e7.d.ts +1 -1
  5. package/dist/PageProps-aa29c554.d.ts +1 -1
  6. package/dist/{SectionProps-d60aba86.d.ts → SectionProps-4e3c6fe0.d.ts} +2 -2
  7. package/dist/components/blog-head/index.d.ts +1 -1
  8. package/dist/components/blog-overview/blog-overview.schema.dereffed.json +58 -1
  9. package/dist/components/blog-overview/index.d.ts +1 -1
  10. package/dist/components/blog-post/blog-post.schema.dereffed.json +58 -1
  11. package/dist/components/blog-teaser/index.d.ts +1 -1
  12. package/dist/components/business-card/business-card.css +11 -1
  13. package/dist/components/button/button.css +2 -2
  14. package/dist/components/button/button.schema.dereffed.json +9 -0
  15. package/dist/components/button/button.schema.json +5 -0
  16. package/dist/components/button/index.d.ts +1 -1
  17. package/dist/components/button-group/button-group.schema.dereffed.json +9 -0
  18. package/dist/components/button-group/index.d.ts +1 -1
  19. package/dist/components/cookie-consent/C15t.client.d.ts +5 -0
  20. package/dist/components/cookie-consent/C15t.client.js +94 -0
  21. package/dist/components/cookie-consent/CookieConsent.client.d.ts +30 -0
  22. package/dist/components/cookie-consent/CookieConsent.client.js +89 -0
  23. package/dist/components/cookie-consent/cookie-consent.css +7 -0
  24. package/dist/components/cookie-consent/cookie-consent.schema.dereffed.json +23 -10
  25. package/dist/components/cookie-consent/cookie-consent.schema.json +42 -16
  26. package/dist/components/cookie-consent/index.d.ts +9 -8
  27. package/dist/components/cookie-consent/index.js +5 -9
  28. package/dist/components/footer/footer.css +1 -1
  29. package/dist/components/footer/footer.schema.dereffed.json +20 -12
  30. package/dist/components/header/header.schema.dereffed.json +20 -12
  31. package/dist/components/headline/headline.css +51 -9
  32. package/dist/components/hero/hero.css +22 -0
  33. package/dist/components/image-story/image-story.schema.dereffed.json +9 -0
  34. package/dist/components/index/index.d.ts +1 -1
  35. package/dist/components/nav-dropdown/nav-dropdown.css +3 -3
  36. package/dist/components/nav-flyout/nav-flyout.schema.dereffed.json +20 -12
  37. package/dist/components/nav-main/nav-main.schema.dereffed.json +20 -12
  38. package/dist/components/nav-main/nav-main.schema.json +20 -12
  39. package/dist/components/nav-topbar/nav-topbar.css +3 -3
  40. package/dist/components/nav-topbar/nav-topbar.schema.dereffed.json +20 -12
  41. package/dist/components/page/page.schema.dereffed.json +58 -1
  42. package/dist/components/page-wrapper/index.js +6 -0
  43. package/dist/components/page-wrapper/tokens.css +258 -258
  44. package/dist/components/presets.json +138 -48
  45. package/dist/components/section/index.d.ts +1 -1
  46. package/dist/components/section/index.js +3 -1
  47. package/dist/components/section/section.css +64 -20
  48. package/dist/components/section/section.schema.dereffed.json +58 -1
  49. package/dist/components/section/section.schema.json +8 -1
  50. package/dist/components/settings/settings.schema.dereffed.json +40 -24
  51. package/dist/components/split-even/split-even.css +1 -1
  52. package/dist/components/split-even/split-even.schema.dereffed.json +18 -0
  53. package/dist/components/split-weighted/split-weighted.schema.dereffed.json +18 -0
  54. package/dist/components/stats/stats.css +4 -4
  55. package/dist/components/teaser-card/teaser-card.css +14 -14
  56. package/dist/global.css +12 -2
  57. package/dist/static/favicon/android-chrome-192x192.png +0 -0
  58. package/dist/static/favicon/android-chrome-512x512.png +0 -0
  59. package/dist/static/favicon/apple-touch-icon.png +0 -0
  60. package/dist/static/favicon/favicon-16x16.png +0 -0
  61. package/dist/static/favicon/favicon-32x32.png +0 -0
  62. package/dist/static/favicon/favicon.ico +0 -0
  63. package/dist/static/favicon/site.webmanifest +1 -19
  64. package/dist/static/guenther/brands/cadillac.png +0 -0
  65. package/dist/static/guenther/brands/corvette.png +0 -0
  66. package/dist/static/guenther/brands/infiniti.png +0 -0
  67. package/dist/static/guenther/brands/isuzu.png +0 -0
  68. package/dist/static/guenther/brands/kia.png +0 -0
  69. package/dist/static/guenther/brands/maserati.png +0 -0
  70. package/dist/static/guenther/brands/micro.png +0 -0
  71. package/dist/static/guenther/brands/msg.png +0 -0
  72. package/dist/static/guenther/brands/nissan.png +0 -0
  73. package/dist/static/guenther/brands/saab.png +0 -0
  74. package/dist/static/guenther/brands/subaru.png +0 -0
  75. package/dist/static/guenther/car-1.webp +0 -0
  76. package/dist/static/guenther/car-2.webp +0 -0
  77. package/dist/static/guenther/car-cutout-1.avif +0 -0
  78. package/dist/static/guenther/car-cutout-2.avif +0 -0
  79. package/dist/static/guenther/car-cutout-3.png +0 -0
  80. package/dist/static/guenther/car-red.png +0 -0
  81. package/dist/static/guenther/car-store.png +0 -0
  82. package/dist/static/guenther/car-yellow.webp +0 -0
  83. package/dist/static/guenther/contact.jpg +0 -0
  84. package/dist/static/guenther/header-2.png +0 -0
  85. package/dist/static/guenther/header.jpg +0 -0
  86. package/dist/static/guenther/header.png +0 -0
  87. package/dist/static/guenther/kia-header.webp +0 -0
  88. package/dist/static/guenther/locations/farmsen.png +0 -0
  89. package/dist/static/guenther/locations/hamm.png +0 -0
  90. package/dist/static/guenther/locations/poppenbuettel.jpg +0 -0
  91. package/dist/static/guenther/nissan/19TDIEULHD_JUKE_CA_012_pace706.jpg.ximg_.l_12_h.smart_.jpg +0 -0
  92. package/dist/static/guenther/nissan/19TDIEULHD_JUKE_P13A_CA_019C_pace705.jpg.ximg_.l_12_h.smart_.jpg +0 -0
  93. package/dist/static/guenther/nissan/22NISSCA_JUKE_Trunk_Entry-Guard_pace704.jpg.ximg_.l_12_h.smart_.jpg +0 -0
  94. package/dist/static/guenther/nissan/22NISSCA_JUKE_Trunk_Spoiler_pace703.jpg.ximg_.l_6_h.smart_.jpg +0 -0
  95. package/dist/static/guenther/nissan/24720-slide-juke1-mobil.jpg +0 -0
  96. package/dist/static/guenther/nissan/24720-slide-juke1.jpg +0 -0
  97. package/dist/static/guenther/nissan/24TDIEULHD_JUKE_MC_001-pace203.jpg.ximg_.l_12_h.smart_.jpg +0 -0
  98. package/dist/static/guenther/nissan/24TDIEULHD_JUKE_MC_006-pace204.jpg.ximg_.l_12_h.smart_.jpg +0 -0
  99. package/dist/static/guenther/nissan/24TDIEULHD_JUKE_MC_009-pace205.jpg.ximg_.l_12_h.smart_.jpg +0 -0
  100. package/dist/static/guenther/nissan/24TDIEULHD_JUKE_MC_010-pace206.jpg.ximg_.l_12_m.smart_.jpg +0 -0
  101. package/dist/static/guenther/nissan/24TDIEULHD_JUKE_MC_012-pace305.jpg.ximg_.l_12_h.smart_.jpg +0 -0
  102. package/dist/static/guenther/nissan/24TDIEULHD_JUKE_MC_015-pace304.jpg.ximg_.l_12_h.smart_.jpg +0 -0
  103. package/dist/static/guenther/nissan/24TDIEULHD_JUKE_MC_016-pace306.jpg.ximg_.l_12_h.smart_.jpg +0 -0
  104. package/dist/static/guenther/nissan/24TDIEULHD_JUKE_MC_017-pace405.jpg.ximg_.l_6_h.smart_.jpg +0 -0
  105. package/dist/static/guenther/nissan/24TDIEULHD_JUKE_MC_021-pace302.jpg.ximg_.l_12_h.smart_.jpg +0 -0
  106. package/dist/static/guenther/nissan/24TDIEULHD_JUKE_MC_023-pace303.jpg.ximg_.l_12_h.smart_.jpg +0 -0
  107. package/dist/static/guenther/nissan/24TDIEULHD_JUKE_MC_025-pace308.jpg.ximg_.l_6_h.smart_.jpg +0 -0
  108. package/dist/static/guenther/nissan/24TDIEULHD_JUKE_MC_031-pace404.jpg.ximg_.l_6_h.smart_.jpg +0 -0
  109. package/dist/static/guenther/nissan/24TDIEULHD_JUKE_MC_Lifestyle_pace-702.jpg.ximg_.l_12_h.smart_.jpg +0 -0
  110. package/dist/static/guenther/nissan/24TDIEURHD_JUKE_MC_019-pace307.jpg.ximg_.l_6_h.smart_.jpg +0 -0
  111. package/dist/static/guenther/nissan/24TDIEU_JUKE_Dimension-illustration-pace502.jpg.ximg_.l_4_h.smart_.jpg +0 -0
  112. package/dist/static/guenther/nissan/24TDIEU_JUKE_Dimension-illustration-pace503.jpg.ximg_.l_4_h.smart_-400x267.jpg +0 -0
  113. package/dist/static/guenther/nissan/24TDIEU_JUKE_Dimension-illustration-pace503.jpg.ximg_.l_4_h.smart_.jpg +0 -0
  114. package/dist/static/guenther/nissan/ACC_JUKE_mirrorcap_pace118-d.jpg.ximg_.m_12_h.smart_.jpg +0 -0
  115. package/dist/static/guenther/nissan/junke-abmessungen-600x400.jpg +0 -0
  116. package/dist/static/guenther/visual.png +0 -0
  117. package/dist/static/logo-inverted.svg +27 -12
  118. package/dist/static/logo.svg +27 -12
  119. package/dist/tokens/IconSprite.js +6 -0
  120. package/dist/tokens/icon-sprite.html +2 -0
  121. package/dist/tokens/themes.css +4 -4
  122. package/dist/tokens/tokens.css +258 -258
  123. package/dist/tokens/tokens.js +391 -390
  124. package/package.json +8 -1
  125. package/dist/static/favicon/browserconfig.xml +0 -9
  126. package/dist/static/favicon/favicon-192-192.png +0 -20
  127. package/dist/static/favicon/mstile-144x144.png +0 -0
  128. package/dist/static/favicon/mstile-150x150.png +0 -0
  129. package/dist/static/favicon/mstile-310x150.png +0 -0
  130. package/dist/static/favicon/mstile-310x310.png +0 -0
  131. package/dist/static/favicon/mstile-70x70.png +0 -0
  132. package/dist/static/favicon/safari-pinned-tab.svg +0 -30
  133. /package/dist/{BlogHeadProps-c04a5ed8.d.ts → BlogHeadProps-f5855e93.d.ts} +0 -0
  134. /package/dist/{BlogTeaserProps-f5855e93.d.ts → BlogTeaserProps-d62a0a9a.d.ts} +0 -0
@@ -188,7 +188,14 @@
188
188
  border-radius: var(--ks-border-radius-circle);
189
189
  background-color: var(--dsa-cookie-consent-dialogue__close--background-color, transparent);
190
190
  }
191
+ .dsa-cookie-consent-dialogue__form {
192
+ flex: 1;
193
+ overflow-y: auto;
194
+ display: flex;
195
+ flex-direction: column;
196
+ }
191
197
  .dsa-cookie-consent-dialogue__content {
198
+ flex: 1;
192
199
  overflow-y: auto;
193
200
  border-top: var(--dsa-cookie-consent-dialogue__content--border, var(--ks-border-color-interface) solid var(--ks-border-width-default));
194
201
  border-bottom: var(--dsa-cookie-consent-dialogue__content--border, var(--ks-border-color-interface) solid var(--ks-border-width-default));
@@ -105,11 +105,6 @@
105
105
  "type": "string",
106
106
  "description": "The label for the revisit button",
107
107
  "default": "Manage Cookies"
108
- },
109
- "toggle": {
110
- "type": "boolean",
111
- "description": "Whether the revisit button is a toggle",
112
- "default": true
113
108
  }
114
109
  },
115
110
  "additionalProperties": false
@@ -139,6 +134,13 @@
139
134
  "items": {
140
135
  "type": "object",
141
136
  "properties": {
137
+ "key": {
138
+ "type": "string",
139
+ "title": "Internal Key",
140
+ "examples": [
141
+ "necessary"
142
+ ]
143
+ },
142
144
  "name": {
143
145
  "type": "string",
144
146
  "description": "The name of the required cookie",
@@ -191,6 +193,16 @@
191
193
  "items": {
192
194
  "type": "object",
193
195
  "properties": {
196
+ "key": {
197
+ "type": "string",
198
+ "title": "Internal Key",
199
+ "examples": [
200
+ "functionality",
201
+ "measurement",
202
+ "experience",
203
+ "marketing"
204
+ ]
205
+ },
194
206
  "name": {
195
207
  "type": "string",
196
208
  "description": "The name of the cookie category",
@@ -204,11 +216,6 @@
204
216
  "examples": [
205
217
  "These cookies are necessary for the website to function."
206
218
  ]
207
- },
208
- "checked": {
209
- "type": "boolean",
210
- "description": "Whether the cookie category is checked by default",
211
- "default": true
212
219
  }
213
220
  },
214
221
  "additionalProperties": false
@@ -237,6 +244,12 @@
237
244
  }
238
245
  },
239
246
  "additionalProperties": false
247
+ },
248
+ "component": {
249
+ "title": "`ks-component` attribute",
250
+ "description": "Optional custom component identifier",
251
+ "type": "string",
252
+ "default": "dsa.cookie-consent"
240
253
  }
241
254
  },
242
255
  "additionalProperties": false
@@ -11,14 +11,19 @@
11
11
  "properties": {
12
12
  "displayMode": {
13
13
  "type": "string",
14
- "enum": ["card", "banner"],
14
+ "enum": [
15
+ "card",
16
+ "banner"
17
+ ],
15
18
  "description": "The display mode of the cookie consent component",
16
19
  "default": "card"
17
20
  },
18
21
  "title": {
19
22
  "type": "string",
20
23
  "description": "The title of the cookie consent section",
21
- "examples": ["We value your privacy"]
24
+ "examples": [
25
+ "We value your privacy"
26
+ ]
22
27
  },
23
28
  "acceptButton": {
24
29
  "type": "object",
@@ -46,7 +51,9 @@
46
51
  "label": {
47
52
  "type": "string",
48
53
  "description": "The label for the customize button",
49
- "examples": ["Customize Cookies"]
54
+ "examples": [
55
+ "Customize Cookies"
56
+ ]
50
57
  },
51
58
  "variant": {
52
59
  "$ref": "http://schema.mydesignsystem.com/button.schema.json#/properties/variant"
@@ -74,11 +81,6 @@
74
81
  "type": "string",
75
82
  "description": "The label for the revisit button",
76
83
  "default": "Manage Cookies"
77
- },
78
- "toggle": {
79
- "type": "boolean",
80
- "description": "Whether the revisit button is a toggle",
81
- "default": true
82
84
  }
83
85
  }
84
86
  },
@@ -90,7 +92,9 @@
90
92
  "title": {
91
93
  "type": "string",
92
94
  "description": "The title of the cookie consent dialogue",
93
- "examples": ["Manage Cookie Preferences"]
95
+ "examples": [
96
+ "Manage Cookie Preferences"
97
+ ]
94
98
  },
95
99
  "description": {
96
100
  "type": "string",
@@ -105,10 +109,19 @@
105
109
  "items": {
106
110
  "type": "object",
107
111
  "properties": {
112
+ "key": {
113
+ "type": "string",
114
+ "title": "Internal Key",
115
+ "examples": [
116
+ "necessary"
117
+ ]
118
+ },
108
119
  "name": {
109
120
  "type": "string",
110
121
  "description": "The name of the required cookie",
111
- "examples": ["Session Cookie"]
122
+ "examples": [
123
+ "Session Cookie"
124
+ ]
112
125
  },
113
126
  "description": {
114
127
  "type": "string",
@@ -150,10 +163,22 @@
150
163
  "items": {
151
164
  "type": "object",
152
165
  "properties": {
166
+ "key": {
167
+ "type": "string",
168
+ "title": "Internal Key",
169
+ "examples": [
170
+ "functionality",
171
+ "measurement",
172
+ "experience",
173
+ "marketing"
174
+ ]
175
+ },
153
176
  "name": {
154
177
  "type": "string",
155
178
  "description": "The name of the cookie category",
156
- "examples": ["Essential Cookies"]
179
+ "examples": [
180
+ "Essential Cookies"
181
+ ]
157
182
  },
158
183
  "description": {
159
184
  "type": "string",
@@ -161,11 +186,6 @@
161
186
  "examples": [
162
187
  "These cookies are necessary for the website to function."
163
188
  ]
164
- },
165
- "checked": {
166
- "type": "boolean",
167
- "description": "Whether the cookie category is checked by default",
168
- "default": true
169
189
  }
170
190
  }
171
191
  }
@@ -192,6 +212,12 @@
192
212
  "default": "Always Active"
193
213
  }
194
214
  }
215
+ },
216
+ "component": {
217
+ "title": "`ks-component` attribute",
218
+ "description": "Optional custom component identifier",
219
+ "type": "string",
220
+ "default": "dsa.cookie-consent"
195
221
  }
196
222
  },
197
223
  "additionalProperties": false
@@ -10,7 +10,9 @@ import { HTMLAttributes } from "react";
10
10
  * Variant of button to be used
11
11
  */
12
12
  type Variant = "primary" | "secondary" | "tertiary";
13
+ type InternalKey = string;
13
14
  type RequiredCookies = {
15
+ key?: InternalKey;
14
16
  /**
15
17
  * The name of the required cookie
16
18
  */
@@ -20,10 +22,16 @@ type RequiredCookies = {
20
22
  */
21
23
  description?: string;
22
24
  }[];
25
+ type InternalKey1 = string;
26
+ /**
27
+ * Optional custom component identifier
28
+ */
29
+ type KsComponentAttribute = string;
23
30
  interface CookieConsentProps {
24
31
  notice?: InitialCookieConsentNotice;
25
32
  revisitButton?: RevisitCookieConsentButton;
26
33
  dialogue?: CookieConsentDialogue;
34
+ component?: KsComponentAttribute;
27
35
  }
28
36
  /**
29
37
  * The initial notice displayed to users regarding cookie consent.
@@ -70,10 +78,6 @@ interface RevisitCookieConsentButton {
70
78
  * The label for the revisit button
71
79
  */
72
80
  label?: string;
73
- /**
74
- * Whether the revisit button is a toggle
75
- */
76
- toggle?: boolean;
77
81
  }
78
82
  /**
79
83
  * The dialogue displayed when users choose to customize their cookie preferences.
@@ -107,6 +111,7 @@ interface CookieConsentDialogue {
107
111
  */
108
112
  decisionButtonVariant?: "secondary" | "tertiary";
109
113
  options?: {
114
+ key?: InternalKey1;
110
115
  /**
111
116
  * The name of the cookie category
112
117
  */
@@ -115,10 +120,6 @@ interface CookieConsentDialogue {
115
120
  * A description of the cookie category
116
121
  */
117
122
  description?: string;
118
- /**
119
- * Whether the cookie category is checked by default
120
- */
121
- checked?: boolean;
122
123
  }[];
123
124
  toggleLabels?: {
124
125
  /**
@@ -1,24 +1,20 @@
1
1
  import "./cookie-consent.css";
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
- import { forwardRef, useState, createContext, useContext } from 'react';
3
+ import { forwardRef, createContext, useContext } from 'react';
4
4
  import classnames from 'classnames';
5
5
  import { Headline } from '../headline/index.js';
6
6
  import { Button } from '../button/index.js';
7
7
  import { RichText } from '@kickstartds/base/lib/rich-text';
8
8
  import Markdown from 'markdown-to-jsx';
9
9
  import { Radio } from '@kickstartds/form/lib/radio';
10
+ import './CookieConsent.client.js';
10
11
  import '@kickstartds/base/lib/headline';
11
12
  import '../../helpers-12f48df8.js';
12
13
  import '@kickstartds/base/lib/button';
14
+ import '@kickstartds/core/lib/component';
13
15
 
14
- const CookieConsentContextDefault = forwardRef(({ notice, revisitButton, dialogue }, ref) => {
15
- const [showDialogue, setShowDialogue] = useState(false);
16
- const [optionStates, setOptionStates] = useState(dialogue?.options?.map((option) => option.checked ?? true) // true = default checked
17
- );
18
- const handleRadioChange = (index, value) => {
19
- setOptionStates((prev) => prev.map((checked, i) => (i === index ? value : checked)));
20
- };
21
- return (jsxs("div", { className: "dsa-cookie-consent", ref: ref, children: [jsxs("div", { className: classnames(`dsa-cookie-consent-notice dsa-cookie-consent-notice--${notice?.displayMode}`), children: [jsx(Headline, { spaceAfter: "minimum", text: notice?.title, level: "h2", style: "h3" }), jsx(RichText, { text: notice?.description }), jsxs("div", { className: "dsa-cookie-consent-notice__buttons", children: [jsx(Button, { size: "small", label: notice?.customizeButton?.label, variant: notice?.customizeButton?.variant, onClick: () => setShowDialogue(true) }), jsx(Button, { size: "small", label: notice?.rejectButton?.label, variant: notice?.decisionButtonVariant }), jsx(Button, { size: "small", label: notice?.acceptButton?.label, variant: notice?.decisionButtonVariant })] })] }), revisitButton && revisitButton.toggle && (jsx(Button, { className: "dsa-cookie-consent-revisit", size: "small", variant: "primary", icon: "star", label: revisitButton?.label || "Cookie Preferences", onClick: () => setShowDialogue(true) })), jsxs("div", { className: "dsa-cookie-consent-dialogue", hidden: !showDialogue, "aria-hidden": !showDialogue, children: [jsxs("div", { className: "dsa-cookie-consent-dialogue__header", children: [jsx(Headline, { spaceAfter: "minimum", text: dialogue?.title, level: "h2", style: "h3" }), jsx(Button, { "aria-label": "Close Cookie Consent Dialogue", className: "dsa-cookie-consent-dialogue__close", icon: "close", label: "", onClick: () => setShowDialogue(false) })] }), jsxs("div", { className: "dsa-cookie-consent-dialogue__content", children: [jsx(RichText, { className: "dsa-cookie-consent-dialogue__description", text: dialogue?.description }), jsxs("div", { className: "dsa-cookie-consent-dialogue__options", children: [dialogue?.required?.map((option, index) => (jsxs("div", { className: "dsa-cookie-consent-dialogue__option", children: [jsx(Headline, { spaceAfter: "minimum", text: option.name, level: "h3", style: "h4" }, index), jsx(Markdown, { className: "dsa-cookie-consent-dialogue__option-description", children: option.description }), jsx("span", { className: "dsa-cookie-consent-dialogue__label", children: dialogue?.alwaysActiveLabel || "Always Active" })] }, index))), dialogue?.options?.map((option, index) => (jsxs("div", { className: "dsa-cookie-consent-dialogue__option", children: [jsx(Headline, { spaceAfter: "minimum", text: option.name, level: "h3", style: "h4" }, index), jsx(Markdown, { className: "dsa-cookie-consent-dialogue__option-description", children: option.description }), jsxs("div", { className: "dsa-cookie-consent-dialogue__toggle", children: [jsx(Radio, { name: option.name, checked: optionStates?.[index] ?? true, label: dialogue?.toggleLabels?.accept || "Accept", onChange: () => handleRadioChange(index, true) }), jsx(Radio, { name: option.name, checked: optionStates ? !optionStates[index] : false, label: dialogue?.toggleLabels?.reject || "Reject", onChange: () => handleRadioChange(index, false) })] })] }, index)))] })] }), jsxs("div", { className: "dsa-cookie-consent-dialogue__buttons", children: [jsx(Button, { size: "small", variant: dialogue?.decisionButtonVariant, label: dialogue?.buttons.acceptLabel || "Accept All", onClick: () => setOptionStates(optionStates?.map(() => true)) }), jsx(Button, { size: "small", variant: dialogue?.decisionButtonVariant, label: dialogue?.buttons.rejectLabel || "Reject All", onClick: () => setOptionStates(optionStates?.map(() => false)) }), jsx(Button, { size: "small", variant: "primary", label: dialogue?.buttons.savePreferencesLabel || "Save Preferences", onClick: () => setShowDialogue(false) })] })] }), jsx("div", { className: "dsa-cookie-consent-overlay", hidden: !showDialogue })] }));
16
+ const CookieConsentContextDefault = forwardRef(({ notice, revisitButton, dialogue, component = "dsa.cookie-consent" }, ref) => {
17
+ return (jsxs("div", { className: "dsa-cookie-consent", "ks-component": component, ref: ref, children: [jsxs("div", { className: classnames(`dsa-cookie-consent-notice dsa-cookie-consent-notice--${notice?.displayMode}`), hidden: true, children: [jsx(Headline, { spaceAfter: "minimum", text: notice?.title, level: "h2", style: "h3", className: "dsa-cookie-consent-notice__title" }), jsx(RichText, { text: notice?.description, className: "dsa-cookie-consent-notice__description" }), jsxs("div", { className: "dsa-cookie-consent-notice__buttons", children: [jsx(Button, { size: "small", label: notice?.customizeButton?.label, variant: notice?.customizeButton?.variant, className: "dsa-cookie-consent-notice__button--customize" }), jsx(Button, { size: "small", label: notice?.rejectButton?.label, variant: notice?.decisionButtonVariant, className: "dsa-cookie-consent-notice__button--reject" }), jsx(Button, { size: "small", label: notice?.acceptButton?.label, variant: notice?.decisionButtonVariant, className: "dsa-cookie-consent-notice__button--accept" })] })] }), jsx(Button, { className: "dsa-cookie-consent-revisit", size: "small", variant: "primary", icon: "star", label: revisitButton?.label || "Cookie Preferences", hidden: true }), jsxs("div", { className: "dsa-cookie-consent-dialogue", hidden: true, "aria-hidden": true, children: [jsxs("div", { className: "dsa-cookie-consent-dialogue__header", children: [jsx(Headline, { spaceAfter: "minimum", text: dialogue?.title, level: "h2", style: "h3", className: "dsa-cookie-consent-dialogue__title" }), jsx(Button, { "aria-label": "Close Cookie Consent Dialogue", className: "dsa-cookie-consent-dialogue__close", icon: "close", label: "" })] }), jsxs("form", { className: "dsa-cookie-consent-dialogue__form", children: [jsxs("div", { className: "dsa-cookie-consent-dialogue__content", children: [jsx(RichText, { className: "dsa-cookie-consent-dialogue__description", text: dialogue?.description }), jsxs("div", { className: "dsa-cookie-consent-dialogue__options", children: [dialogue?.required?.map((option, index) => (jsxs("div", { className: "dsa-cookie-consent-dialogue__option", "data-consent-type": option.key, children: [jsx(Headline, { spaceAfter: "minimum", text: option.name, level: "h3", style: "h4" }), jsx(Markdown, { className: "dsa-cookie-consent-dialogue__option-description", children: option.description }), jsx("span", { className: "dsa-cookie-consent-dialogue__label", children: dialogue?.alwaysActiveLabel || "Always Active" })] }, index))), dialogue?.options?.map((option, index) => (jsxs("div", { className: "dsa-cookie-consent-dialogue__option", "data-consent-type": option.key, children: [jsx(Headline, { spaceAfter: "minimum", text: option.name, level: "h3", style: "h4" }), jsx(Markdown, { className: "dsa-cookie-consent-dialogue__option-description", children: option.description }), jsxs("div", { className: "dsa-cookie-consent-dialogue__toggle", children: [jsx(Radio, { name: option.key, label: dialogue?.toggleLabels?.accept || "Accept", value: "accept" }), jsx(Radio, { name: option.key, label: dialogue?.toggleLabels?.reject || "Reject", value: "reject" })] })] }, index)))] })] }), jsxs("div", { className: "dsa-cookie-consent-dialogue__buttons", children: [jsx(Button, { type: "button", size: "small", variant: dialogue?.decisionButtonVariant, label: dialogue?.buttons.acceptLabel || "Accept All", className: "dsa-cookie-consent-dialogue__button--activate-all" }), jsx(Button, { type: "button", size: "small", variant: dialogue?.decisionButtonVariant, label: dialogue?.buttons.rejectLabel || "Reject All", className: "dsa-cookie-consent-dialogue__button--deactivate-all" }), jsx(Button, { type: "submit", size: "small", variant: "primary", label: dialogue?.buttons.savePreferencesLabel || "Save Preferences", className: "dsa-cookie-consent-dialogue__button--save" })] })] })] }), jsx("div", { className: "dsa-cookie-consent-overlay", hidden: true })] }));
22
18
  });
23
19
  const CookieConsentContext = createContext(CookieConsentContextDefault);
24
20
  const CookieConsent = forwardRef((props, ref) => {
@@ -1,6 +1,6 @@
1
1
  .dsa-footer {
2
2
  --dsa-footer--background-color: var(--ks-background-color-default);
3
- --dsa-footer--border-top: 1px solid var(--ks-border-color-default);
3
+ --dsa-footer--border-top: none;
4
4
  --dsa-footer--max-width: var(--dsa-content--width_wide);
5
5
  --dsa-footer--gap-vertical: var(--ks-spacing-stack-m);
6
6
  --dsa-footer__byline--font: var(--ks-font-copy-xs);
@@ -107,43 +107,51 @@
107
107
  "examples": [
108
108
  [
109
109
  {
110
- "label": "Active Item",
110
+ "label": "Fahrzeugsuche",
111
111
  "url": "#",
112
112
  "active": true
113
113
  },
114
114
  {
115
- "label": "Navigation Item",
116
- "url": "#"
117
- },
118
- {
119
- "label": "Dropdown",
115
+ "label": "Marken",
120
116
  "url": "#",
121
117
  "items": [
122
118
  {
123
- "label": "Level 2 Item",
119
+ "label": "Nissan",
124
120
  "url": "#"
125
121
  },
126
122
  {
127
- "label": "Active Item",
123
+ "label": "Kia",
128
124
  "active": true,
129
125
  "url": "#"
130
126
  },
131
127
  {
132
- "label": "An Item with a longer Label",
128
+ "label": "Maserati",
133
129
  "url": "#"
134
130
  },
135
131
  {
136
- "label": "And One last one",
132
+ "label": "Corvette",
137
133
  "url": "#"
138
134
  }
139
135
  ]
140
136
  },
141
137
  {
142
- "label": "One more Item",
138
+ "label": "Standorte",
139
+ "url": "#"
140
+ },
141
+ {
142
+ "label": "Bonusprogramm",
143
+ "url": "#"
144
+ },
145
+ {
146
+ "label": "News",
147
+ "url": "#"
148
+ },
149
+ {
150
+ "label": "Jobs",
143
151
  "url": "#"
144
152
  },
145
153
  {
146
- "label": "Last Item",
154
+ "label": "Kontakt",
147
155
  "url": "#"
148
156
  }
149
157
  ]
@@ -120,43 +120,51 @@
120
120
  "examples": [
121
121
  [
122
122
  {
123
- "label": "Active Item",
123
+ "label": "Fahrzeugsuche",
124
124
  "url": "#",
125
125
  "active": true
126
126
  },
127
127
  {
128
- "label": "Navigation Item",
129
- "url": "#"
130
- },
131
- {
132
- "label": "Dropdown",
128
+ "label": "Marken",
133
129
  "url": "#",
134
130
  "items": [
135
131
  {
136
- "label": "Level 2 Item",
132
+ "label": "Nissan",
137
133
  "url": "#"
138
134
  },
139
135
  {
140
- "label": "Active Item",
136
+ "label": "Kia",
141
137
  "active": true,
142
138
  "url": "#"
143
139
  },
144
140
  {
145
- "label": "An Item with a longer Label",
141
+ "label": "Maserati",
146
142
  "url": "#"
147
143
  },
148
144
  {
149
- "label": "And One last one",
145
+ "label": "Corvette",
150
146
  "url": "#"
151
147
  }
152
148
  ]
153
149
  },
154
150
  {
155
- "label": "One more Item",
151
+ "label": "Standorte",
152
+ "url": "#"
153
+ },
154
+ {
155
+ "label": "Bonusprogramm",
156
+ "url": "#"
157
+ },
158
+ {
159
+ "label": "News",
160
+ "url": "#"
161
+ },
162
+ {
163
+ "label": "Jobs",
156
164
  "url": "#"
157
165
  },
158
166
  {
159
- "label": "Last Item",
167
+ "label": "Kontakt",
160
168
  "url": "#"
161
169
  }
162
170
  ]
@@ -2,12 +2,12 @@
2
2
  --dsa-headline--color: var(--ks-text-color-display);
3
3
  --dsa-headline--font-weight: var(--ks-font-weight-semi-bold);
4
4
  --dsa-headline--text-transform: none;
5
- --dsa-headline--gap: 0.35em;
5
+ --dsa-headline--gap: 0.5em;
6
6
  --dsa-headline--space-after_large: var(--ks-spacing-stack-l);
7
7
  --dsa-headline--space-after_small: var(--ks-spacing-stack-m);
8
8
  --dsa-headline--space-after_minimum: var(--ks-spacing-stack-s);
9
9
  --dsa-headline--higlight-background: var(--dsa-typo--highlight);
10
- --dsa-headline__subheadline--color: var(--ks-color-fg-alpha-4);
10
+ --dsa-headline__subheadline--color: var(--ks-color-fg-to-bg-4);
11
11
  --dsa-headline__subheadline--font-weight: var(--ks-font-weight-bold);
12
12
  --dsa-headline__subheadline--text-transform: uppercase;
13
13
  --dsa-headline__subheadline--letter-spacing: 0.045em;
@@ -19,7 +19,7 @@
19
19
  --dsa-headline_h1--space-after_minimum: var(--ks-spacing-stack-s);
20
20
  --dsa-headline_h2--font: var(--ks-font-display-xl);
21
21
  --dsa-headline_h2__subheadline--font-size: 50%;
22
- --dsa-headline_h2--space-after_large: var(--ks-spacing-stack-l);
22
+ --dsa-headline_h2--space-after_large: var(--ks-spacing-stack-xl);
23
23
  --dsa-headline_h2--space-after_small: var(--ks-spacing-stack-m);
24
24
  --dsa-headline_h2--space-after_minimum: 0;
25
25
  --dsa-headline_h3--font: var(--ks-font-display-l);
@@ -58,39 +58,81 @@
58
58
  visibility: visible;
59
59
  }
60
60
  .dsa-headline--h1 {
61
- font: var(--dsa-headline_h1--font, var(--ks-font-display-xxl));
62
- --subheadline--font-size: var(--dsa-headline_h1--font-size, 50%);
61
+ --subheadline--font-size: var(--dsa-headline_h1__subheadline--font-size, 50%);
63
62
  --headline--space-after_minimum: var(--dsa-headline_h1--space-after_minimum);
64
63
  --headline--space-after_small: var(--dsa-headline_h1--space-after_small);
65
64
  --headline--space-after_large: var(--dsa-headline_h1--space-after_large);
65
+ font: var(--dsa-headline_h1--font, var(--ks-font-display-xxl));
66
+ }
67
+ .dsa-headline--h1 .dsa-headline__headline:not(:last-child),
68
+ .dsa-headline--h1 .dsa-headline__headline:only-child {
69
+ display: flex;
70
+ flex-direction: column;
71
+ }
72
+ .dsa-headline--h1 .dsa-headline__headline:not(:last-child):after,
73
+ .dsa-headline--h1 .dsa-headline__headline:only-child:after {
74
+ content: "";
75
+ font-size: inherit;
76
+ background-color: var(--ks-color-primary);
77
+ height: 3px;
78
+ width: 17%;
79
+ min-width: 5rem;
80
+ max-width: 10rem;
81
+ margin-top: var(--dsa-headline--gap);
82
+ }
83
+ .dsa-headline--h1 .dsa-headline__headline:not(:first-child) {
84
+ display: flex;
85
+ flex-direction: column;
86
+ }
87
+ .dsa-headline--h1 .dsa-headline__headline:not(:first-child):before {
88
+ content: "";
89
+ font-size: inherit;
90
+ background-color: var(--ks-color-primary);
91
+ height: 3px;
92
+ width: 30%;
93
+ min-width: 3rem;
94
+ max-width: 4rem;
95
+ margin-bottom: var(--dsa-headline--gap);
96
+ }
97
+ .dsa-headline--h1.dsa-headline--align-center .dsa-headline__headline,
98
+ .dsa-headline--h1.dsa-headline--align-center .dsa-headline__subheadline {
99
+ align-items: center;
100
+ }
101
+ .dsa-headline--h1.dsa-headline--align-left .dsa-headline__headline,
102
+ .dsa-headline--h1.dsa-headline--align-left .dsa-headline__subheadline {
103
+ align-items: flex-start;
104
+ }
105
+ .dsa-headline--h1.dsa-headline--align-right .dsa-headline__headline,
106
+ .dsa-headline--h1.dsa-headline--align-right .dsa-headline__subheadline {
107
+ align-items: flex-end;
66
108
  }
67
109
  .dsa-headline--h2 {
68
- font: var(--dsa-headline_h2--font, var(--ks-font-display-xl));
69
110
  --subheadline--font-size: var(--dsa-headline_h2__subheadline--font-size, 50%);
70
111
  --headline--space-after_minimum: var(--dsa-headline_h2--space-after_minimum);
71
112
  --headline--space-after_small: var(--dsa-headline_h2--space-after_small);
72
113
  --headline--space-after_large: var(--dsa-headline_h2--space-after_large);
114
+ font: var(--dsa-headline_h2--font, var(--ks-font-display-xl));
73
115
  }
74
116
  .dsa-headline--h3 {
75
- font: var(--dsa-headline_h3--font, var(--ks-font-display-l));
76
117
  --subheadline--font-size: var(--dsa-headline_h3__subheadline--font-size, 50%);
77
118
  --headline--space-after_minimum: var(--dsa-headline_h3--space-after_minimum);
78
119
  --headline--space-after_small: var(--dsa-headline_h3--space-after_small);
79
120
  --headline--space-after_large: var(--dsa-headline_h3--space-after_large);
121
+ font: var(--dsa-headline_h3--font, var(--ks-font-display-l));
80
122
  }
81
123
  .dsa-headline--h4 {
82
- font: var(--dsa-headline_h4--font, var(--ks-font-display-m));
83
124
  --subheadline--font-size: var(--dsa-headline_h4__subheadline--font-size, 75%);
84
125
  --headline--space-after_minimum: var(--dsa-headline_h4--space-after_minimum);
85
126
  --headline--space-after_small: var(--dsa-headline_h4--space-after_small);
86
127
  --headline--space-after_large: var(--dsa-headline_h4--space-after_large);
128
+ font: var(--dsa-headline_h4--font, var(--ks-font-display-m));
87
129
  }
88
130
  .dsa-headline--p {
89
- font: var(--dsa-headline_p--font, var(--ks-font-copy-m));
90
131
  --subheadline--font-size: var(--dsa-headline_p__subheadline--font-size, 75%);
91
132
  --headline--space-after_minimum: var(--dsa-headline_p--space-after_minimum);
92
133
  --headline--space-after_small: var(--dsa-headline_p--space-after_small);
93
134
  --headline--space-after_large: var(--dsa-headline_p--space-after_large);
135
+ font: var(--dsa-headline_p--font, var(--ks-font-copy-m));
94
136
  }
95
137
  .dsa-headline .dsa-headline__headline {
96
138
  color: var(--dsa-headline--color, var(--ks-text-color-display));
@@ -32,6 +32,16 @@
32
32
  var(--ks-color-primary-alpha-5) 0%,
33
33
  var(--ks-color-bg-alpha-4) 100%
34
34
  );
35
+ --dsa-hero_corner__overlay--background: linear-gradient(
36
+ 40deg,
37
+ var(--ks-background-color-default) 15%,
38
+ transparent 50%
39
+ );
40
+ --dsa-hero_left__overlay--background: radial-gradient(
41
+ 100% 200% at 0% 50%,
42
+ var(--ks-color-fg-inverted-alpha-4) 25%,
43
+ var(--ks-color-bg-alpha-9) 50%
44
+ );
35
45
  --dsa-hero--left__overlay--background: linear-gradient(
36
46
  90deg,
37
47
  var(--ks-color-bg-alpha-1) var(--dsa-hero__textbox--max-width),
@@ -150,6 +160,18 @@
150
160
  .c-visual.dsa-hero .dsa-headline .dsa-headline__subheadline {
151
161
  color: var(--dsa-hero__subheadline--color, var(--dsa-headline__subheadline--color, var(--ks-text-color-primary)));
152
162
  }
163
+ .c-visual.dsa-hero--content-corner {
164
+ --c-visual_overlay--background: var(
165
+ --dsa-hero_corner__overlay--background,
166
+ linear-gradient(40deg, var(--ks-background-color-default) 15%, transparent 50%)
167
+ );
168
+ }
169
+ .c-visual.dsa-hero--content-left {
170
+ --c-visual_overlay--background: var(
171
+ --dsa-hero_left__overlay--background,
172
+ linear-gradient(40deg, var(--ks-background-color-default) 15%, transparent 50%)
173
+ );
174
+ }
153
175
  .c-visual.dsa-hero .c-button-group {
154
176
  --c-button-group--vertical-gutter: var(--ks-spacing-stack-m);
155
177
  --c-button-group--horizontal-gutter: var(--ks-spacing-inline-m);
@@ -108,6 +108,15 @@
108
108
  "title": "Disabled?",
109
109
  "description": "Whether the button should be disabled",
110
110
  "default": false
111
+ },
112
+ "type": {
113
+ "type": "string",
114
+ "title": "Button Type",
115
+ "enum": [
116
+ "button",
117
+ "submit",
118
+ "reset"
119
+ ]
111
120
  }
112
121
  },
113
122
  "additionalProperties": false,
@@ -30,7 +30,7 @@ interface SettingsProps {
30
30
  iconSprite?: IconSprite;
31
31
  }
32
32
  export * from "../../BlogPostProps-c760fd2a.js";
33
- export * from "../../BlogOverviewProps-9f207f1c.js";
33
+ export * from "../../BlogOverviewProps-d62a0a9a.js";
34
34
  export * from "../../PageProps-aa29c554.js";
35
35
  export { IconSprite, SettingsProps };
36
36
  export * from "../../EventDetailProps-42a7eebe.js";
@@ -1,5 +1,5 @@
1
1
  .dsa-nav-dropdown {
2
- --dsa-nav-dropdown--padding: var(--ks-spacing-xxs) var(--ks-spacing-xxs) var(--ks-spacing-m) var(--ks-spacing-xxs);
2
+ --dsa-nav-dropdown--padding: var(--ks-spacing-xs) var(--ks-spacing-xxs);
3
3
  --dsa-nav-dropdown--background: var(--ks-background-color-default);
4
4
  --dsa-nav-dropdown--border-radius: var(--ks-border-radius-card);
5
5
  --dsa-nav-dropdown--box-shadow: var(--ks-box-shadow-card);
@@ -8,7 +8,7 @@
8
8
  --dsa-nav-dropdown__label--color: var(--ks-color-fg);
9
9
  --dsa-nav-dropdown__label--color_hover: var(--ks-text-color-interface-interactive-hover);
10
10
  --dsa-nav-dropdown__label--color_active: var(--ks-text-color-interface-interactive-active);
11
- --dsa-nav-dropdown__label--background-color_hover: var(--ks-color-fg-alpha-8);
11
+ --dsa-nav-dropdown__label--background-color_hover: unset;
12
12
  --dsa-nav-dropdown__label--background-color_active: unset;
13
13
  --dsa-nav-dropdown__label--border-radius: var(--ks-border-radius-control);
14
14
  --dsa-nav-dropdown__label--font: var(--ks-font-interface-s);
@@ -16,7 +16,7 @@
16
16
  --dsa-nav-dropdown__label--font-weight: var(--ks-font-weight-semi-bold);
17
17
  --dsa-nav-dropdown__label--font-weight_active: var(--ks-font-weight-bold);
18
18
  --dsa-nav-dropdown__label--padding: 0.45em 0.75em;
19
- --dsa-nav-dropdown__label_dimmed--opacity: 1;
19
+ --dsa-nav-dropdown__label_dimmed--opacity: 0.6;
20
20
  }
21
21
  .dsa-nav-dropdown[ks-inverted=true] {
22
22
  --dsa-nav-dropdown--background: var(--ks-color-fg-inverted);