@kickstartds/ds-agency-premium 1.3.31 → 1.3.32--canary.565.63e8986.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/{FooterProps-10c950a6.d.ts → FooterProps-9f94ed98.d.ts} +2 -7
- package/dist/{HeaderProps-7be94a61.d.ts → HeaderProps-c41aeb76.d.ts} +14 -9
- package/dist/LogosProps-58c84ccc.d.ts +242 -0
- package/dist/SectionProps-93230a76.d.ts +1 -1
- package/dist/SliderProps-93230a76.d.ts +1 -1
- package/dist/components/blog-post/index.d.ts +1 -1
- package/dist/components/button/button.css +3 -0
- package/dist/components/button/index.d.ts +1 -1
- package/dist/components/cta/cta.css +2 -2
- package/dist/components/footer/footer.css +14 -10
- package/dist/components/footer/footer.schema.dereffed.json +9 -12
- package/dist/components/footer/footer.schema.json +25 -11
- package/dist/components/footer/index.d.ts +1 -1
- package/dist/components/footer/index.js +2 -3
- package/dist/components/header/header.css +16 -0
- package/dist/components/header/header.schema.dereffed.json +26 -13
- package/dist/components/header/header.schema.json +6 -24
- package/dist/components/header/index.d.ts +1 -1
- package/dist/components/header/index.js +3 -7
- package/dist/components/image/image.schema.dereffed.json +1 -1
- package/dist/components/image/image.schema.json +1 -1
- package/dist/components/image/index.d.ts +1 -1
- package/dist/components/index/index.d.ts +3 -3
- package/dist/components/logo/logo.schema.dereffed.json +19 -43
- package/dist/components/logo/logo.schema.json +17 -41
- package/dist/components/logos/index.d.ts +1 -1
- package/dist/components/logos/index.js +1 -1
- package/dist/components/logos/logos.css +6 -10
- package/dist/components/logos/logos.schema.dereffed.json +5 -0
- package/dist/components/logos/logos.schema.json +1 -27
- package/dist/components/nav-main/index.d.ts +37 -8
- package/dist/components/nav-main/index.js +2 -3
- package/dist/components/nav-main/nav-main.css +45 -33
- package/dist/components/nav-main/nav-main.schema.dereffed.json +26 -28
- package/dist/components/nav-main/nav-main.schema.json +53 -4
- package/dist/components/page/page.schema.dereffed.json +10 -0
- package/dist/components/page-wrapper/tokens.css +1 -1
- package/dist/components/picture/picture.schema.json +1 -1
- package/dist/components/presets.json +9 -25
- package/dist/components/section/section.schema.dereffed.json +10 -0
- package/dist/components/settings/settings.schema.dereffed.json +35 -25
- package/dist/components/slider/slider.schema.dereffed.json +5 -0
- package/dist/global.css +1099 -0
- package/dist/static/favicon/favicon-192-192.png +1 -1
- package/dist/tokens/themes.css +4 -4
- package/dist/tokens/tokens.css +1 -1
- package/dist/tokens/tokens.js +1 -1
- package/package.json +1 -1
- package/dist/LogoProps-01796f0a.d.ts +0 -44
- package/dist/LogosProps-f9474fe2.d.ts +0 -97
- package/dist/components/logo/index.d.ts +0 -4
- package/dist/components/logo/index.js +0 -12
- package/dist/components/logo/logo.css +0 -7
- /package/dist/{BlogPostProps-e1cbd5d3.d.ts → BlogPostProps-0910f130.d.ts} +0 -0
|
@@ -5,31 +5,13 @@
|
|
|
5
5
|
"type": "object",
|
|
6
6
|
"properties": {
|
|
7
7
|
"logo": {
|
|
8
|
-
"
|
|
9
|
-
"type": "object",
|
|
10
|
-
"properties": {
|
|
11
|
-
"src": {
|
|
12
|
-
"$ref": "http://schema.mydesignsystem.com/logo.schema.json#/properties/src"
|
|
13
|
-
},
|
|
14
|
-
"srcInverted": {
|
|
15
|
-
"$ref": "http://schema.mydesignsystem.com/logo.schema.json#/properties/srcInverted"
|
|
16
|
-
},
|
|
17
|
-
"alt": {
|
|
18
|
-
"$ref": "http://schema.mydesignsystem.com/logo.schema.json#/properties/alt"
|
|
19
|
-
},
|
|
20
|
-
"homepageHref": {
|
|
21
|
-
"$ref": "http://schema.mydesignsystem.com/logo.schema.json#/properties/homepageHref"
|
|
22
|
-
},
|
|
23
|
-
"width": {
|
|
24
|
-
"$ref": "http://schema.mydesignsystem.com/logo.schema.json#/properties/width"
|
|
25
|
-
},
|
|
26
|
-
"height": {
|
|
27
|
-
"$ref": "http://schema.mydesignsystem.com/logo.schema.json#/properties/height"
|
|
28
|
-
}
|
|
29
|
-
}
|
|
8
|
+
"$ref": "http://schema.mydesignsystem.com/nav-main.schema.json#/properties/logo"
|
|
30
9
|
},
|
|
31
|
-
"
|
|
32
|
-
"$ref": "http://schema.mydesignsystem.com/nav-main.schema.json#/properties/
|
|
10
|
+
"logoHref": {
|
|
11
|
+
"$ref": "http://schema.mydesignsystem.com/nav-main.schema.json#/properties/logoHref"
|
|
12
|
+
},
|
|
13
|
+
"flyoutLogoInverted": {
|
|
14
|
+
"$ref": "http://schema.mydesignsystem.com/nav-main.schema.json#/properties/flyoutLogoInverted"
|
|
33
15
|
},
|
|
34
16
|
"floating": {
|
|
35
17
|
"type": "boolean",
|
|
@@ -1,21 +1,17 @@
|
|
|
1
1
|
import "./header.css";
|
|
2
2
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
3
3
|
import classnames from 'classnames';
|
|
4
|
+
import { Picture } from '@kickstartds/base/lib/picture';
|
|
5
|
+
import { Link } from '@kickstartds/base/lib/link';
|
|
4
6
|
import { NavMain } from '../nav-main/index.js';
|
|
5
|
-
import { Logo } from '../logo/index.js';
|
|
6
7
|
import 'react';
|
|
7
|
-
import '@kickstartds/base/lib/link';
|
|
8
8
|
import '../nav-main/js/NavToggle.client.js';
|
|
9
9
|
import '@kickstartds/core/lib/component';
|
|
10
10
|
import '../nav-main/js/navMainEvents.client.js';
|
|
11
11
|
import '@kickstartds/core/lib/core';
|
|
12
12
|
import '../nav-main/js/body.client.js';
|
|
13
|
-
import '@kickstartds/base/lib/picture';
|
|
14
13
|
|
|
15
|
-
const Header = ({ logo, floating, inverted = false,
|
|
16
|
-
...logo,
|
|
17
|
-
inverted: flyoutInverted,
|
|
18
|
-
} })] }) }) }));
|
|
14
|
+
const Header = ({ logo, logoHref = "/", floating, inverted = false, flyoutLogoInverted = false, navItems = [], }) => (jsx(Fragment, { children: jsx("div", { className: classnames("dsa-header", floating ? `dsa-header--floating` : ""), "ks-inverted": inverted.toString(), children: jsxs("div", { className: "dsa-header__content", children: [jsxs(Link, { className: "dsa-header__logo", href: logoHref, children: [jsx(Picture, { className: "dsa-header__logo__img", src: logo?.src, alt: logo?.alt, width: logo?.width, height: logo?.height, lazy: inverted }), jsx(Picture, { className: "dsa-header__logo__img dsa-header__logo__img--inverted", src: logo?.srcInverted || logo?.src, alt: logo?.alt, width: logo?.width, height: logo?.height, lazy: !inverted })] }), jsx(NavMain, { flyoutLogoInverted: flyoutLogoInverted, logo: logo, logoHref: logoHref, items: navItems })] }) }) }));
|
|
19
15
|
Header.displayName = "Header";
|
|
20
16
|
|
|
21
17
|
export { Header };
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
},
|
|
52
52
|
"className": {
|
|
53
53
|
"title": "Additional Classes",
|
|
54
|
-
"description": "Add additional css classes that should be applied to the
|
|
54
|
+
"description": "Add additional css classes that should be applied to the button",
|
|
55
55
|
"type": "string"
|
|
56
56
|
},
|
|
57
57
|
"style": {
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
},
|
|
45
45
|
"className": {
|
|
46
46
|
"title": "Additional Classes",
|
|
47
|
-
"description": "Add additional css classes that should be applied to the
|
|
47
|
+
"description": "Add additional css classes that should be applied to the button",
|
|
48
48
|
"type": "string"
|
|
49
49
|
},
|
|
50
50
|
"style": {
|
|
@@ -31,7 +31,7 @@ type Height = number;
|
|
|
31
31
|
*/
|
|
32
32
|
type AspectRatio = "unset" | "square" | "wide" | "landscape";
|
|
33
33
|
/**
|
|
34
|
-
* Add additional css classes that should be applied to the
|
|
34
|
+
* Add additional css classes that should be applied to the button
|
|
35
35
|
*/
|
|
36
36
|
type AdditionalClasses = string;
|
|
37
37
|
/**
|
|
@@ -12,8 +12,8 @@ import { SeoProps } from "../../SeoProps-f2d6dcaa.js";
|
|
|
12
12
|
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
|
13
13
|
* and run json-schema-to-typescript to regenerate this file.
|
|
14
14
|
*/
|
|
15
|
-
import { HeaderProps } from "../../HeaderProps-
|
|
16
|
-
import { FooterProps } from "../../FooterProps-
|
|
15
|
+
import { HeaderProps } from "../../HeaderProps-c41aeb76.js";
|
|
16
|
+
import { FooterProps } from "../../FooterProps-9f94ed98.js";
|
|
17
17
|
/**
|
|
18
18
|
* Collection of sections (with their contents) to render on the page
|
|
19
19
|
*/
|
|
@@ -72,6 +72,6 @@ interface SettingsProps {
|
|
|
72
72
|
*/
|
|
73
73
|
seo: SeoProps;
|
|
74
74
|
}
|
|
75
|
-
export * from "../../BlogPostProps-
|
|
75
|
+
export * from "../../BlogPostProps-0910f130.js";
|
|
76
76
|
export * from "../../BlogOverviewProps-f385fc47.js";
|
|
77
77
|
export { Sections, ToggleFloating, ToggleInverted, ToggleInverted1, PageProps, Header, Footer, SettingsProps };
|
|
@@ -2,61 +2,37 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "http://schema.mydesignsystem.com/logo.schema.json",
|
|
4
4
|
"title": "Logo",
|
|
5
|
+
"description": "Logo entry for Logos component",
|
|
5
6
|
"type": "object",
|
|
6
7
|
"properties": {
|
|
7
8
|
"src": {
|
|
8
|
-
"title": "Source",
|
|
9
|
-
"description": "Picture source",
|
|
10
9
|
"type": "string",
|
|
11
|
-
"format": "image"
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
"title": "Source",
|
|
15
|
-
"description": "Picture source",
|
|
16
|
-
"type": "string",
|
|
17
|
-
"format": "image"
|
|
18
|
-
},
|
|
19
|
-
"alt": {
|
|
20
|
-
"title": "Alt text",
|
|
21
|
-
"description": "Alt text to display for picture",
|
|
22
|
-
"type": "string"
|
|
23
|
-
},
|
|
24
|
-
"homepageHref": {
|
|
25
|
-
"type": "string",
|
|
26
|
-
"format": "uri",
|
|
27
|
-
"default": "/"
|
|
28
|
-
},
|
|
29
|
-
"inverted": {
|
|
30
|
-
"type": "boolean",
|
|
31
|
-
"title": "Inverted",
|
|
32
|
-
"description": "Toggle wether the inverted or default version of the logo is being displayed"
|
|
33
|
-
},
|
|
34
|
-
"width": {
|
|
35
|
-
"title": "Width",
|
|
36
|
-
"description": "Width of the picture",
|
|
37
|
-
"type": "integer",
|
|
38
|
-
"minimum": 0,
|
|
10
|
+
"format": "image",
|
|
11
|
+
"title": "URL",
|
|
12
|
+
"description": "The URL of the logo image",
|
|
39
13
|
"examples": [
|
|
40
|
-
|
|
14
|
+
"img/logos/logoipsum-212.svg",
|
|
15
|
+
"img/logos/logoipsum-217.svg",
|
|
16
|
+
"img/logos/logoipsum-239.svg",
|
|
17
|
+
"img/logos/logoipsum-244.svg",
|
|
18
|
+
"img/logos/logoipsum-250.svg",
|
|
19
|
+
"img/logos/logoipsum-286.svg"
|
|
41
20
|
]
|
|
42
21
|
},
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"minimum": 0,
|
|
22
|
+
"alt": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"title": "Caption",
|
|
25
|
+
"description": "The alt text of the logo",
|
|
48
26
|
"examples": [
|
|
49
|
-
|
|
27
|
+
"Logo 1"
|
|
50
28
|
]
|
|
51
29
|
},
|
|
52
|
-
"className": {
|
|
53
|
-
"title": "Additional Classes",
|
|
54
|
-
"description": "Add additional css classes that should be applied to the logo",
|
|
55
|
-
"type": "string"
|
|
56
|
-
},
|
|
57
30
|
"type": {
|
|
58
31
|
"const": "logo"
|
|
59
32
|
}
|
|
60
33
|
},
|
|
61
|
-
"additionalProperties": false
|
|
34
|
+
"additionalProperties": false,
|
|
35
|
+
"required": [
|
|
36
|
+
"src"
|
|
37
|
+
]
|
|
62
38
|
}
|
|
@@ -2,54 +2,30 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "http://schema.mydesignsystem.com/logo.schema.json",
|
|
4
4
|
"title": "Logo",
|
|
5
|
+
"description": "Logo entry for Logos component",
|
|
5
6
|
"type": "object",
|
|
6
7
|
"properties": {
|
|
7
8
|
"src": {
|
|
8
|
-
"title": "Source",
|
|
9
|
-
"description": "Picture source",
|
|
10
9
|
"type": "string",
|
|
11
|
-
"format": "image"
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
"
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
10
|
+
"format": "image",
|
|
11
|
+
"title": "URL",
|
|
12
|
+
"description": "The URL of the logo image",
|
|
13
|
+
"examples": [
|
|
14
|
+
"img/logos/logoipsum-212.svg",
|
|
15
|
+
"img/logos/logoipsum-217.svg",
|
|
16
|
+
"img/logos/logoipsum-239.svg",
|
|
17
|
+
"img/logos/logoipsum-244.svg",
|
|
18
|
+
"img/logos/logoipsum-250.svg",
|
|
19
|
+
"img/logos/logoipsum-286.svg"
|
|
20
|
+
]
|
|
18
21
|
},
|
|
19
22
|
"alt": {
|
|
20
|
-
"title": "Alt text",
|
|
21
|
-
"description": "Alt text to display for picture",
|
|
22
|
-
"type": "string"
|
|
23
|
-
},
|
|
24
|
-
"homepageHref": {
|
|
25
23
|
"type": "string",
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
"inverted": {
|
|
30
|
-
"type": "boolean",
|
|
31
|
-
"title": "Inverted",
|
|
32
|
-
"description": "Toggle wether the inverted or default version of the logo is being displayed"
|
|
33
|
-
},
|
|
34
|
-
"width": {
|
|
35
|
-
"title": "Width",
|
|
36
|
-
"description": "Width of the picture",
|
|
37
|
-
"type": "integer",
|
|
38
|
-
"minimum": 0,
|
|
39
|
-
"examples": [300]
|
|
40
|
-
},
|
|
41
|
-
"height": {
|
|
42
|
-
"title": "Height",
|
|
43
|
-
"description": "Height of the picture",
|
|
44
|
-
"type": "integer",
|
|
45
|
-
"minimum": 0,
|
|
46
|
-
"examples": [300]
|
|
47
|
-
},
|
|
48
|
-
"className": {
|
|
49
|
-
"title": "Additional Classes",
|
|
50
|
-
"description": "Add additional css classes that should be applied to the logo",
|
|
51
|
-
"type": "string"
|
|
24
|
+
"title": "Caption",
|
|
25
|
+
"description": "The alt text of the logo",
|
|
26
|
+
"examples": ["Logo 1"]
|
|
52
27
|
}
|
|
53
28
|
},
|
|
54
|
-
"additionalProperties": false
|
|
29
|
+
"additionalProperties": false,
|
|
30
|
+
"required": ["src"]
|
|
55
31
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { HTMLAttributes } from "react";
|
|
3
|
-
import { LogosProps } from "../../LogosProps-
|
|
3
|
+
import { LogosProps } from "../../LogosProps-58c84ccc.js";
|
|
4
4
|
declare const LogosContextDefault: import("react").ForwardRefExoticComponent<LogosProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
|
|
5
5
|
declare const LogosContext: import("react").Context<import("react").ForwardRefExoticComponent<LogosProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
|
|
6
6
|
declare const Logos: import("react").ForwardRefExoticComponent<LogosProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -7,7 +7,7 @@ import { Button } from '@kickstartds/base/lib/button';
|
|
|
7
7
|
import { Link } from '@kickstartds/base/lib/link';
|
|
8
8
|
import { Container } from '@kickstartds/core/lib/container';
|
|
9
9
|
|
|
10
|
-
const LogosContextDefault = forwardRef(({ logo: logos = [], tagline, align, cta, logosPerRow = "6", ...rest }, ref) => (jsx("div", { ...rest, ref: ref, children: jsx(Container, { name: "logos", children: jsxs("div", { className: classnames(`dsa-logos dsa-logos--align-${align}`), children: [
|
|
10
|
+
const LogosContextDefault = forwardRef(({ logo: logos = [], tagline, align, cta, logosPerRow = "6", ...rest }, ref) => (jsx("div", { ...rest, ref: ref, children: jsx(Container, { name: "logos", children: jsxs("div", { className: classnames(`dsa-logos dsa-logos--align-${align}`), children: [jsx("div", { className: "dsa-logos__tagline", children: tagline }), jsx(LogoTiles, { className: classnames(`dsa-logo-tiles dsa-logo-tiles--cols-${logosPerRow}`), logos: logos }), cta?.toggle ? (jsxs("div", { className: "dsa-logos__cta", children: [jsxs("div", { className: "dsa-logos__cta__text", children: [cta?.text, cta?.style === "text" ? (jsxs(Fragment, { children: [" ", jsx(Link, { className: "dsa-logos__cta__link", href: cta.link, children: cta.label })] })) : ("")] }), cta?.style === "button" ? (jsx(Button, { href: cta.link, label: cta.label })) : ("")] })) : ("")] }) }) })));
|
|
11
11
|
const LogosContext = createContext(LogosContextDefault);
|
|
12
12
|
const Logos = forwardRef((props, ref) => {
|
|
13
13
|
const Component = useContext(LogosContext);
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
|
|
6
6
|
.dsa-logos {
|
|
7
7
|
--dsa-logos-gap: var(--ks-spacing-stack-m);
|
|
8
|
-
--dsa-
|
|
9
|
-
--dsa-
|
|
10
|
-
--dsa-
|
|
8
|
+
--dsa-logos-tagline--font: var(--dsa-headline_h3--font);
|
|
9
|
+
--dsa-logos-tagline--font-weight: var(--dsa-headline--font-weight);
|
|
10
|
+
--dsa-logos-tagline--color: var(--dsa-headline--color);
|
|
11
11
|
--dsa-logos__grid--gap-horizontal: var(--ks-spacing-inline-l);
|
|
12
12
|
--dsa-logos__grid--gap-vertical: var(--ks-spacing-stack-s);
|
|
13
13
|
--dsa-logos__grid_mobile--cols: 2;
|
|
@@ -19,15 +19,11 @@
|
|
|
19
19
|
flex-direction: column;
|
|
20
20
|
gap: var(--dsa-logos-gap, var(--ks-spacing-stack-m));
|
|
21
21
|
}
|
|
22
|
-
.dsa-logos .c-logo-tiles {
|
|
23
|
-
--c-logo-tiles--cols: var(--dsa-logo-tiles--cols);
|
|
24
|
-
--c-logo-tiles--gutter: var(--dsa-logos__grid--gap-horizontal);
|
|
25
|
-
}
|
|
26
22
|
.dsa-logos__tagline {
|
|
27
|
-
font: var(--dsa-
|
|
28
|
-
font-weight: var(--dsa-
|
|
23
|
+
font: var(--dsa-logos-tagline--font, var(--ks-font-display-m));
|
|
24
|
+
font-weight: var(--dsa-logos-tagline--font-weight, var(--dsa-headline--font-weight));
|
|
29
25
|
max-width: var(--l-section--content-width-narrow);
|
|
30
|
-
color: var(--dsa-
|
|
26
|
+
color: var(--dsa-logos-tagline--color, var(--dsa-headline--color, var(--ks-text-color-display)));
|
|
31
27
|
width: 100%;
|
|
32
28
|
}
|
|
33
29
|
.dsa-logos__cta {
|
|
@@ -18,6 +18,8 @@
|
|
|
18
18
|
"title": "Logos",
|
|
19
19
|
"description": "The logos to display",
|
|
20
20
|
"items": {
|
|
21
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
22
|
+
"$id": "http://schema.mydesignsystem.com/logo.schema.json",
|
|
21
23
|
"title": "Logo",
|
|
22
24
|
"description": "Logo entry for Logos component",
|
|
23
25
|
"type": "object",
|
|
@@ -43,6 +45,9 @@
|
|
|
43
45
|
"examples": [
|
|
44
46
|
"Logo 1"
|
|
45
47
|
]
|
|
48
|
+
},
|
|
49
|
+
"type": {
|
|
50
|
+
"const": "logo"
|
|
46
51
|
}
|
|
47
52
|
},
|
|
48
53
|
"additionalProperties": false,
|
|
@@ -16,33 +16,7 @@
|
|
|
16
16
|
"title": "Logos",
|
|
17
17
|
"description": "The logos to display",
|
|
18
18
|
"items": {
|
|
19
|
-
"
|
|
20
|
-
"description": "Logo entry for Logos component",
|
|
21
|
-
"type": "object",
|
|
22
|
-
"properties": {
|
|
23
|
-
"src": {
|
|
24
|
-
"type": "string",
|
|
25
|
-
"format": "image",
|
|
26
|
-
"title": "URL",
|
|
27
|
-
"description": "The URL of the logo image",
|
|
28
|
-
"examples": [
|
|
29
|
-
"img/logos/logoipsum-212.svg",
|
|
30
|
-
"img/logos/logoipsum-217.svg",
|
|
31
|
-
"img/logos/logoipsum-239.svg",
|
|
32
|
-
"img/logos/logoipsum-244.svg",
|
|
33
|
-
"img/logos/logoipsum-250.svg",
|
|
34
|
-
"img/logos/logoipsum-286.svg"
|
|
35
|
-
]
|
|
36
|
-
},
|
|
37
|
-
"alt": {
|
|
38
|
-
"type": "string",
|
|
39
|
-
"title": "Caption",
|
|
40
|
-
"description": "The alt text of the logo",
|
|
41
|
-
"examples": ["Logo 1"]
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
"additionalProperties": false,
|
|
45
|
-
"required": ["src"]
|
|
19
|
+
"$ref": "http://schema.mydesignsystem.com/logo.schema.json"
|
|
46
20
|
},
|
|
47
21
|
"minItems": 1,
|
|
48
22
|
"maxItems": 20
|
|
@@ -5,23 +5,52 @@ import { FC } from "react";
|
|
|
5
5
|
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
|
6
6
|
* and run json-schema-to-typescript to regenerate this file.
|
|
7
7
|
*/
|
|
8
|
-
import { LogoProps } from "../../LogoProps-01796f0a.js";
|
|
9
8
|
/**
|
|
10
|
-
*
|
|
9
|
+
* Add a link to the logo
|
|
11
10
|
*/
|
|
12
|
-
type
|
|
11
|
+
type Link = string;
|
|
12
|
+
/**
|
|
13
|
+
* Logo file source
|
|
14
|
+
*/
|
|
15
|
+
type Source = string;
|
|
16
|
+
/**
|
|
17
|
+
* Logo inverted file source
|
|
18
|
+
*/
|
|
19
|
+
type SourceInverted = string;
|
|
20
|
+
/**
|
|
21
|
+
* Alt text to display for picture
|
|
22
|
+
*/
|
|
23
|
+
type AltText = string;
|
|
24
|
+
/**
|
|
25
|
+
* Width of the picture
|
|
26
|
+
*/
|
|
27
|
+
type Width = number;
|
|
28
|
+
/**
|
|
29
|
+
* Height of the picture
|
|
30
|
+
*/
|
|
31
|
+
type Height = number;
|
|
32
|
+
/**
|
|
33
|
+
* Toggle the inversion of the logo inside the mobile navigation
|
|
34
|
+
*/
|
|
35
|
+
type FlyoutLogoInverted = boolean;
|
|
13
36
|
interface NavMainProps {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
logo: LogoProps;
|
|
18
|
-
flyoutInverted?: FlyoutInverted;
|
|
37
|
+
logo: Logo;
|
|
38
|
+
logoHref?: string;
|
|
39
|
+
flyoutLogoInverted?: FlyoutLogoInverted;
|
|
19
40
|
items?: {
|
|
20
41
|
href: string;
|
|
21
42
|
label: string;
|
|
22
43
|
active?: boolean;
|
|
23
44
|
}[];
|
|
24
45
|
}
|
|
46
|
+
interface Logo {
|
|
47
|
+
href?: Link;
|
|
48
|
+
src?: Source;
|
|
49
|
+
srcInverted?: SourceInverted;
|
|
50
|
+
alt?: AltText;
|
|
51
|
+
width?: Width;
|
|
52
|
+
height?: Height;
|
|
53
|
+
}
|
|
25
54
|
declare const NavToggleComponent: FC;
|
|
26
55
|
declare const NavMainItem: FC<{
|
|
27
56
|
label: string;
|
|
@@ -4,16 +4,15 @@ import { createElement } from 'react';
|
|
|
4
4
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
5
5
|
import classnames from 'classnames';
|
|
6
6
|
import { Link } from '@kickstartds/base/lib/link';
|
|
7
|
-
import {
|
|
7
|
+
import { Picture } from '@kickstartds/base/lib/picture';
|
|
8
8
|
import './js/NavToggle.client.js';
|
|
9
9
|
import './js/navMainEvents.client.js';
|
|
10
|
-
import '@kickstartds/base/lib/picture';
|
|
11
10
|
import '@kickstartds/core/lib/component';
|
|
12
11
|
import './js/body.client.js';
|
|
13
12
|
import '@kickstartds/core/lib/core';
|
|
14
13
|
|
|
15
14
|
const NavToggleComponent = () => (jsxs("button", { type: "button", className: "dsa-nav-toggle", id: "toggle-sidebar", "aria-controls": "nav-main", "aria-expanded": "false", "ks-component": "base.nav-toggle", children: [jsx("span", { className: "dsa-nav-toggle__label", children: "toggle navigation" }), jsx("span", { className: "dsa-nav-toggle__icon", children: jsx("span", { className: "dsa-nav-toggle__icon__middle" }) })] }));
|
|
16
15
|
const NavMainItem = ({ label, href, active }) => (jsx("li", { className: classnames("dsa-nav-main__item", active === true ? "dsa-nav-main__item--active" : ""), children: jsx(Link, { className: "dsa-nav-main__link", href: href, children: label }) }));
|
|
17
|
-
const NavMain = ({ logo, items,
|
|
16
|
+
const NavMain = ({ logo, items, flyoutLogoInverted, }) => items && items.length > 0 ? (jsxs("div", { className: "dsa-nav-main__wrap", children: [jsx(NavToggleComponent, {}), jsxs("nav", { className: classnames("dsa-nav-main", items.some((item) => item.active) ? "dsa-nav-main--active" : ""), id: "dsa-nav-main", "aria-label": "Hauptnavigation", children: [jsxs(Link, { className: "dsa-nav-main__logo", "ks-inverted": flyoutLogoInverted === true ? "true" : "false", href: logo?.href, children: [jsx(Picture, { className: "dsa-nav-main__logo__img", src: logo?.src, alt: logo?.alt, width: logo?.width, height: logo?.height, lazy: flyoutLogoInverted }), jsx(Picture, { className: "dsa-nav-main__logo__img dsa-nav-main__logo__img--inverted", src: logo?.srcInverted || logo?.src, alt: logo?.alt, width: logo?.width, height: logo?.height, lazy: !flyoutLogoInverted })] }), jsx("ul", { className: "dsa-nav-main__list", children: items.map((item) => (createElement(NavMainItem, { ...item, active: item.active ?? false, key: item.href + item.label }))) })] })] })) : null;
|
|
18
17
|
|
|
19
18
|
export { NavMain, NavMainItem, NavToggleComponent };
|
|
@@ -31,10 +31,20 @@
|
|
|
31
31
|
.dsa-nav-main--active .dsa-nav-main__item .dsa-nav-main__link {
|
|
32
32
|
color: var(--dsa-nav-main__link--color);
|
|
33
33
|
}
|
|
34
|
+
@media (min-width: 62rem) {
|
|
35
|
+
.dsa-header--floating .dsa-nav-main--active .dsa-nav-main__item .dsa-nav-main__link {
|
|
36
|
+
color: var(--dsa-nav-main_floating__link--color);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
34
39
|
.dsa-nav-main--active .dsa-nav-main__item--active .dsa-nav-main__link {
|
|
35
40
|
color: var(--dsa-nav-main__link--color_active);
|
|
36
41
|
font-weight: var(--dsa-nav-main__link--font-weight_active);
|
|
37
42
|
}
|
|
43
|
+
@media (min-width: 62rem) {
|
|
44
|
+
.dsa-header--floating .dsa-nav-main--active .dsa-nav-main__item--active .dsa-nav-main__link {
|
|
45
|
+
color: var(--dsa-nav-main_floating__link--color_active);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
38
48
|
.dsa-nav-main ul {
|
|
39
49
|
/* critical:start */
|
|
40
50
|
box-sizing: border-box;
|
|
@@ -53,6 +63,11 @@
|
|
|
53
63
|
.dsa-nav-main__list:hover .dsa-nav-main__link {
|
|
54
64
|
opacity: var(--dsa-nav-main__link--opacity_hover);
|
|
55
65
|
}
|
|
66
|
+
@media (min-width: 62rem) {
|
|
67
|
+
.dsa-header--floating .dsa-nav-main__list:hover .dsa-nav-main__link {
|
|
68
|
+
opacity: var(--dsa-nav-main_floating__link--opacity_hover);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
56
71
|
.dsa-nav-main .dsa-nav-main__item a.dsa-nav-main__link {
|
|
57
72
|
/* critical:start */
|
|
58
73
|
font: var(--dsa-nav-main__link--font);
|
|
@@ -71,18 +86,28 @@
|
|
|
71
86
|
color: var(--dsa-nav-main__link--color_active);
|
|
72
87
|
}
|
|
73
88
|
.dsa-nav-main__logo {
|
|
89
|
+
display: block;
|
|
74
90
|
padding: var(--dsa-header--spacing-v) 0;
|
|
75
91
|
}
|
|
92
|
+
.dsa-nav-main__logo__img {
|
|
93
|
+
height: var(--dsa-header__logo--height);
|
|
94
|
+
width: auto;
|
|
95
|
+
}
|
|
96
|
+
[ks-inverted=true] .dsa-nav-main__logo__img {
|
|
97
|
+
display: none;
|
|
98
|
+
}
|
|
99
|
+
.dsa-nav-main__logo__img--inverted {
|
|
100
|
+
display: none;
|
|
101
|
+
}
|
|
102
|
+
[ks-inverted=true] .dsa-nav-main__logo__img--inverted {
|
|
103
|
+
display: block !important;
|
|
104
|
+
}
|
|
76
105
|
.dsa-nav-main__wrap {
|
|
77
106
|
flex-grow: 0;
|
|
78
107
|
flex-shrink: 1;
|
|
79
108
|
}
|
|
80
|
-
.dsa-nav-main.dsa-nav-main--flyout {
|
|
81
|
-
display: none;
|
|
82
|
-
}
|
|
83
109
|
@media (max-width: 62rem) {
|
|
84
|
-
.dsa-nav-main
|
|
85
|
-
display: block;
|
|
110
|
+
.dsa-nav-main {
|
|
86
111
|
/* critical:start */
|
|
87
112
|
left: -100%;
|
|
88
113
|
/* critical:end */
|
|
@@ -102,7 +127,7 @@
|
|
|
102
127
|
-webkit-overflow-scrolling: touch;
|
|
103
128
|
box-shadow: 20px 0px 30px rgba(0, 0, 0, 0);
|
|
104
129
|
}
|
|
105
|
-
.dsa-nav-
|
|
130
|
+
.dsa-nav-main__item--icon {
|
|
106
131
|
border: 0;
|
|
107
132
|
clip: rect(1px, 1px, 1px, 1px);
|
|
108
133
|
clip-path: inset(100%);
|
|
@@ -113,75 +138,62 @@
|
|
|
113
138
|
white-space: nowrap;
|
|
114
139
|
width: 1px;
|
|
115
140
|
}
|
|
116
|
-
.overlay-open .dsa-nav-main
|
|
141
|
+
.overlay-open .dsa-nav-main {
|
|
117
142
|
left: 0;
|
|
118
143
|
box-shadow: var(--dsa-nav-main--shadow);
|
|
119
144
|
}
|
|
120
|
-
.dsa-nav-main
|
|
145
|
+
.dsa-nav-main > .dsa-nav-main__logo {
|
|
121
146
|
margin-top: var(--dsa-header--spacing-vertical);
|
|
122
147
|
margin-bottom: var(--dsa-header--spacing-vertical);
|
|
123
148
|
}
|
|
124
|
-
.dsa-nav-main
|
|
149
|
+
.dsa-nav-main ul.dsa-nav-main__list {
|
|
125
150
|
padding-top: calc(var(--dsa-header--spacing-vertical) - var(--ks-spacing-s));
|
|
126
151
|
}
|
|
127
|
-
.dsa-nav-main
|
|
152
|
+
.dsa-nav-main ul.dsa-nav-main__list .dsa-nav-main--button {
|
|
128
153
|
margin-left: var(--dsa-header--spacing-horizontal);
|
|
129
154
|
margin-top: var(--dsa-header--spacing-vertical);
|
|
130
155
|
}
|
|
131
|
-
.dsa-nav-main
|
|
156
|
+
.dsa-nav-main ul.dsa-nav-main__list .dsa-nav-main--button .button {
|
|
132
157
|
--button--font: var(--ks-font-interface-s);
|
|
133
158
|
}
|
|
134
|
-
.dsa-nav-main
|
|
159
|
+
.dsa-nav-main ul.dsa-nav-main__list .dsa-nav-main--button .button .button__content {
|
|
135
160
|
--button--padding: 0.4rem 1rem;
|
|
136
161
|
}
|
|
137
162
|
}
|
|
138
|
-
.dsa-nav-main.dsa-nav-main--topbar {
|
|
139
|
-
display: none;
|
|
140
|
-
}
|
|
141
163
|
@media (min-width: 62rem) {
|
|
142
|
-
.dsa-nav-main
|
|
143
|
-
display: block;
|
|
164
|
+
.dsa-nav-main {
|
|
144
165
|
/* critical:start */
|
|
145
166
|
/* critical:end */
|
|
146
167
|
}
|
|
147
|
-
.dsa-nav-main
|
|
168
|
+
.dsa-nav-main > .dsa-nav-main__logo {
|
|
148
169
|
display: none;
|
|
149
170
|
}
|
|
150
|
-
.dsa-nav-main
|
|
171
|
+
.dsa-nav-main .button--wrapper {
|
|
151
172
|
margin-left: var(--ks-spacing-inline-xs);
|
|
152
173
|
}
|
|
153
|
-
.dsa-nav-
|
|
174
|
+
.dsa-nav-main__wrap {
|
|
154
175
|
display: flex;
|
|
155
176
|
align-items: center;
|
|
156
177
|
}
|
|
157
|
-
.dsa-nav-
|
|
178
|
+
.dsa-nav-main__list {
|
|
158
179
|
/* critical:start */
|
|
159
180
|
display: flex;
|
|
160
181
|
flex-wrap: nowrap;
|
|
161
182
|
align-items: center;
|
|
162
183
|
/* critical:end */
|
|
163
184
|
}
|
|
164
|
-
.dsa-nav-
|
|
185
|
+
.dsa-nav-main__list .dsa-nav-main--button .button {
|
|
165
186
|
--button--font: var(--ks-font-interface-s);
|
|
166
187
|
}
|
|
167
|
-
.dsa-nav-
|
|
188
|
+
.dsa-nav-main__list .dsa-nav-main--button .button span {
|
|
168
189
|
font-size: 98%;
|
|
169
190
|
}
|
|
170
|
-
.dsa-
|
|
171
|
-
opacity: var(--dsa-nav-main_floating__link--opacity_hover);
|
|
172
|
-
}
|
|
173
|
-
.dsa-nav-main.dsa-nav-main--topbar.dsa-nav-main__item {
|
|
191
|
+
.dsa-nav-main__item {
|
|
174
192
|
/* critical:start */
|
|
175
193
|
flex-shrink: 0;
|
|
176
194
|
/* critical:end */
|
|
177
195
|
outline: 0;
|
|
178
196
|
}
|
|
179
|
-
.dsa-header--floating .dsa-nav-main.dsa-nav-main--topbar .dsa-nav-main__link {
|
|
180
|
-
color: var(--dsa-nav-main_floating__link--color);
|
|
181
|
-
}
|
|
182
|
-
.dsa-header--floating .dsa-nav-main.dsa-nav-main--topbar.dsa-nav-main--active .dsa-nav-main__link {
|
|
183
|
-
color: var(--dsa-nav-main_floating__link--color_active);
|
|
184
|
-
}
|
|
185
197
|
}
|
|
186
198
|
|
|
187
199
|
.dsa-nav-main-toggle[aria-expanded=true] + .dsa-nav-main {
|