@kickstartds/ds-agency-premium 1.3.48 → 1.3.50--canary.663.b100f6e.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/{FooterProps-10c950a6.d.ts → FooterProps-22e0307b.d.ts} +6 -0
- package/dist/{HeaderProps-7be94a61.d.ts → HeaderProps-dd2071a8.d.ts} +16 -2
- package/dist/components/cta/cta.css +37 -37
- 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.schema.dereffed.json +36 -2
- package/dist/components/footer/index.d.ts +1 -1
- package/dist/components/header/header.css +3 -1
- package/dist/components/header/header.schema.dereffed.json +44 -6
- package/dist/components/header/header.schema.json +5 -3
- package/dist/components/header/index.d.ts +1 -1
- package/dist/components/header/index.js +10 -6
- package/dist/components/image/image.css +8 -8
- package/dist/components/image/index.js +1 -1
- package/dist/components/index/index.d.ts +2 -2
- package/dist/components/nav-dropdown/index.d.ts +23 -0
- package/dist/components/nav-dropdown/index.js +9 -0
- package/dist/components/nav-flyout/index.d.ts +8 -0
- package/dist/components/nav-flyout/index.js +15 -0
- package/dist/components/nav-flyout/nav-flyout.css +63 -0
- package/dist/components/nav-main/index.d.ts +33 -7
- package/dist/components/nav-main/index.js +14 -14
- package/dist/components/nav-main/nav-main.schema.dereffed.json +70 -2
- package/dist/components/nav-main/nav-main.schema.json +52 -3
- package/dist/components/nav-toggle/index.d.ts +3 -0
- package/dist/components/nav-toggle/index.js +6 -0
- package/dist/components/nav-topbar/index.d.ts +7 -0
- package/dist/components/nav-topbar/index.js +12 -0
- package/dist/components/nav-topbar/nav-topbar.css +139 -0
- package/dist/components/page-wrapper/tokens.css +1 -1
- package/dist/components/presets.json +29 -4
- package/dist/components/settings/settings.schema.dereffed.json +80 -8
- package/dist/tokens/themes.css +4 -4
- package/dist/tokens/tokens.css +1 -1
- package/dist/tokens/tokens.js +1 -1
- package/package.json +1 -1
- package/dist/components/nav-main/nav-main.css +0 -194
- /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
- /package/dist/components/{nav-main → nav-toggle}/nav-toggle.css +0 -0
|
@@ -12,8 +12,8 @@ import { SeoProps } from "../../SeoProps-f2d6dcaa.js";
|
|
|
12
12
|
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
|
13
13
|
* and run json-schema-to-typescript to regenerate this file.
|
|
14
14
|
*/
|
|
15
|
-
import { HeaderProps } from "../../HeaderProps-
|
|
16
|
-
import { FooterProps } from "../../FooterProps-
|
|
15
|
+
import { HeaderProps } from "../../HeaderProps-dd2071a8.js";
|
|
16
|
+
import { FooterProps } from "../../FooterProps-22e0307b.js";
|
|
17
17
|
/**
|
|
18
18
|
* Collection of sections (with their contents) to render on the page
|
|
19
19
|
*/
|
|
@@ -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
|
+
id?: string;
|
|
17
|
+
label?: string;
|
|
18
|
+
active?: boolean;
|
|
19
|
+
}[];
|
|
20
|
+
className?: string;
|
|
21
|
+
}
|
|
22
|
+
declare const NavDropdown: FC<NavDropdownProps>;
|
|
23
|
+
export { NavDropdown };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import classnames from 'classnames';
|
|
3
|
+
import { Link } from '@kickstartds/base/lib/link';
|
|
4
|
+
|
|
5
|
+
const NavDropdown = ({ items, inverted }) => (jsx("ul", { "ks-inverted": inverted?.toString(), className: classnames(`dsa-nav-dropdown`), children: items.map(({ label, href, id }) => {
|
|
6
|
+
return (jsx("li", { className: classnames("dsa-nav-dropdown__item"), children: jsx(Link, { href: href, className: `dsa-nav-dropdown__link `, children: label }) }, id));
|
|
7
|
+
}) }));
|
|
8
|
+
|
|
9
|
+
export { NavDropdown };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import "./nav-flyout.css";
|
|
2
|
+
import { jsxs, jsx, Fragment } 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, active }) => items && items.length > 0 ? (jsxs("nav", { className: "dsa-nav-flyout", "ks-inverted": inverted.toString(), id: "dsa-nav-main", "aria-label": "Hauptnavigation", children: [jsx(Logo, { ...logo, className: "dsa-nav-main__logo" }), jsx("ul", { className: "dsa-nav-list", children: items.map(({ label, href, id, items: subItems }) => {
|
|
10
|
+
const isActive = active === href ||
|
|
11
|
+
subItems?.some((navItem) => active === navItem.href);
|
|
12
|
+
return (jsxs("li", { className: classnames("dsa-nav-item", isActive && "dsa-nav-item--active"), children: [jsxs(Link, { href: href, className: `dsa-nav-item__link`, children: [label, subItems?.length ? (jsx(Icon, { className: "dsa-nav-item__link__icon", icon: "chevron-down" })) : ("")] }), subItems?.length ? (jsx(Fragment, { children: jsx("div", { className: "dsa-nav-" }) })) : null] }, id));
|
|
13
|
+
}) })] })) : null;
|
|
14
|
+
|
|
15
|
+
export { NavFlyout };
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
.dsa-nav-flyout {
|
|
2
|
+
display: none;
|
|
3
|
+
}
|
|
4
|
+
@media (max-width: 62rem) {
|
|
5
|
+
.dsa-nav-flyout {
|
|
6
|
+
display: block;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
@media (max-width: 62em) {
|
|
10
|
+
.dsa-nav-flyout {
|
|
11
|
+
display: block;
|
|
12
|
+
/* critical:start */
|
|
13
|
+
left: -100%;
|
|
14
|
+
/* critical:end */
|
|
15
|
+
height: 100vh;
|
|
16
|
+
overflow: hidden;
|
|
17
|
+
position: fixed;
|
|
18
|
+
width: 77vw;
|
|
19
|
+
max-width: 23rem;
|
|
20
|
+
transition: all var(--ks-duration-slow);
|
|
21
|
+
padding: 0 var(--l-section--content-padding);
|
|
22
|
+
right: 0;
|
|
23
|
+
bottom: 0;
|
|
24
|
+
top: 0;
|
|
25
|
+
overflow-y: auto;
|
|
26
|
+
background: var(--dsa-nav-main--background);
|
|
27
|
+
backface-visibility: hidden;
|
|
28
|
+
-webkit-overflow-scrolling: touch;
|
|
29
|
+
box-shadow: 20px 0px 30px rgba(0, 0, 0, 0);
|
|
30
|
+
}
|
|
31
|
+
.dsa-nav-flyout__item--icon {
|
|
32
|
+
border: 0;
|
|
33
|
+
clip: rect(1px, 1px, 1px, 1px);
|
|
34
|
+
clip-path: inset(100%);
|
|
35
|
+
height: 1px;
|
|
36
|
+
overflow: hidden;
|
|
37
|
+
padding: 0;
|
|
38
|
+
position: absolute;
|
|
39
|
+
white-space: nowrap;
|
|
40
|
+
width: 1px;
|
|
41
|
+
}
|
|
42
|
+
.overlay-open .dsa-nav-flyout {
|
|
43
|
+
left: 0;
|
|
44
|
+
box-shadow: var(--dsa-nav-main--shadow);
|
|
45
|
+
}
|
|
46
|
+
.dsa-nav-flyout > .dsa-nav-main__logo {
|
|
47
|
+
margin-top: var(--dsa-header--spacing-vertical);
|
|
48
|
+
margin-bottom: var(--dsa-header--spacing-vertical);
|
|
49
|
+
}
|
|
50
|
+
.dsa-nav-flyout ul.dsa-nav-main__list {
|
|
51
|
+
padding-top: calc(var(--dsa-header--spacing-vertical) - var(--ks-spacing-s));
|
|
52
|
+
}
|
|
53
|
+
.dsa-nav-flyout ul.dsa-nav-main__list .dsa-nav-main--button {
|
|
54
|
+
margin-left: var(--dsa-header--spacing-horizontal);
|
|
55
|
+
margin-top: var(--dsa-header--spacing-vertical);
|
|
56
|
+
}
|
|
57
|
+
.dsa-nav-flyout ul.dsa-nav-main__list .dsa-nav-main--button .button {
|
|
58
|
+
--button--font: var(--ks-font-interface-s);
|
|
59
|
+
}
|
|
60
|
+
.dsa-nav-flyout ul.dsa-nav-main__list .dsa-nav-main--button .button .button__content {
|
|
61
|
+
--button--padding: 0.4rem 1rem;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -10,23 +10,49 @@ import { LogoProps } from "../../LogoProps-01796f0a.js";
|
|
|
10
10
|
* Toggle the inversion of the flyout navigation
|
|
11
11
|
*/
|
|
12
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;
|
|
13
29
|
interface NavMainProps {
|
|
14
30
|
/**
|
|
15
31
|
* Referenced component LogoProps
|
|
16
32
|
*/
|
|
17
33
|
logo: LogoProps;
|
|
18
34
|
flyoutInverted?: FlyoutInverted;
|
|
35
|
+
dropdownInverted?: DropdownInverted;
|
|
19
36
|
items?: {
|
|
20
37
|
href: string;
|
|
21
38
|
label: string;
|
|
22
39
|
active?: boolean;
|
|
40
|
+
items?: {
|
|
41
|
+
href?: string;
|
|
42
|
+
id?: string;
|
|
43
|
+
label?: string;
|
|
44
|
+
active?: boolean;
|
|
45
|
+
}[];
|
|
23
46
|
}[];
|
|
47
|
+
cta?: CTA;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Add a CTA to the Navigation
|
|
51
|
+
*/
|
|
52
|
+
interface CTA {
|
|
53
|
+
toggle?: ToggleCTA;
|
|
54
|
+
label?: Label;
|
|
55
|
+
target?: Target;
|
|
24
56
|
}
|
|
25
|
-
declare const NavToggleComponent: FC;
|
|
26
|
-
declare const NavMainItem: FC<{
|
|
27
|
-
label: string;
|
|
28
|
-
href: string;
|
|
29
|
-
active: boolean;
|
|
30
|
-
}>;
|
|
31
57
|
declare const NavMain: FC<NavMainProps>;
|
|
32
|
-
export {
|
|
58
|
+
export { NavMain };
|
|
@@ -1,19 +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 '
|
|
10
|
-
import '@kickstartds/base/lib/picture';
|
|
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';
|
|
11
7
|
import '@kickstartds/core/lib/component';
|
|
12
|
-
import '
|
|
8
|
+
import '../nav/js/body.client.js';
|
|
13
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';
|
|
14
16
|
|
|
15
|
-
const
|
|
16
|
-
const NavMainItem = ({ label, href, active }) => (jsx("li", { className: classnames("dsa-nav-main__item", active === true ? "dsa-nav-main__item--active" : ""), children: jsx(Link, { className: "dsa-nav-main__link", href: href, children: label }) }));
|
|
17
|
-
const NavMain = ({ logo, items, flyoutInverted }) => items && items.length > 0 ? (jsxs("div", { className: "dsa-nav-main__wrap", children: [jsx(NavToggleComponent, {}), jsxs("nav", { "ks-inverted": flyoutInverted.toString(), className: classnames("dsa-nav-main", "dsa-nav-main--flyout", items.some((item) => item.active) ? "dsa-nav-main--active" : ""), id: "dsa-nav-main", "aria-label": "Hauptnavigation", children: [jsx(Logo, { ...logo, className: "dsa-nav-main__logo" }), jsx("ul", { className: "dsa-nav-main__list", children: items.map((item) => (createElement(NavMainItem, { ...item, active: item.active ?? false, key: item.href + item.label }))) })] }), jsxs("nav", { className: classnames("dsa-nav-main", "dsa-nav-main--topbar", items.some((item) => item.active) ? "dsa-nav-main--active" : ""), id: "dsa-nav-main", "aria-label": "Hauptnavigation", children: [jsx(Logo, { ...logo, className: "dsa-nav-main__logo" }), jsx("ul", { className: "dsa-nav-main__list", children: items.map((item) => (createElement(NavMainItem, { ...item, active: item.active ?? false, key: item.href + item.label }))) })] })] })) : null;
|
|
17
|
+
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, active: undefined }), jsx(NavFlyout, { items: items, active: undefined, inverted: flyoutInverted, logo: logo })] })) : null;
|
|
18
18
|
|
|
19
|
-
export { NavMain
|
|
19
|
+
export { NavMain };
|
|
@@ -72,6 +72,12 @@
|
|
|
72
72
|
"description": "Toggle the inversion of the flyout navigation",
|
|
73
73
|
"default": false
|
|
74
74
|
},
|
|
75
|
+
"dropdownInverted": {
|
|
76
|
+
"type": "boolean",
|
|
77
|
+
"title": "Dropdown Inverted",
|
|
78
|
+
"description": "Toggle the inversion of the dropdown navigation",
|
|
79
|
+
"default": false
|
|
80
|
+
},
|
|
75
81
|
"items": {
|
|
76
82
|
"type": "array",
|
|
77
83
|
"items": {
|
|
@@ -86,6 +92,28 @@
|
|
|
86
92
|
},
|
|
87
93
|
"active": {
|
|
88
94
|
"type": "boolean"
|
|
95
|
+
},
|
|
96
|
+
"items": {
|
|
97
|
+
"type": "array",
|
|
98
|
+
"items": {
|
|
99
|
+
"type": "object",
|
|
100
|
+
"properties": {
|
|
101
|
+
"href": {
|
|
102
|
+
"type": "string",
|
|
103
|
+
"format": "uri"
|
|
104
|
+
},
|
|
105
|
+
"id": {
|
|
106
|
+
"type": "string"
|
|
107
|
+
},
|
|
108
|
+
"label": {
|
|
109
|
+
"type": "string"
|
|
110
|
+
},
|
|
111
|
+
"active": {
|
|
112
|
+
"type": "boolean"
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
"additionalProperties": false
|
|
116
|
+
}
|
|
89
117
|
}
|
|
90
118
|
},
|
|
91
119
|
"additionalProperties": false,
|
|
@@ -97,8 +125,20 @@
|
|
|
97
125
|
"examples": [
|
|
98
126
|
[
|
|
99
127
|
{
|
|
100
|
-
"label": "Nav
|
|
101
|
-
"href": "#"
|
|
128
|
+
"label": "Nav With Children",
|
|
129
|
+
"href": "#",
|
|
130
|
+
"items": [
|
|
131
|
+
{
|
|
132
|
+
"label": "TEST1",
|
|
133
|
+
"href": "#",
|
|
134
|
+
"id": "TEST1"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"label": "TEST2",
|
|
138
|
+
"href": "#",
|
|
139
|
+
"id": "TEST2"
|
|
140
|
+
}
|
|
141
|
+
]
|
|
102
142
|
},
|
|
103
143
|
{
|
|
104
144
|
"label": "Active Item",
|
|
@@ -120,6 +160,34 @@
|
|
|
120
160
|
]
|
|
121
161
|
]
|
|
122
162
|
},
|
|
163
|
+
"cta": {
|
|
164
|
+
"type": "object",
|
|
165
|
+
"title": "CTA",
|
|
166
|
+
"description": "Add a CTA to the Navigation",
|
|
167
|
+
"properties": {
|
|
168
|
+
"toggle": {
|
|
169
|
+
"title": "Toggle CTA",
|
|
170
|
+
"description": "Toggle the CTA",
|
|
171
|
+
"type": "boolean",
|
|
172
|
+
"default": false
|
|
173
|
+
},
|
|
174
|
+
"label": {
|
|
175
|
+
"type": "string",
|
|
176
|
+
"title": "Label",
|
|
177
|
+
"description": "Text content to display inside the button",
|
|
178
|
+
"examples": [
|
|
179
|
+
"Book a meeting"
|
|
180
|
+
]
|
|
181
|
+
},
|
|
182
|
+
"target": {
|
|
183
|
+
"type": "string",
|
|
184
|
+
"title": "Target",
|
|
185
|
+
"description": "Target that should be linked, makes the button behave like a link semantically",
|
|
186
|
+
"format": "uri"
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
"additionalProperties": false
|
|
190
|
+
},
|
|
123
191
|
"type": {
|
|
124
192
|
"const": "nav-main"
|
|
125
193
|
}
|
|
@@ -13,6 +13,12 @@
|
|
|
13
13
|
"description": "Toggle the inversion of the flyout navigation",
|
|
14
14
|
"default": false
|
|
15
15
|
},
|
|
16
|
+
"dropdownInverted": {
|
|
17
|
+
"type": "boolean",
|
|
18
|
+
"title": "Dropdown Inverted",
|
|
19
|
+
"description": "Toggle the inversion of the dropdown navigation",
|
|
20
|
+
"default": false
|
|
21
|
+
},
|
|
16
22
|
"items": {
|
|
17
23
|
"type": "array",
|
|
18
24
|
"items": {
|
|
@@ -20,7 +26,19 @@
|
|
|
20
26
|
"properties": {
|
|
21
27
|
"href": { "type": "string", "format": "uri" },
|
|
22
28
|
"label": { "type": "string" },
|
|
23
|
-
"active": { "type": "boolean" }
|
|
29
|
+
"active": { "type": "boolean" },
|
|
30
|
+
"items": {
|
|
31
|
+
"type": "array",
|
|
32
|
+
"items": {
|
|
33
|
+
"type": "object",
|
|
34
|
+
"properties": {
|
|
35
|
+
"href": { "type": "string", "format": "uri" },
|
|
36
|
+
"id": { "type": "string" },
|
|
37
|
+
"label": { "type": "string" },
|
|
38
|
+
"active": { "type": "boolean" }
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
24
42
|
},
|
|
25
43
|
"additionalProperties": false,
|
|
26
44
|
"required": ["href", "label"]
|
|
@@ -28,8 +46,20 @@
|
|
|
28
46
|
"examples": [
|
|
29
47
|
[
|
|
30
48
|
{
|
|
31
|
-
"label": "Nav
|
|
32
|
-
"href": "#"
|
|
49
|
+
"label": "Nav With Children",
|
|
50
|
+
"href": "#",
|
|
51
|
+
"items": [
|
|
52
|
+
{
|
|
53
|
+
"label": "TEST1",
|
|
54
|
+
"href": "#",
|
|
55
|
+
"id": "TEST1"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"label": "TEST2",
|
|
59
|
+
"href": "#",
|
|
60
|
+
"id": "TEST2"
|
|
61
|
+
}
|
|
62
|
+
]
|
|
33
63
|
},
|
|
34
64
|
{
|
|
35
65
|
"label": "Active Item",
|
|
@@ -50,6 +80,25 @@
|
|
|
50
80
|
}
|
|
51
81
|
]
|
|
52
82
|
]
|
|
83
|
+
},
|
|
84
|
+
"cta": {
|
|
85
|
+
"type": "object",
|
|
86
|
+
"title": "CTA",
|
|
87
|
+
"description": "Add a CTA to the Navigation",
|
|
88
|
+
"properties": {
|
|
89
|
+
"toggle": {
|
|
90
|
+
"title": "Toggle CTA",
|
|
91
|
+
"description": "Toggle the CTA",
|
|
92
|
+
"type": "boolean",
|
|
93
|
+
"default": false
|
|
94
|
+
},
|
|
95
|
+
"label": {
|
|
96
|
+
"$ref": "http://schema.mydesignsystem.com/button.schema.json#/properties/label"
|
|
97
|
+
},
|
|
98
|
+
"target": {
|
|
99
|
+
"$ref": "http://schema.mydesignsystem.com/button.schema.json#/properties/target"
|
|
100
|
+
}
|
|
101
|
+
}
|
|
53
102
|
}
|
|
54
103
|
},
|
|
55
104
|
"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 };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import "./nav-topbar.css";
|
|
2
|
+
import { jsx, jsxs, Fragment } 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, active, dropdownInverted }) => items && items.length > 0 ? (jsx("nav", { className: "dsa-nav-topbar", id: "dsa-nav-main", "aria-label": "Hauptnavigation", children: jsx("ul", { className: "dsa-nav-list", children: items.map(({ label, href, id, items: subItems }) => {
|
|
9
|
+
return (jsxs("li", { className: classnames("dsa-nav-topbar__item", active && "dsa-nav-topbar__item--active"), children: [jsxs(Link, { href: href, className: `dsa-nav-topbar__link`, children: [label, subItems?.length ? (jsx(Icon, { className: "dsa-nav-topbar__link__icon", icon: "chevron-down" })) : ("")] }), subItems?.length ? (jsx(Fragment, { children: jsx(NavDropdown, { items: items, inverted: dropdownInverted?.toString() }) })) : null] }, id));
|
|
10
|
+
}) }) })) : null;
|
|
11
|
+
|
|
12
|
+
export { NavTopbar };
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
.dsa-nav-topbar {
|
|
2
|
+
--dsa-nav-topbar--background: linear-gradient(
|
|
3
|
+
125deg,
|
|
4
|
+
var(--ks-background-color-default),
|
|
5
|
+
var(--ks-color-primary-to-bg-6)
|
|
6
|
+
);
|
|
7
|
+
--dsa-nav-topbar__link--color: var(--ks-color-fg);
|
|
8
|
+
--dsa-nav-topbar__link--color_hover: var(--ks-text-color-interface-interactive-hover);
|
|
9
|
+
--dsa-nav-topbar__link--color_active: var(--ks-text-color-interface-interactive-active);
|
|
10
|
+
--dsa-nav-topbar__link--font: var(--ks-font-interface-m);
|
|
11
|
+
--dsa-nav-topbar__link--font-weight: var(--ks-font-weight-semi-bold);
|
|
12
|
+
--dsa-nav-topbar__link--font-weight_active: var(--ks-font-weight-semi-bold);
|
|
13
|
+
--dsa-nav-topbar__link--padding: 0 0.75em;
|
|
14
|
+
--dsa-nav-topbar__link_dimmed--opacity: 0.6;
|
|
15
|
+
--dsa-nav-topbar_floating__link_dimmed--opacity: 0.75;
|
|
16
|
+
--dsa-nav-topbar_floating__link--color: var(--ks-color-fg);
|
|
17
|
+
--dsa-nav-dropdown--padding: var(--ks-spacing-inset-stretch-xs);
|
|
18
|
+
--dsa-nav-dropdown--background: var(--ks-background-color-default);
|
|
19
|
+
--dsa-nav-dropdown--border-radius: var(--ks-border-radius-card);
|
|
20
|
+
--dsa-nav-dropdown--box-shadow: var(--ks-box-shadow-card);
|
|
21
|
+
--dsa-nav-dropdown--border: 1px solid var(--ks-border-color-card);
|
|
22
|
+
--dsa-nav-dropdown__link--color: var(--ks-color-fg);
|
|
23
|
+
--dsa-nav-dropdown__link--color_hover: var(--ks-text-color-interface-interactive-hover);
|
|
24
|
+
--dsa-nav-dropdown__link--color_active: var(--ks-text-color-interface-interactive-active);
|
|
25
|
+
--dsa-nav-dropdown__link--font: var(--ks-font-interface-m);
|
|
26
|
+
--dsa-nav-dropdown__link--font-weight: var(--ks-font-weight-semi-bold);
|
|
27
|
+
--dsa-nav-dropdown__link--font-weight_active: var(--ks-font-weight-semi-bold);
|
|
28
|
+
--dsa-nav-dropdown__link--padding: 0.35em 0.25em;
|
|
29
|
+
--dsa-nav-dropdown__link_dimmed--opacity: 0.6;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.dsa-nav-topbar {
|
|
33
|
+
/* critical:start */
|
|
34
|
+
display: none;
|
|
35
|
+
--g-link--text-decoration: none;
|
|
36
|
+
--g-link--text-decoration_hover: none;
|
|
37
|
+
flex-direction: column;
|
|
38
|
+
justify-content: flex-start;
|
|
39
|
+
/* critical:end */
|
|
40
|
+
}
|
|
41
|
+
@media (min-width: 62rem) {
|
|
42
|
+
.dsa-nav-topbar {
|
|
43
|
+
display: flex;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
.dsa-nav-topbar ul {
|
|
47
|
+
/* critical:start */
|
|
48
|
+
box-sizing: border-box;
|
|
49
|
+
margin: 0;
|
|
50
|
+
padding: 0;
|
|
51
|
+
list-style: none;
|
|
52
|
+
/* critical:end */
|
|
53
|
+
}
|
|
54
|
+
.dsa-nav-topbar ul li {
|
|
55
|
+
display: block;
|
|
56
|
+
margin: 0;
|
|
57
|
+
}
|
|
58
|
+
.dsa-nav-topbar .dsa-nav-list {
|
|
59
|
+
/* critical:start */
|
|
60
|
+
display: flex;
|
|
61
|
+
flex-wrap: nowrap;
|
|
62
|
+
align-items: stretch;
|
|
63
|
+
/* critical:end */
|
|
64
|
+
}
|
|
65
|
+
.dsa-nav-topbar .dsa-nav-list > ul.dsa-nav-main__list {
|
|
66
|
+
display: none;
|
|
67
|
+
}
|
|
68
|
+
.dsa-nav-topbar .dsa-nav-list:hover .dsa-nav-topbar__link:not(:hover) {
|
|
69
|
+
opacity: var(--dsa-nav-topbar__link_dimmed--opacity);
|
|
70
|
+
}
|
|
71
|
+
.dsa-header--floating .dsa-nav-topbar .dsa-nav-list:hover .dsa-nav-topbar__link:not(:hover) {
|
|
72
|
+
opacity: var(--dsa-nav-topbar_floating__link_dimmed--opacity);
|
|
73
|
+
}
|
|
74
|
+
.dsa-nav-topbar .dsa-nav-topbar__item {
|
|
75
|
+
/* critical:start */
|
|
76
|
+
flex-shrink: 0;
|
|
77
|
+
/* critical:end */
|
|
78
|
+
position: relative;
|
|
79
|
+
outline: 0;
|
|
80
|
+
}
|
|
81
|
+
.dsa-nav-topbar .dsa-nav-topbar__item:hover > .dsa-nav-dropdown {
|
|
82
|
+
display: flex;
|
|
83
|
+
}
|
|
84
|
+
.dsa-nav-topbar .dsa-nav-topbar__link {
|
|
85
|
+
/* critical:start */
|
|
86
|
+
font: var(--dsa-nav-topbar__link--font);
|
|
87
|
+
font-weight: var(--dsa-nav-topbar__link--font-weight);
|
|
88
|
+
color: var(--dsa-nav-topbar__link--color);
|
|
89
|
+
position: relative;
|
|
90
|
+
display: flex;
|
|
91
|
+
height: 100%;
|
|
92
|
+
align-items: center;
|
|
93
|
+
padding: var(--dsa-nav-topbar__link--padding);
|
|
94
|
+
/* critical:end */
|
|
95
|
+
}
|
|
96
|
+
.dsa-nav-topbar .dsa-nav-topbar__link:hover {
|
|
97
|
+
color: var(--dsa-nav-topbar__link--color_hover);
|
|
98
|
+
}
|
|
99
|
+
.dsa-nav-topbar .dsa-nav-topbar__link:active {
|
|
100
|
+
color: var(--dsa-nav-topbar__link--color_active);
|
|
101
|
+
}
|
|
102
|
+
.dsa-header--floating .dsa-nav-topbar .dsa-nav-topbar__link {
|
|
103
|
+
color: var(--dsa-nav-topbar_floating__link--color);
|
|
104
|
+
}
|
|
105
|
+
.dsa-header--floating .dsa-nav-topbar .dsa-nav-topbar__link:hover {
|
|
106
|
+
color: var(--dsa-nav-topbar__link--color_hover);
|
|
107
|
+
}
|
|
108
|
+
.dsa-header--floating .dsa-nav-topbar .dsa-nav-topbar__link:active {
|
|
109
|
+
color: var(--dsa-nav-topbar__link--color_active);
|
|
110
|
+
}
|
|
111
|
+
.dsa-nav-topbar .dsa-nav-dropdown {
|
|
112
|
+
display: none;
|
|
113
|
+
padding: var(--dsa-nav-dropdown--padding);
|
|
114
|
+
position: absolute;
|
|
115
|
+
flex-direction: column;
|
|
116
|
+
align-items: flex-start;
|
|
117
|
+
background-color: var(--dsa-nav-dropdown--background);
|
|
118
|
+
border-radius: var(--dsa-nav-dropdown--border-radius);
|
|
119
|
+
box-shadow: var(--dsa-nav-dropdown--box-shadow);
|
|
120
|
+
border: var(--dsa-nav-dropdown--border);
|
|
121
|
+
}
|
|
122
|
+
.dsa-nav-topbar .dsa-nav-dropdown:hover .dsa-nav-dropdown__link:not(:hover) {
|
|
123
|
+
opacity: var(--dsa-nav-dropdown__link_dimmed--opacity);
|
|
124
|
+
}
|
|
125
|
+
.dsa-nav-topbar .dsa-nav-dropdown__link {
|
|
126
|
+
font: var(--dsa-nav-dropdown__link--font);
|
|
127
|
+
font-weight: var(--dsa-nav-dropdown__link--font-weight);
|
|
128
|
+
color: var(--dsa-nav-dropdown__link--color);
|
|
129
|
+
position: relative;
|
|
130
|
+
display: block;
|
|
131
|
+
padding: var(--dsa-nav-dropdown__link--padding);
|
|
132
|
+
text-align: left;
|
|
133
|
+
}
|
|
134
|
+
.dsa-nav-topbar .dsa-nav-dropdown__link:hover {
|
|
135
|
+
color: var(--dsa-nav-dropdown__link--color_hover);
|
|
136
|
+
}
|
|
137
|
+
.dsa-nav-topbar .dsa-nav-dropdown__link:active {
|
|
138
|
+
color: var(--dsa-nav-dropdown__link--color_active);
|
|
139
|
+
}
|
|
@@ -1284,7 +1284,7 @@
|
|
|
1284
1284
|
"id": "layout-footer--footer",
|
|
1285
1285
|
"group": "Layout/Footer",
|
|
1286
1286
|
"name": "Footer",
|
|
1287
|
-
"code": "<Footer\n byline=\"© 2024 systemics Inc. All rights reserved.\"\n logo={{\n alt: 'Systemics Logo',\n height: 40,\n homepageHref: '#',\n inverted: false,\n src: '/logo.svg',\n srcInverted: '/logo-inverted.svg',\n width: 176\n }}\n navItems={[\n {\n href: '#',\n label: 'Nav
|
|
1287
|
+
"code": "<Footer\n byline=\"© 2024 systemics Inc. All rights reserved.\"\n logo={{\n alt: 'Systemics Logo',\n height: 40,\n homepageHref: '#',\n inverted: false,\n src: '/logo.svg',\n srcInverted: '/logo-inverted.svg',\n width: 176\n }}\n navItems={[\n {\n href: '#',\n items: [\n {\n href: '#',\n id: 'TEST1',\n label: 'TEST1'\n },\n {\n href: '#',\n id: 'TEST2',\n label: 'TEST2'\n }\n ],\n label: 'Nav With Children'\n },\n {\n active: true,\n href: '#',\n label: 'Active Item'\n },\n {\n href: '#',\n label: 'Another Item'\n },\n {\n href: '#',\n label: 'One more Item'\n },\n {\n href: '#',\n label: 'Last Item'\n }\n ]}\n/>",
|
|
1288
1288
|
"args": {
|
|
1289
1289
|
"logo": {
|
|
1290
1290
|
"src": "/logo.svg",
|
|
@@ -1300,7 +1300,19 @@
|
|
|
1300
1300
|
"navItems": [
|
|
1301
1301
|
{
|
|
1302
1302
|
"href": "#",
|
|
1303
|
-
"label": "Nav
|
|
1303
|
+
"label": "Nav With Children",
|
|
1304
|
+
"items": [
|
|
1305
|
+
{
|
|
1306
|
+
"href": "#",
|
|
1307
|
+
"id": "TEST1",
|
|
1308
|
+
"label": "TEST1"
|
|
1309
|
+
},
|
|
1310
|
+
{
|
|
1311
|
+
"href": "#",
|
|
1312
|
+
"id": "TEST2",
|
|
1313
|
+
"label": "TEST2"
|
|
1314
|
+
}
|
|
1315
|
+
]
|
|
1304
1316
|
},
|
|
1305
1317
|
{
|
|
1306
1318
|
"href": "#",
|
|
@@ -1498,7 +1510,7 @@
|
|
|
1498
1510
|
"id": "layout-header--header",
|
|
1499
1511
|
"group": "Layout/Header",
|
|
1500
1512
|
"name": "Header",
|
|
1501
|
-
"code": "<Header\n logo={{\n alt: 'Systemics Logo',\n height: 40,\n homepageHref: '#',\n src: '/logo.svg',\n srcInverted: '/logo-inverted.svg',\n width: 176\n }}\n navItems={[\n {\n href: '#',\n label: 'Nav
|
|
1513
|
+
"code": "<Header\n logo={{\n alt: 'Systemics Logo',\n height: 40,\n homepageHref: '#',\n src: '/logo.svg',\n srcInverted: '/logo-inverted.svg',\n width: 176\n }}\n navItems={[\n {\n href: '#',\n items: [\n {\n href: '#',\n id: 'TEST1',\n label: 'TEST1'\n },\n {\n href: '#',\n id: 'TEST2',\n label: 'TEST2'\n }\n ],\n label: 'Nav With Children'\n },\n {\n active: true,\n href: '#',\n label: 'Active Item'\n },\n {\n href: '#',\n label: 'Another Item'\n },\n {\n href: '#',\n label: 'One more Item'\n },\n {\n href: '#',\n label: 'Last Item'\n }\n ]}\n/>",
|
|
1502
1514
|
"args": {
|
|
1503
1515
|
"logo": {
|
|
1504
1516
|
"src": "/logo.svg",
|
|
@@ -1509,12 +1521,25 @@
|
|
|
1509
1521
|
"height": 40
|
|
1510
1522
|
},
|
|
1511
1523
|
"flyoutInverted": false,
|
|
1524
|
+
"dropdownInverted": false,
|
|
1512
1525
|
"floating": false,
|
|
1513
1526
|
"inverted": false,
|
|
1514
1527
|
"navItems": [
|
|
1515
1528
|
{
|
|
1516
1529
|
"href": "#",
|
|
1517
|
-
"label": "Nav
|
|
1530
|
+
"label": "Nav With Children",
|
|
1531
|
+
"items": [
|
|
1532
|
+
{
|
|
1533
|
+
"href": "#",
|
|
1534
|
+
"id": "TEST1",
|
|
1535
|
+
"label": "TEST1"
|
|
1536
|
+
},
|
|
1537
|
+
{
|
|
1538
|
+
"href": "#",
|
|
1539
|
+
"id": "TEST2",
|
|
1540
|
+
"label": "TEST2"
|
|
1541
|
+
}
|
|
1542
|
+
]
|
|
1518
1543
|
},
|
|
1519
1544
|
{
|
|
1520
1545
|
"href": "#",
|