@kickstartds/ds-agency-premium 1.6.71--canary.1948.6cfa581.0 → 1.6.71--canary.1954.71f9342.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 (136) hide show
  1. package/dist/BlogOverviewProps-9f207f1c.d.ts +1 -1
  2. package/dist/SliderProps-789f8508.d.ts +1 -1
  3. package/dist/{StatProps-12a3eae0.d.ts → StatProps-79109ad0.d.ts} +1 -1
  4. package/dist/StatsProps-bf5ef578.d.ts +1 -1
  5. package/dist/components/blog-aside/blog-aside.schema.dereffed.json +0 -6
  6. package/dist/components/blog-aside/index.js +6 -1
  7. package/dist/components/blog-author/blog-author.schema.dereffed.json +0 -3
  8. package/dist/components/blog-author/index.js +10 -1
  9. package/dist/components/blog-head/blog-head.schema.dereffed.json +0 -6
  10. package/dist/components/blog-head/index.js +6 -1
  11. package/dist/components/blog-overview/blog-overview.schema.dereffed.json +30 -154
  12. package/dist/components/blog-overview/blog-overview.schema.json +2 -2
  13. package/dist/components/blog-overview/index.js +1 -0
  14. package/dist/components/blog-post/blog-post.schema.dereffed.json +30 -148
  15. package/dist/components/blog-post/blog-post.schema.json +2 -2
  16. package/dist/components/blog-post/index.d.ts +1 -1
  17. package/dist/components/blog-post/index.js +1 -0
  18. package/dist/components/blog-tag/blog-tag.schema.dereffed.json +0 -3
  19. package/dist/components/blog-teaser/blog-teaser.schema.dereffed.json +0 -6
  20. package/dist/components/blog-teaser/index.d.ts +1 -1
  21. package/dist/components/blog-teaser/index.js +10 -1
  22. package/dist/components/breadcrumb/breadcrumb.schema.dereffed.json +0 -3
  23. package/dist/components/business-card/business-card.schema.dereffed.json +0 -3
  24. package/dist/components/button/button.schema.dereffed.json +0 -3
  25. package/dist/components/button-group/button-group.schema.dereffed.json +2 -8
  26. package/dist/components/button-group/index.d.ts +3 -3
  27. package/dist/components/contact/contact.schema.dereffed.json +0 -3
  28. package/dist/components/contact/index.js +10 -1
  29. package/dist/components/content-nav/content-nav.schema.dereffed.json +0 -3
  30. package/dist/components/cta/cta.schema.dereffed.json +0 -3
  31. package/dist/components/cta/index.js +19 -1
  32. package/dist/components/divider/divider.schema.dereffed.json +0 -3
  33. package/dist/components/divider/index.js +6 -1
  34. package/dist/components/downloads/downloads.schema.dereffed.json +0 -3
  35. package/dist/components/event-appointment/event-appointment.schema.dereffed.json +0 -3
  36. package/dist/components/event-detail/event-detail.schema.dereffed.json +0 -9
  37. package/dist/components/event-detail/index.js +1 -0
  38. package/dist/components/event-filter/event-filter.schema.dereffed.json +0 -3
  39. package/dist/components/event-header/event-header.schema.dereffed.json +0 -3
  40. package/dist/components/event-header/index.js +1 -0
  41. package/dist/components/event-latest/event-latest.schema.dereffed.json +0 -6
  42. package/dist/components/event-latest-teaser/event-latest-teaser.schema.dereffed.json +0 -3
  43. package/dist/components/event-list/event-list.schema.dereffed.json +0 -9
  44. package/dist/components/event-list/index.js +1 -0
  45. package/dist/components/event-list-teaser/event-list-teaser.schema.dereffed.json +0 -3
  46. package/dist/components/event-location/event-location.schema.dereffed.json +0 -6
  47. package/dist/components/event-login/event-login.schema.dereffed.json +0 -3
  48. package/dist/components/event-registration/event-registration.schema.dereffed.json +0 -3
  49. package/dist/components/faq/faq.schema.dereffed.json +0 -3
  50. package/dist/components/faq/index.js +6 -1
  51. package/dist/components/feature/feature.schema.dereffed.json +0 -3
  52. package/dist/components/feature/index.js +15 -2
  53. package/dist/components/features/features.css +25 -7
  54. package/dist/components/features/features.schema.dereffed.json +0 -3
  55. package/dist/components/features/index.js +13 -1
  56. package/dist/components/footer/footer.schema.dereffed.json +0 -3
  57. package/dist/components/footer/index.js +11 -1
  58. package/dist/components/gallery/gallery.schema.dereffed.json +0 -3
  59. package/dist/components/gallery/index.js +9 -1
  60. package/dist/components/header/header.schema.dereffed.json +0 -3
  61. package/dist/components/header/index.js +13 -1
  62. package/dist/components/headline/headline.schema.dereffed.json +0 -3
  63. package/dist/components/hero/hero.schema.dereffed.json +1 -4
  64. package/dist/components/hero/hero.schema.json +1 -1
  65. package/dist/components/hero/index.js +17 -1
  66. package/dist/components/html/html.schema.dereffed.json +0 -3
  67. package/dist/components/html/index.js +8 -1
  68. package/dist/components/image-story/image-story.schema.dereffed.json +0 -6
  69. package/dist/components/image-story/index.js +14 -1
  70. package/dist/components/image-text/image-text.schema.dereffed.json +0 -3
  71. package/dist/components/image-text/index.js +7 -1
  72. package/dist/components/index/index.d.ts +1 -1
  73. package/dist/components/logo/index.js +6 -1
  74. package/dist/components/logo/logo.schema.dereffed.json +0 -3
  75. package/dist/components/logos/index.js +12 -1
  76. package/dist/components/logos/logos.schema.dereffed.json +0 -3
  77. package/dist/components/mosaic/index.js +8 -1
  78. package/dist/components/mosaic/mosaic.schema.dereffed.json +0 -6
  79. package/dist/components/nav-dropdown/nav-dropdown.schema.dereffed.json +0 -3
  80. package/dist/components/nav-flyout/index.js +7 -1
  81. package/dist/components/nav-flyout/nav-flyout.schema.dereffed.json +0 -6
  82. package/dist/components/nav-main/index.js +11 -1
  83. package/dist/components/nav-main/nav-main.schema.dereffed.json +0 -6
  84. package/dist/components/nav-topbar/index.js +7 -1
  85. package/dist/components/nav-topbar/nav-topbar.schema.dereffed.json +0 -3
  86. package/dist/components/page/page.schema.dereffed.json +30 -133
  87. package/dist/components/page/page.schema.json +2 -2
  88. package/dist/components/page-wrapper/index.js +1 -0
  89. package/dist/components/page-wrapper/tokens.css +1 -1
  90. package/dist/components/pagination/pagination.schema.dereffed.json +0 -3
  91. package/dist/components/presets.json +44 -44
  92. package/dist/components/providers/index.js +1 -0
  93. package/dist/components/search/index.js +1 -0
  94. package/dist/components/search/search.schema.dereffed.json +0 -9
  95. package/dist/components/search-bar/search-bar.schema.dereffed.json +0 -3
  96. package/dist/components/search-filter/search-filter.schema.dereffed.json +0 -3
  97. package/dist/components/search-result/search-result.schema.dereffed.json +0 -3
  98. package/dist/components/section/index.js +27 -1
  99. package/dist/components/section/section.schema.dereffed.json +25 -122
  100. package/dist/components/section/section.schema.json +1 -1
  101. package/dist/components/seo/seo.schema.dereffed.json +4 -7
  102. package/dist/components/seo/seo.schema.json +4 -3
  103. package/dist/components/settings/settings.schema.dereffed.json +5 -17
  104. package/dist/components/settings/settings.schema.json +2 -2
  105. package/dist/components/slider/index.js +1 -1
  106. package/dist/components/slider/slider.schema.dereffed.json +16 -51
  107. package/dist/components/slider/slider.schema.json +1 -1
  108. package/dist/components/split-even/split-even.schema.dereffed.json +48 -233
  109. package/dist/components/split-weighted/split-weighted.schema.dereffed.json +48 -233
  110. package/dist/components/stat/index.d.ts +1 -1
  111. package/dist/components/stat/index.js +16 -4
  112. package/dist/components/stat/stat.schema.dereffed.json +6 -8
  113. package/dist/components/stat/stat.schema.json +2 -2
  114. package/dist/components/stats/index.js +6 -1
  115. package/dist/components/stats/stats.schema.dereffed.json +6 -11
  116. package/dist/components/teaser-card/index.js +11 -1
  117. package/dist/components/teaser-card/teaser-card.css +2 -0
  118. package/dist/components/teaser-card/teaser-card.schema.dereffed.json +0 -3
  119. package/dist/components/testimonial/index.js +7 -1
  120. package/dist/components/testimonial/testimonial.schema.dereffed.json +0 -3
  121. package/dist/components/testimonials/index.js +8 -1
  122. package/dist/components/testimonials/testimonials.schema.dereffed.json +0 -3
  123. package/dist/components/text/index.js +8 -1
  124. package/dist/components/text/text.schema.dereffed.json +0 -3
  125. package/dist/components/tile/tile.schema.dereffed.json +0 -3
  126. package/dist/components/video-curtain/index.js +11 -1
  127. package/dist/components/video-curtain/video-curtain.schema.dereffed.json +1 -4
  128. package/dist/components/video-curtain/video-curtain.schema.json +1 -1
  129. package/dist/helpers-12f48df8.d.ts +6 -0
  130. package/dist/helpers-12f48df8.js +40 -0
  131. package/dist/tokens/themes.css +4 -4
  132. package/dist/tokens/tokens.css +1 -1
  133. package/dist/tokens/tokens.js +1 -1
  134. package/package.json +6 -4
  135. /package/dist/{BlogPostProps-6b3cff22.d.ts → BlogPostProps-c760fd2a.d.ts} +0 -0
  136. /package/dist/{BlogTeaserProps-f5855e93.d.ts → BlogTeaserProps-d62a0a9a.d.ts} +0 -0
@@ -16,9 +16,9 @@ type Buttons = ButtonProps[];
16
16
  */
17
17
  type ColorNeutral = boolean;
18
18
  /**
19
- * Choose a size between small, medium and large
19
+ * Size of button to use
20
20
  */
21
- type ButtonSize = "small" | "medium" | "large";
21
+ type Size = "small" | "medium" | "large";
22
22
  /**
23
23
  * Vertical arrangement of the buttons
24
24
  */
@@ -30,7 +30,7 @@ type AdditionalClasses = string;
30
30
  interface ButtonGroupProps {
31
31
  buttons?: Buttons;
32
32
  colorNeutral?: ColorNeutral;
33
- size?: ButtonSize;
33
+ size?: Size;
34
34
  arrangement?: ButtonArrangement;
35
35
  className?: AdditionalClasses;
36
36
  }
@@ -122,9 +122,6 @@
122
122
  "title": "`ks-component` attribute",
123
123
  "description": "Optional custom component identifier",
124
124
  "type": "string"
125
- },
126
- "type": {
127
- "const": "contact"
128
125
  }
129
126
  },
130
127
  "additionalProperties": false,
@@ -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-12f48df8.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, url, label, ariaLabel, newTab }, i) => (jsx("li", { children: jsxs(Link, { className: "dsa-contact__link", "aria-label": ariaLabel, href: url, ...(newTab && { target: "_blank", rel: "noopener" }), children: [jsx(Icon, { role: "presentation", focusable: "false", "aria-hidden": true, 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 }));
@@ -52,9 +52,6 @@
52
52
  "type": "number",
53
53
  "default": 4,
54
54
  "description": "Determines how many links are initially shown in the content nav. If there are more links, a 'Show More' button will be displayed."
55
- },
56
- "type": {
57
- "const": "content-nav"
58
55
  }
59
56
  },
60
57
  "additionalProperties": false
@@ -164,9 +164,6 @@
164
164
  "description": "Toggle padding of the content",
165
165
  "type": "boolean",
166
166
  "default": false
167
- },
168
- "type": {
169
- "const": "cta"
170
167
  }
171
168
  },
172
169
  "additionalProperties": false
@@ -6,8 +6,26 @@ import { ButtonContext } from '@kickstartds/base/lib/button';
6
6
  import classnames from 'classnames';
7
7
  import { useButtonGroup } from '../button-group/index.js';
8
8
  import { Container } from '@kickstartds/core/lib/container';
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
+ "image": {
17
+ "padding": true,
18
+ "align": "center"
19
+ },
20
+ "order": {
21
+ "mobileImageLast": false,
22
+ "desktopImageLast": true
23
+ },
24
+ "textAlign": "left",
25
+ "align": "center",
26
+ "padding": false
27
+ };
28
+
11
29
  const CtaContextDefault = forwardRef(({ headline, highlightText = false, sub, image, text, textAlign, backgroundImage, backgroundColor, colorNeutral, align, padding, order, buttons = [], ...rest }, ref) => {
12
30
  const ButtonGroup = useButtonGroup();
13
31
  return (jsx(ButtonContext.Provider
@@ -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
 
@@ -24,9 +24,6 @@
24
24
  "title": "`ks-component` attribute",
25
25
  "description": "Optional custom component identifier",
26
26
  "type": "string"
27
- },
28
- "type": {
29
- "const": "divider"
30
27
  }
31
28
  },
32
29
  "additionalProperties": false
@@ -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-12f48df8.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 }));
@@ -46,9 +46,6 @@
46
46
  ],
47
47
  "additionalProperties": false
48
48
  }
49
- },
50
- "type": {
51
- "const": "downloads"
52
49
  }
53
50
  },
54
51
  "additionalProperties": false
@@ -47,9 +47,6 @@
47
47
  "description": "Aria label for the link",
48
48
  "type": "string",
49
49
  "default": "Event Appointment"
50
- },
51
- "type": {
52
- "const": "event-appointment"
53
50
  }
54
51
  },
55
52
  "additionalProperties": false
@@ -98,9 +98,6 @@
98
98
  "description": "Aria label for the link",
99
99
  "type": "string",
100
100
  "default": "Event Appointment"
101
- },
102
- "type": {
103
- "const": "event-appointment"
104
101
  }
105
102
  },
106
103
  "additionalProperties": false
@@ -158,9 +155,6 @@
158
155
  ],
159
156
  "additionalProperties": false
160
157
  }
161
- },
162
- "type": {
163
- "const": "event-location"
164
158
  }
165
159
  },
166
160
  "additionalProperties": false
@@ -278,9 +272,6 @@
278
272
  }
279
273
  },
280
274
  "additionalProperties": false
281
- },
282
- "type": {
283
- "const": "event-detail"
284
275
  }
285
276
  },
286
277
  "additionalProperties": false
@@ -15,6 +15,7 @@ import '@kickstartds/core/lib/react';
15
15
  import '@kickstartds/base/lib/section';
16
16
  import '../section/js/Section.client.js';
17
17
  import '@kickstartds/core/lib/component';
18
+ import '../../helpers-12f48df8.js';
18
19
  import '../text/index.js';
19
20
  import '@kickstartds/base/lib/tag-label';
20
21
  import '@kickstartds/base/lib/text-media';
@@ -109,9 +109,6 @@
109
109
  }
110
110
  },
111
111
  "additionalProperties": false
112
- },
113
- "type": {
114
- "const": "event-filter"
115
112
  }
116
113
  },
117
114
  "additionalProperties": false
@@ -29,9 +29,6 @@
29
29
  "title": "Intro",
30
30
  "description": "Introductory text for the event",
31
31
  "type": "string"
32
- },
33
- "type": {
34
- "const": "event-header"
35
32
  }
36
33
  },
37
34
  "additionalProperties": false
@@ -8,6 +8,7 @@ import 'classnames';
8
8
  import 'markdown-to-jsx';
9
9
  import '@kickstartds/base/lib/headline';
10
10
  import '@kickstartds/base/lib/rich-text';
11
+ import '../../helpers-12f48df8.js';
11
12
 
12
13
  const EventHeaderContextDefault = forwardRef(({ title, categories, intro }, ref) => (jsxs("div", { className: "dsa-event-header", ref: ref, children: [categories && categories.length > 0 && (jsx("div", { className: "dsa-event-header__categories", children: categories.map((category, index) => (jsx(TagLabel, { className: "dsa-event__category", label: category?.label }, index))) })), jsx(Headline, { text: title, level: "h1" }), intro && jsx(Text, { highlightText: true, text: intro })] })));
13
14
  const EventHeaderContext = createContext(EventHeaderContextDefault);
@@ -94,9 +94,6 @@
94
94
  },
95
95
  "className": {
96
96
  "type": "string"
97
- },
98
- "type": {
99
- "const": "event-latest-teaser"
100
97
  }
101
98
  },
102
99
  "additionalProperties": false,
@@ -132,9 +129,6 @@
132
129
  },
133
130
  "className": {
134
131
  "type": "string"
135
- },
136
- "type": {
137
- "const": "event-latest"
138
132
  }
139
133
  },
140
134
  "additionalProperties": false,
@@ -83,9 +83,6 @@
83
83
  },
84
84
  "className": {
85
85
  "type": "string"
86
- },
87
- "type": {
88
- "const": "event-latest-teaser"
89
86
  }
90
87
  },
91
88
  "additionalProperties": false,
@@ -115,9 +115,6 @@
115
115
  }
116
116
  },
117
117
  "additionalProperties": false
118
- },
119
- "type": {
120
- "const": "event-filter"
121
118
  }
122
119
  },
123
120
  "additionalProperties": false
@@ -263,9 +260,6 @@
263
260
  },
264
261
  "className": {
265
262
  "type": "string"
266
- },
267
- "type": {
268
- "const": "event-list-teaser"
269
263
  }
270
264
  },
271
265
  "additionalProperties": false,
@@ -275,9 +269,6 @@
275
269
  "location"
276
270
  ]
277
271
  }
278
- },
279
- "type": {
280
- "const": "event-list"
281
272
  }
282
273
  },
283
274
  "additionalProperties": false
@@ -11,6 +11,7 @@ import '@kickstartds/core/lib/react';
11
11
  import '@kickstartds/base/lib/section';
12
12
  import '../section/js/Section.client.js';
13
13
  import '@kickstartds/core/lib/component';
14
+ import '../../helpers-12f48df8.js';
14
15
  import '@kickstartds/form/lib/text-field';
15
16
  import '@kickstartds/form/lib/checkbox';
16
17
  import '../button/index.js';
@@ -137,9 +137,6 @@
137
137
  },
138
138
  "className": {
139
139
  "type": "string"
140
- },
141
- "type": {
142
- "const": "event-list-teaser"
143
140
  }
144
141
  },
145
142
  "additionalProperties": false,
@@ -57,9 +57,6 @@
57
57
  "description": "Aria label for the link",
58
58
  "type": "string",
59
59
  "default": "Event Appointment"
60
- },
61
- "type": {
62
- "const": "event-appointment"
63
60
  }
64
61
  },
65
62
  "additionalProperties": false
@@ -117,9 +114,6 @@
117
114
  ],
118
115
  "additionalProperties": false
119
116
  }
120
- },
121
- "type": {
122
- "const": "event-location"
123
117
  }
124
118
  },
125
119
  "additionalProperties": false
@@ -116,9 +116,6 @@
116
116
  }
117
117
  },
118
118
  "additionalProperties": false
119
- },
120
- "type": {
121
- "const": "event-login"
122
119
  }
123
120
  },
124
121
  "additionalProperties": false
@@ -165,9 +165,6 @@
165
165
  }
166
166
  },
167
167
  "additionalProperties": false
168
- },
169
- "type": {
170
- "const": "event-registration"
171
168
  }
172
169
  },
173
170
  "additionalProperties": false
@@ -38,9 +38,6 @@
38
38
  ]
39
39
  },
40
40
  "minItems": 1
41
- },
42
- "type": {
43
- "const": "faq"
44
41
  }
45
42
  },
46
43
  "additionalProperties": false,
@@ -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-12f48df8.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
 
@@ -91,9 +91,6 @@
91
91
  }
92
92
  },
93
93
  "additionalProperties": false
94
- },
95
- "type": {
96
- "const": "feature"
97
94
  }
98
95
  },
99
96
  "additionalProperties": false,
@@ -4,8 +4,21 @@ 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-12f48df8.js';
7
9
  import '@kickstartds/base/lib/button';
8
10
 
11
+ const defaults = {
12
+ "style": "stack",
13
+ "cta": {
14
+ "url": "#",
15
+ "label": "See more",
16
+ "icon": "arrow-right",
17
+ "toggle": true,
18
+ "style": "link"
19
+ }
20
+ };
21
+
9
22
  const FeatureContextDefault = forwardRef(({ style = "stack", title, text, icon, cta, ...rest }, ref) => (jsxs("div", { ...rest, ref: ref, className: classnames(`dsa-feature dsa-feature--${style === `stack`
10
23
  ? `stack dsa-feature--large`
11
24
  : style === `besideSmall`
@@ -16,11 +29,11 @@ const FeatureContextDefault = forwardRef(({ style = "stack", title, text, icon,
16
29
  ? `intext dsa-feature--small`
17
30
  : style === `centered`
18
31
  ? `centered dsa-feature--large`
19
- : `${style}`}`), children: [jsxs("div", { className: "dsa-feature__header", children: [icon && (jsx(Icon, { className: "dsa-feature__icon", icon: icon, role: "presentation", "aria-hidden": true, focusable: false })), jsx("span", { className: "dsa-feature__title", children: title })] }), text || cta.style === "intext" ? (jsxs("p", { className: "dsa-feature__text", children: [text, cta.style === "intext" && cta.toggle ? (jsxs(Fragment, { children: [" ", " ", jsx(Link, { href: cta.url, children: cta.label ? cta.label : "See more" })] })) : ("")] })) : (""), cta.toggle && (cta.style === "link" || cta.style === "button") && (jsx("div", { className: "dsa-feature__cta", children: cta.style === "link" ? (jsxs(Link, { className: "dsa-feature__link", href: cta.url, children: [cta.label ? cta.label : "See more", jsx(Icon, { "aria-hidden": true, role: "presentation", focusable: false, icon: cta.icon || "arrow-right" })] })) : cta.style === "button" ? (jsx(Button, { className: "dsa-feature__button", size: "small", url: cta.url, label: cta.label ? cta.label : "See more" })) : ("") }))] })));
32
+ : `${style}`}`), children: [jsxs("div", { className: "dsa-feature__header", children: [icon && (jsx(Icon, { className: "dsa-feature__icon", icon: icon, role: "presentation", "aria-hidden": true, focusable: false })), jsx("span", { className: "dsa-feature__title", children: title })] }), text || cta.style === "intext" ? (jsxs("p", { className: "dsa-feature__text", children: [jsx(RichText, { text: text }), cta.style === "intext" && cta.toggle ? (jsxs(Fragment, { children: [" ", " ", jsx(Link, { href: cta.url, children: cta.label ? cta.label : "See more" })] })) : ("")] })) : (""), cta.toggle && (cta.style === "link" || cta.style === "button") && (jsx("div", { className: "dsa-feature__cta", children: cta.style === "link" ? (jsxs(Link, { className: "dsa-feature__link", href: cta.url, children: [cta.label ? cta.label : "See more", jsx(Icon, { "aria-hidden": true, role: "presentation", focusable: false, icon: cta.icon || "arrow-right" })] })) : cta.style === "button" ? (jsx(Button, { className: "dsa-feature__button", size: "small", url: cta.url, label: cta.label ? cta.label : "See more" })) : ("") }))] })));
20
33
  const FeatureContext = createContext(FeatureContextDefault);
21
34
  const Feature = forwardRef((props, ref) => {
22
35
  const Component = useContext(FeatureContext);
23
- return jsx(Component, { ...props, ref: ref });
36
+ return jsx(Component, { ...deepMergeDefaults(defaults, props), ref: ref });
24
37
  });
25
38
  Feature.displayName = "Feature";
26
39
 
@@ -47,7 +47,8 @@
47
47
  }
48
48
  .dsa-features .dsa-feature {
49
49
  --dsa-feature_large__icon--size: calc(
50
- var(--dsa-feature_small__icon--size) * var(--dsa-feature_large__icon--size-multiplier)
50
+ var(--dsa-feature_small__icon--size) *
51
+ var(--dsa-feature_large__icon--size-multiplier)
51
52
  );
52
53
  display: flex;
53
54
  position: relative;
@@ -55,17 +56,34 @@
55
56
  gap: var(--dsa-feature--gap);
56
57
  }
57
58
  .dsa-features .dsa-feature--large {
58
- --dsa-feature__icon--size: var(--dsa-feature_large__icon--size, calc(var(--ks-font-size-copy-m) * 2.5));
59
- --dsa-feature__icon--gap: var(--dsa-feature_large__icon--gap, var(--ks-spacing-xs));
60
- --dsa-feature--gap: var(--dsa-feature_large--gap, var(--ks-spacing-stack-s));
59
+ --dsa-feature__icon--size: var(
60
+ --dsa-feature_large__icon--size,
61
+ calc(var(--ks-font-size-copy-m) * 2.5)
62
+ );
63
+ --dsa-feature__icon--gap: var(
64
+ --dsa-feature_large__icon--gap,
65
+ var(--ks-spacing-xs)
66
+ );
67
+ --dsa-feature--gap: var(
68
+ --dsa-feature_large--gap,
69
+ var(--ks-spacing-stack-s)
70
+ );
61
71
  }
62
72
  .dsa-features .dsa-feature--small {
63
73
  --dsa-feature__icon--size: var(
64
74
  --dsa-feature_small__icon--size,
65
- calc(var(--ks-line-height-interface-m) * var(--ks-font-size-interface-m))
75
+ calc(
76
+ var(--ks-line-height-interface-m) * var(--ks-font-size-interface-m)
77
+ )
78
+ );
79
+ --dsa-feature__icon--gap: var(
80
+ --dsa-feature_small__icon--gap,
81
+ var(--ks-spacing-xs)
82
+ );
83
+ --dsa-feature--gap: var(
84
+ --dsa-feature_small--gap,
85
+ var(--ks-spacing-stack-xs)
66
86
  );
67
- --dsa-feature__icon--gap: var(--dsa-feature_small__icon--gap, var(--ks-spacing-xs));
68
- --dsa-feature--gap: var(--dsa-feature_small--gap, var(--ks-spacing-stack-xs));
69
87
  }
70
88
  .dsa-features .dsa-feature--beside {
71
89
  padding-left: calc(var(--dsa-feature__icon--size) + var(--dsa-feature__icon--gap));
@@ -119,9 +119,6 @@
119
119
  },
120
120
  "minItems": 1,
121
121
  "maxItems": 8
122
- },
123
- "type": {
124
- "const": "features"
125
122
  }
126
123
  },
127
124
  "additionalProperties": false
@@ -3,10 +3,22 @@ import { jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef, createElement, createContext, useContext } from 'react';
4
4
  import classnames from 'classnames';
5
5
  import { Feature } from '../feature/index.js';
6
+ import { d as deepMergeDefaults } from '../../helpers-12f48df8.js';
6
7
  import '@kickstartds/base/lib/icon';
7
8
  import '../button/index.js';
8
9
  import '@kickstartds/base/lib/button';
9
10
  import '@kickstartds/base/lib/link';
11
+ import '@kickstartds/base/lib/rich-text';
12
+
13
+ const defaults = {
14
+ "layout": "largeTiles",
15
+ "style": "stack",
16
+ "ctas": {
17
+ "toggle": true,
18
+ "style": "link"
19
+ },
20
+ "feature": []
21
+ };
10
22
 
11
23
  const FeaturesContextDefault = forwardRef(({ layout = "largeTiles", ctas = {
12
24
  style: "link",
@@ -28,7 +40,7 @@ const FeaturesContextDefault = forwardRef(({ layout = "largeTiles", ctas = {
28
40
  const FeaturesContext = createContext(FeaturesContextDefault);
29
41
  const Features = forwardRef((props, ref) => {
30
42
  const Component = useContext(FeaturesContext);
31
- return jsx(Component, { ...props, ref: ref });
43
+ return jsx(Component, { ...deepMergeDefaults(defaults, props), ref: ref });
32
44
  });
33
45
  Features.displayName = "Features";
34
46
 
@@ -156,9 +156,6 @@
156
156
  }
157
157
  ]
158
158
  ]
159
- },
160
- "type": {
161
- "const": "footer"
162
159
  }
163
160
  },
164
161
  "required": [
@@ -4,13 +4,23 @@ import { jsx, jsxs } from 'react/jsx-runtime';
4
4
  import classnames from 'classnames';
5
5
  import { Link } from '@kickstartds/base/lib/link';
6
6
  import { Logo } from '../logo/index.js';
7
+ import { d as deepMergeDefaults } from '../../helpers-12f48df8.js';
7
8
  import '@kickstartds/base/lib/picture';
8
9
 
10
+ const defaults = {
11
+ "logo": {
12
+ "homepageHref": "/"
13
+ },
14
+ "byline": "© 2024 systemics Inc. All rights reserved.",
15
+ "inverted": false,
16
+ "navItems": []
17
+ };
18
+
9
19
  const FooterContextDefault = forwardRef(({ byline, navItems, inverted, logo }, ref) => navItems && navItems.length > 0 ? (jsx("div", { className: classnames("dsa-footer"), "ks-inverted": inverted.toString(), ref: ref, children: jsxs("div", { className: "dsa-footer__content", children: [jsx(Logo, { ...logo, inverted: inverted }), byline && jsx("span", { className: "dsa-footer__byline", children: byline }), navItems.length > 0 ? (jsx("div", { className: "dsa-footer__links", children: navItems.map(({ label, active, ...linkProps }) => (createElement(Link, { ...linkProps, className: "dsa-footer__link", key: linkProps.url + label }, label))) })) : null] }) })) : null);
10
20
  const FooterContext = createContext(FooterContextDefault);
11
21
  const Footer = forwardRef((props, ref) => {
12
22
  const Component = useContext(FooterContext);
13
- return jsx(Component, { ...props, ref: ref });
23
+ return jsx(Component, { ...deepMergeDefaults(defaults, props), ref: ref });
14
24
  });
15
25
  Footer.displayName = "Footer";
16
26
 
@@ -75,9 +75,6 @@
75
75
  "title": "Lightbox",
76
76
  "description": "Display images in a lightbox gallery",
77
77
  "default": false
78
- },
79
- "type": {
80
- "const": "gallery"
81
78
  }
82
79
  },
83
80
  "additionalProperties": false,
@@ -3,6 +3,14 @@ import { jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef, useMemo, createContext, useContext } from 'react';
4
4
  import classnames from 'classnames';
5
5
  import { TextMedia } from '@kickstartds/base/lib/text-media';
6
+ import { d as deepMergeDefaults } from '../../helpers-12f48df8.js';
7
+
8
+ const defaults = {
9
+ "images": [],
10
+ "layout": "smallTiles",
11
+ "aspectRatio": "unset",
12
+ "lightbox": false
13
+ };
6
14
 
7
15
  const GalleryContextDefault = forwardRef(({ lightbox = false, layout = "smallTiles", aspectRatio = "square", images = [], ...rest }, ref) => {
8
16
  const galleryId = useMemo(() => `gallery-${Date.now()}`, []);
@@ -34,7 +42,7 @@ const GalleryContextDefault = forwardRef(({ lightbox = false, layout = "smallTil
34
42
  const GalleryContext = createContext(GalleryContextDefault);
35
43
  const Gallery = forwardRef((props, ref) => {
36
44
  const Component = useContext(GalleryContext);
37
- return jsx(Component, { ...props, ref: ref });
45
+ return jsx(Component, { ...deepMergeDefaults(defaults, props), ref: ref });
38
46
  });
39
47
  Gallery.displayName = "Gallery";
40
48
 
@@ -169,9 +169,6 @@
169
169
  }
170
170
  ]
171
171
  ]
172
- },
173
- "type": {
174
- "const": "header"
175
172
  }
176
173
  },
177
174
  "additionalProperties": false