@kickstartds/ds-agency-premium 1.3.30--canary.553.cf58b54.0 → 1.3.30

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