@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.
- package/dist/{BlogPostProps-e1cbd5d3.d.ts → BlogPostProps-440f88a5.d.ts} +8 -2
- package/dist/{FooterProps-9f94ed98.d.ts → FooterProps-2d0b03c2.d.ts} +14 -2
- package/dist/HeaderProps-c6c32ccf.d.ts +72 -0
- package/dist/{ImageStoryProps-24e0335c.d.ts → ImageStoryProps-e853e1e7.d.ts} +9 -4
- package/dist/{HeaderProps-34d278ee.d.ts → LogoProps-01796f0a.d.ts} +16 -19
- package/dist/LogosProps-f9474fe2.d.ts +97 -0
- package/dist/{SectionProps-93230a76.d.ts → SectionProps-83d399b4.d.ts} +2 -2
- package/dist/SliderProps-93230a76.d.ts +1 -1
- package/dist/components/blog-aside/index.js +2 -2
- package/dist/components/blog-head/index.js +2 -2
- package/dist/components/blog-overview/index.js +0 -1
- package/dist/components/blog-post/blog-post.schema.dereffed.json +3095 -1
- package/dist/components/blog-post/blog-post.schema.json +9 -1
- package/dist/components/blog-post/index.d.ts +3 -6
- package/dist/components/blog-post/index.js +1 -2
- package/dist/components/blog-teaser/index.js +2 -2
- package/dist/components/button/button.css +15 -1
- package/dist/components/cta/cta.css +38 -38
- package/dist/components/feature/index.js +7 -7
- package/dist/components/features/features.css +26 -28
- package/dist/components/features/index.js +1 -1
- package/dist/components/footer/footer.css +23 -18
- package/dist/components/footer/footer.schema.dereffed.json +65 -14
- package/dist/components/footer/footer.schema.json +11 -25
- package/dist/components/footer/index.d.ts +1 -1
- package/dist/components/footer/index.js +3 -2
- package/dist/components/gallery/gallery.css +1 -1
- package/dist/components/header/header.css +4 -8
- package/dist/components/header/header.schema.dereffed.json +78 -17
- package/dist/components/header/header.schema.json +18 -25
- package/dist/components/header/index.d.ts +1 -1
- package/dist/components/header/index.js +15 -7
- package/dist/components/headline/headline.css +18 -21
- package/dist/components/headline/index.js +1 -7
- package/dist/components/hero/index.js +3 -2
- package/dist/components/image/image.css +8 -8
- package/dist/components/image/image.schema.dereffed.json +1 -1
- package/dist/components/image/image.schema.json +1 -1
- package/dist/components/image/index.d.ts +1 -1
- package/dist/components/image/index.js +1 -1
- package/dist/components/image-story/image-story.css +14 -1
- package/dist/components/image-story/image-story.schema.dereffed.json +19 -9
- package/dist/components/image-story/image-story.schema.json +9 -6
- package/dist/components/image-story/index.d.ts +1 -1
- package/dist/components/image-story/index.js +10 -1
- package/dist/components/index/index.d.ts +14 -14
- package/dist/components/logo/index.d.ts +4 -0
- package/dist/components/logo/index.js +12 -0
- package/dist/components/logo/logo.css +7 -0
- package/dist/components/logo/logo.schema.dereffed.json +43 -19
- package/dist/components/logo/logo.schema.json +41 -17
- package/dist/components/logos/index.d.ts +1 -1
- package/dist/components/logos/index.js +1 -1
- package/dist/components/logos/logos.css +11 -7
- package/dist/components/logos/logos.schema.dereffed.json +0 -5
- package/dist/components/logos/logos.schema.json +27 -1
- package/dist/components/nav-dropdown/index.d.ts +23 -0
- package/dist/components/nav-dropdown/index.js +10 -0
- package/dist/components/nav-dropdown/nav-dropdown.css +48 -0
- package/dist/components/nav-flyout/index.d.ts +7 -0
- package/dist/components/nav-flyout/index.js +17 -0
- package/dist/components/nav-flyout/nav-flyout.css +97 -0
- package/dist/components/nav-main/index.d.ts +42 -11
- package/dist/components/nav-main/index.js +14 -13
- package/dist/components/nav-main/nav-main.schema.dereffed.json +110 -85
- package/dist/components/nav-main/nav-main.schema.json +73 -11
- package/dist/components/nav-toggle/index.d.ts +3 -0
- package/dist/components/nav-toggle/index.js +6 -0
- package/dist/components/{nav-main → nav-toggle}/nav-toggle.css +21 -21
- package/dist/components/nav-topbar/index.d.ts +6 -0
- package/dist/components/nav-topbar/index.js +12 -0
- package/dist/components/nav-topbar/nav-topbar.css +95 -0
- package/dist/components/page/page.schema.dereffed.json +25 -25
- package/dist/components/page/page.schema.json +6 -6
- package/dist/components/page-wrapper/index.js +2 -3
- package/dist/components/page-wrapper/tokens.css +2 -2
- package/dist/components/picture/picture.schema.json +1 -1
- package/dist/components/presets.json +197 -19
- package/dist/components/providers/index.js +0 -1
- package/dist/components/section/index.d.ts +5 -3
- package/dist/components/section/index.js +35 -31
- package/dist/components/section/section.css +3 -3
- package/dist/components/section/section.schema.dereffed.json +19 -19
- package/dist/components/settings/settings.schema.dereffed.json +143 -31
- package/dist/components/slider/slider.schema.dereffed.json +0 -5
- package/dist/components/teaser-card/teaser-card.css +2 -2
- package/dist/components/text/text.css +1 -1
- package/dist/global.css +13 -13
- package/dist/static/favicon/favicon-192-192.png +1 -1
- package/dist/static/logo-inverted.svg +26 -0
- package/dist/tokens/themes.css +4 -4
- package/dist/tokens/tokens.css +2 -2
- package/dist/tokens/tokens.js +2 -2
- package/package.json +1 -1
- package/dist/LogosProps-58c84ccc.d.ts +0 -242
- package/dist/components/headline-level-context/index.d.ts +0 -4
- package/dist/components/headline-level-context/index.js +0 -33
- package/dist/components/nav-main/nav-main.css +0 -191
- /package/dist/components/{nav-main → nav}/js/NavToggle.client.d.ts +0 -0
- /package/dist/components/{nav-main → nav}/js/NavToggle.client.js +0 -0
- /package/dist/components/{nav-main → nav}/js/body.client.d.ts +0 -0
- /package/dist/components/{nav-main → nav}/js/body.client.js +0 -0
- /package/dist/components/{nav-main → nav}/js/navMainEvents.client.d.ts +0 -0
- /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 {
|
|
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
|
|
31
|
+
* Referenced component LogoProps
|
|
12
32
|
*/
|
|
13
|
-
logo:
|
|
14
|
-
|
|
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 {
|
|
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
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
8
|
-
import '
|
|
9
|
-
import '
|
|
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 '
|
|
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
|
|
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
|
|
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.
|
|
10
|
-
"title": "
|
|
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
|
-
"
|
|
24
|
-
"title": "
|
|
25
|
-
"description": "
|
|
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
|
|
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": "
|
|
64
|
+
"const": "logo"
|
|
123
65
|
}
|
|
124
66
|
},
|
|
125
67
|
"additionalProperties": false
|
|
126
68
|
},
|
|
127
|
-
"
|
|
128
|
-
"type": "
|
|
129
|
-
"
|
|
130
|
-
"
|
|
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": "
|
|
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.
|
|
8
|
+
"$ref": "http://schema.mydesignsystem.com/logo.schema.json"
|
|
9
9
|
},
|
|
10
|
-
"
|
|
11
|
-
"type": "
|
|
12
|
-
"
|
|
13
|
-
"
|
|
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": "
|
|
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,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:
|
|
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:
|
|
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,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 };
|