@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.
- package/dist/{BlogOverviewProps-9f207f1c.d.ts → BlogOverviewProps-21d04028.d.ts} +1 -1
- package/dist/{BlogPostProps-6b3cff22.d.ts → BlogPostProps-c760fd2a.d.ts} +1 -1
- package/dist/{PageProps-aa29c554.d.ts → PageProps-21d04028.d.ts} +1 -1
- package/dist/{SectionProps-2fd5dbde.d.ts → SectionProps-00ddee3a.d.ts} +2 -2
- package/dist/SliderProps-789f8508.d.ts +1 -1
- package/dist/{StatProps-12a3eae0.d.ts → StatProps-79109ad0.d.ts} +1 -1
- package/dist/StatsProps-bf5ef578.d.ts +1 -1
- package/dist/components/blog-aside/blog-aside.schema.dereffed.json +0 -6
- package/dist/components/blog-aside/index.js +6 -1
- package/dist/components/blog-author/blog-author.schema.dereffed.json +0 -3
- package/dist/components/blog-author/index.js +10 -1
- package/dist/components/blog-head/blog-head.schema.dereffed.json +0 -6
- package/dist/components/blog-head/index.js +6 -1
- package/dist/components/blog-overview/blog-overview.schema.dereffed.json +31 -157
- package/dist/components/blog-overview/blog-overview.schema.json +2 -2
- package/dist/components/blog-overview/index.d.ts +1 -1
- package/dist/components/blog-overview/index.js +1 -0
- package/dist/components/blog-post/blog-post.schema.dereffed.json +31 -151
- package/dist/components/blog-post/blog-post.schema.json +2 -2
- package/dist/components/blog-post/index.d.ts +1 -1
- package/dist/components/blog-post/index.js +1 -0
- package/dist/components/blog-tag/blog-tag.schema.dereffed.json +0 -3
- package/dist/components/blog-teaser/blog-teaser.schema.dereffed.json +0 -6
- package/dist/components/blog-teaser/index.js +10 -1
- package/dist/components/breadcrumb/breadcrumb.schema.dereffed.json +0 -3
- package/dist/components/business-card/business-card.schema.dereffed.json +0 -3
- package/dist/components/button/button.css +2 -2
- package/dist/components/button/button.schema.dereffed.json +0 -3
- package/dist/components/button-group/button-group.schema.dereffed.json +2 -8
- package/dist/components/button-group/index.d.ts +3 -3
- package/dist/components/contact/contact.schema.dereffed.json +0 -3
- package/dist/components/contact/index.js +10 -1
- package/dist/components/content-nav/content-nav.schema.dereffed.json +0 -3
- package/dist/components/cta/cta.schema.dereffed.json +0 -3
- package/dist/components/cta/index.js +19 -1
- package/dist/components/divider/divider.schema.dereffed.json +0 -3
- package/dist/components/divider/index.js +6 -1
- package/dist/components/downloads/downloads.schema.dereffed.json +0 -3
- package/dist/components/event-appointment/event-appointment.schema.dereffed.json +0 -3
- package/dist/components/event-detail/event-detail.schema.dereffed.json +0 -9
- package/dist/components/event-detail/index.js +1 -0
- package/dist/components/event-filter/event-filter.schema.dereffed.json +0 -3
- package/dist/components/event-header/event-header.schema.dereffed.json +0 -3
- package/dist/components/event-header/index.js +1 -0
- package/dist/components/event-latest/event-latest.schema.dereffed.json +0 -6
- package/dist/components/event-latest-teaser/event-latest-teaser.schema.dereffed.json +0 -3
- package/dist/components/event-list/event-list.schema.dereffed.json +0 -9
- package/dist/components/event-list/index.js +1 -0
- package/dist/components/event-list-teaser/event-list-teaser.schema.dereffed.json +0 -3
- package/dist/components/event-location/event-location.schema.dereffed.json +0 -6
- package/dist/components/event-login/event-login.schema.dereffed.json +0 -3
- package/dist/components/event-registration/event-registration.schema.dereffed.json +0 -3
- package/dist/components/faq/faq.schema.dereffed.json +0 -3
- package/dist/components/faq/index.js +6 -1
- package/dist/components/feature/feature.schema.dereffed.json +0 -3
- package/dist/components/feature/index.js +15 -2
- package/dist/components/features/features.css +25 -7
- package/dist/components/features/features.schema.dereffed.json +0 -3
- package/dist/components/features/index.js +13 -1
- package/dist/components/footer/footer.css +3 -3
- package/dist/components/footer/footer.schema.dereffed.json +12 -23
- package/dist/components/footer/index.js +11 -1
- package/dist/components/gallery/gallery.schema.dereffed.json +0 -3
- package/dist/components/gallery/index.js +9 -1
- package/dist/components/header/header.schema.dereffed.json +12 -23
- package/dist/components/header/index.js +13 -1
- package/dist/components/headline/headline.css +2 -44
- package/dist/components/headline/headline.schema.dereffed.json +0 -3
- package/dist/components/hero/hero.css +0 -22
- package/dist/components/hero/hero.schema.dereffed.json +1 -4
- package/dist/components/hero/hero.schema.json +1 -1
- package/dist/components/hero/index.js +17 -1
- package/dist/components/html/html.schema.dereffed.json +0 -3
- package/dist/components/html/index.js +8 -1
- package/dist/components/image-story/image-story.schema.dereffed.json +0 -6
- package/dist/components/image-story/index.d.ts +1 -1
- package/dist/components/image-story/index.js +14 -1
- package/dist/components/image-text/image-text.schema.dereffed.json +0 -3
- package/dist/components/image-text/index.js +7 -1
- package/dist/components/index/index.d.ts +3 -3
- package/dist/components/logo/index.js +6 -1
- package/dist/components/logo/logo.schema.dereffed.json +0 -3
- package/dist/components/logos/index.js +12 -1
- package/dist/components/logos/logos.schema.dereffed.json +0 -3
- package/dist/components/mosaic/index.js +8 -1
- package/dist/components/mosaic/mosaic.schema.dereffed.json +0 -6
- package/dist/components/nav-dropdown/nav-dropdown.css +3 -3
- package/dist/components/nav-dropdown/nav-dropdown.schema.dereffed.json +0 -3
- package/dist/components/nav-flyout/index.js +7 -1
- package/dist/components/nav-flyout/nav-flyout.schema.dereffed.json +12 -26
- package/dist/components/nav-main/index.js +11 -1
- package/dist/components/nav-main/nav-main.schema.dereffed.json +12 -26
- package/dist/components/nav-main/nav-main.schema.json +12 -20
- package/dist/components/nav-topbar/index.js +7 -1
- package/dist/components/nav-topbar/nav-topbar.css +3 -3
- package/dist/components/nav-topbar/nav-topbar.schema.dereffed.json +12 -23
- package/dist/components/page/index.d.ts +1 -1
- package/dist/components/page/page.schema.dereffed.json +31 -136
- package/dist/components/page/page.schema.json +2 -2
- package/dist/components/page-wrapper/index.js +1 -6
- package/dist/components/page-wrapper/tokens.css +251 -251
- package/dist/components/pagination/pagination.schema.dereffed.json +0 -3
- package/dist/components/presets.json +70 -86
- package/dist/components/providers/index.js +1 -0
- package/dist/components/search/index.js +1 -0
- package/dist/components/search/search.schema.dereffed.json +0 -9
- package/dist/components/search-bar/search-bar.schema.dereffed.json +0 -3
- package/dist/components/search-filter/search-filter.schema.dereffed.json +0 -3
- package/dist/components/search-result/search-result.schema.dereffed.json +0 -3
- package/dist/components/section/index.d.ts +1 -1
- package/dist/components/section/index.js +28 -4
- package/dist/components/section/section.css +19 -60
- package/dist/components/section/section.schema.dereffed.json +26 -125
- package/dist/components/section/section.schema.json +2 -2
- package/dist/components/seo/seo.schema.dereffed.json +4 -7
- package/dist/components/seo/seo.schema.json +4 -3
- package/dist/components/settings/settings.schema.dereffed.json +29 -57
- package/dist/components/settings/settings.schema.json +2 -2
- package/dist/components/slider/index.js +1 -1
- package/dist/components/slider/slider.schema.dereffed.json +16 -51
- package/dist/components/slider/slider.schema.json +1 -1
- package/dist/components/split-even/index.d.ts +1 -1
- package/dist/components/split-even/split-even.schema.dereffed.json +48 -233
- package/dist/components/split-weighted/index.d.ts +1 -1
- package/dist/components/split-weighted/split-weighted.schema.dereffed.json +48 -233
- package/dist/components/stat/index.d.ts +1 -1
- package/dist/components/stat/index.js +16 -4
- package/dist/components/stat/stat.schema.dereffed.json +6 -8
- package/dist/components/stat/stat.schema.json +2 -2
- package/dist/components/stats/index.js +6 -1
- package/dist/components/stats/stats.css +4 -4
- package/dist/components/stats/stats.schema.dereffed.json +6 -11
- package/dist/components/teaser-card/index.js +11 -1
- package/dist/components/teaser-card/teaser-card.css +13 -9
- package/dist/components/teaser-card/teaser-card.schema.dereffed.json +0 -3
- package/dist/components/testimonial/index.js +7 -1
- package/dist/components/testimonial/testimonial.schema.dereffed.json +0 -3
- package/dist/components/testimonials/index.js +8 -1
- package/dist/components/testimonials/testimonials.schema.dereffed.json +0 -3
- package/dist/components/text/index.js +8 -1
- package/dist/components/text/text.schema.dereffed.json +0 -3
- package/dist/components/tile/tile.schema.dereffed.json +0 -3
- package/dist/components/video-curtain/index.js +11 -1
- package/dist/components/video-curtain/video-curtain.schema.dereffed.json +1 -4
- package/dist/components/video-curtain/video-curtain.schema.json +1 -1
- package/dist/global.css +2 -2
- package/dist/helpers-12f48df8.d.ts +6 -0
- package/dist/helpers-12f48df8.js +40 -0
- package/dist/static/favicon/android-chrome-192x192.png +0 -0
- package/dist/static/favicon/android-chrome-512x512.png +0 -0
- package/dist/static/favicon/apple-touch-icon.png +0 -0
- package/dist/static/favicon/browserconfig.xml +9 -0
- package/dist/static/favicon/favicon-16x16.png +0 -0
- package/dist/static/favicon/favicon-192-192.png +20 -0
- package/dist/static/favicon/favicon-32x32.png +0 -0
- package/dist/static/favicon/favicon.ico +0 -0
- package/dist/static/favicon/mstile-144x144.png +0 -0
- package/dist/static/favicon/mstile-150x150.png +0 -0
- package/dist/static/favicon/mstile-310x150.png +0 -0
- package/dist/static/favicon/mstile-310x310.png +0 -0
- package/dist/static/favicon/mstile-70x70.png +0 -0
- package/dist/static/favicon/safari-pinned-tab.svg +30 -0
- package/dist/static/favicon/site.webmanifest +19 -1
- package/dist/static/logo-inverted.svg +12 -27
- package/dist/static/logo.svg +12 -27
- package/dist/tokens/IconSprite.js +0 -6
- package/dist/tokens/icon-sprite.html +0 -2
- package/dist/tokens/themes.css +4 -4
- package/dist/tokens/tokens.css +251 -251
- package/dist/tokens/tokens.js +376 -377
- package/package.json +6 -4
- package/dist/static/guenther/brands/cadillac.png +0 -0
- package/dist/static/guenther/brands/corvette.png +0 -0
- package/dist/static/guenther/brands/infiniti.png +0 -0
- package/dist/static/guenther/brands/isuzu.png +0 -0
- package/dist/static/guenther/brands/kia.png +0 -0
- package/dist/static/guenther/brands/maserati.png +0 -0
- package/dist/static/guenther/brands/micro.png +0 -0
- package/dist/static/guenther/brands/msg.png +0 -0
- package/dist/static/guenther/brands/nissan.png +0 -0
- package/dist/static/guenther/brands/saab.png +0 -0
- package/dist/static/guenther/brands/subaru.png +0 -0
- package/dist/static/guenther/car-1.webp +0 -0
- package/dist/static/guenther/car-2.webp +0 -0
- package/dist/static/guenther/car-cutout-1.avif +0 -0
- package/dist/static/guenther/car-cutout-2.avif +0 -0
- package/dist/static/guenther/car-cutout-3.png +0 -0
- package/dist/static/guenther/car-red.png +0 -0
- package/dist/static/guenther/car-store.png +0 -0
- package/dist/static/guenther/car-yellow.webp +0 -0
- package/dist/static/guenther/contact.jpg +0 -0
- package/dist/static/guenther/header-2.png +0 -0
- package/dist/static/guenther/header.jpg +0 -0
- package/dist/static/guenther/header.png +0 -0
- package/dist/static/guenther/kia-header.webp +0 -0
- package/dist/static/guenther/visual.png +0 -0
- /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-
|
|
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
|
|
6
|
-
|
|
7
|
-
|
|
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": "
|
|
11
|
+
"type": "string",
|
|
12
12
|
"examples": [
|
|
13
|
-
1,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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,
|
|
@@ -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-
|
|
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:
|
|
7
|
-
--dsa-stats__number--font: var(--ks-font-display-
|
|
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-
|
|
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": "
|
|
22
|
+
"type": "string",
|
|
23
23
|
"examples": [
|
|
24
|
-
1,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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.
|
|
15
|
-
--dsa-teaser-card__image--transition: transform var(--ks-transition-
|
|
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-
|
|
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(--
|
|
20
|
-
--dsa-teaser-card__label--background-color: var(--ks-background-color-
|
|
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:
|
|
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:
|
|
125
|
-
right:
|
|
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);
|
|
@@ -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
|
|
|
@@ -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
|
|
|
@@ -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
|
|
|
@@ -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
|
|
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-
|
|
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:
|
|
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 };
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|