@kickstartds/ds-agency-premium 1.4.0--canary.12.465.0 → 1.4.0--canary.14.680.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 (104) hide show
  1. package/dist/BlogPostProps-e1cbd5d3.d.ts +8 -2
  2. package/dist/{FooterProps-9f94ed98.d.ts → FooterProps-2d0b03c2.d.ts} +14 -2
  3. package/dist/HeaderProps-c6c32ccf.d.ts +72 -0
  4. package/dist/{ImageStoryProps-24e0335c.d.ts → ImageStoryProps-e853e1e7.d.ts} +9 -4
  5. package/dist/{HeaderProps-34d278ee.d.ts → LogoProps-01796f0a.d.ts} +16 -19
  6. package/dist/LogosProps-f9474fe2.d.ts +97 -0
  7. package/dist/{SectionProps-93230a76.d.ts → SectionProps-83d399b4.d.ts} +2 -2
  8. package/dist/SliderProps-93230a76.d.ts +1 -1
  9. package/dist/components/blog-aside/index.js +2 -2
  10. package/dist/components/blog-head/index.js +2 -2
  11. package/dist/components/blog-overview/index.js +0 -1
  12. package/dist/components/blog-post/blog-post.schema.dereffed.json +3095 -1
  13. package/dist/components/blog-post/blog-post.schema.json +9 -1
  14. package/dist/components/blog-post/index.d.ts +2 -5
  15. package/dist/components/blog-post/index.js +1 -2
  16. package/dist/components/blog-teaser/index.js +2 -2
  17. package/dist/components/button/button.css +15 -1
  18. package/dist/components/cta/cta.css +38 -38
  19. package/dist/components/feature/index.js +7 -7
  20. package/dist/components/features/features.css +26 -28
  21. package/dist/components/features/index.js +1 -1
  22. package/dist/components/footer/footer.css +23 -18
  23. package/dist/components/footer/footer.schema.dereffed.json +65 -14
  24. package/dist/components/footer/footer.schema.json +11 -25
  25. package/dist/components/footer/index.d.ts +1 -1
  26. package/dist/components/footer/index.js +3 -2
  27. package/dist/components/gallery/gallery.css +1 -1
  28. package/dist/components/header/header.css +14 -10
  29. package/dist/components/header/header.schema.dereffed.json +78 -17
  30. package/dist/components/header/header.schema.json +18 -25
  31. package/dist/components/header/index.d.ts +1 -1
  32. package/dist/components/header/index.js +15 -7
  33. package/dist/components/headline/headline.css +18 -21
  34. package/dist/components/headline/index.js +1 -7
  35. package/dist/components/hero/index.js +3 -2
  36. package/dist/components/image/image.css +8 -8
  37. package/dist/components/image/image.schema.dereffed.json +1 -1
  38. package/dist/components/image/image.schema.json +1 -1
  39. package/dist/components/image/index.d.ts +1 -1
  40. package/dist/components/image/index.js +1 -1
  41. package/dist/components/image-story/image-story.css +14 -1
  42. package/dist/components/image-story/image-story.schema.dereffed.json +19 -9
  43. package/dist/components/image-story/image-story.schema.json +9 -6
  44. package/dist/components/image-story/index.d.ts +1 -1
  45. package/dist/components/image-story/index.js +10 -1
  46. package/dist/components/index/index.d.ts +13 -13
  47. package/dist/components/logo/index.d.ts +4 -0
  48. package/dist/components/logo/index.js +12 -0
  49. package/dist/components/logo/logo.css +7 -0
  50. package/dist/components/logo/logo.schema.dereffed.json +43 -19
  51. package/dist/components/logo/logo.schema.json +41 -17
  52. package/dist/components/logos/index.d.ts +1 -1
  53. package/dist/components/logos/index.js +1 -1
  54. package/dist/components/logos/logos.css +11 -7
  55. package/dist/components/logos/logos.schema.dereffed.json +0 -5
  56. package/dist/components/logos/logos.schema.json +27 -1
  57. package/dist/components/nav-dropdown/index.d.ts +23 -0
  58. package/dist/components/nav-dropdown/index.js +10 -0
  59. package/dist/components/nav-dropdown/nav-dropdown.css +48 -0
  60. package/dist/components/nav-flyout/index.d.ts +7 -0
  61. package/dist/components/nav-flyout/index.js +17 -0
  62. package/dist/components/nav-flyout/nav-flyout.css +124 -0
  63. package/dist/components/nav-main/index.d.ts +42 -11
  64. package/dist/components/nav-main/index.js +14 -13
  65. package/dist/components/nav-main/nav-main.schema.dereffed.json +110 -85
  66. package/dist/components/nav-main/nav-main.schema.json +73 -11
  67. package/dist/components/nav-toggle/index.d.ts +3 -0
  68. package/dist/components/nav-toggle/index.js +6 -0
  69. package/dist/components/{nav-main → nav-toggle}/nav-toggle.css +22 -22
  70. package/dist/components/nav-topbar/index.d.ts +6 -0
  71. package/dist/components/nav-topbar/index.js +14 -0
  72. package/dist/components/nav-topbar/nav-topbar.css +95 -0
  73. package/dist/components/page/page.schema.dereffed.json +25 -25
  74. package/dist/components/page/page.schema.json +6 -6
  75. package/dist/components/page-wrapper/index.js +2 -3
  76. package/dist/components/page-wrapper/tokens.css +38 -38
  77. package/dist/components/picture/picture.schema.json +1 -1
  78. package/dist/components/presets.json +197 -19
  79. package/dist/components/providers/index.js +0 -1
  80. package/dist/components/section/index.d.ts +5 -3
  81. package/dist/components/section/index.js +35 -31
  82. package/dist/components/section/section.css +3 -3
  83. package/dist/components/section/section.schema.dereffed.json +19 -19
  84. package/dist/components/settings/settings.schema.dereffed.json +143 -31
  85. package/dist/components/slider/slider.schema.dereffed.json +0 -5
  86. package/dist/components/teaser-card/teaser-card.css +2 -2
  87. package/dist/components/text/text.css +1 -1
  88. package/dist/global.css +14 -14
  89. package/dist/static/favicon/favicon-192-192.png +1 -1
  90. package/dist/static/logo-inverted.svg +26 -0
  91. package/dist/tokens/themes.css +4 -4
  92. package/dist/tokens/tokens.css +38 -38
  93. package/dist/tokens/tokens.js +70 -70
  94. package/package.json +1 -1
  95. package/dist/LogosProps-58c84ccc.d.ts +0 -242
  96. package/dist/components/headline-level-context/index.d.ts +0 -4
  97. package/dist/components/headline-level-context/index.js +0 -33
  98. package/dist/components/nav-main/nav-main.css +0 -191
  99. /package/dist/components/{nav-main → nav}/js/NavToggle.client.d.ts +0 -0
  100. /package/dist/components/{nav-main → nav}/js/NavToggle.client.js +0 -0
  101. /package/dist/components/{nav-main → nav}/js/body.client.d.ts +0 -0
  102. /package/dist/components/{nav-main → nav}/js/body.client.js +0 -0
  103. /package/dist/components/{nav-main → nav}/js/navMainEvents.client.d.ts +0 -0
  104. /package/dist/components/{nav-main → nav}/js/navMainEvents.client.js +0 -0
@@ -57,17 +57,20 @@
57
57
  "type": "string",
58
58
  "format": "image"
59
59
  },
60
- "ratio": {
61
- "title": "Image aspect ratio",
62
- "description": "Select an aspect ratio to use for cropping and displaying the image",
63
- "type": "string",
64
- "enum": ["4:3", "3:2", "16:9", "1:1", "none"],
65
- "default": "none"
60
+ "aspectRatio": {
61
+ "$ref": "http://schema.mydesignsystem.com/image.schema.json#/properties/aspectRatio"
66
62
  },
67
63
  "alt": {
68
64
  "title": "Alt text",
69
65
  "description": "Image description",
70
66
  "type": "string"
67
+ },
68
+ "vAlign": {
69
+ "title": "Image vertical alignment",
70
+ "description": "Select a vertical alignment for the image",
71
+ "type": "string",
72
+ "enum": ["center", "top", "bottom"],
73
+ "default": "top"
71
74
  }
72
75
  },
73
76
  "additionalProperties": false
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { HTMLAttributes } from "react";
3
- import { ImageStoryProps } from "../../ImageStoryProps-24e0335c.js";
3
+ import { ImageStoryProps } from "../../ImageStoryProps-e853e1e7.js";
4
4
  declare const ImageStoryContextDefault: import("react").ForwardRefExoticComponent<ImageStoryProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
5
5
  declare const ImageStoryContext: import("react").Context<import("react").ForwardRefExoticComponent<ImageStoryProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
6
6
  declare const ImageStory: import("react").ForwardRefExoticComponent<ImageStoryProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
@@ -15,10 +15,19 @@ const ImageStoryContextDefault = forwardRef(({ headline, largeHeadline = false,
15
15
  // @ts-expect-error
16
16
  value: ButtonGroup, children: jsx(Storytelling, { ...rest, ref: ref, className: classnames("dsa-image-story"), full: padding === false ? true : false, image: {
17
17
  source: image?.src,
18
+ vAlign: image?.vAlign,
19
+ ratio: image?.aspectRatio === "square"
20
+ ? "1:1"
21
+ : image?.aspectRatio === "wide"
22
+ ? "4:3"
23
+ : image?.aspectRatio === "landscape"
24
+ ? "16:9"
25
+ : image?.aspectRatio === "unset"
26
+ ? "none"
27
+ : "none",
18
28
  order: {
19
29
  desktopImageLast: layout === "imageLeft" ? false : true,
20
30
  },
21
- vAlign: "top",
22
31
  }, box: {
23
32
  text: text,
24
33
  textAlign: textAlign,
@@ -4,7 +4,7 @@
4
4
  * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
5
5
  * and run json-schema-to-typescript to regenerate this file.
6
6
  */
7
- import { SectionProps } from "../../SectionProps-93230a76.js";
7
+ import { SectionProps } from "../../SectionProps-83d399b4.js";
8
8
  import { SeoProps } from "../../SeoProps-f2d6dcaa.js";
9
9
  /* eslint-disable */
10
10
  /**
@@ -12,24 +12,24 @@ 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-34d278ee.js";
16
- import { FooterProps } from "../../FooterProps-9f94ed98.js";
15
+ import { HeaderProps } from "../../HeaderProps-c6c32ccf.js";
16
+ import { FooterProps } from "../../FooterProps-2d0b03c2.js";
17
17
  /**
18
18
  * Collection of sections (with their contents) to render on the page
19
19
  */
20
20
  type Sections = SectionProps[];
21
21
  /**
22
- * Whether the header should float on scroll
22
+ * Toggle default floating header behaviour set in global settings
23
23
  */
24
- type Floating = boolean;
24
+ type ToggleFloating = boolean;
25
25
  /**
26
- * Whether the header should have an inverted color scheme
26
+ * Toggle default inverted header behaviour set in global settings
27
27
  */
28
- type Inverted = boolean;
28
+ type ToggleInverted = boolean;
29
29
  /**
30
- * Whether the footer should have an inverted color scheme
30
+ * Toggle default inverted footer behaviour set in global settings
31
31
  */
32
- type Inverted1 = boolean;
32
+ type ToggleInverted1 = boolean;
33
33
  /**
34
34
  * Abstracts a page concept into JSON schema
35
35
  */
@@ -46,14 +46,14 @@ interface PageProps {
46
46
  * Header settings for the page
47
47
  */
48
48
  interface Header {
49
- floating?: Floating;
50
- inverted?: Inverted;
49
+ floating?: ToggleFloating;
50
+ inverted?: ToggleInverted;
51
51
  }
52
52
  /**
53
53
  * Footer settings for the page
54
54
  */
55
55
  interface Footer {
56
- inverted?: Inverted1;
56
+ inverted?: ToggleInverted1;
57
57
  }
58
58
  /**
59
59
  * Abstracts global settings made for a website into JSON Schema
@@ -74,4 +74,4 @@ interface SettingsProps {
74
74
  }
75
75
  export * from "../../BlogPostProps-e1cbd5d3.js";
76
76
  export * from "../../BlogOverviewProps-f385fc47.js";
77
- export { Sections, Floating, Inverted, Inverted1, PageProps, Header, Footer, SettingsProps };
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,12 @@
1
+ import "./logo.css";
2
+ import { jsx } 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, }) => {
8
+ return (jsx(Link, { className: classnames("dsa-logo", className), href: homepageHref, children: jsx(Picture, { className: "dsa-logo__img", src: inverted && srcInverted ? srcInverted : src, alt: alt, width: width, height: height }) }));
9
+ };
10
+ Logo.displayName = "Logo";
11
+
12
+ 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 {
@@ -54,7 +58,7 @@
54
58
  }
55
59
  .dsa-logos .dsa-logo-tiles {
56
60
  --dsa-logo-tiles--cols: var(--dsa-logos__grid_mobile--cols, 2);
57
- gap: var(--dsa-logos__grid--gap-horizontal) var(--dsa-logos__grid--gap-horizontal);
61
+ gap: var(--dsa-logos__grid--gap-vertical) var(--dsa-logos__grid--gap-horizontal);
58
62
  margin: 0;
59
63
  }
60
64
  @container logo-tiles (min-width: 420px) {
@@ -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
@@ -0,0 +1,23 @@
1
+ import { FC } from "react";
2
+ /* eslint-disable */
3
+ /**
4
+ * This file was automatically generated by json-schema-to-typescript.
5
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
6
+ * and run json-schema-to-typescript to regenerate this file.
7
+ */
8
+ /**
9
+ * Toggle the inversion of the dropdown navigation
10
+ */
11
+ type DropdownInverted = boolean;
12
+ interface NavDropdownProps {
13
+ inverted?: DropdownInverted;
14
+ items?: {
15
+ href?: string;
16
+ label?: string;
17
+ active?: boolean;
18
+ id?: string;
19
+ }[];
20
+ className?: string;
21
+ }
22
+ declare const NavDropdown: FC<NavDropdownProps>;
23
+ export { NavDropdown };
@@ -0,0 +1,10 @@
1
+ import "./nav-dropdown.css";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import classnames from 'classnames';
4
+ import { Link } from '@kickstartds/base/lib/link';
5
+
6
+ const NavDropdown = ({ items, inverted }) => (jsx("ul", { className: classnames(`dsa-nav-dropdown`), "ks-inverted": inverted?.toString(), children: items.map(({ label, active, href, id }) => {
7
+ return (jsx("li", { className: classnames("dsa-nav-dropdown__item", active && "dsa-nav-dropdown__item--active"), children: jsx(Link, { href: href, className: `dsa-nav-dropdown__label`, children: label }) }, id));
8
+ }) }));
9
+
10
+ export { NavDropdown };
@@ -0,0 +1,48 @@
1
+ .dsa-nav-dropdown {
2
+ --dsa-nav-dropdown--padding: var(--ks-spacing-inset-stretch-xs);
3
+ --dsa-nav-dropdown--background: var(--ks-background-color-card);
4
+ --dsa-nav-dropdown--border-radius: var(--ks-border-radius-card);
5
+ --dsa-nav-dropdown--box-shadow: var(--ks-box-shadow-card);
6
+ --dsa-nav-dropdown--border: 1px solid var(--ks-border-color-card);
7
+ --dsa-nav-dropdown--min-width: 14em;
8
+ --dsa-nav-dropdown__label--color: var(--ks-color-fg);
9
+ --dsa-nav-dropdown__label--color_hover: var(--ks-text-color-interface-interactive-hover);
10
+ --dsa-nav-dropdown__label--color_active: var(--ks-text-color-interface-interactive-active);
11
+ --dsa-nav-dropdown__label--font: var(--ks-font-interface-m);
12
+ --dsa-nav-dropdown__label--font-weight: var(--ks-font-weight-semi-bold);
13
+ --dsa-nav-dropdown__label--font-weight_active: var(--ks-font-weight-semi-bold);
14
+ --dsa-nav-dropdown__label--padding: 0.35em 0.25em;
15
+ --dsa-nav-dropdown__label_dimmed--opacity: 0.6;
16
+ }
17
+
18
+ .dsa-nav-dropdown {
19
+ font: var(--dsa-nav-dropdown__label--font);
20
+ min-width: var(--dsa-nav-dropdown--min-width);
21
+ padding: var(--dsa-nav-dropdown--padding);
22
+ position: absolute;
23
+ top: 100%;
24
+ flex-direction: column;
25
+ align-items: stretch;
26
+ background-color: var(--dsa-nav-dropdown--background);
27
+ border-radius: var(--dsa-nav-dropdown--border-radius);
28
+ box-shadow: var(--dsa-nav-dropdown--box-shadow);
29
+ border: var(--dsa-nav-dropdown--border);
30
+ }
31
+ .dsa-nav-dropdown:hover .dsa-nav-dropdown__label:not(:hover) {
32
+ opacity: var(--dsa-nav-dropdown__label_dimmed--opacity);
33
+ }
34
+ .dsa-nav-dropdown .dsa-nav-dropdown__label {
35
+ font: inherit;
36
+ font-weight: var(--dsa-nav-dropdown__label--font-weight);
37
+ color: var(--dsa-nav-dropdown__label--color);
38
+ position: relative;
39
+ display: block;
40
+ padding: var(--dsa-nav-dropdown__label--padding);
41
+ text-align: left;
42
+ }
43
+ .dsa-nav-dropdown .dsa-nav-dropdown__label:hover, .dsa-nav-dropdown .dsa-nav-dropdown__label:focus, .dsa-nav-dropdown .dsa-nav-dropdown__label:active {
44
+ color: var(--dsa-nav-dropdown__label--color_hover);
45
+ }
46
+ .dsa-nav-dropdown .dsa-nav-dropdown__label--active {
47
+ color: var(--dsa-nav-dropdown__label--color_active);
48
+ }
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ declare const NavFlyout: ({ items, inverted, logo }: {
3
+ items: any;
4
+ inverted: any;
5
+ logo: any;
6
+ }) => import("react/jsx-runtime").JSX.Element;
7
+ export { NavFlyout };
@@ -0,0 +1,17 @@
1
+ import "./nav-flyout.css";
2
+ import { jsxs, jsx } from 'react/jsx-runtime';
3
+ import classnames from 'classnames';
4
+ import { Link } from '@kickstartds/base/lib/link';
5
+ import { Icon } from '@kickstartds/base/lib/icon';
6
+ import { Logo } from '../logo/index.js';
7
+ import '@kickstartds/base/lib/picture';
8
+
9
+ const NavFlyout = ({ items, inverted, logo }) => items && items.length > 0 ? (jsxs("nav", { className: "dsa-nav-flyout", "ks-inverted": inverted.toString(), id: "dsa-nav-flyout", "aria-label": "Hauptnavigation", children: [jsx(Logo, { ...logo, className: "dsa-nav-flyout__logo" }), jsx("ul", { className: "dsa-nav-flyout__list", children: items.map(({ label, href, id, active, items: subItems }) => {
10
+ const isActive = active === href ||
11
+ subItems?.some((navItem) => active === navItem.href);
12
+ return (jsxs("li", { className: classnames("dsa-nav-flyout__item", isActive && "dsa-nav-flyout__item--active", active && "dsa-nav-flyout__item--active"), children: [subItems?.length ? (jsxs("span", { tabIndex: 0, className: "dsa-nav-flyout__label", children: [label, subItems?.length ? (jsx(Icon, { className: "dsa-nav-flyout__label__icon", icon: "chevron-down" })) : ("")] })) : (jsx(Link, { href: href, className: `dsa-nav-flyout__label dsa-nav-flyout__link`, children: label })), subItems?.length ? (jsx("ul", { className: "dsa-nav-flyout__sublist", children: subItems.map(({ label, href, active, id }) => {
13
+ return (jsx("li", { className: classnames("dsa-nav-flyout__item", active && "dsa-nav-flyout__item--active", isActive && "dsa-nav-flyout__item--active"), children: jsx(Link, { href: href, className: `dsa-nav-flyout__label dsa-nav-flyout__link`, children: label }) }, id));
14
+ }) })) : null] }, id));
15
+ }) })] })) : null;
16
+
17
+ export { NavFlyout };