@kickstartds/ds-agency-premium 1.2.10--canary.168.f4de958.0 → 1.2.10--canary.175.799b9aa.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 (130) hide show
  1. package/dist/BlogAsideProps-e1cbd5d3.d.ts +74 -0
  2. package/dist/BlogHeadProps-f9a49428.d.ts +31 -0
  3. package/dist/BlogTeaserProps-525f7f9f.d.ts +79 -0
  4. package/dist/FeatureProps-f8a75850.d.ts +52 -0
  5. package/dist/FeaturesProps-b05859d6.d.ts +34 -0
  6. package/dist/SeoProps-f2d6dcaa.d.ts +36 -0
  7. package/dist/{TeaserCardProps-3fce7be4.d.ts → TeaserCardProps-b9c28e78.d.ts} +1 -1
  8. package/dist/components/blog-aside/blog-aside.css +33 -5
  9. package/dist/components/blog-aside/blog-aside.schema.dereffed.json +5 -3
  10. package/dist/components/blog-aside/blog-aside.schema.json +5 -3
  11. package/dist/components/blog-aside/index.d.ts +6 -76
  12. package/dist/components/blog-aside/index.js +17 -10
  13. package/dist/components/blog-head/blog-head.css +22 -2
  14. package/dist/components/blog-head/blog-head.schema.dereffed.json +2 -1
  15. package/dist/components/blog-head/blog-head.schema.json +2 -1
  16. package/dist/components/blog-head/index.d.ts +6 -34
  17. package/dist/components/blog-head/index.js +10 -4
  18. package/dist/components/blog-overview/blog-overview.schema.dereffed.json +18 -0
  19. package/dist/components/blog-overview/index.d.ts +39 -0
  20. package/dist/components/blog-overview/index.js +17 -0
  21. package/dist/components/blog-post/blog-post.schema.dereffed.json +7 -4
  22. package/dist/components/blog-post/index.d.ts +39 -0
  23. package/dist/components/blog-post/index.js +24 -0
  24. package/dist/components/blog-teaser/blog-teaser.css +49 -25
  25. package/dist/components/blog-teaser/blog-teaser.schema.dereffed.json +6 -0
  26. package/dist/components/blog-teaser/blog-teaser.schema.json +6 -0
  27. package/dist/components/blog-teaser/index.d.ts +6 -81
  28. package/dist/components/blog-teaser/index.js +25 -16
  29. package/dist/components/button/button.css +109 -59
  30. package/dist/components/button/index.js +2 -1
  31. package/dist/components/faq/faq.css +27 -14
  32. package/dist/components/faq/faq.schema.dereffed.json +2 -0
  33. package/dist/components/faq/faq.schema.json +2 -0
  34. package/dist/components/faq/index.d.ts +6 -3
  35. package/dist/components/faq/index.js +8 -4
  36. package/dist/components/feature/feature.css +99 -0
  37. package/dist/components/feature/feature.schema.dereffed.json +91 -0
  38. package/dist/components/feature/feature.schema.json +67 -0
  39. package/dist/components/feature/index.d.ts +7 -49
  40. package/dist/components/feature/index.js +19 -15
  41. package/dist/components/features/features.css +7 -93
  42. package/dist/components/features/features.schema.dereffed.json +36 -2
  43. package/dist/components/features/features.schema.json +3 -47
  44. package/dist/components/features/index.d.ts +7 -4
  45. package/dist/components/features/index.js +13 -20
  46. package/dist/components/footer/footer.css +21 -17
  47. package/dist/components/footer/footer.schema.dereffed.json +4 -83
  48. package/dist/components/footer/footer.schema.json +33 -2
  49. package/dist/components/footer/index.d.ts +23 -5
  50. package/dist/components/footer/index.js +1 -1
  51. package/dist/components/gallery/gallery.css +31 -23
  52. package/dist/components/gallery/gallery.schema.dereffed.json +2 -0
  53. package/dist/components/gallery/gallery.schema.json +2 -0
  54. package/dist/components/gallery/index.d.ts +6 -3
  55. package/dist/components/gallery/index.js +11 -6
  56. package/dist/components/header/header.css +19 -43
  57. package/dist/components/header/header.schema.dereffed.json +18 -93
  58. package/dist/components/header/header.schema.json +31 -1
  59. package/dist/components/header/index.d.ts +24 -5
  60. package/dist/components/header/index.js +1 -1
  61. package/dist/components/headline/headline.css +76 -46
  62. package/dist/components/headline/index.d.ts +1 -1
  63. package/dist/components/headline/index.js +1 -1
  64. package/dist/components/hero/hero.css +39 -33
  65. package/dist/components/hero/index.js +1 -1
  66. package/dist/components/image/image.css +12 -6
  67. package/dist/components/image/image.schema.dereffed.json +4 -4
  68. package/dist/components/image/image.schema.json +4 -4
  69. package/dist/components/image/index.d.ts +7 -7
  70. package/dist/components/image-text/image-text.css +14 -3
  71. package/dist/components/image-text/image-text.schema.dereffed.json +2 -0
  72. package/dist/components/image-text/image-text.schema.json +2 -0
  73. package/dist/components/image-text/index.d.ts +7 -4
  74. package/dist/components/image-text/index.js +19 -13
  75. package/dist/components/logo/index.d.ts +27 -0
  76. package/dist/components/logo/index.js +12 -0
  77. package/dist/components/logo/logo.schema.dereffed.json +38 -0
  78. package/dist/components/logo/logo.schema.json +31 -0
  79. package/dist/components/nav-main/index.d.ts +2 -0
  80. package/dist/components/nav-main/index.js +3 -2
  81. package/dist/components/nav-main/nav-main.css +67 -64
  82. package/dist/components/nav-main/nav-main.schema.dereffed.json +17 -11
  83. package/dist/components/nav-main/nav-main.schema.json +15 -12
  84. package/dist/components/nav-main/nav-toggle.css +12 -7
  85. package/dist/components/page/page.schema.dereffed.json +46 -5
  86. package/dist/components/page/page.schema.json +1 -1
  87. package/dist/components/page-wrapper/index.d.ts +2 -3
  88. package/dist/components/page-wrapper/index.js +7 -472
  89. package/dist/components/page-wrapper/tokens.css +40 -40
  90. package/dist/components/providers/index.js +1 -1
  91. package/dist/components/raw-page-wrapper/index.d.ts +3 -0
  92. package/dist/components/raw-page-wrapper/index.js +492 -0
  93. package/dist/components/section/index.d.ts +2 -2
  94. package/dist/components/section/section.schema.dereffed.json +45 -4
  95. package/dist/components/settings/settings.schema.dereffed.json +22 -176
  96. package/dist/components/stat/index.d.ts +32 -0
  97. package/dist/components/stat/index.js +11 -0
  98. package/dist/components/stat/stat.schema.dereffed.json +64 -0
  99. package/dist/components/stat/stat.schema.json +48 -0
  100. package/dist/components/teaser-card/index.d.ts +4 -2
  101. package/dist/components/teaser-card/index.js +16 -13
  102. package/dist/components/teaser-card/teaser-card.css +68 -40
  103. package/dist/components/teaser-card/teaser-card.schema.dereffed.json +2 -2
  104. package/dist/components/teaser-card/teaser-card.schema.json +2 -2
  105. package/dist/components/testimonial/index.d.ts +44 -0
  106. package/dist/components/testimonial/index.js +19 -0
  107. package/dist/components/testimonial/testimonial.schema.dereffed.json +60 -0
  108. package/dist/components/testimonial/testimonial.schema.json +46 -0
  109. package/dist/components/text/index.d.ts +6 -3
  110. package/dist/components/text/index.js +10 -4
  111. package/dist/components/text/text.css +19 -9
  112. package/dist/components/text/text.schema.dereffed.json +1 -0
  113. package/dist/components/text/text.schema.json +1 -0
  114. package/dist/global.css +241 -91
  115. package/dist/static/tokens-business.css +1549 -0
  116. package/dist/static/tokens-google.css +1553 -0
  117. package/dist/static/tokens-ngo.css +1547 -0
  118. package/dist/static/tokens-telekom.css +1549 -0
  119. package/dist/static/tokens.css +1554 -0
  120. package/dist/tokens/tokens.css +40 -40
  121. package/dist/tokens/tokens.js +39 -39
  122. package/package.json +5 -4
  123. package/dist/FeaturesProps-32f5bc0d.d.ts +0 -284
  124. package/dist/tokens/themes.css +0 -4657
  125. package/dist/tokens/themes.css.d.ts +0 -0
  126. package/dist/tokens/themes.css.js +0 -1
  127. /package/dist/static/fonts/{lughausen → business}/novelpro-regular.woff +0 -0
  128. /package/dist/static/fonts/{lughausen → business}/novelsanspro-bold.woff +0 -0
  129. /package/dist/static/fonts/{lughausen → business}/novelsanspro-regular.woff +0 -0
  130. /package/dist/static/{logo-lughausen.svg → logo-business.svg} +0 -0
@@ -1,31 +1,41 @@
1
- .c-gallery__grid--stack {
1
+ .dsa-gallery {
2
+ --dsa-gallery--gap-vertical: var(--ks-spacing-stack-m);
3
+ --dsa-gallery--gap-horizontal: var(--ks-spacing-inline-m);
4
+ --dsa-gallery--tile-min-width-small: 200px;
5
+ --dsa-gallery--tile-min-width-large: 400px;
6
+ --dsa-gallery--image-ratio-square: 1/1;
7
+ --dsa-gallery--image-ratio-wide: 4/3;
8
+ --dsa-gallery--image-ratio-landscape: 16/9;
9
+ }
10
+
11
+ .dsa-gallery__grid--stack {
2
12
  display: flex;
3
- gap: var(--ks-spacing-stack-m);
13
+ gap: var(--dsa-gallery--gap-vertical);
4
14
  flex-direction: column;
5
15
  }
6
- .c-gallery__grid--small-tiles {
16
+ .dsa-gallery__grid--small-tiles {
7
17
  display: grid;
8
- gap: var(--ks-spacing-inline-m);
9
- grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
18
+ gap: var(--dsa-gallery--gap-horizontal) var(--dsa-gallery--gap-vertical);
19
+ grid-template-columns: repeat(auto-fit, minmax(min(var(--dsa-gallery--tile-min-width-small), 100%), 1fr));
10
20
  }
11
- .c-gallery__grid--large-tiles {
21
+ .dsa-gallery__grid--large-tiles {
12
22
  display: grid;
13
- gap: var(--ks-spacing-inline-m);
14
- grid-template-columns: repeat(auto-fit, minmax(min(400px, 100%), 1fr));
23
+ gap: var(--dsa-gallery--gap-horizontal) var(--dsa-gallery--gap-vertical);
24
+ grid-template-columns: repeat(auto-fit, minmax(min(var(--dsa-gallery--tile-min-width-large), 100%), 1fr));
15
25
  }
16
- .c-gallery__image {
26
+ .dsa-gallery__image {
17
27
  flex: 1 1;
18
28
  }
19
- .c-gallery__image--square img {
20
- aspect-ratio: 1/1;
29
+ .dsa-gallery__image--square img {
30
+ aspect-ratio: var(--dsa-gallery--image-ratio-square);
21
31
  object-fit: cover;
22
32
  }
23
- .c-gallery__image--wide img {
24
- aspect-ratio: 4/3;
33
+ .dsa-gallery__image--wide img {
34
+ aspect-ratio: var(--dsa-gallery--image-ratio-wide);
25
35
  object-fit: cover;
26
36
  }
27
- .c-gallery__image--landscape img {
28
- aspect-ratio: 16/9;
37
+ .dsa-gallery__image--landscape img {
38
+ aspect-ratio: var(--dsa-gallery--image-ratio-landscape);
29
39
  object-fit: cover;
30
40
  }
31
41
 
@@ -34,17 +44,15 @@
34
44
  }
35
45
  .pswp .pswp__caption {
36
46
  background-color: var(--ks-color-bg-alpha-3);
37
- color: var(--ks-color-fg);
47
+ color: var(--dsa-text-color-on-primary);
38
48
  }
39
49
 
40
- :root,
41
- [ks-inverted],
42
- [ks-theme] {
43
- --c-lightbox--bg: var(--ks-color-bg) !important;
50
+ :root, :root #root, [ks-inverted], [ks-inverted] #root, #root [ks-inverted], [ks-inverted] #root, [ks-theme], [ks-theme] #root, #root [ks-theme] {
51
+ --c-lightbox--bg: var(--ks-background-color-default) !important;
44
52
  --c-lightbox--placeholder-bg: var(--ks-color-fg-to-bg-1) !important;
45
53
  --c-lightbox--root-z-index: var(--ks-depth-modal) !important;
46
- --c-lightbox--icon-color: var(--ks-color-fg) !important;
47
- --c-lightbox--icon-color-secondary: var(--ks-color-secondary) !important;
54
+ --c-lightbox--icon-color: var(--dsa-text-color-on-primary) !important;
55
+ --c-lightbox--icon-color-secondary: var(--ks-color-fg-inverted) !important;
48
56
  --c-lightbox--stroke-width: 0px !important;
49
- --c-lightbox--error-text-color: var(--ks-color-fg-to-bg-9) !important;
57
+ --c-lightbox--error-text-color: var(--ks-color-error) !important;
50
58
  }
@@ -15,6 +15,7 @@
15
15
  "src": {
16
16
  "type": "string",
17
17
  "title": "src",
18
+ "format": "image",
18
19
  "description": "The source of the image",
19
20
  "examples": [
20
21
  "https://example.com/image1.jpg"
@@ -30,6 +31,7 @@
30
31
  },
31
32
  "caption": {
32
33
  "type": "string",
34
+ "format": "markdown",
33
35
  "title": "Caption",
34
36
  "description": "The caption of the image",
35
37
  "examples": [
@@ -15,6 +15,7 @@
15
15
  "src": {
16
16
  "type": "string",
17
17
  "title": "src",
18
+ "format": "image",
18
19
  "description": "The source of the image",
19
20
  "examples": ["https://example.com/image1.jpg"]
20
21
  },
@@ -26,6 +27,7 @@
26
27
  },
27
28
  "caption": {
28
29
  "type": "string",
30
+ "format": "markdown",
29
31
  "title": "Caption",
30
32
  "description": "The caption of the image",
31
33
  "examples": ["Caption Image"]
@@ -1,4 +1,7 @@
1
- import { HTMLAttributes, FC } from "react";
1
+ /// <reference types="react" />
2
+ import { HTMLAttributes } from "react";
2
3
  import { GalleryProps } from "../../GalleryProps-76e7de44.js";
3
- declare const Gallery: FC<GalleryProps & HTMLAttributes<HTMLElement>>;
4
- export { Gallery };
4
+ declare const GalleryContextDefault: import("react").ForwardRefExoticComponent<GalleryProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
5
+ declare const GalleryContext: import("react").Context<import("react").ForwardRefExoticComponent<GalleryProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
6
+ declare const Gallery: import("react").ForwardRefExoticComponent<GalleryProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
7
+ export { GalleryContextDefault, GalleryContext, Gallery };
@@ -1,16 +1,16 @@
1
1
  import "./gallery.css";
2
2
  import { jsx } from 'react/jsx-runtime';
3
- import { useMemo } from 'react';
3
+ import { forwardRef, useMemo, createContext, useContext } from 'react';
4
4
  import classnames from 'classnames';
5
5
  import { TextMedia } from '@kickstartds/base/lib/text-media';
6
6
 
7
- const Gallery = ({ lightbox = false, layout = "tiles", aspectRatio = "square", images = [], }) => {
7
+ const GalleryContextDefault = forwardRef(({ lightbox = false, layout = "tiles", aspectRatio = "square", images = [], ...rest }, ref) => {
8
8
  const galleryId = useMemo(() => `gallery-${Date.now()}`, []);
9
- return (jsx("div", { className: `c-gallery`, children: jsx("div", { className: classnames(`c-gallery__grid`, `c-gallery__grid--${layout === "smallTiles"
9
+ return (jsx("div", { ...rest, ref: ref, className: `dsa-gallery`, children: jsx("div", { className: classnames(`dsa-gallery__grid`, `dsa-gallery__grid--${layout === "smallTiles"
10
10
  ? "small-tiles"
11
11
  : layout === "largeTiles"
12
12
  ? "large-tiles"
13
- : layout}`), children: images.map((image, index) => (jsx("div", { className: classnames("c-gallery__image", aspectRatio !== "unset" && `c-gallery__image--${aspectRatio}`), children: jsx(TextMedia, { media: [
13
+ : layout}`), children: images.map((image, index) => (jsx("div", { className: classnames("dsa-gallery__image", aspectRatio !== "unset" && `dsa-gallery__image--${aspectRatio}`), children: jsx(TextMedia, { media: [
14
14
  {
15
15
  ...(lightbox && {
16
16
  lightboxImage: {
@@ -30,6 +30,11 @@ const Gallery = ({ lightbox = false, layout = "tiles", aspectRatio = "square", i
30
30
  caption: image.caption,
31
31
  },
32
32
  ], text: undefined }) }, index))) }) }));
33
- };
33
+ });
34
+ const GalleryContext = createContext(GalleryContextDefault);
35
+ const Gallery = forwardRef((props, ref) => {
36
+ const Component = useContext(GalleryContext);
37
+ return jsx(Component, { ...props, ref: ref });
38
+ });
34
39
 
35
- export { Gallery };
40
+ export { Gallery, GalleryContext, GalleryContextDefault };
@@ -1,76 +1,52 @@
1
- :root {
2
- --g-logo--height: 2rem;
3
- --g-header--spacing-v: var(--ks-spacing-stack-m);
4
- --g-header-spacing-h: var(--l-section--content-padding);
5
- --g-nav-toggle--color: var(--ks-color-fg);
6
- --g-nav-toggle-open--color: var(--ks-color-fg);
7
- }
8
- @media (min-width: 42rem) {
9
- :root {
10
- --g-logo--height: 2.5rem;
11
- }
12
- }
13
- @media (min-width: 62em) {
14
- :root {
15
- --g-logo--height: 3rem;
16
- }
1
+ :root, :root #root, [ks-inverted], [ks-inverted] #root, #root [ks-inverted], [ks-inverted] #root, [ks-theme], [ks-theme] #root, #root [ks-theme] {
2
+ --dsa-header--spacing-vertical: var(--ks-spacing-stack-m);
3
+ --dsa-header--spacing-horizontal: var(--l-section--content-padding);
17
4
  }
18
5
 
19
- :root {
20
- --g-logo--height: 2rem;
21
- }
22
- @media (min-width: 42rem) {
23
- :root {
24
- --g-logo--height: 2.5rem;
25
- }
26
- }
27
- @media (min-width: 62em) {
28
- :root {
29
- --g-logo--height: 3rem;
30
- }
6
+ .dsa-header {
7
+ --dsa-header--background-color: var(--ks-background-color-default);
8
+ --dsa-header__logo--height: var(--dsa-logo--height);
31
9
  }
32
10
 
33
- .c-header {
34
- --g-header--spacing-v: var(--ks-spacing-stack-m);
35
- --g-header-spacing-h: var(--l-section--content-padding);
11
+ .dsa-header {
36
12
  position: relative;
37
- background-color: var(--ks-background-color-default);
13
+ background-color: var(--dsa-header--background-color);
38
14
  z-index: 1;
39
15
  width: 100%;
40
16
  display: flex;
41
- padding: var(--g-header--spacing-v) 0;
17
+ padding: var(--dsa-header--spacing-vertical) 0;
42
18
  }
43
- .c-header--floating {
19
+ .dsa-header--floating {
44
20
  background: linear-gradient(var(--ks-color-bg-alpha-5), transparent);
45
21
  position: absolute;
46
22
  z-index: 999;
47
23
  }
48
- .c-header--floating .c-nav-main__link {
24
+ .dsa-header--floating .c-nav-main__link {
49
25
  text-shadow: 0 0 10px var(--ks-color-bg-alpha-5);
50
26
  }
51
- .c-header__content {
52
- padding: 0 var(--g-header-spacing-h);
27
+ .dsa-header__content {
28
+ padding: 0 var(--dsa-header--spacing-horizontal);
53
29
  max-width: var(--l-section--content-width-max);
54
30
  width: 100%;
55
31
  margin: auto;
56
32
  display: flex;
57
33
  justify-content: space-between;
58
34
  }
59
- .c-header__logo {
35
+ .dsa-header__logo {
60
36
  display: block;
61
37
  }
62
- .c-header__logo img {
63
- height: var(--g-logo--height);
38
+ .dsa-header__logo img {
39
+ height: var(--dsa-header__logo--height);
64
40
  width: auto;
65
41
  }
66
42
 
67
- .c-header--spacer {
43
+ .dsa-header--spacer {
68
44
  display: none;
69
45
  }
70
46
  @media (min-width: 640px) {
71
- .c-header--spacer {
47
+ .dsa-header--spacer {
72
48
  display: block;
73
- height: var(--g-header-height);
49
+ height: var(--dsa-header--height);
74
50
  z-index: -1;
75
51
  position: relative;
76
52
  background-color: var(--ks-background-color-default);
@@ -5,10 +5,7 @@
5
5
  "type": "object",
6
6
  "properties": {
7
7
  "logo": {
8
- "$schema": "http://json-schema.org/draft-07/schema#",
9
- "$id": "http://schema.kickstartds.com/base/picture.schema.json",
10
- "title": "Picture",
11
- "description": "Base component to display a picture",
8
+ "title": "Logo",
12
9
  "type": "object",
13
10
  "properties": {
14
11
  "src": {
@@ -20,12 +17,6 @@
20
17
  "https://picsum.photos/seed/kdspicture/300/300"
21
18
  ]
22
19
  },
23
- "srcSet": {
24
- "title": "Picture sourceset",
25
- "description": "Use a srcSet to display picture",
26
- "type": "string",
27
- "format": "image"
28
- },
29
20
  "alt": {
30
21
  "title": "Alt text",
31
22
  "description": "Alt text to display for picture",
@@ -48,84 +39,13 @@
48
39
  "examples": [
49
40
  300
50
41
  ]
51
- },
52
- "className": {
53
- "title": "Additional Classes",
54
- "description": "Add additional css classes that should be applied to the button",
55
- "type": "string"
56
- },
57
- "component": {
58
- "title": "`ks-component` attribute",
59
- "description": "Optional custom component identifier",
60
- "type": "string"
61
- },
62
- "id": {
63
- "title": "Id",
64
- "description": "Add id attribute to the image",
65
- "type": "string"
66
- },
67
- "itemProp": {
68
- "title": "`itemprop` attribute",
69
- "description": "Define an itemprop attribute for the picture",
70
- "type": "string"
71
- },
72
- "style": {
73
- "title": "`style` attribute",
74
- "description": "Define a style attribute for the picture",
75
- "type": "string"
76
- },
77
- "noscript": {
78
- "title": "Noscript",
79
- "description": "Render noscript fallback",
80
- "type": "boolean",
81
- "default": true
82
- },
83
- "lazy": {
84
- "title": "Lazy",
85
- "description": "Load the picture lazily",
86
- "type": "boolean",
87
- "default": true
88
- },
89
- "sources": {
90
- "title": "Sources",
91
- "description": "Additional sources. This will result in a `picture`-Element",
92
- "type": "array",
93
- "items": {
94
- "type": "object",
95
- "properties": {
96
- "srcSet": {
97
- "title": "Picture sourceset",
98
- "description": "Use a srcSet to display picture",
99
- "type": "string",
100
- "format": "image"
101
- },
102
- "media": {
103
- "title": "TODO MEDIA TITLE",
104
- "description": "TODO MEDIA DESCRIPTION",
105
- "type": "string"
106
- },
107
- "type": {
108
- "title": "TODO TYPE TITLE",
109
- "description": "TODO TYPE DESCRIPTION",
110
- "type": "string"
111
- }
112
- },
113
- "additionalProperties": false
114
- }
115
- },
116
- "pictureClassName": {
117
- "title": "`class` attribute",
118
- "description": "Set additional class(es) to the picture",
119
- "type": "string"
120
- },
121
- "type": {
122
- "const": "picture"
123
42
  }
124
43
  },
125
44
  "additionalProperties": false
126
45
  },
127
46
  "logoHref": {
128
47
  "type": "string",
48
+ "format": "uri",
129
49
  "default": "/"
130
50
  },
131
51
  "floating": {
@@ -140,10 +60,14 @@
140
60
  "type": "object",
141
61
  "properties": {
142
62
  "href": {
143
- "type": "string"
63
+ "type": "string",
64
+ "format": "uri"
144
65
  },
145
66
  "label": {
146
67
  "type": "string"
68
+ },
69
+ "active": {
70
+ "type": "boolean"
147
71
  }
148
72
  },
149
73
  "additionalProperties": false,
@@ -155,24 +79,25 @@
155
79
  "examples": [
156
80
  [
157
81
  {
158
- "href": "#about",
159
- "label": "About us"
82
+ "label": "Nav Item",
83
+ "href": "#"
160
84
  },
161
85
  {
162
- "href": "#services",
163
- "label": "Our Services"
86
+ "label": "Active Item",
87
+ "href": "#",
88
+ "active": true
164
89
  },
165
90
  {
166
- "href": "#project",
167
- "label": "Project"
91
+ "label": "Another Item",
92
+ "href": "#"
168
93
  },
169
94
  {
170
- "href": "#showcase",
171
- "label": "Showcase"
95
+ "label": "One more Item",
96
+ "href": "#"
172
97
  },
173
98
  {
174
- "href": "#blog",
175
- "label": "Blog"
99
+ "label": "Last Item",
100
+ "href": "#"
176
101
  }
177
102
  ]
178
103
  ]
@@ -5,7 +5,37 @@
5
5
  "type": "object",
6
6
  "properties": {
7
7
  "logo": {
8
- "$ref": "http://schema.kickstartds.com/base/picture.schema.json"
8
+ "title": "Logo",
9
+ "type": "object",
10
+ "properties": {
11
+ "src": {
12
+ "title": "Source",
13
+ "description": "Picture source",
14
+ "type": "string",
15
+ "format": "image",
16
+ "examples": ["https://picsum.photos/seed/kdspicture/300/300"]
17
+ },
18
+ "alt": {
19
+ "title": "Alt text",
20
+ "description": "Alt text to display for picture",
21
+ "type": "string"
22
+ },
23
+ "width": {
24
+ "title": "Width",
25
+ "description": "Width of the picture",
26
+ "type": "integer",
27
+ "minimum": 0,
28
+ "examples": [300]
29
+ },
30
+ "height": {
31
+ "title": "Height",
32
+ "description": "Height of the picture",
33
+ "type": "integer",
34
+ "minimum": 0,
35
+ "examples": [300]
36
+ }
37
+ },
38
+ "additionalProperties": false
9
39
  },
10
40
  "logoHref": {
11
41
  "$ref": "http://schema.mydesignsystem.com/nav-main.schema.json#/properties/logoHref"
@@ -5,22 +5,41 @@ 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 { PictureProps } from "@kickstartds/base/lib/picture/typing";
8
+ /**
9
+ * Picture source
10
+ */
11
+ type Source = string;
12
+ /**
13
+ * Alt text to display for picture
14
+ */
15
+ type AltText = string;
16
+ /**
17
+ * Width of the picture
18
+ */
19
+ type Width = number;
20
+ /**
21
+ * Height of the picture
22
+ */
23
+ type Height = number;
9
24
  /**
10
25
  * Make the header float over the first Section
11
26
  */
12
27
  type Floating = boolean;
13
28
  interface HeaderProps {
14
- /**
15
- * Referenced component PictureProps
16
- */
17
- logo: PictureProps;
29
+ logo: Logo;
18
30
  logoHref?: string;
19
31
  floating?: Floating;
20
32
  navItems?: {
21
33
  href: string;
22
34
  label: string;
35
+ active?: boolean;
23
36
  }[];
24
37
  }
38
+ interface Logo {
39
+ src?: Source;
40
+ alt?: AltText;
41
+ width?: Width;
42
+ height?: Height;
43
+ }
25
44
  declare const Header: FC<HeaderProps>;
26
45
  export { Header };
@@ -11,6 +11,6 @@ import '../nav-main/js/navMainEvents.client.js';
11
11
  import '@kickstartds/core/lib/core';
12
12
  import '../nav-main/js/body.client.js';
13
13
 
14
- const Header = ({ logo, floating, logoHref = "/", navItems = [], }) => (jsx(Fragment, { children: jsx("div", { className: classnames("c-header", floating ? `c-header--floating` : ""), children: jsxs("div", { className: "c-header__content", children: [jsx(Link, { className: "c-header__logo", href: logoHref, children: jsx(Picture, { ...logo }) }), jsx(NavMain, { logo: logo, logoHref: logoHref, items: navItems })] }) }) }));
14
+ const Header = ({ logo, floating, logoHref = "/", navItems = [], }) => (jsx(Fragment, { children: jsx("div", { className: classnames("dsa-header", floating ? `dsa-header--floating` : ""), children: jsxs("div", { className: "dsa-header__content", children: [jsx(Link, { className: "dsa-header__logo", href: logoHref, children: jsx(Picture, { ...logo, lazy: false }) }), jsx(NavMain, { logo: logo, logoHref: logoHref, items: navItems })] }) }) }));
15
15
 
16
16
  export { Header };