@kickstartds/ds-agency-premium 1.7.0--canary.18.1660.0 → 1.7.0--canary.46.1797.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 (261) hide show
  1. package/dist/{BlogHeadProps-3f6e4072.d.ts → BlogHeadProps-c04a5ed8.d.ts} +6 -1
  2. package/dist/BlogOverviewProps-9f207f1c.d.ts +1 -1
  3. package/dist/BlogPostProps-6b3cff22.d.ts +2 -2
  4. package/dist/BlogTeaserProps-f5855e93.d.ts +9 -4
  5. package/dist/DividerProps-2ef31901.d.ts +26 -0
  6. package/dist/FeaturesProps-e58616a5.d.ts +62 -0
  7. package/dist/{HeroProps-cf82a16d.d.ts → HeroProps-f704d270.d.ts} +1 -1
  8. package/dist/HtmlProps-9d091769.d.ts +34 -0
  9. package/dist/PageProps-aa29c554.d.ts +1 -1
  10. package/dist/{SectionProps-83d399b4.d.ts → SectionProps-1cfcf6e8.d.ts} +12 -5
  11. package/dist/SliderProps-93230a76.d.ts +4 -4
  12. package/dist/{StatProps-12a3eae0.d.ts → StatProps-79109ad0.d.ts} +1 -1
  13. package/dist/StatsProps-bf5ef578.d.ts +1 -1
  14. package/dist/{TestimonialProps-94bdeac9.d.ts → TestimonialsProps-e344f597.d.ts} +22 -2
  15. package/dist/components/blog-aside/blog-aside.schema.dereffed.json +3 -1
  16. package/dist/components/blog-aside/blog-aside.schema.json +1 -0
  17. package/dist/components/blog-aside/index.d.ts +1 -0
  18. package/dist/components/blog-aside/index.js +6 -1
  19. package/dist/components/blog-author/blog-author.schema.dereffed.json +2 -1
  20. package/dist/components/blog-author/index.d.ts +1 -0
  21. package/dist/components/blog-author/index.js +10 -1
  22. package/dist/components/blog-head/blog-head.css +3 -3
  23. package/dist/components/blog-head/blog-head.schema.dereffed.json +8 -0
  24. package/dist/components/blog-head/blog-head.schema.json +6 -0
  25. package/dist/components/blog-head/index.d.ts +2 -1
  26. package/dist/components/blog-head/index.js +8 -3
  27. package/dist/components/blog-overview/blog-overview.schema.dereffed.json +212 -136
  28. package/dist/components/blog-overview/index.d.ts +1 -0
  29. package/dist/components/blog-overview/index.js +1 -0
  30. package/dist/components/blog-post/blog-post.schema.dereffed.json +181 -119
  31. package/dist/components/blog-post/index.d.ts +1 -0
  32. package/dist/components/blog-post/index.js +1 -0
  33. package/dist/components/blog-teaser/blog-teaser.css +7 -5
  34. package/dist/components/blog-teaser/blog-teaser.schema.dereffed.json +14 -6
  35. package/dist/components/blog-teaser/blog-teaser.schema.json +11 -5
  36. package/dist/components/blog-teaser/index.d.ts +4 -3
  37. package/dist/components/blog-teaser/index.js +14 -5
  38. package/dist/components/button/button.schema.dereffed.json +1 -0
  39. package/dist/components/button/button.schema.json +1 -0
  40. package/dist/components/button/index.d.ts +1 -0
  41. package/dist/components/button-group/button-group.schema.dereffed.json +1 -0
  42. package/dist/components/button-group/index.d.ts +1 -0
  43. package/dist/components/contact/contact.css +2 -0
  44. package/dist/components/contact/contact.schema.dereffed.json +2 -1
  45. package/dist/components/contact/contact.schema.json +2 -1
  46. package/dist/components/contact/index.d.ts +1 -0
  47. package/dist/components/contact/index.js +10 -1
  48. package/dist/components/cta/cta.css +3 -3
  49. package/dist/components/cta/cta.schema.dereffed.json +1 -0
  50. package/dist/components/cta/index.d.ts +1 -0
  51. package/dist/components/cta/index.js +20 -2
  52. package/dist/components/divider/divider.css +1 -1
  53. package/dist/components/divider/index.d.ts +2 -26
  54. package/dist/components/divider/index.js +6 -1
  55. package/dist/components/faq/index.d.ts +1 -0
  56. package/dist/components/faq/index.js +6 -1
  57. package/dist/components/feature/feature.schema.dereffed.json +1 -0
  58. package/dist/components/feature/feature.schema.json +1 -0
  59. package/dist/components/feature/index.d.ts +53 -1
  60. package/dist/components/feature/index.js +14 -2
  61. package/dist/components/features/features.css +43 -10
  62. package/dist/components/features/features.schema.dereffed.json +3 -40
  63. package/dist/components/features/features.schema.json +24 -1
  64. package/dist/components/features/index.d.ts +2 -1
  65. package/dist/components/features/index.js +23 -3
  66. package/dist/components/footer/footer.css +4 -4
  67. package/dist/components/footer/index.d.ts +1 -0
  68. package/dist/components/footer/index.js +11 -1
  69. package/dist/components/gallery/gallery.css +0 -18
  70. package/dist/components/gallery/index.d.ts +1 -0
  71. package/dist/components/gallery/index.js +8 -1
  72. package/dist/components/header/header.css +2 -3
  73. package/dist/components/header/index.d.ts +4 -3
  74. package/dist/components/header/index.js +14 -2
  75. package/dist/components/headline/headline.css +18 -2
  76. package/dist/components/headline/headline.schema.dereffed.json +5 -0
  77. package/dist/components/headline/headline.schema.json +5 -0
  78. package/dist/components/headline/index.d.ts +6 -0
  79. package/dist/components/headline/index.js +1 -1
  80. package/dist/components/hero/hero.css +38 -5
  81. package/dist/components/hero/hero.schema.dereffed.json +4 -2
  82. package/dist/components/hero/hero.schema.json +2 -2
  83. package/dist/components/hero/index.d.ts +2 -1
  84. package/dist/components/hero/index.js +19 -3
  85. package/dist/components/html/Html.client.d.ts +5 -0
  86. package/dist/components/html/Html.client.js +41 -0
  87. package/dist/components/html/html.css +52 -0
  88. package/dist/components/html/html.schema.dereffed.json +61 -0
  89. package/dist/components/html/html.schema.json +31 -3
  90. package/dist/components/html/index.d.ts +5 -26
  91. package/dist/components/html/index.js +25 -4
  92. package/dist/components/image-story/image-story.css +1 -1
  93. package/dist/components/image-story/image-story.schema.dereffed.json +1 -0
  94. package/dist/components/image-story/image-story.schema.json +5 -1
  95. package/dist/components/image-story/index.d.ts +1 -0
  96. package/dist/components/image-story/index.js +14 -2
  97. package/dist/components/image-text/index.d.ts +1 -0
  98. package/dist/components/image-text/index.js +7 -1
  99. package/dist/components/index/index.d.ts +6 -1
  100. package/dist/components/logo/index.d.ts +1 -0
  101. package/dist/components/logo/index.js +6 -1
  102. package/dist/components/logos/index.d.ts +1 -0
  103. package/dist/components/logos/index.js +12 -1
  104. package/dist/components/logos/logos.css +2 -2
  105. package/dist/components/mosaic/index.d.ts +1 -0
  106. package/dist/components/mosaic/index.js +8 -1
  107. package/dist/components/mosaic/mosaic.css +3 -0
  108. package/dist/components/mosaic/mosaic.schema.dereffed.json +1 -0
  109. package/dist/components/nav-dropdown/index.d.ts +1 -0
  110. package/dist/components/nav-flyout/index.d.ts +1 -0
  111. package/dist/components/nav-flyout/index.js +7 -1
  112. package/dist/components/nav-main/index.d.ts +1 -0
  113. package/dist/components/nav-main/index.js +11 -1
  114. package/dist/components/nav-topbar/index.d.ts +1 -0
  115. package/dist/components/nav-topbar/index.js +7 -1
  116. package/dist/components/page/index.d.ts +1 -0
  117. package/dist/components/page/page.schema.dereffed.json +169 -118
  118. package/dist/components/page-wrapper/index.js +107 -389
  119. package/dist/components/page-wrapper/tokens.css +55 -4
  120. package/dist/components/presets.json +182 -237
  121. package/dist/components/providers/index.js +2 -1
  122. package/dist/components/section/index.d.ts +2 -1
  123. package/dist/components/section/index.js +27 -3
  124. package/dist/components/section/js/Section.client.js +1 -1
  125. package/dist/components/section/section.css +50 -35
  126. package/dist/components/section/section.schema.dereffed.json +169 -118
  127. package/dist/components/section/section.schema.json +13 -2
  128. package/dist/components/settings/settings.schema.dereffed.json +5 -0
  129. package/dist/components/settings/settings.schema.json +5 -0
  130. package/dist/components/slider/index.d.ts +1 -0
  131. package/dist/components/slider/index.js +1 -1
  132. package/dist/components/slider/slider.css +5 -0
  133. package/dist/components/slider/slider.schema.dereffed.json +37 -63
  134. package/dist/components/slider/slider.schema.json +1 -1
  135. package/dist/components/split/index.d.ts +1 -0
  136. package/dist/components/split/split.css +3 -3
  137. package/dist/components/stat/index.d.ts +2 -1
  138. package/dist/components/stat/index.js +16 -4
  139. package/dist/components/stat/stat.schema.dereffed.json +7 -5
  140. package/dist/components/stat/stat.schema.json +3 -2
  141. package/dist/components/stats/index.d.ts +1 -0
  142. package/dist/components/stats/index.js +6 -1
  143. package/dist/components/stats/stats.css +3 -7
  144. package/dist/components/stats/stats.schema.dereffed.json +7 -5
  145. package/dist/components/teaser-card/index.d.ts +1 -0
  146. package/dist/components/teaser-card/index.js +13 -2
  147. package/dist/components/testimonial/index.d.ts +49 -1
  148. package/dist/components/testimonial/index.js +11 -2
  149. package/dist/components/testimonial/testimonial.schema.dereffed.json +11 -0
  150. package/dist/components/testimonial/testimonial.schema.json +7 -0
  151. package/dist/components/testimonials/index.d.ts +2 -1
  152. package/dist/components/testimonials/index.js +10 -3
  153. package/dist/components/testimonials/testimonials.css +56 -28
  154. package/dist/components/testimonials/testimonials.schema.dereffed.json +11 -5
  155. package/dist/components/testimonials/testimonials.schema.json +30 -1
  156. package/dist/components/text/index.d.ts +1 -0
  157. package/dist/components/text/index.js +8 -1
  158. package/dist/components/tile/tile.schema.dereffed.json +1 -0
  159. package/dist/components/tile/tile.schema.json +8 -2
  160. package/dist/components/video-curtain/index.d.ts +1 -0
  161. package/dist/components/video-curtain/index.js +11 -1
  162. package/dist/components/video-curtain/video-curtain.css +4 -3
  163. package/dist/components/video-curtain/video-curtain.schema.dereffed.json +2 -1
  164. package/dist/components/video-curtain/video-curtain.schema.json +1 -1
  165. package/dist/global.css +66 -42
  166. package/dist/helpers-84d80d46.d.ts +5 -0
  167. package/dist/helpers-84d80d46.js +33 -0
  168. package/dist/static/img/screenshots/blog-blog-aside--default.png +0 -0
  169. package/dist/static/img/screenshots/blog-blog-author--default.png +0 -0
  170. package/dist/static/img/screenshots/blog-blog-head--default.png +0 -0
  171. package/dist/static/img/screenshots/blog-blog-teaser--default.png +0 -0
  172. package/dist/static/img/screenshots/components-contact--wide-image.png +0 -0
  173. package/dist/static/img/screenshots/components-cta--align-bottom.png +0 -0
  174. package/dist/static/img/screenshots/components-cta--angled-image.png +0 -0
  175. package/dist/static/img/screenshots/components-cta--banner.png +0 -0
  176. package/dist/static/img/screenshots/components-cta--colored-banner.png +0 -0
  177. package/dist/static/img/screenshots/components-cta--contact-banner.png +0 -0
  178. package/dist/static/img/screenshots/components-cta--highlighted.png +0 -0
  179. package/dist/static/img/screenshots/components-cta--left-aligned.png +0 -0
  180. package/dist/static/img/screenshots/components-cta--product-advertisement.png +0 -0
  181. package/dist/static/img/screenshots/components-cta--split-banner.png +0 -0
  182. package/dist/static/img/screenshots/components-faq--dropdown-list.png +0 -0
  183. package/dist/static/img/screenshots/components-faq--single-dropdown.png +0 -0
  184. package/dist/static/img/screenshots/components-features--icon-beside-with-link-in-text.png +0 -0
  185. package/dist/static/img/screenshots/components-features--icon-centered.png +0 -0
  186. package/dist/static/img/screenshots/components-features--icon-intext-with-link.png +0 -0
  187. package/dist/static/img/screenshots/components-features--list-view.png +0 -0
  188. package/dist/static/img/screenshots/components-features--stack-with-button.png +0 -0
  189. package/dist/static/img/screenshots/components-headline--h-1.png +0 -0
  190. package/dist/static/img/screenshots/components-headline--h-2.png +0 -0
  191. package/dist/static/img/screenshots/components-headline--h-3.png +0 -0
  192. package/dist/static/img/screenshots/components-headline--h-4.png +0 -0
  193. package/dist/static/img/screenshots/components-headline--order-swapped.png +0 -0
  194. package/dist/static/img/screenshots/components-headline--with-markdown.png +0 -0
  195. package/dist/static/img/screenshots/components-headline--with-subheadline.png +0 -0
  196. package/dist/static/img/screenshots/components-hero--text-box-on-full-screen.png +0 -0
  197. package/dist/static/img/screenshots/components-hero--text-on-image-with-overlay.png +0 -0
  198. package/dist/static/img/screenshots/components-html--html.png +0 -0
  199. package/dist/static/img/screenshots/components-html--with-consent.png +0 -0
  200. package/dist/static/img/screenshots/components-html--with-script.png +0 -0
  201. package/dist/static/img/screenshots/components-logos--centered-with-button.png +0 -0
  202. package/dist/static/img/screenshots/components-logos--left-aligned-with-text-link.png +0 -0
  203. package/dist/static/img/screenshots/components-stats--count-up-with-description.png +0 -0
  204. package/dist/static/img/screenshots/components-stats--count-up-with-icons.png +0 -0
  205. package/dist/static/img/screenshots/components-teaser-card--page-navigation.png +0 -0
  206. package/dist/static/img/screenshots/components-testimonials--alternating-layout.png +0 -0
  207. package/dist/static/img/screenshots/components-testimonials--list-layout.png +0 -0
  208. package/dist/static/img/screenshots/components-testimonials--simple.png +0 -0
  209. package/dist/static/img/screenshots/components-testimonials--slider-layout.png +0 -0
  210. package/dist/static/img/screenshots/components-testimonials--with-rating.png +0 -0
  211. package/dist/static/img/screenshots/components-testimonials--with-title.png +0 -0
  212. package/dist/static/img/screenshots/form-select-field--default.png +0 -0
  213. package/dist/static/img/screenshots/form-text-area--default.png +0 -0
  214. package/dist/static/img/screenshots/form-text-field--default.png +0 -0
  215. package/dist/static/img/screenshots/layout-divider--accent.png +0 -0
  216. package/dist/static/img/screenshots/layout-divider--default.png +0 -0
  217. package/dist/static/img/screenshots/layout-header--header.png +0 -0
  218. package/dist/static/img/screenshots/layout-section--accent-background.png +0 -0
  219. package/dist/static/img/screenshots/layout-section--background-image.png +0 -0
  220. package/dist/static/img/screenshots/layout-section--bold-background.png +0 -0
  221. package/dist/static/img/screenshots/layout-section--cards.png +0 -0
  222. package/dist/static/img/screenshots/layout-section--colorful-gradient.png +0 -0
  223. package/dist/static/img/screenshots/layout-section--flex-layout.png +0 -0
  224. package/dist/static/img/screenshots/layout-section--inverted.png +0 -0
  225. package/dist/static/img/screenshots/layout-section--list-layout.png +0 -0
  226. package/dist/static/img/screenshots/layout-section--slider.png +0 -0
  227. package/dist/static/img/screenshots/layout-section--spotlight.png +0 -0
  228. package/dist/static/img/screenshots/layout-section--stagelights.png +0 -0
  229. package/dist/static/img/screenshots/layout-section--tile-layout.png +0 -0
  230. package/dist/static/img/screenshots/layout-section--with-buttons.png +0 -0
  231. package/dist/static/img/screenshots/layout-slider--with-arrows.png +0 -0
  232. package/dist/static/img/screenshots/layout-slider--with-autoplay.png +0 -0
  233. package/dist/static/img/screenshots/layout-slider--with-nav.png +0 -0
  234. package/dist/static/img/screenshots/layout-slider--with-teased-neighbours.png +0 -0
  235. package/dist/static/img/screenshots/{pages-archetypes--blog-overview.png → page-archetypes-blog-overview--blog-overview.png} +0 -0
  236. package/dist/static/img/screenshots/page-archetypes-blog-post--blog-post.png +0 -0
  237. package/dist/static/img/screenshots/page-archetypes-landingpage--landingpage.png +0 -0
  238. package/dist/static/img/screenshots/page-archetypes-overview--overview.png +0 -0
  239. package/dist/static/img/screenshots/page-archetypes-showcase--showcase.png +0 -0
  240. package/dist/tokens/IconSprite.js +105 -388
  241. package/dist/tokens/icon-sprite.html +54 -37
  242. package/dist/tokens/themes.css +4 -4
  243. package/dist/tokens/tokens.css +55 -4
  244. package/dist/tokens/tokens.js +49 -52
  245. package/package.json +13 -17
  246. package/dist/FeatureProps-f8a75850.d.ts +0 -52
  247. package/dist/FeaturesProps-b05859d6.d.ts +0 -34
  248. package/dist/TestimonialsProps-f7211553.d.ts +0 -22
  249. package/dist/components/image/image.css +0 -18
  250. package/dist/components/image/image.schema.dereffed.json +0 -105
  251. package/dist/components/image/image.schema.json +0 -95
  252. package/dist/components/image/index.d.ts +0 -87
  253. package/dist/components/image/index.js +0 -11
  254. package/dist/components/picture/picture.schema.json +0 -88
  255. package/dist/static/img/screenshots/components-image--custom-aspect-ratio.png +0 -0
  256. package/dist/static/img/screenshots/components-image--preset-size.png +0 -0
  257. package/dist/static/img/screenshots/components-image--responsive-image.png +0 -0
  258. package/dist/static/img/screenshots/pages-archetypes--blog-post.png +0 -0
  259. package/dist/static/img/screenshots/pages-archetypes--content.png +0 -0
  260. package/dist/static/img/screenshots/pages-archetypes--overview.png +0 -0
  261. package/dist/static/img/screenshots/pages-archetypes--start.png +0 -0
@@ -41,6 +41,12 @@
41
41
  "format": "image",
42
42
  "examples": ["img/close-up-young-business-team-working.png"]
43
43
  },
44
+ "alt": {
45
+ "title": "Alt",
46
+ "description": "The alt text for the preview image",
47
+ "type": "string",
48
+ "examples": ["Image of a business team working"]
49
+ },
44
50
  "link": {
45
51
  "type": "object",
46
52
  "title": "Link",
@@ -53,12 +59,12 @@
53
59
  "format": "uri",
54
60
  "examples": ["https://example.com"]
55
61
  },
56
- "label": {
57
- "title": "Label",
58
- "description": "The label to use for the link",
62
+ "text": {
63
+ "title": "Text",
64
+ "description": "The text for the link",
59
65
  "type": "string",
60
- "examples": ["Read more"],
61
- "default": "Read more"
66
+ "default": "Read article",
67
+ "examples": ["Read article"]
62
68
  }
63
69
  },
64
70
  "additionalProperties": false,
@@ -1,7 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import { HTMLAttributes } from "react";
3
3
  import { BlogTeaserProps } from "../../BlogTeaserProps-f5855e93.js";
4
- declare const BlogTeaserContextDefault: import("react").ForwardRefExoticComponent<BlogTeaserProps & HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLDivElement>>;
5
- declare const BlogTeaserContext: import("react").Context<import("react").ForwardRefExoticComponent<BlogTeaserProps & HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLDivElement>>>;
6
- declare const BlogTeaser: import("react").ForwardRefExoticComponent<BlogTeaserProps & import("react").RefAttributes<HTMLDivElement>>;
4
+ declare const BlogTeaserContextDefault: import("react").ForwardRefExoticComponent<BlogTeaserProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
5
+ declare const BlogTeaserContext: import("react").Context<import("react").ForwardRefExoticComponent<BlogTeaserProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
6
+ declare const BlogTeaser: import("react").ForwardRefExoticComponent<BlogTeaserProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
7
+ export type { BlogTeaserProps };
7
8
  export { BlogTeaserContextDefault, BlogTeaserContext, BlogTeaser };
@@ -4,8 +4,17 @@ import classnames from 'classnames';
4
4
  import { forwardRef, createContext, useContext } from 'react';
5
5
  import { PostTeaserContextDefault } from '@kickstartds/blog/lib/post-teaser';
6
6
  import { Container } from '@kickstartds/core/lib/container';
7
+ import { d as deepMergeDefaults } from '../../helpers-84d80d46.js';
7
8
 
8
- const BlogTeaserContextDefault = forwardRef(({ date, tags = [], headline, teaserText, image, link, readingTime, author, className, ...rest }, ref) => {
9
+ const defaults = {
10
+ "tags": [],
11
+ "link": {
12
+ "text": "Read article"
13
+ },
14
+ "author": {}
15
+ };
16
+
17
+ const BlogTeaserContextDefault = forwardRef(({ date, tags = [], headline, teaserText, image, alt, link, readingTime, author, className, ...rest }, ref) => {
9
18
  const teaserMetaItems = [];
10
19
  if (date)
11
20
  teaserMetaItems.push({
@@ -17,9 +26,9 @@ const BlogTeaserContextDefault = forwardRef(({ date, tags = [], headline, teaser
17
26
  icon: "time",
18
27
  text: readingTime,
19
28
  });
20
- return (jsx(Container, { name: "post-teaser", children: jsx(PostTeaserContextDefault, { ...rest, className: classnames(className, "dsa-blog-teaser"),
29
+ return (jsx(Container, { name: "blog-teaser", children: jsx(PostTeaserContextDefault, { ...rest, className: classnames(className, "dsa-blog-teaser"),
21
30
  // @ts-expect-error
22
- image: { src: image }, meta: {
31
+ image: { src: image, alt: alt || headline }, meta: {
23
32
  author: author
24
33
  ? {
25
34
  image: author.image && { src: author.image },
@@ -29,9 +38,9 @@ const BlogTeaserContextDefault = forwardRef(({ date, tags = [], headline, teaser
29
38
  items: teaserMetaItems,
30
39
  }, link: link
31
40
  ? {
32
- label: link.label || "Read more",
33
41
  // @ts-expect-error
34
42
  target: link.url,
43
+ label: link.text || "Read article",
35
44
  }
36
45
  : undefined, title: headline, body: teaserText, categories: tags.map((tag) => {
37
46
  return { label: tag.entry };
@@ -40,7 +49,7 @@ const BlogTeaserContextDefault = forwardRef(({ date, tags = [], headline, teaser
40
49
  const BlogTeaserContext = createContext(BlogTeaserContextDefault);
41
50
  const BlogTeaser = forwardRef((props, ref) => {
42
51
  const Component = useContext(BlogTeaserContext);
43
- return jsx(Component, { ...props, ref: ref });
52
+ return jsx(Component, { ...deepMergeDefaults(defaults, props), ref: ref });
44
53
  });
45
54
  BlogTeaser.displayName = "BlogTeaser";
46
55
 
@@ -32,6 +32,7 @@
32
32
  },
33
33
  "icon": {
34
34
  "type": "string",
35
+ "format": "icon",
35
36
  "title": "Icon",
36
37
  "description": "Choose an icon"
37
38
  },
@@ -26,6 +26,7 @@
26
26
  },
27
27
  "icon": {
28
28
  "type": "string",
29
+ "format": "icon",
29
30
  "title": "Icon",
30
31
  "description": "Choose an icon"
31
32
  },
@@ -3,4 +3,5 @@ import { HTMLAttributes, FC, PropsWithChildren } from "react";
3
3
  import { ButtonProps } from "../../ButtonProps-03ff6d21.js";
4
4
  declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
5
5
  declare const ButtonProvider: FC<PropsWithChildren>;
6
+ export type { ButtonProps };
6
7
  export { Button, ButtonProvider };
@@ -42,6 +42,7 @@
42
42
  },
43
43
  "icon": {
44
44
  "type": "string",
45
+ "format": "icon",
45
46
  "title": "Icon",
46
47
  "description": "Choose an icon"
47
48
  },
@@ -37,4 +37,5 @@ interface ButtonGroupProps {
37
37
  declare const ButtonGroup: import("react").ForwardRefExoticComponent<ButtonGroupProps & import("react").RefAttributes<HTMLDivElement>>;
38
38
  declare const ButtonGroupProvider: FC<PropsWithChildren>;
39
39
  declare const useButtonGroup: () => (props: ButtonGroupProps) => import("react/jsx-runtime").JSX.Element;
40
+ export type { ButtonGroupProps };
40
41
  export { ButtonGroup, ButtonGroupProvider, useButtonGroup };
@@ -29,6 +29,7 @@
29
29
  --dsa-contact__link__icon--color: inherit;
30
30
  --dsa-contact__link--text-decoration: none;
31
31
  --dsa-contact__link--text-decoration_hover: none;
32
+ --dsa-contact__link--padding-vertical: 0.125em;
32
33
  }
33
34
 
34
35
  .l-container--contact {
@@ -104,6 +105,7 @@
104
105
  margin: 0;
105
106
  }
106
107
  .dsa-contact a.dsa-contact__link {
108
+ padding: var(--dsa-contact__link--padding-vertical) 0;
107
109
  display: flex;
108
110
  align-items: center;
109
111
  color: var(--dsa-contact__link--color);
@@ -67,7 +67,8 @@
67
67
  "type": "object",
68
68
  "properties": {
69
69
  "icon": {
70
- "type": "string"
70
+ "type": "string",
71
+ "format": "icon"
71
72
  },
72
73
  "label": {
73
74
  "type": "string"
@@ -54,7 +54,8 @@
54
54
  "type": "object",
55
55
  "properties": {
56
56
  "icon": {
57
- "type": "string"
57
+ "type": "string",
58
+ "format": "icon"
58
59
  },
59
60
  "label": {
60
61
  "type": "string"
@@ -69,4 +69,5 @@ declare const ContactContextDefault: import("react").ForwardRefExoticComponent<C
69
69
  declare const ContactContext: import("react").Context<import("react").ForwardRefExoticComponent<ContactProps & HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLElement>>>;
70
70
  declare const Contact: import("react").ForwardRefExoticComponent<ContactProps & import("react").RefAttributes<HTMLDivElement>>;
71
71
  declare const ContactProvider: FC<PropsWithChildren>;
72
+ export type { ContactProps };
72
73
  export { ContactContextDefault, ContactContext, Contact, ContactProvider };
@@ -8,12 +8,21 @@ import { Link } from '@kickstartds/base/lib/link';
8
8
  import { Icon } from '@kickstartds/base/lib/icon';
9
9
  import { RichText } from '@kickstartds/base/lib/rich-text';
10
10
  import { Container } from '@kickstartds/core/lib/container';
11
+ import { d as deepMergeDefaults } from '../../helpers-84d80d46.js';
12
+
13
+ const defaults = {
14
+ "image": {
15
+ "fullWidth": false,
16
+ "aspectRatio": "square"
17
+ },
18
+ "links": []
19
+ };
11
20
 
12
21
  const ContactContextDefault = forwardRef(({ title, subtitle, image, links, copy, className, ...props }, ref) => (jsx(Container, { name: "contact", children: jsxs("address", { className: classnames("dsa-contact", image?.aspectRatio && `dsa-contact--image-${image?.aspectRatio}`, image?.fullWidth && `dsa-contact--image-full-width`, className), ref: ref, ...props, children: [image && image.src ? (jsx("div", { className: "dsa-contact__image-wrap", children: jsx(Picture, { src: image?.src, alt: image?.alt, className: "dsa-contact__image" }) })) : (""), jsxs("div", { className: "dsa-contact__body", children: [title && (jsxs("div", { className: "dsa-contact__header", children: [jsx("span", { className: "dsa-contact__title", children: title }), jsx("span", { className: "dsa-contact__subtitle", children: subtitle })] })), copy && jsx(RichText, { text: copy, className: "dsa-contact__copy" }), links && links.length ? (jsx("ul", { className: "dsa-contact__links", children: links.map(({ icon, href, label, newTab }, i) => (jsx("li", { children: jsxs(Link, { className: "dsa-contact__link", href: href, ...(newTab ? { target: "_blank", rel: "noopener" } : {}), children: [jsx(Icon, { icon: icon }), label] }) }, i))) })) : ("")] })] }) })));
13
22
  const ContactContext = createContext(ContactContextDefault);
14
23
  const Contact = forwardRef((props, ref) => {
15
24
  const Component = useContext(ContactContext);
16
- return jsx(Component, { ...props, ref: ref });
25
+ return jsx(Component, { ...deepMergeDefaults(defaults, props), ref: ref });
17
26
  });
18
27
  Contact.displayName = "Contact";
19
28
  const ContactProvider = (props) => (jsx(ContactContext$1.Provider, { ...props, value: Contact }));
@@ -19,7 +19,7 @@
19
19
  --c-storytelling--padding-ratio: 2;
20
20
  --c-storytelling--horizontal-padding: var(--dsa-content--spacing);
21
21
  justify-content: center;
22
- align-items: center;
22
+ align-items: stretch;
23
23
  padding: 0;
24
24
  }
25
25
  .dsa-cta.c-storytelling.dsa-cta--color-neutral {
@@ -100,7 +100,7 @@
100
100
  }
101
101
  .dsa-cta.c-storytelling .c-storytelling__box:only-child {
102
102
  width: 100%;
103
- max-width: calc(var(--l-section--content-width-default) - var(--dsa-content--spacing) * var(--c-storytelling--padding-ratio));
103
+ max-width: calc(var(--dsa-content--width_default) - var(--dsa-content--spacing) * var(--c-storytelling--padding-ratio));
104
104
  }
105
105
  .dsa-cta.c-storytelling > .c-storytelling__image {
106
106
  padding: var(--dsa-cta--vertical-padding, var(--l-section--space-default)) var(--dsa-cta--horizontal-padding, var(--dsa-content--spacing));
@@ -111,7 +111,7 @@
111
111
  }
112
112
  .dsa-cta.c-storytelling > .c-storytelling__image,
113
113
  .dsa-cta.c-storytelling > .c-storytelling__box {
114
- max-width: calc(var(--l-section--content-width-wide) / 2);
114
+ max-width: calc(var(--dsa-content--width_wide) / 2);
115
115
  }
116
116
  .dsa-cta.c-storytelling.dsa-cta--full-width > .c-storytelling__image,
117
117
  .dsa-cta.c-storytelling.dsa-cta--full-width > .c-storytelling__box {
@@ -62,6 +62,7 @@
62
62
  },
63
63
  "icon": {
64
64
  "type": "string",
65
+ "format": "icon",
65
66
  "title": "Icon",
66
67
  "description": "Choose an icon"
67
68
  },
@@ -4,4 +4,5 @@ import { CtaProps } from "../../CtaProps-93230a76.js";
4
4
  declare const CtaContextDefault: import("react").ForwardRefExoticComponent<CtaProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
5
5
  declare const CtaContext: import("react").Context<import("react").ForwardRefExoticComponent<CtaProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
6
6
  declare const Cta: import("react").ForwardRefExoticComponent<CtaProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
7
+ export type { CtaProps };
7
8
  export { CtaContextDefault, CtaContext, Cta };
@@ -5,8 +5,25 @@ import { Storytelling } from '@kickstartds/content/lib/storytelling';
5
5
  import { ButtonContext } from '@kickstartds/base/lib/button';
6
6
  import classnames from 'classnames';
7
7
  import { useButtonGroup } from '../button-group/index.js';
8
+ import { d as deepMergeDefaults } from '../../helpers-84d80d46.js';
8
9
  import '@kickstartds/base/lib/button-group';
9
10
 
11
+ const defaults = {
12
+ "highlightText": false,
13
+ "colorNeutral": false,
14
+ "fullWidth": false,
15
+ "buttons": [],
16
+ "image": {
17
+ "padding": true
18
+ },
19
+ "order": {
20
+ "mobileImageLast": false,
21
+ "desktopImageLast": true
22
+ },
23
+ "textAlign": "left",
24
+ "contentAlign": "center"
25
+ };
26
+
10
27
  const CtaContextDefault = forwardRef(({ headline, highlightText = false, sub, image, text, textAlign, backgroundImage, backgroundColor, colorNeutral, contentAlign, order, fullWidth = false, buttons = [], ...rest }, ref) => {
11
28
  const ButtonGroup = useButtonGroup();
12
29
  return (jsx(ButtonContext.Provider
@@ -18,11 +35,12 @@ const CtaContextDefault = forwardRef(({ headline, highlightText = false, sub, im
18
35
  : ""), backgroundImage: backgroundImage, backgroundColor: backgroundColor, full: image?.padding === false, image: {
19
36
  source: image?.src,
20
37
  order: order,
38
+ vAlign: contentAlign,
21
39
  }, box: {
22
40
  text: text,
23
41
  textAlign: textAlign,
42
+ vAlign: contentAlign,
24
43
  link: {
25
- // @ts-expect-error
26
44
  buttons,
27
45
  colorNeutral: colorNeutral,
28
46
  arrangement: textAlign,
@@ -40,7 +58,7 @@ const CtaContextDefault = forwardRef(({ headline, highlightText = false, sub, im
40
58
  const CtaContext = createContext(CtaContextDefault);
41
59
  const Cta = forwardRef((props, ref) => {
42
60
  const Component = useContext(CtaContext);
43
- return jsx(Component, { ...props, ref: ref });
61
+ return jsx(Component, { ...deepMergeDefaults(defaults, props), ref: ref });
44
62
  });
45
63
  Cta.displayName = "Cta";
46
64
 
@@ -1,6 +1,6 @@
1
1
  .dsa-divider {
2
2
  --dsa-divider--background: var(--ks-border-color-default);
3
- --dsa-divider--background_accent: var(--ks-border-color-accent);
3
+ --dsa-divider--background_accent: var(--ks-border-color-interface);
4
4
  --dsa-divider--height: var(--ks-border-width-default);
5
5
  }
6
6
 
@@ -1,33 +1,9 @@
1
1
  /// <reference types="react" />
2
2
  import { HTMLAttributes, FC, PropsWithChildren } from "react";
3
- /* eslint-disable */
4
- /**
5
- * This file was automatically generated by json-schema-to-typescript.
6
- * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
7
- * and run json-schema-to-typescript to regenerate this file.
8
- */
9
- /**
10
- * Choose a variant for the divider
11
- */
12
- type StyleOfTheDivider = "default" | "accent";
13
- /**
14
- * Add additional css classes that should be applied to the divider
15
- */
16
- type AdditionalClasses = string;
17
- /**
18
- * Optional custom component identifier
19
- */
20
- type KsComponentAttribute = string;
21
- /**
22
- * Dividers bring clarity to a layout by grouping and dividing content in close proximity.
23
- */
24
- interface DividerProps {
25
- variant?: StyleOfTheDivider;
26
- className?: AdditionalClasses;
27
- component?: KsComponentAttribute;
28
- }
3
+ import { DividerProps } from "../../DividerProps-2ef31901.js";
29
4
  declare const DividerContextDefault: import("react").ForwardRefExoticComponent<DividerProps & HTMLAttributes<HTMLHRElement> & import("react").RefAttributes<HTMLHRElement>>;
30
5
  declare const DividerContext: import("react").Context<import("react").ForwardRefExoticComponent<DividerProps & HTMLAttributes<HTMLHRElement> & import("react").RefAttributes<HTMLHRElement>>>;
31
6
  declare const Divider: import("react").ForwardRefExoticComponent<DividerProps & HTMLAttributes<HTMLHRElement> & import("react").RefAttributes<HTMLHRElement>>;
32
7
  declare const DividerProvider: FC<PropsWithChildren>;
8
+ export type { DividerProps };
33
9
  export { DividerContextDefault, DividerContext, Divider, DividerProvider };
@@ -3,12 +3,17 @@ import { jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef, createContext, useContext } from 'react';
4
4
  import classnames from 'classnames';
5
5
  import { DividerContextDefault as DividerContextDefault$1, DividerContext as DividerContext$1 } from '@kickstartds/base/lib/divider';
6
+ import { d as deepMergeDefaults } from '../../helpers-84d80d46.js';
7
+
8
+ const defaults = {
9
+ "variant": "default"
10
+ };
6
11
 
7
12
  const DividerContextDefault = forwardRef(({ variant, className, ...props }, ref) => (jsx(DividerContextDefault$1, { ...props, className: classnames("dsa-divider", className), variant: variant, ref: ref })));
8
13
  const DividerContext = createContext(DividerContextDefault);
9
14
  const Divider = forwardRef((props, ref) => {
10
15
  const Component = useContext(DividerContext);
11
- return jsx(Component, { ...props, ref: ref });
16
+ return jsx(Component, { ...deepMergeDefaults(defaults, props), ref: ref });
12
17
  });
13
18
  Divider.displayName = "Divider";
14
19
  const DividerProvider = (props) => (jsx(DividerContext$1.Provider, { ...props, value: DividerContextDefault }));
@@ -4,4 +4,5 @@ import { FaqProps } from "../../FaqProps-ad618cd5.js";
4
4
  declare const FaqContextDefault: import("react").ForwardRefExoticComponent<FaqProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
5
5
  declare const FaqContext: import("react").Context<import("react").ForwardRefExoticComponent<FaqProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
6
6
  declare const Faq: import("react").ForwardRefExoticComponent<FaqProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
7
+ export type { FaqProps };
7
8
  export { FaqContextDefault, FaqContext, Faq };
@@ -2,12 +2,17 @@ import "./faq.css";
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef, createContext, useContext } from 'react';
4
4
  import { CollapsibleBox } from '@kickstartds/base/lib/collapsible-box';
5
+ import { d as deepMergeDefaults } from '../../helpers-84d80d46.js';
6
+
7
+ const defaults = {
8
+ "questions": []
9
+ };
5
10
 
6
11
  const FaqContextDefault = forwardRef(({ questions, ...rest }, ref) => (jsx("div", { ...rest, ref: ref, className: `dsa-faq`, children: questions.map((question, index) => (jsx(CollapsibleBox, { summary: question.question, text: question.answer }, index))) })));
7
12
  const FaqContext = createContext(FaqContextDefault);
8
13
  const Faq = forwardRef((props, ref) => {
9
14
  const Component = useContext(FaqContext);
10
- return jsx(Component, { ...props, ref: ref });
15
+ return jsx(Component, { ...deepMergeDefaults(defaults, props), ref: ref });
11
16
  });
12
17
  Faq.displayName = "Faq";
13
18
 
@@ -7,6 +7,7 @@
7
7
  "properties": {
8
8
  "icon": {
9
9
  "type": "string",
10
+ "format": "icon",
10
11
  "title": "Icon",
11
12
  "description": "The icon for the feature",
12
13
  "examples": [
@@ -7,6 +7,7 @@
7
7
  "properties": {
8
8
  "icon": {
9
9
  "type": "string",
10
+ "format": "icon",
10
11
  "title": "Icon",
11
12
  "description": "The icon for the feature",
12
13
  "examples": ["person"]
@@ -1,7 +1,59 @@
1
1
  /// <reference types="react" />
2
2
  import { HTMLAttributes } from "react";
3
- import { FeatureProps } from "../../FeatureProps-f8a75850.js";
3
+ /* eslint-disable */
4
+ /**
5
+ * This file was automatically generated by json-schema-to-typescript.
6
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
7
+ * and run json-schema-to-typescript to regenerate this file.
8
+ */
9
+ /**
10
+ * The icon for the feature
11
+ */
12
+ type Icon = string;
13
+ /**
14
+ * The title of the feature
15
+ */
16
+ type Title = string;
17
+ /**
18
+ * The description of the feature
19
+ */
20
+ type Text = string;
21
+ /**
22
+ * The CTA target
23
+ */
24
+ type CallToActionTarget = string;
25
+ /**
26
+ * The text label displayed on the link
27
+ */
28
+ type LinkLabel = string;
29
+ /**
30
+ * Activate/disable the CTAs
31
+ */
32
+ type CallToActionToggle = boolean;
33
+ /**
34
+ * Partial Component used to display a feature
35
+ */
36
+ interface FeatureProps {
37
+ icon?: Icon;
38
+ title: Title;
39
+ text?: Text;
40
+ style?: "intext" | "stack" | "centered" | "besideLarge" | "besideSmall";
41
+ cta?: CallToAction;
42
+ }
43
+ /**
44
+ * The call to action
45
+ */
46
+ interface CallToAction {
47
+ target?: CallToActionTarget;
48
+ label?: LinkLabel;
49
+ toggle?: CallToActionToggle;
50
+ /**
51
+ * Choose the style of the CTA
52
+ */
53
+ style?: "button" | "link" | "intext";
54
+ }
4
55
  declare const FeatureContextDefault: import("react").ForwardRefExoticComponent<FeatureProps & Omit<HTMLAttributes<HTMLDivElement>, "style"> & import("react").RefAttributes<HTMLDivElement>>;
5
56
  declare const FeatureContext: import("react").Context<import("react").ForwardRefExoticComponent<FeatureProps & Omit<HTMLAttributes<HTMLDivElement>, "style"> & import("react").RefAttributes<HTMLDivElement>>>;
6
57
  declare const Feature: import("react").ForwardRefExoticComponent<FeatureProps & Omit<HTMLAttributes<HTMLDivElement>, "style"> & import("react").RefAttributes<HTMLDivElement>>;
58
+ export type { FeatureProps };
7
59
  export { FeatureContextDefault, FeatureContext, Feature };
@@ -4,8 +4,20 @@ import classnames from 'classnames';
4
4
  import { Icon } from '@kickstartds/base/lib/icon';
5
5
  import { Button } from '../button/index.js';
6
6
  import { Link } from '@kickstartds/base/lib/link';
7
+ import { RichText } from '@kickstartds/base/lib/rich-text';
8
+ import { d as deepMergeDefaults } from '../../helpers-84d80d46.js';
7
9
  import '@kickstartds/base/lib/button';
8
10
 
11
+ const defaults = {
12
+ "style": "stack",
13
+ "cta": {
14
+ "target": "#",
15
+ "label": "See more",
16
+ "toggle": true,
17
+ "style": "link"
18
+ }
19
+ };
20
+
9
21
  const FeatureContextDefault = forwardRef(({ style = "stack", title, text, icon, cta: { toggle = true, style: ctaStyle = "link", target, label = "Read more", }, ...rest }, ref) => (jsxs("div", { ...rest, ref: ref, className: classnames(`dsa-feature dsa-feature--${style === `stack`
10
22
  ? `stack dsa-feature--large`
11
23
  : style === `besideSmall`
@@ -16,11 +28,11 @@ const FeatureContextDefault = forwardRef(({ style = "stack", title, text, icon,
16
28
  ? `intext dsa-feature--small`
17
29
  : style === `centered`
18
30
  ? `centered dsa-feature--large`
19
- : `${style}`}`), children: [jsxs("div", { className: "dsa-feature__header", children: [icon && jsx(Icon, { className: "dsa-feature__icon", icon: icon }), jsx("span", { className: "dsa-feature__title", children: title })] }), text || ctaStyle === "intext" ? (jsxs("p", { className: "dsa-feature__text", children: [text, ctaStyle === "intext" && toggle ? (jsxs(Fragment, { children: [" ", jsx(Link, { href: target, children: label ? label : "See more" })] })) : ("")] })) : (""), toggle && (ctaStyle === "link" || ctaStyle === "button") && (jsx("div", { className: "dsa-feature__cta", children: ctaStyle === "link" ? (jsxs(Link, { className: "dsa-feature__link", href: target, children: [label ? label : "See more", jsx(Icon, { icon: "arrow-right" })] })) : ctaStyle === "button" ? (jsx(Button, { className: "dsa-feature__button", size: "small", target: target, label: label ? label : "See more" })) : ("") }))] })));
31
+ : `${style}`}`), children: [jsxs("div", { className: "dsa-feature__header", children: [icon && jsx(Icon, { className: "dsa-feature__icon", icon: icon }), jsx("span", { className: "dsa-feature__title", children: title })] }), text || ctaStyle === "intext" ? (jsxs("div", { className: "dsa-feature__text", children: [jsx(RichText, { text: text }), ctaStyle === "intext" && toggle ? (jsxs(Fragment, { children: [" ", jsx(Link, { href: target, children: label ? label : "See more" })] })) : ("")] })) : (""), toggle && (ctaStyle === "link" || ctaStyle === "button") && (jsx("div", { className: "dsa-feature__cta", children: ctaStyle === "link" ? (jsxs(Link, { className: "dsa-feature__link", href: target, children: [label ? label : "See more", jsx(Icon, { icon: "arrow-right" })] })) : ctaStyle === "button" ? (jsx(Button, { className: "dsa-feature__button", size: "small", target: target, label: label ? label : "See more" })) : ("") }))] })));
20
32
  const FeatureContext = createContext(FeatureContextDefault);
21
33
  const Feature = forwardRef((props, ref) => {
22
34
  const Component = useContext(FeatureContext);
23
- return jsx(Component, { ...props, ref: ref });
35
+ return jsx(Component, { ...deepMergeDefaults(defaults, props), ref: ref });
24
36
  });
25
37
  Feature.displayName = "Feature";
26
38
 
@@ -15,8 +15,8 @@
15
15
  --dsa-feature__icon--color: var(--ks-text-color-primary);
16
16
  --dsa-feature_small__icon--size: calc(var(--ks-line-height-interface-m) * var(--ks-font-size-interface-m));
17
17
  --dsa-feature_large__icon--size: calc(var(--ks-font-size-copy-m) * 2.5);
18
- --dsa-feature_small--gap: var(--ks-spacing-stack-xs);
19
- --dsa-feature_large--gap: var(--ks-spacing-stack-s);
18
+ --dsa-feature_small--gap: var(--ks-spacing-xs);
19
+ --dsa-feature_large--gap: var(--ks-spacing-s);
20
20
  --dsa-feature_small__icon--gap: var(--ks-spacing-xs);
21
21
  --dsa-feature_large__icon--gap: var(--ks-spacing-s);
22
22
  }
@@ -52,17 +52,34 @@
52
52
  gap: var(--dsa-feature--gap);
53
53
  }
54
54
  .dsa-features .dsa-feature--large {
55
- --dsa-feature__icon--size: var(--dsa-feature_large__icon--size, calc(var(--ks-font-size-copy-m) * 2.5));
56
- --dsa-feature__icon--gap: var(--dsa-feature_large__icon--gap, var(--ks-spacing-xs));
57
- --dsa-feature--gap: var(--dsa-feature_large--gap, var(--ks-spacing-stack-s));
55
+ --dsa-feature__icon--size: var(
56
+ --dsa-feature_large__icon--size,
57
+ calc(var(--ks-font-size-copy-m) * 2.5)
58
+ );
59
+ --dsa-feature__icon--gap: var(
60
+ --dsa-feature_large__icon--gap,
61
+ var(--ks-spacing-xs)
62
+ );
63
+ --dsa-feature--gap: var(
64
+ --dsa-feature_large--gap,
65
+ var(--ks-spacing-stack-s)
66
+ );
58
67
  }
59
68
  .dsa-features .dsa-feature--small {
60
69
  --dsa-feature__icon--size: var(
61
70
  --dsa-feature_small__icon--size,
62
- calc(var(--ks-line-height-interface-m) * var(--ks-font-size-interface-m))
71
+ calc(
72
+ var(--ks-line-height-interface-m) * var(--ks-font-size-interface-m)
73
+ )
74
+ );
75
+ --dsa-feature__icon--gap: var(
76
+ --dsa-feature_small__icon--gap,
77
+ var(--ks-spacing-xs)
78
+ );
79
+ --dsa-feature--gap: var(
80
+ --dsa-feature_small--gap,
81
+ var(--ks-spacing-stack-xs)
63
82
  );
64
- --dsa-feature__icon--gap: var(--dsa-feature_small__icon--gap, var(--ks-spacing-xs));
65
- --dsa-feature--gap: var(--dsa-feature_small--gap, var(--ks-spacing-stack-xs));
66
83
  }
67
84
  .dsa-features .dsa-feature--beside {
68
85
  padding-left: calc(var(--dsa-feature__icon--size) + var(--dsa-feature__icon--gap));
@@ -90,6 +107,9 @@
90
107
  display: flex;
91
108
  justify-content: center;
92
109
  }
110
+ .dsa-features .dsa-feature--centered .dsa-feature__icon {
111
+ align-self: center;
112
+ }
93
113
  .dsa-features .dsa-feature__header {
94
114
  display: flex;
95
115
  align-items: center;
@@ -102,14 +122,27 @@
102
122
  font-weight: var(--dsa-feature__title--font-weight, var(--ks-font-weight-semi-bold));
103
123
  }
104
124
  .dsa-features .dsa-feature__text {
105
- color: var(--dsa-feature__copy--color, var(--dsa-rich-text-color), var(--ks-text-color-default));
106
- font: var(--dsa-feature__copy--font, var(--ks-font-copy-s));
107
125
  margin: 0;
108
126
  }
127
+ .dsa-features .dsa-feature__text .c-rich-text {
128
+ --c-rich-text--font: var(
129
+ --dsa-feature__copy--font,
130
+ var(--ks-font-copy-s)
131
+ );
132
+ --c-rich-text--color: var(
133
+ --dsa-feature__copy--color,
134
+ var(--dsa-rich-text-color),
135
+ var(--ks-text-color-default)
136
+ );
137
+ }
109
138
  .dsa-features .dsa-feature__icon {
110
139
  color: var(--dsa-feature__icon--color, var(--ks-text-color-primary));
111
140
  width: var(--dsa-feature__icon--size);
112
141
  height: var(--dsa-feature__icon--size);
142
+ min-width: var(--dsa-feature__icon--size);
143
+ min-height: var(--dsa-feature__icon--size);
144
+ flex-basis: var(--dsa-feature__icon--size);
145
+ align-self: flex-start;
113
146
  }
114
147
  .dsa-features .dsa-feature__cta {
115
148
  margin-top: auto;