@kickstartds/ds-agency-premium 1.4.0--canary.12.465.0 → 1.4.0--canary.14.677.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 → BlogPostProps-440f88a5.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 +3 -6
  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 +4 -8
  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 +14 -14
  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 +97 -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 +21 -21
  70. package/dist/components/nav-topbar/index.d.ts +6 -0
  71. package/dist/components/nav-topbar/index.js +12 -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 +2 -2
  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 +13 -13
  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 +2 -2
  93. package/dist/tokens/tokens.js +2 -2
  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
@@ -5,24 +5,55 @@ 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
+ import { LogoProps } from "../../LogoProps-01796f0a.js";
9
+ /**
10
+ * Toggle the inversion of the flyout navigation
11
+ */
12
+ type FlyoutInverted = boolean;
13
+ /**
14
+ * Toggle the inversion of the dropdown navigation
15
+ */
16
+ type DropdownInverted = boolean;
17
+ /**
18
+ * Toggle the CTA
19
+ */
20
+ type ToggleCTA = boolean;
21
+ /**
22
+ * Text content to display inside the button
23
+ */
24
+ type Label = string;
25
+ /**
26
+ * Target that should be linked, makes the button behave like a link semantically
27
+ */
28
+ type Target = string;
9
29
  interface NavMainProps {
10
30
  /**
11
- * Referenced component PictureProps
31
+ * Referenced component LogoProps
12
32
  */
13
- logo: PictureProps;
14
- logoHref?: string;
33
+ logo: LogoProps;
34
+ flyoutInverted?: FlyoutInverted;
35
+ dropdownInverted?: DropdownInverted;
15
36
  items?: {
16
37
  href: string;
17
38
  label: string;
18
39
  active?: boolean;
40
+ id?: string;
41
+ items?: {
42
+ href?: string;
43
+ label?: string;
44
+ active?: boolean;
45
+ id?: string;
46
+ }[];
19
47
  }[];
48
+ cta?: CTA;
49
+ }
50
+ /**
51
+ * Add a CTA to the Navigation
52
+ */
53
+ interface CTA {
54
+ toggle?: ToggleCTA;
55
+ label?: Label;
56
+ target?: Target;
20
57
  }
21
- declare const NavToggleComponent: FC;
22
- declare const NavMainItem: FC<{
23
- label: string;
24
- href: string;
25
- active: boolean;
26
- }>;
27
58
  declare const NavMain: FC<NavMainProps>;
28
- export { NavToggleComponent, NavMainItem, NavMain };
59
+ export { NavMain };
@@ -1,18 +1,19 @@
1
- import "./nav-main.css";
2
- import "./nav-toggle.css";
3
- import { createElement } from 'react';
4
1
  import { jsxs, jsx } from 'react/jsx-runtime';
5
- import classnames from 'classnames';
6
- import { Link } from '@kickstartds/base/lib/link';
7
- import { Picture } from '@kickstartds/base/lib/picture';
8
- import './js/NavToggle.client.js';
9
- import './js/navMainEvents.client.js';
2
+ import '../nav/js/NavToggle.client.js';
3
+ import '../nav/js/navMainEvents.client.js';
4
+ import { NavToggleComponent } from '../nav-toggle/index.js';
5
+ import { NavTopbar } from '../nav-topbar/index.js';
6
+ import { NavFlyout } from '../nav-flyout/index.js';
10
7
  import '@kickstartds/core/lib/component';
11
- import './js/body.client.js';
8
+ import '../nav/js/body.client.js';
12
9
  import '@kickstartds/core/lib/core';
10
+ import 'classnames';
11
+ import '@kickstartds/base/lib/link';
12
+ import '@kickstartds/base/lib/icon';
13
+ import '../nav-dropdown/index.js';
14
+ import '../logo/index.js';
15
+ import '@kickstartds/base/lib/picture';
13
16
 
14
- const NavToggleComponent = () => (jsxs("button", { type: "button", className: "nav-toggle", id: "toggle-sidebar", "aria-controls": "nav-main", "aria-expanded": "false", "ks-component": "base.nav-toggle", children: [jsx("span", { className: "nav-toggle__label", children: "toggle navigation" }), jsx("span", { className: "nav-toggle__icon", children: jsx("span", { className: "nav-toggle__icon__middle" }) })] }));
15
- const NavMainItem = ({ label, href, active }) => (jsx("li", { className: classnames("nav-main__item", active === true ? "nav-main__item--active" : ""), children: jsx(Link, { className: "nav-main__link", href: href, children: label }) }));
16
- const NavMain = ({ logo, logoHref = "/", items }) => items && items.length > 0 ? (jsxs("div", { className: "nav-main__wrap", children: [jsx(NavToggleComponent, {}), jsxs("nav", { className: classnames("nav-main", items.some((item) => item.active) ? "nav-main--active" : ""), id: "nav-main", "aria-label": "Hauptnavigation", children: [jsx(Link, { className: "nav-main__logo", href: logoHref, children: jsx(Picture, { ...logo }) }), jsx("ul", { className: "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, dropdownInverted, }) => items && items.length > 0 ? (jsxs("div", { className: "dsa-nav-main", children: [jsx(NavToggleComponent, {}), jsx(NavTopbar, { items: items, dropdownInverted: dropdownInverted }), jsx(NavFlyout, { items: items, inverted: flyoutInverted, logo: logo })] })) : null;
17
18
 
18
- export { NavMain, NavMainItem, NavToggleComponent };
19
+ export { NavMain };
@@ -6,23 +6,19 @@
6
6
  "properties": {
7
7
  "logo": {
8
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",
9
+ "$id": "http://schema.mydesignsystem.com/logo.schema.json",
10
+ "title": "Logo",
12
11
  "type": "object",
13
12
  "properties": {
14
13
  "src": {
15
14
  "title": "Source",
16
15
  "description": "Picture source",
17
16
  "type": "string",
18
- "format": "image",
19
- "examples": [
20
- "https://picsum.photos/seed/kdspicture/300/300"
21
- ]
17
+ "format": "image"
22
18
  },
23
- "srcSet": {
24
- "title": "Picture sourceset",
25
- "description": "Use a srcSet to display picture",
19
+ "srcInverted": {
20
+ "title": "Source",
21
+ "description": "Picture source",
26
22
  "type": "string",
27
23
  "format": "image"
28
24
  },
@@ -31,6 +27,16 @@
31
27
  "description": "Alt text to display for picture",
32
28
  "type": "string"
33
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
+ },
34
40
  "width": {
35
41
  "title": "Width",
36
42
  "description": "Width of the picture",
@@ -51,83 +57,26 @@
51
57
  },
52
58
  "className": {
53
59
  "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",
60
+ "description": "Add additional css classes that should be applied to the logo",
119
61
  "type": "string"
120
62
  },
121
63
  "type": {
122
- "const": "picture"
64
+ "const": "logo"
123
65
  }
124
66
  },
125
67
  "additionalProperties": false
126
68
  },
127
- "logoHref": {
128
- "type": "string",
129
- "format": "uri",
130
- "default": "/"
69
+ "flyoutInverted": {
70
+ "type": "boolean",
71
+ "title": "Flyout Inverted",
72
+ "description": "Toggle the inversion of the flyout navigation",
73
+ "default": false
74
+ },
75
+ "dropdownInverted": {
76
+ "type": "boolean",
77
+ "title": "Dropdown Inverted",
78
+ "description": "Toggle the inversion of the dropdown navigation",
79
+ "default": false
131
80
  },
132
81
  "items": {
133
82
  "type": "array",
@@ -143,6 +92,31 @@
143
92
  },
144
93
  "active": {
145
94
  "type": "boolean"
95
+ },
96
+ "id": {
97
+ "type": "string"
98
+ },
99
+ "items": {
100
+ "type": "array",
101
+ "items": {
102
+ "type": "object",
103
+ "properties": {
104
+ "href": {
105
+ "type": "string",
106
+ "format": "uri"
107
+ },
108
+ "label": {
109
+ "type": "string"
110
+ },
111
+ "active": {
112
+ "type": "boolean"
113
+ },
114
+ "id": {
115
+ "type": "string"
116
+ }
117
+ },
118
+ "additionalProperties": false
119
+ }
146
120
  }
147
121
  },
148
122
  "additionalProperties": false,
@@ -153,19 +127,42 @@
153
127
  },
154
128
  "examples": [
155
129
  [
156
- {
157
- "label": "Nav Item",
158
- "href": "#"
159
- },
160
130
  {
161
131
  "label": "Active Item",
162
132
  "href": "#",
163
133
  "active": true
164
134
  },
165
135
  {
166
- "label": "Another Item",
136
+ "label": "Navigation Item",
167
137
  "href": "#"
168
138
  },
139
+ {
140
+ "label": "Dropdown",
141
+ "href": "#",
142
+ "items": [
143
+ {
144
+ "label": "Level 2 Item",
145
+ "href": "#",
146
+ "id": ""
147
+ },
148
+ {
149
+ "label": "Active Item",
150
+ "active": true,
151
+ "href": "#",
152
+ "id": ""
153
+ },
154
+ {
155
+ "label": "An Item with a longer Label",
156
+ "href": "#",
157
+ "id": ""
158
+ },
159
+ {
160
+ "label": "And One last one",
161
+ "href": "#",
162
+ "id": ""
163
+ }
164
+ ]
165
+ },
169
166
  {
170
167
  "label": "One more Item",
171
168
  "href": "#"
@@ -177,6 +174,34 @@
177
174
  ]
178
175
  ]
179
176
  },
177
+ "cta": {
178
+ "type": "object",
179
+ "title": "CTA",
180
+ "description": "Add a CTA to the Navigation",
181
+ "properties": {
182
+ "toggle": {
183
+ "title": "Toggle CTA",
184
+ "description": "Toggle the CTA",
185
+ "type": "boolean",
186
+ "default": false
187
+ },
188
+ "label": {
189
+ "type": "string",
190
+ "title": "Label",
191
+ "description": "Text content to display inside the button",
192
+ "examples": [
193
+ "Book a meeting"
194
+ ]
195
+ },
196
+ "target": {
197
+ "type": "string",
198
+ "title": "Target",
199
+ "description": "Target that should be linked, makes the button behave like a link semantically",
200
+ "format": "uri"
201
+ }
202
+ },
203
+ "additionalProperties": false
204
+ },
180
205
  "type": {
181
206
  "const": "nav-main"
182
207
  }
@@ -5,12 +5,19 @@
5
5
  "type": "object",
6
6
  "properties": {
7
7
  "logo": {
8
- "$ref": "http://schema.kickstartds.com/base/picture.schema.json"
8
+ "$ref": "http://schema.mydesignsystem.com/logo.schema.json"
9
9
  },
10
- "logoHref": {
11
- "type": "string",
12
- "format": "uri",
13
- "default": "/"
10
+ "flyoutInverted": {
11
+ "type": "boolean",
12
+ "title": "Flyout Inverted",
13
+ "description": "Toggle the inversion of the flyout navigation",
14
+ "default": false
15
+ },
16
+ "dropdownInverted": {
17
+ "type": "boolean",
18
+ "title": "Dropdown Inverted",
19
+ "description": "Toggle the inversion of the dropdown navigation",
20
+ "default": false
14
21
  },
15
22
  "items": {
16
23
  "type": "array",
@@ -19,26 +26,62 @@
19
26
  "properties": {
20
27
  "href": { "type": "string", "format": "uri" },
21
28
  "label": { "type": "string" },
22
- "active": { "type": "boolean" }
29
+ "active": { "type": "boolean" },
30
+ "id": { "type": "string" },
31
+ "items": {
32
+ "type": "array",
33
+ "items": {
34
+ "type": "object",
35
+ "properties": {
36
+ "href": { "type": "string", "format": "uri" },
37
+ "label": { "type": "string" },
38
+ "active": { "type": "boolean" },
39
+ "id": { "type": "string" }
40
+ }
41
+ }
42
+ }
23
43
  },
24
44
  "additionalProperties": false,
25
45
  "required": ["href", "label"]
26
46
  },
27
47
  "examples": [
28
48
  [
29
- {
30
- "label": "Nav Item",
31
- "href": "#"
32
- },
33
49
  {
34
50
  "label": "Active Item",
35
51
  "href": "#",
36
52
  "active": true
37
53
  },
38
54
  {
39
- "label": "Another Item",
55
+ "label": "Navigation Item",
40
56
  "href": "#"
41
57
  },
58
+ {
59
+ "label": "Dropdown",
60
+ "href": "#",
61
+ "items": [
62
+ {
63
+ "label": "Level 2 Item",
64
+ "href": "#",
65
+ "id": ""
66
+ },
67
+ {
68
+ "label": "Active Item",
69
+ "active": true,
70
+ "href": "#",
71
+ "id": ""
72
+ },
73
+ {
74
+ "label": "An Item with a longer Label",
75
+ "href": "#",
76
+ "id": ""
77
+ },
78
+ {
79
+ "label": "And One last one",
80
+ "href": "#",
81
+ "id": ""
82
+ }
83
+ ]
84
+ },
42
85
  {
43
86
  "label": "One more Item",
44
87
  "href": "#"
@@ -49,6 +92,25 @@
49
92
  }
50
93
  ]
51
94
  ]
95
+ },
96
+ "cta": {
97
+ "type": "object",
98
+ "title": "CTA",
99
+ "description": "Add a CTA to the Navigation",
100
+ "properties": {
101
+ "toggle": {
102
+ "title": "Toggle CTA",
103
+ "description": "Toggle the CTA",
104
+ "type": "boolean",
105
+ "default": false
106
+ },
107
+ "label": {
108
+ "$ref": "http://schema.mydesignsystem.com/button.schema.json#/properties/label"
109
+ },
110
+ "target": {
111
+ "$ref": "http://schema.mydesignsystem.com/button.schema.json#/properties/target"
112
+ }
113
+ }
52
114
  }
53
115
  },
54
116
  "additionalProperties": false,
@@ -0,0 +1,3 @@
1
+ import { FC } from "react";
2
+ declare const NavToggleComponent: FC;
3
+ export { NavToggleComponent };
@@ -0,0 +1,6 @@
1
+ import "./nav-toggle.css";
2
+ import { jsxs, jsx } from 'react/jsx-runtime';
3
+
4
+ const NavToggleComponent = () => (jsxs("button", { type: "button", className: "dsa-nav-toggle", id: "toggle-sidebar", "aria-controls": "dsa-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" }) })] }));
5
+
6
+ export { NavToggleComponent };
@@ -1,4 +1,4 @@
1
- .nav-toggle {
1
+ .dsa-nav-toggle {
2
2
  --nav-toggle--color: var(--ks-text-color-default);
3
3
  --nav-toggle--color_open: var(--ks-text-color-default);
4
4
  --nav-toggle_floating--color: var(--ks-text-color-interface-interactive);
@@ -9,7 +9,7 @@ html.overlay-open {
9
9
  overflow: hidden;
10
10
  }
11
11
 
12
- button.nav-toggle {
12
+ button.dsa-nav-toggle {
13
13
  display: block;
14
14
  position: relative;
15
15
  right: 0;
@@ -20,17 +20,17 @@ button.nav-toggle {
20
20
  transform: translateX(var(--dsa-header--spacing-horizontal));
21
21
  --nav-toggle__icon-bar--offset: 14px;
22
22
  }
23
- @media (min-width: 42em) {
24
- button.nav-toggle {
23
+ @media (min-width: 48em) {
24
+ button.dsa-nav-toggle {
25
25
  --nav-toggle__icon-bar--offset: 18px;
26
26
  }
27
27
  }
28
28
  @media (min-width: 62em) {
29
- button.nav-toggle {
29
+ button.dsa-nav-toggle {
30
30
  display: none;
31
31
  }
32
32
  }
33
- button.nav-toggle .nav-toggle__label {
33
+ button.dsa-nav-toggle .dsa-nav-toggle__label {
34
34
  border: 0;
35
35
  clip: rect(1px, 1px, 1px, 1px);
36
36
  clip-path: inset(100%);
@@ -41,7 +41,7 @@ button.nav-toggle .nav-toggle__label {
41
41
  white-space: nowrap;
42
42
  width: 1px;
43
43
  }
44
- button.nav-toggle .nav-toggle__icon {
44
+ button.dsa-nav-toggle .dsa-nav-toggle__icon {
45
45
  position: relative;
46
46
  display: block;
47
47
  cursor: pointer;
@@ -51,53 +51,53 @@ button.nav-toggle .nav-toggle__icon {
51
51
  transition: inherit;
52
52
  color: var(--nav-toggle--color);
53
53
  }
54
- .dsa-header--floating button.nav-toggle .nav-toggle__icon {
54
+ .dsa-header--floating button.dsa-nav-toggle .dsa-nav-toggle__icon {
55
55
  color: var(--nav-toggle_floating--color);
56
56
  }
57
- @media (min-width: 40rem) {
58
- button.nav-toggle .nav-toggle__icon {
57
+ @media (min-width: 40em) {
58
+ button.dsa-nav-toggle .dsa-nav-toggle__icon {
59
59
  transform: scale(0.8) translate(2.5%, 2.5%);
60
60
  }
61
61
  }
62
- .overlay-open button.nav-toggle .nav-toggle__icon, .overlay-open .header-is-scrolling button.nav-toggle .nav-toggle__icon {
62
+ .overlay-open button.dsa-nav-toggle .dsa-nav-toggle__icon, .overlay-open .header-is-scrolling button.dsa-nav-toggle .dsa-nav-toggle__icon {
63
63
  color: var(--nav-toggle--color_open);
64
64
  }
65
- .overlay-open .dsa-header--floating button.nav-toggle .nav-toggle__icon, .overlay-open .header-is-scrolling .dsa-header--floating button.nav-toggle .nav-toggle__icon {
65
+ .overlay-open .dsa-header--floating button.dsa-nav-toggle .dsa-nav-toggle__icon, .overlay-open .header-is-scrolling .dsa-header--floating button.dsa-nav-toggle .dsa-nav-toggle__icon {
66
66
  color: var(--nav-toggle_floating--color_open);
67
67
  }
68
- .header-is-scrolling-up button.nav-toggle .nav-toggle__icon {
68
+ .header-is-scrolling-up button.dsa-nav-toggle .dsa-nav-toggle__icon {
69
69
  color: var(--nav-toggle--color_open);
70
70
  }
71
- button.nav-toggle .nav-toggle__icon::before, button.nav-toggle .nav-toggle__icon::after {
71
+ button.dsa-nav-toggle .dsa-nav-toggle__icon::before, button.dsa-nav-toggle .dsa-nav-toggle__icon::after {
72
72
  content: "";
73
73
  }
74
- button.nav-toggle .nav-toggle__icon .nav-toggle__icon__middle, button.nav-toggle .nav-toggle__icon::before, button.nav-toggle .nav-toggle__icon::after {
74
+ button.dsa-nav-toggle .dsa-nav-toggle__icon .dsa-nav-toggle__icon__middle, button.dsa-nav-toggle .dsa-nav-toggle__icon::before, button.dsa-nav-toggle .dsa-nav-toggle__icon::after {
75
75
  position: absolute;
76
76
  width: 100%;
77
77
  height: 3px;
78
78
  background-color: currentColor;
79
79
  }
80
- button.nav-toggle .nav-toggle__icon .nav-toggle__icon__middle {
80
+ button.dsa-nav-toggle .dsa-nav-toggle__icon .dsa-nav-toggle__icon__middle {
81
81
  top: 50%;
82
82
  margin-top: -1.5px;
83
83
  }
84
- button.nav-toggle .nav-toggle__icon::before {
84
+ button.dsa-nav-toggle .dsa-nav-toggle__icon::before {
85
85
  top: 2px;
86
86
  transition: top 150ms ease 150ms, transform ease 150ms;
87
87
  }
88
- button.nav-toggle .nav-toggle__icon::after {
88
+ button.dsa-nav-toggle .dsa-nav-toggle__icon::after {
89
89
  bottom: 2px;
90
90
  transition: bottom 150ms ease 150ms, transform ease 150ms;
91
91
  }
92
- button.nav-toggle[aria-expanded=true] .nav-toggle__icon__middle {
92
+ button.dsa-nav-toggle[aria-expanded=true] .dsa-nav-toggle__icon__middle {
93
93
  display: none;
94
94
  }
95
- button.nav-toggle[aria-expanded=true] .nav-toggle__icon::before {
95
+ button.dsa-nav-toggle[aria-expanded=true] .dsa-nav-toggle__icon::before {
96
96
  top: var(--nav-toggle__icon-bar--offset);
97
97
  transition: top ease 150ms, transform 150ms ease 150ms;
98
98
  transform: rotate(-45deg);
99
99
  }
100
- button.nav-toggle[aria-expanded=true] .nav-toggle__icon::after {
100
+ button.dsa-nav-toggle[aria-expanded=true] .dsa-nav-toggle__icon::after {
101
101
  bottom: var(--nav-toggle__icon-bar--offset);
102
102
  transition: bottom ease 150ms, transform 150ms ease 150ms;
103
103
  transform: rotate(45deg);
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ declare const NavTopbar: ({ items, dropdownInverted }: {
3
+ items: any;
4
+ dropdownInverted: any;
5
+ }) => import("react/jsx-runtime").JSX.Element;
6
+ export { NavTopbar };
@@ -0,0 +1,12 @@
1
+ import "./nav-topbar.css";
2
+ import { jsx, jsxs } 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 { NavDropdown } from '../nav-dropdown/index.js';
7
+
8
+ const NavTopbar = ({ items, dropdownInverted }) => items && items.length > 0 ? (jsx("nav", { className: "dsa-nav-topbar", id: "dsa-nav-main", "aria-label": "Hauptnavigation", children: jsx("ul", { className: "dsa-nav-topbar__list", children: items.map(({ label, href, id, active, items: subItems }) => {
9
+ return (jsxs("li", { className: classnames("dsa-nav-topbar__item", active && "dsa-nav-topbar__item--active", subItems?.length && "dsa-nav-topbar__item--dropdown"), children: [subItems?.length ? (jsxs("span", { tabIndex: 0, className: "dsa-nav-topbar__label", children: [label, subItems?.length ? (jsx(Icon, { className: "dsa-nav-topbar__label__icon", icon: "chevron-down" })) : ("")] })) : (jsx(Link, { href: href, className: `dsa-nav-topbar__label dsa-nav-topbar__link`, children: label })), subItems?.length ? (jsx(NavDropdown, { items: subItems, inverted: dropdownInverted })) : null] }, id));
10
+ }) }) })) : null;
11
+
12
+ export { NavTopbar };