@kickstartds/ds-agency-premium 1.6.71--canary.1948.6cfa581.0 → 1.6.71--canary.45.1950.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 (197) hide show
  1. package/dist/{BlogOverviewProps-9f207f1c.d.ts → BlogOverviewProps-21d04028.d.ts} +1 -1
  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-2fd5dbde.d.ts → SectionProps-00ddee3a.d.ts} +2 -2
  5. package/dist/SliderProps-789f8508.d.ts +1 -1
  6. package/dist/{StatProps-12a3eae0.d.ts → StatProps-79109ad0.d.ts} +1 -1
  7. package/dist/StatsProps-bf5ef578.d.ts +1 -1
  8. package/dist/components/blog-aside/blog-aside.schema.dereffed.json +0 -6
  9. package/dist/components/blog-aside/index.js +6 -1
  10. package/dist/components/blog-author/blog-author.schema.dereffed.json +0 -3
  11. package/dist/components/blog-author/index.js +10 -1
  12. package/dist/components/blog-head/blog-head.schema.dereffed.json +0 -6
  13. package/dist/components/blog-head/index.js +6 -1
  14. package/dist/components/blog-overview/blog-overview.schema.dereffed.json +31 -157
  15. package/dist/components/blog-overview/blog-overview.schema.json +2 -2
  16. package/dist/components/blog-overview/index.d.ts +1 -1
  17. package/dist/components/blog-overview/index.js +1 -0
  18. package/dist/components/blog-post/blog-post.schema.dereffed.json +31 -151
  19. package/dist/components/blog-post/blog-post.schema.json +2 -2
  20. package/dist/components/blog-post/index.d.ts +1 -1
  21. package/dist/components/blog-post/index.js +1 -0
  22. package/dist/components/blog-tag/blog-tag.schema.dereffed.json +0 -3
  23. package/dist/components/blog-teaser/blog-teaser.schema.dereffed.json +0 -6
  24. package/dist/components/blog-teaser/index.js +10 -1
  25. package/dist/components/breadcrumb/breadcrumb.schema.dereffed.json +0 -3
  26. package/dist/components/business-card/business-card.schema.dereffed.json +0 -3
  27. package/dist/components/button/button.css +2 -2
  28. package/dist/components/button/button.schema.dereffed.json +0 -3
  29. package/dist/components/button-group/button-group.schema.dereffed.json +2 -8
  30. package/dist/components/button-group/index.d.ts +3 -3
  31. package/dist/components/contact/contact.schema.dereffed.json +0 -3
  32. package/dist/components/contact/index.js +10 -1
  33. package/dist/components/content-nav/content-nav.schema.dereffed.json +0 -3
  34. package/dist/components/cta/cta.schema.dereffed.json +0 -3
  35. package/dist/components/cta/index.js +19 -1
  36. package/dist/components/divider/divider.schema.dereffed.json +0 -3
  37. package/dist/components/divider/index.js +6 -1
  38. package/dist/components/downloads/downloads.schema.dereffed.json +0 -3
  39. package/dist/components/event-appointment/event-appointment.schema.dereffed.json +0 -3
  40. package/dist/components/event-detail/event-detail.schema.dereffed.json +0 -9
  41. package/dist/components/event-detail/index.js +1 -0
  42. package/dist/components/event-filter/event-filter.schema.dereffed.json +0 -3
  43. package/dist/components/event-header/event-header.schema.dereffed.json +0 -3
  44. package/dist/components/event-header/index.js +1 -0
  45. package/dist/components/event-latest/event-latest.schema.dereffed.json +0 -6
  46. package/dist/components/event-latest-teaser/event-latest-teaser.schema.dereffed.json +0 -3
  47. package/dist/components/event-list/event-list.schema.dereffed.json +0 -9
  48. package/dist/components/event-list/index.js +1 -0
  49. package/dist/components/event-list-teaser/event-list-teaser.schema.dereffed.json +0 -3
  50. package/dist/components/event-location/event-location.schema.dereffed.json +0 -6
  51. package/dist/components/event-login/event-login.schema.dereffed.json +0 -3
  52. package/dist/components/event-registration/event-registration.schema.dereffed.json +0 -3
  53. package/dist/components/faq/faq.schema.dereffed.json +0 -3
  54. package/dist/components/faq/index.js +6 -1
  55. package/dist/components/feature/feature.schema.dereffed.json +0 -3
  56. package/dist/components/feature/index.js +15 -2
  57. package/dist/components/features/features.css +25 -7
  58. package/dist/components/features/features.schema.dereffed.json +0 -3
  59. package/dist/components/features/index.js +13 -1
  60. package/dist/components/footer/footer.css +3 -3
  61. package/dist/components/footer/footer.schema.dereffed.json +12 -23
  62. package/dist/components/footer/index.js +11 -1
  63. package/dist/components/gallery/gallery.schema.dereffed.json +0 -3
  64. package/dist/components/gallery/index.js +9 -1
  65. package/dist/components/header/header.schema.dereffed.json +12 -23
  66. package/dist/components/header/index.js +13 -1
  67. package/dist/components/headline/headline.css +2 -44
  68. package/dist/components/headline/headline.schema.dereffed.json +0 -3
  69. package/dist/components/hero/hero.css +0 -22
  70. package/dist/components/hero/hero.schema.dereffed.json +1 -4
  71. package/dist/components/hero/hero.schema.json +1 -1
  72. package/dist/components/hero/index.js +17 -1
  73. package/dist/components/html/html.schema.dereffed.json +0 -3
  74. package/dist/components/html/index.js +8 -1
  75. package/dist/components/image-story/image-story.schema.dereffed.json +0 -6
  76. package/dist/components/image-story/index.d.ts +1 -1
  77. package/dist/components/image-story/index.js +14 -1
  78. package/dist/components/image-text/image-text.schema.dereffed.json +0 -3
  79. package/dist/components/image-text/index.js +7 -1
  80. package/dist/components/index/index.d.ts +3 -3
  81. package/dist/components/logo/index.js +6 -1
  82. package/dist/components/logo/logo.schema.dereffed.json +0 -3
  83. package/dist/components/logos/index.js +12 -1
  84. package/dist/components/logos/logos.schema.dereffed.json +0 -3
  85. package/dist/components/mosaic/index.js +8 -1
  86. package/dist/components/mosaic/mosaic.schema.dereffed.json +0 -6
  87. package/dist/components/nav-dropdown/nav-dropdown.css +3 -3
  88. package/dist/components/nav-dropdown/nav-dropdown.schema.dereffed.json +0 -3
  89. package/dist/components/nav-flyout/index.js +7 -1
  90. package/dist/components/nav-flyout/nav-flyout.schema.dereffed.json +12 -26
  91. package/dist/components/nav-main/index.js +11 -1
  92. package/dist/components/nav-main/nav-main.schema.dereffed.json +12 -26
  93. package/dist/components/nav-main/nav-main.schema.json +12 -20
  94. package/dist/components/nav-topbar/index.js +7 -1
  95. package/dist/components/nav-topbar/nav-topbar.css +3 -3
  96. package/dist/components/nav-topbar/nav-topbar.schema.dereffed.json +12 -23
  97. package/dist/components/page/index.d.ts +1 -1
  98. package/dist/components/page/page.schema.dereffed.json +31 -136
  99. package/dist/components/page/page.schema.json +2 -2
  100. package/dist/components/page-wrapper/index.js +1 -6
  101. package/dist/components/page-wrapper/tokens.css +251 -251
  102. package/dist/components/pagination/pagination.schema.dereffed.json +0 -3
  103. package/dist/components/presets.json +70 -86
  104. package/dist/components/providers/index.js +1 -0
  105. package/dist/components/search/index.js +1 -0
  106. package/dist/components/search/search.schema.dereffed.json +0 -9
  107. package/dist/components/search-bar/search-bar.schema.dereffed.json +0 -3
  108. package/dist/components/search-filter/search-filter.schema.dereffed.json +0 -3
  109. package/dist/components/search-result/search-result.schema.dereffed.json +0 -3
  110. package/dist/components/section/index.d.ts +1 -1
  111. package/dist/components/section/index.js +28 -4
  112. package/dist/components/section/section.css +19 -60
  113. package/dist/components/section/section.schema.dereffed.json +26 -125
  114. package/dist/components/section/section.schema.json +2 -2
  115. package/dist/components/seo/seo.schema.dereffed.json +4 -7
  116. package/dist/components/seo/seo.schema.json +4 -3
  117. package/dist/components/settings/settings.schema.dereffed.json +29 -57
  118. package/dist/components/settings/settings.schema.json +2 -2
  119. package/dist/components/slider/index.js +1 -1
  120. package/dist/components/slider/slider.schema.dereffed.json +16 -51
  121. package/dist/components/slider/slider.schema.json +1 -1
  122. package/dist/components/split-even/index.d.ts +1 -1
  123. package/dist/components/split-even/split-even.schema.dereffed.json +48 -233
  124. package/dist/components/split-weighted/index.d.ts +1 -1
  125. package/dist/components/split-weighted/split-weighted.schema.dereffed.json +48 -233
  126. package/dist/components/stat/index.d.ts +1 -1
  127. package/dist/components/stat/index.js +16 -4
  128. package/dist/components/stat/stat.schema.dereffed.json +6 -8
  129. package/dist/components/stat/stat.schema.json +2 -2
  130. package/dist/components/stats/index.js +6 -1
  131. package/dist/components/stats/stats.css +4 -4
  132. package/dist/components/stats/stats.schema.dereffed.json +6 -11
  133. package/dist/components/teaser-card/index.js +11 -1
  134. package/dist/components/teaser-card/teaser-card.css +13 -9
  135. package/dist/components/teaser-card/teaser-card.schema.dereffed.json +0 -3
  136. package/dist/components/testimonial/index.js +7 -1
  137. package/dist/components/testimonial/testimonial.schema.dereffed.json +0 -3
  138. package/dist/components/testimonials/index.js +8 -1
  139. package/dist/components/testimonials/testimonials.schema.dereffed.json +0 -3
  140. package/dist/components/text/index.js +8 -1
  141. package/dist/components/text/text.schema.dereffed.json +0 -3
  142. package/dist/components/tile/tile.schema.dereffed.json +0 -3
  143. package/dist/components/video-curtain/index.js +11 -1
  144. package/dist/components/video-curtain/video-curtain.schema.dereffed.json +1 -4
  145. package/dist/components/video-curtain/video-curtain.schema.json +1 -1
  146. package/dist/global.css +2 -2
  147. package/dist/helpers-12f48df8.d.ts +6 -0
  148. package/dist/helpers-12f48df8.js +40 -0
  149. package/dist/static/favicon/android-chrome-192x192.png +0 -0
  150. package/dist/static/favicon/android-chrome-512x512.png +0 -0
  151. package/dist/static/favicon/apple-touch-icon.png +0 -0
  152. package/dist/static/favicon/browserconfig.xml +9 -0
  153. package/dist/static/favicon/favicon-16x16.png +0 -0
  154. package/dist/static/favicon/favicon-192-192.png +20 -0
  155. package/dist/static/favicon/favicon-32x32.png +0 -0
  156. package/dist/static/favicon/favicon.ico +0 -0
  157. package/dist/static/favicon/mstile-144x144.png +0 -0
  158. package/dist/static/favicon/mstile-150x150.png +0 -0
  159. package/dist/static/favicon/mstile-310x150.png +0 -0
  160. package/dist/static/favicon/mstile-310x310.png +0 -0
  161. package/dist/static/favicon/mstile-70x70.png +0 -0
  162. package/dist/static/favicon/safari-pinned-tab.svg +30 -0
  163. package/dist/static/favicon/site.webmanifest +19 -1
  164. package/dist/static/logo-inverted.svg +12 -27
  165. package/dist/static/logo.svg +12 -27
  166. package/dist/tokens/IconSprite.js +0 -6
  167. package/dist/tokens/icon-sprite.html +0 -2
  168. package/dist/tokens/themes.css +4 -4
  169. package/dist/tokens/tokens.css +251 -251
  170. package/dist/tokens/tokens.js +376 -377
  171. package/package.json +6 -4
  172. package/dist/static/guenther/brands/cadillac.png +0 -0
  173. package/dist/static/guenther/brands/corvette.png +0 -0
  174. package/dist/static/guenther/brands/infiniti.png +0 -0
  175. package/dist/static/guenther/brands/isuzu.png +0 -0
  176. package/dist/static/guenther/brands/kia.png +0 -0
  177. package/dist/static/guenther/brands/maserati.png +0 -0
  178. package/dist/static/guenther/brands/micro.png +0 -0
  179. package/dist/static/guenther/brands/msg.png +0 -0
  180. package/dist/static/guenther/brands/nissan.png +0 -0
  181. package/dist/static/guenther/brands/saab.png +0 -0
  182. package/dist/static/guenther/brands/subaru.png +0 -0
  183. package/dist/static/guenther/car-1.webp +0 -0
  184. package/dist/static/guenther/car-2.webp +0 -0
  185. package/dist/static/guenther/car-cutout-1.avif +0 -0
  186. package/dist/static/guenther/car-cutout-2.avif +0 -0
  187. package/dist/static/guenther/car-cutout-3.png +0 -0
  188. package/dist/static/guenther/car-red.png +0 -0
  189. package/dist/static/guenther/car-store.png +0 -0
  190. package/dist/static/guenther/car-yellow.webp +0 -0
  191. package/dist/static/guenther/contact.jpg +0 -0
  192. package/dist/static/guenther/header-2.png +0 -0
  193. package/dist/static/guenther/header.jpg +0 -0
  194. package/dist/static/guenther/header.png +0 -0
  195. package/dist/static/guenther/kia-header.webp +0 -0
  196. package/dist/static/guenther/visual.png +0 -0
  197. /package/dist/{ImageStoryProps-e853e1e7.d.ts → ImageStoryProps-00ddee3a.d.ts} +0 -0
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { HTMLAttributes } from "react";
3
- import { StatProps } from "../../StatProps-12a3eae0.js";
3
+ import { StatProps } from "../../StatProps-79109ad0.js";
4
4
  declare const StatContextDefault: import("react").ForwardRefExoticComponent<StatProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
5
5
  declare const StatContext: import("react").Context<import("react").ForwardRefExoticComponent<StatProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
6
6
  declare const Stat: import("react").ForwardRefExoticComponent<StatProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,14 +1,26 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef, createContext, useContext } from 'react';
3
3
  import { CountUp } from '@kickstartds/content/lib/count-up';
4
+ import { d as deepMergeDefaults } from '../../helpers-12f48df8.js';
4
5
 
5
- const StatContextDefault = forwardRef(({ number, title, description, icon, ...rest }, ref) => (jsx(CountUp, { ...rest, ref: ref, className: "dsa-stats__item", to: number, icon: {
6
- icon: icon,
7
- }, text: description, topic: title })));
6
+ const defaults = {};
7
+
8
+ const StatContextDefault = forwardRef(({ number, title, description, icon, ...rest }, ref) => {
9
+ const parts = number ? number.toString().split(/(\d+)/).filter(Boolean) : [];
10
+ const numberIndex = parts.findIndex((part) => !isNaN(Number(part)));
11
+ const value = numberIndex !== -1 ? parseInt(parts[numberIndex], 10) : 0;
12
+ const prefix = numberIndex !== -1 && numberIndex > 0 ? parts[numberIndex - 1] : "";
13
+ const suffix = numberIndex !== -1 && numberIndex < parts.length - 1
14
+ ? parts[numberIndex + 1]
15
+ : "";
16
+ return (jsx(CountUp, { ...rest, ref: ref, className: "dsa-stats__item", to: value, prefix: prefix, suffix: suffix, icon: {
17
+ icon: icon,
18
+ }, text: description, topic: title }));
19
+ });
8
20
  const StatContext = createContext(StatContextDefault);
9
21
  const Stat = forwardRef((props, ref) => {
10
22
  const Component = useContext(StatContext);
11
- return jsx(Component, { ...props, ref: ref });
23
+ return jsx(Component, { ...deepMergeDefaults(defaults, props), ref: ref });
12
24
  });
13
25
  Stat.displayName = "Stat";
14
26
 
@@ -8,12 +8,13 @@
8
8
  "number": {
9
9
  "title": "Number",
10
10
  "description": "The number of the stat",
11
- "type": "integer",
11
+ "type": "string",
12
12
  "examples": [
13
- 1,
14
- 2,
15
- 3,
16
- 4
13
+ "1",
14
+ "5x",
15
+ "2",
16
+ "40%",
17
+ "bis zu 100"
17
18
  ]
18
19
  },
19
20
  "description": {
@@ -44,9 +45,6 @@
44
45
  "home",
45
46
  "map"
46
47
  ]
47
- },
48
- "type": {
49
- "const": "stat"
50
48
  }
51
49
  },
52
50
  "additionalProperties": false,
@@ -8,8 +8,8 @@
8
8
  "number": {
9
9
  "title": "Number",
10
10
  "description": "The number of the stat",
11
- "type": "integer",
12
- "examples": [1, 2, 3, 4]
11
+ "type": "string",
12
+ "examples": ["1", "5x", "2", "40%", "bis zu 100"]
13
13
  },
14
14
  "description": {
15
15
  "title": "Description",
@@ -2,15 +2,20 @@ import "./stats.css";
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef, createElement, createContext, useContext } from 'react';
4
4
  import { Stat } from '../stat/index.js';
5
+ import { d as deepMergeDefaults } from '../../helpers-12f48df8.js';
5
6
  import '@kickstartds/content/lib/count-up';
6
7
 
8
+ const defaults = {
9
+ "stat": []
10
+ };
11
+
7
12
  const StatsContextDefault = forwardRef(({ stat: stats = [], ...rest }, ref) => {
8
13
  return (jsx("div", { ...rest, ref: ref, className: "dsa-stats", children: stats.map((item, index) => (createElement(Stat, { ...item, key: index }))) }));
9
14
  });
10
15
  const StatsContext = createContext(StatsContextDefault);
11
16
  const Stats = forwardRef((props, ref) => {
12
17
  const Component = useContext(StatsContext);
13
- return jsx(Component, { ...props, ref: ref });
18
+ return jsx(Component, { ...deepMergeDefaults(defaults, props), ref: ref });
14
19
  });
15
20
  Stats.displayName = "Stats";
16
21
 
@@ -1,15 +1,15 @@
1
1
  .dsa-stats {
2
2
  --dsa-stats--gap-vertical: var(--ks-spacing-stack-l);
3
3
  --dsa-stats--gap-horizontal: var(--ks-spacing-inline-m);
4
- --dsa-stats__item--gap: var(--ks-spacing-stack-s);
4
+ --dsa-stats__item--gap: var(--ks-spacing-stack-xs);
5
5
  --dsa-stats__icon--color: var(--ks-text-color-primary);
6
- --dsa-stats__icon--size: 4em;
7
- --dsa-stats__number--font: var(--ks-font-display-xxl);
6
+ --dsa-stats__icon--size: 5em;
7
+ --dsa-stats__number--font: var(--ks-font-display-xl);
8
8
  --dsa-stats__number--font-weight: var(--ks-font-weight-semi-bold);
9
9
  --dsa-stats__number--background: var(--dsa-typo--highlight);
10
10
  --dsa-stats__topic__font: var(--ks-font-interface-xl);
11
11
  --dsa-stats__topic--color: var(--ks-text-color-display);
12
- --dsa-stats__copy--font: var(--ks-font-copy-m);
12
+ --dsa-stats__copy--font: var(--ks-font-copy-s);
13
13
  --dsa-stats__copy--color: var(--ks-text-color-default);
14
14
  }
15
15
 
@@ -19,12 +19,13 @@
19
19
  "number": {
20
20
  "title": "Number",
21
21
  "description": "The number of the stat",
22
- "type": "integer",
22
+ "type": "string",
23
23
  "examples": [
24
- 1,
25
- 2,
26
- 3,
27
- 4
24
+ "1",
25
+ "5x",
26
+ "2",
27
+ "40%",
28
+ "bis zu 100"
28
29
  ]
29
30
  },
30
31
  "description": {
@@ -55,9 +56,6 @@
55
56
  "home",
56
57
  "map"
57
58
  ]
58
- },
59
- "type": {
60
- "const": "stat"
61
59
  }
62
60
  },
63
61
  "additionalProperties": false,
@@ -86,9 +84,6 @@
86
84
  },
87
85
  "minItems": 1,
88
86
  "maxItems": 4
89
- },
90
- "type": {
91
- "const": "stats"
92
87
  }
93
88
  },
94
89
  "additionalProperties": false,
@@ -5,6 +5,16 @@ import classnames from 'classnames';
5
5
  import { TeaserBoxContextDefault, TeaserBoxContext } from '@kickstartds/base/lib/teaser-box';
6
6
  import { Container } from '@kickstartds/core/lib/container';
7
7
  import { compiler } from 'markdown-to-jsx';
8
+ import { d as deepMergeDefaults } from '../../helpers-12f48df8.js';
9
+
10
+ const defaults = {
11
+ "layout": "stack",
12
+ "button": {
13
+ "chevron": false,
14
+ "hidden": false
15
+ },
16
+ "imageRatio": "wide"
17
+ };
8
18
 
9
19
  const TeaserCardContextDefault = forwardRef(({ headline, text, button, url, image, imageRatio = "wide", label, layout = "stack", ...rest }, ref) => (jsx(Container, { name: "teaser-card", children: jsxs("div", { className: classnames(`dsa-teaser-card`, `dsa-teaser-card--${layout}`, `dsa-teaser-card--${imageRatio}`), children: [label && jsx("span", { className: "dsa-teaser-card__label", children: label }), jsx(TeaserBoxContextDefault, { ...rest, topic: headline, text: text,
10
20
  // @ts-expect-error
@@ -18,7 +28,7 @@ const TeaserCardContextDefault = forwardRef(({ headline, text, button, url, imag
18
28
  const TeaserCardContext = createContext(TeaserCardContextDefault);
19
29
  const TeaserCard = forwardRef((props, ref) => {
20
30
  const Component = useContext(TeaserCardContext);
21
- return jsx(Component, { ...props, ref: ref });
31
+ return jsx(Component, { ...deepMergeDefaults(defaults, props), ref: ref });
22
32
  });
23
33
  TeaserCard.displayName = "TeaserCard";
24
34
  const TeaserBoxProvider = (props) => (jsx(TeaserBoxContext.Provider, { ...props, value: TeaserCard }));
@@ -8,25 +8,27 @@
8
8
  --dsa-teaser-card--border-width: var(--ks-border-width-default);
9
9
  --dsa-teaser-card--border-color: var(--ks-border-color-card-interactive);
10
10
  --dsa-teaser-card--border-color_hover: var(--ks-border-color-card-interactive-hover);
11
- --dsa-teaser-card--border-radius: var(--ks-border-radius-card);
11
+ --dsa-teaser-card--border-radius: var(--ks-border-radius-card) var(--ks-border-radius-card)
12
+ var(--ks-border-radius-card) calc(var(--ks-border-radius-card) * 3);
12
13
  --dsa-teaser-card--shadow: none;
13
14
  --dsa-teaser-card--shadow_hover: none;
14
- --dsa-teaser-card__image--transform_hover: scale(1.1);
15
- --dsa-teaser-card__image--transition: transform var(--ks-transition-fade);
15
+ --dsa-teaser-card__image--transform_hover: scale(1.05);
16
+ --dsa-teaser-card__image--transition: transform var(--ks-transition-hover);
16
17
  --dsa-teaser-card__topic--color: var(--dsa-topic--color);
17
- --dsa-teaser-card__label--font: var(--ks-font-interface-xs);
18
+ --dsa-teaser-card__label--font: var(--ks-font-interface-s);
18
19
  --dsa-teaser-card__label--font-weight: var(--ks-font-weight-semi-bold);
19
- --dsa-teaser-card__label--color: var(--dsa-text-color-on-primary);
20
- --dsa-teaser-card__label--background-color: var(--ks-background-color-primary);
20
+ --dsa-teaser-card__label--color: var(--ks-text-color-primary);
21
+ --dsa-teaser-card__label--background-color: var(--ks-background-color-bold);
21
22
  --dsa-teaser-card__label--padding: 0.5em 1em;
22
23
  --dsa-teaser-card__label--border-radius: var(--ks-border-radius-pill);
23
- --dsa-teaser-card__label--border: 0;
24
+ --dsa-teaser-card__label--border: 1px solid var(--ks-border-color-interface);
24
25
  --dsa-teaser-card__button--font: var(--ks-font-interface-m);
25
26
  --dsa-teaser-card--padding: var(--ks-spacing-inset-m);
26
27
  --dsa-teaser-card__topic--font: var(--ks-font-display-m);
27
28
  --dsa-teaser-card__topic--font-weight: var(--dsa-topic--font-weight);
28
29
  --dsa-teaser-card__copy--font: var(--ks-font-copy-s);
29
30
  --dsa-teaser-card__copy--color: var(--ks-text-color-default);
31
+ --dsa-teaser-card__copy--margin-top: 0.5em;
30
32
  --dsa-teaser-card__button--font: var(--ks-font-interface-s);
31
33
  }
32
34
  @container teaser-card (min-width: 400px) {
@@ -83,6 +85,7 @@
83
85
  var(--dsa-teaser-card--border-width) solid;
84
86
  --c-teaser--border-radius: var(--dsa-teaser-card--border-radius, var(--ks-border-radius-card));
85
87
  --c-teaser--shadow-hover: var(--dsa-teaser-card--shadow_hover, var(--ks-box-shadow-card-hover));
88
+ --c-teaser_text--spacing: var(--dsa-teaser-card__copy--margin-top, 0.5em);
86
89
  position: relative;
87
90
  transition-property: border-color, background-color, box-shadow;
88
91
  box-shadow: var(--dsa-teaser-card--shadow, var(--ks-box-shadow-card));
@@ -121,12 +124,13 @@
121
124
  .dsa-teaser-card .dsa-teaser-card__label {
122
125
  position: absolute;
123
126
  z-index: 1;
124
- top: var(--ks-spacing-inset-xs);
125
- right: var(--ks-spacing-inset-xs);
127
+ top: 0;
128
+ right: 0;
126
129
  border-radius: var(--dsa-teaser-card__label--border-radius);
127
130
  border: var(--dsa-teaser-card__label--border, 0);
128
131
  pointer-events: initial;
129
132
  padding: var(--dsa-teaser-card__label--padding);
133
+ transform: translate(0.5em, -50%);
130
134
  font: var(--dsa-teaser-card__label--font);
131
135
  text-align: center;
132
136
  font-weight: var(--dsa-teaser-card__label--font-weight);
@@ -79,9 +79,6 @@
79
79
  ],
80
80
  "description": "Aspect ratio of the image",
81
81
  "default": "wide"
82
- },
83
- "type": {
84
- "const": "teaser-card"
85
82
  }
86
83
  },
87
84
  "additionalProperties": false,
@@ -2,6 +2,12 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { forwardRef, createContext, useContext } from 'react';
3
3
  import { Quote } from '@kickstartds/content/lib/quote';
4
4
  import classnames from 'classnames';
5
+ import { d as deepMergeDefaults } from '../../helpers-12f48df8.js';
6
+
7
+ const defaults = {
8
+ "quoteSigns": "normal",
9
+ "image": {}
10
+ };
5
11
 
6
12
  const TestimonialContextDefault = forwardRef(({ image, quote, name, title, layout, index, rating, quoteSigns, ...rest }, ref) => (jsx(Quote, { ...rest, ref: ref, className: classnames(layout === "alternating" && index % 2 === 1 ? "c-quote--reverse" : "", quoteSigns === "normal" || quoteSigns === "none"
7
13
  ? "c-quote--small-signs"
@@ -9,7 +15,7 @@ const TestimonialContextDefault = forwardRef(({ image, quote, name, title, layou
9
15
  const TestimonialContext = createContext(TestimonialContextDefault);
10
16
  const Testimonial = forwardRef((props, ref) => {
11
17
  const Component = useContext(TestimonialContext);
12
- return jsx(Component, { ...props, ref: ref });
18
+ return jsx(Component, { ...deepMergeDefaults(defaults, props), ref: ref });
13
19
  });
14
20
  Testimonial.displayName = "Testimonial";
15
21
 
@@ -64,9 +64,6 @@
64
64
  "type": "integer",
65
65
  "minimum": 1,
66
66
  "maximum": 5
67
- },
68
- "type": {
69
- "const": "testimonial"
70
67
  }
71
68
  },
72
69
  "additionalProperties": false,
@@ -3,10 +3,17 @@ import { forwardRef, createElement, createContext, useContext } from 'react';
3
3
  import { jsx } from 'react/jsx-runtime';
4
4
  import { Slider } from '../slider/index.js';
5
5
  import { Testimonial } from '../testimonial/index.js';
6
+ import { d as deepMergeDefaults } from '../../helpers-12f48df8.js';
6
7
  import 'classnames';
7
8
  import '@kickstartds/content/lib/slider';
8
9
  import '@kickstartds/content/lib/quote';
9
10
 
11
+ const defaults = {
12
+ "layout": "slider",
13
+ "quoteSigns": "normal",
14
+ "testimonial": []
15
+ };
16
+
10
17
  const ConditionalSlider = forwardRef(({ layout, children, arrows, nav, ...props }, ref) => {
11
18
  if (layout === "slider") {
12
19
  return (jsx(Slider, { className: "dsa-testimonials dsa-testimonials--slider", arrows: arrows, nav: nav, ...props, ref: ref, children: children }));
@@ -21,7 +28,7 @@ const TestimonialsContextDefault = forwardRef(({ testimonial: testimonials = [],
21
28
  const TestimonialsContext = createContext(TestimonialsContextDefault);
22
29
  const Testimonials = forwardRef((props, ref) => {
23
30
  const Component = useContext(TestimonialsContext);
24
- return jsx(Component, { ...props, ref: ref });
31
+ return jsx(Component, { ...deepMergeDefaults(defaults, props), ref: ref });
25
32
  });
26
33
  Testimonials.displayName = "Testimonials";
27
34
 
@@ -93,9 +93,6 @@
93
93
  "image"
94
94
  ]
95
95
  }
96
- },
97
- "type": {
98
- "const": "testimonials"
99
96
  }
100
97
  },
101
98
  "additionalProperties": false
@@ -3,6 +3,13 @@ import { jsx } from 'react/jsx-runtime';
3
3
  import classnames from 'classnames';
4
4
  import { forwardRef, createContext, useContext } from 'react';
5
5
  import { RichText } from '@kickstartds/base/lib/rich-text';
6
+ import { d as deepMergeDefaults } from '../../helpers-12f48df8.js';
7
+
8
+ const defaults = {
9
+ "layout": "singleColumn",
10
+ "align": "left",
11
+ "highlightText": false
12
+ };
6
13
 
7
14
  const TextContextDefault = forwardRef(({ text, layout = "singleColumn", align = "left", highlightText = false, ...rest }, ref) => {
8
15
  const layoutClass = `${layout === "multiColumn" ? "dsa-text--columns" : ""}`;
@@ -13,7 +20,7 @@ const TextContextDefault = forwardRef(({ text, layout = "singleColumn", align =
13
20
  const TextContext = createContext(TextContextDefault);
14
21
  const Text = forwardRef((props, ref) => {
15
22
  const Component = useContext(TextContext);
16
- return jsx(Component, { ...props, ref: ref });
23
+ return jsx(Component, { ...deepMergeDefaults(defaults, props), ref: ref });
17
24
  });
18
25
  Text.displayName = "Text";
19
26
 
@@ -39,9 +39,6 @@
39
39
  "title": "Highlight Text",
40
40
  "description": "Visually highlight the text",
41
41
  "default": false
42
- },
43
- "type": {
44
- "const": "text"
45
42
  }
46
43
  },
47
44
  "additionalProperties": false,
@@ -91,9 +91,6 @@
91
91
  "description": "Overwrite the color to use for the text content",
92
92
  "type": "string",
93
93
  "format": "color"
94
- },
95
- "type": {
96
- "const": "tile"
97
94
  }
98
95
  },
99
96
  "additionalProperties": false,
@@ -6,8 +6,18 @@ import classnames from 'classnames';
6
6
  import { Container } from '@kickstartds/core/lib/container';
7
7
  import { ButtonContext } from '@kickstartds/base/lib/button';
8
8
  import { useButtonGroup } from '../button-group/index.js';
9
+ import { d as deepMergeDefaults } from '../../helpers-12f48df8.js';
9
10
  import '@kickstartds/base/lib/button-group';
10
11
 
12
+ const defaults = {
13
+ "highlightText": false,
14
+ "colorNeutral": false,
15
+ "buttons": [],
16
+ "overlay": false,
17
+ "video": {},
18
+ "textPosition": "center"
19
+ };
20
+
11
21
  const VideoCurtainContextDefault = forwardRef(({ headline, sub, text, highlightText, colorNeutral, textPosition, overlay, video, className, buttons = [], ...rest }, ref) => {
12
22
  const ButtonGroup = useButtonGroup();
13
23
  return (jsx(ButtonContext.Provider
@@ -54,7 +64,7 @@ const VideoCurtainContextDefault = forwardRef(({ headline, sub, text, highlightT
54
64
  const VideoCurtainContext = createContext(VideoCurtainContextDefault);
55
65
  const VideoCurtain = forwardRef((props, ref) => {
56
66
  const Component = useContext(VideoCurtainContext);
57
- return jsx(Component, { ...props, ref: ref });
67
+ return jsx(Component, { ...deepMergeDefaults(defaults, props), ref: ref });
58
68
  });
59
69
  VideoCurtain.displayName = "VideoCurtain";
60
70
 
@@ -119,10 +119,7 @@
119
119
  "corner"
120
120
  ],
121
121
  "type": "string",
122
- "default": "bottom"
123
- },
124
- "type": {
125
- "const": "video-curtain"
122
+ "default": "center"
126
123
  }
127
124
  },
128
125
  "additionalProperties": false
@@ -63,7 +63,7 @@
63
63
  "description": "Choose the alginment of the module content",
64
64
  "enum": ["center", "bottom", "left", "right", "corner"],
65
65
  "type": "string",
66
- "default": "bottom"
66
+ "default": "center"
67
67
  }
68
68
  },
69
69
  "additionalProperties": false
package/dist/global.css CHANGED
@@ -312,7 +312,7 @@ h3 {
312
312
  --dsa-link--color_hover: var(--ks-text-color-default-interactive-hover);
313
313
  --dsa-link--text-decoration: none;
314
314
  --dsa-link--text-decoration_hover: none;
315
- --dsa-typo--highlight: var(--ks-text-color-primary);
315
+ --dsa-typo--highlight: var(--ks-color-primary);
316
316
  --dsa-content--horizontal-spacing: var(--ks-spacing-inset-l);
317
317
  --dsa-content--vertical-spacing: var(--ks-spacing-xxl);
318
318
  --dsa-content--width_narrow: calc(var(--ks-font-size-copy-m) * 34);
@@ -340,7 +340,7 @@ h3 {
340
340
  }
341
341
  @media (min-width: 62em) {
342
342
  :root, [ks-inverted], [ks-theme] {
343
- --dsa-logo--height: 3.5rem;
343
+ --dsa-logo--height: 2.5rem;
344
344
  }
345
345
  }
346
346
 
@@ -0,0 +1,6 @@
1
+ declare function canBeCloned(val: unknown): boolean;
2
+ type DeepPartial<T> = T extends object ? {
3
+ [P in keyof T]?: DeepPartial<T[P]>;
4
+ } : T;
5
+ declare function deepMergeDefaults<T extends Record<string, any>>(defaults: DeepPartial<T>, props: T, replaceExamples?: boolean): T;
6
+ export { canBeCloned, DeepPartial, deepMergeDefaults };
@@ -0,0 +1,40 @@
1
+ function canBeCloned(val) {
2
+ try {
3
+ window.postMessage(val, "*");
4
+ }
5
+ catch (err) {
6
+ return false;
7
+ }
8
+ return true;
9
+ }
10
+ function deepMergeDefaults(defaults, props, replaceExamples = false) {
11
+ const keys = Array.from(new Set([...Object.keys(defaults), ...Object.keys(props)]));
12
+ return keys.reduce((acc, key) => {
13
+ const val1 = defaults[key];
14
+ const val2 = props[key];
15
+ if (Array.isArray(val1) && Array.isArray(val2)) {
16
+ acc[key] =
17
+ key === "examples" && replaceExamples
18
+ ? val2
19
+ : (acc[key] = [...val1, ...val2].filter((value, index, self) => {
20
+ return self.findIndex((v) => v === value) === index;
21
+ }));
22
+ }
23
+ else if (typeof val1 === "object" &&
24
+ val1 !== null &&
25
+ typeof val2 === "object" &&
26
+ val2 !== null) {
27
+ acc[key] = deepMergeDefaults(val1, val2, replaceExamples);
28
+ }
29
+ else if (key in props) {
30
+ acc[key] = canBeCloned(val2) ? structuredClone(val2) : val2;
31
+ }
32
+ else {
33
+ acc[key] = canBeCloned(val1) ? structuredClone(val1) : val1;
34
+ }
35
+ return acc;
36
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
37
+ }, {});
38
+ }
39
+
40
+ export { deepMergeDefaults as d };
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <browserconfig>
3
+ <msapplication>
4
+ <tile>
5
+ <square150x150logo src="/mstile-150x150.png"/>
6
+ <TileColor>#da532c</TileColor>
7
+ </tile>
8
+ </msapplication>
9
+ </browserconfig>