@kickstartds/ds-agency-premium 1.3.50 → 1.3.51--canary.674.14f816b.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-440f88a5.d.ts → BlogPostProps-f9a49428.d.ts} +1 -1
- 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/{SectionProps-83d399b4.d.ts → SectionProps-03ff6d21.d.ts} +1 -1
- package/dist/components/blog-overview/index.d.ts +1 -1
- package/dist/components/blog-post/index.d.ts +1 -1
- package/dist/components/footer/footer.schema.dereffed.json +37 -3
- 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 +45 -7
- 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-story/index.d.ts +1 -1
- package/dist/components/index/index.d.ts +5 -5
- 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 +45 -0
- package/dist/components/nav-flyout/index.d.ts +8 -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 +33 -7
- package/dist/components/nav-main/index.js +14 -14
- package/dist/components/nav-main/nav-main.schema.dereffed.json +71 -3
- package/dist/components/nav-main/nav-main.schema.json +53 -4
- 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 +82 -0
- package/dist/components/page-wrapper/tokens.css +1 -1
- package/dist/components/presets.json +31 -6
- package/dist/components/section/index.d.ts +1 -1
- package/dist/components/settings/settings.schema.dereffed.json +82 -10
- 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/{BlogOverviewProps-f385fc47.d.ts → BlogOverviewProps-525f7f9f.d.ts} +0 -0
- /package/dist/{ImageStoryProps-e853e1e7.d.ts → ImageStoryProps-03ff6d21.d.ts} +0 -0
- /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
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { BlogHeadProps } from "./BlogHeadProps-f9a49428.js";
|
|
7
7
|
import { BlogAsideProps } from "./BlogAsideProps-e1cbd5d3.js";
|
|
8
|
-
import { SectionProps } from "./SectionProps-
|
|
8
|
+
import { SectionProps } from "./SectionProps-03ff6d21.js";
|
|
9
9
|
import { CtaProps } from "./CtaProps-93230a76.js";
|
|
10
10
|
import { SeoProps } from "./SeoProps-f2d6dcaa.js";
|
|
11
11
|
/**
|
|
@@ -27,6 +27,10 @@ type Height = number;
|
|
|
27
27
|
* Toggle the inversion of the flyout navigation
|
|
28
28
|
*/
|
|
29
29
|
type FlyoutInverted = boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Toggle the inversion of the dropdown navigation
|
|
32
|
+
*/
|
|
33
|
+
type DropdownInverted = boolean;
|
|
30
34
|
/**
|
|
31
35
|
* Make the header float over the first Section
|
|
32
36
|
*/
|
|
@@ -35,15 +39,25 @@ type Floating = boolean;
|
|
|
35
39
|
* Invert the color scheme of the header
|
|
36
40
|
*/
|
|
37
41
|
type Inverted = boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Header layered on top by the CMS
|
|
44
|
+
*/
|
|
38
45
|
interface HeaderProps {
|
|
39
|
-
logo
|
|
46
|
+
logo?: Logo;
|
|
40
47
|
flyoutInverted?: FlyoutInverted;
|
|
48
|
+
dropdownInverted?: DropdownInverted;
|
|
41
49
|
floating?: Floating;
|
|
42
50
|
inverted?: Inverted;
|
|
43
51
|
navItems?: {
|
|
44
52
|
href: string;
|
|
45
53
|
label: string;
|
|
46
54
|
active?: boolean;
|
|
55
|
+
items?: {
|
|
56
|
+
href?: string;
|
|
57
|
+
id?: string;
|
|
58
|
+
label?: string;
|
|
59
|
+
active?: boolean;
|
|
60
|
+
}[];
|
|
47
61
|
}[];
|
|
48
62
|
}
|
|
49
63
|
interface Logo {
|
|
@@ -54,4 +68,4 @@ interface Logo {
|
|
|
54
68
|
width?: Width;
|
|
55
69
|
height?: Height;
|
|
56
70
|
}
|
|
57
|
-
export { Source, Source1, AltText, Width, Height, FlyoutInverted, Floating, Inverted, HeaderProps, Logo };
|
|
71
|
+
export { Source, Source1, AltText, Width, Height, FlyoutInverted, DropdownInverted, Floating, Inverted, HeaderProps, Logo };
|
|
@@ -8,7 +8,7 @@ import { FaqProps } from "./FaqProps-ad618cd5.js";
|
|
|
8
8
|
import { FeaturesProps } from "./FeaturesProps-b05859d6.js";
|
|
9
9
|
import { GalleryProps } from "./GalleryProps-76e7de44.js";
|
|
10
10
|
import { HeroProps } from "./HeroProps-cf82a16d.js";
|
|
11
|
-
import { ImageStoryProps } from "./ImageStoryProps-
|
|
11
|
+
import { ImageStoryProps } from "./ImageStoryProps-03ff6d21.js";
|
|
12
12
|
import { ImageTextProps } from "./ImageTextProps-9286cca4.js";
|
|
13
13
|
import { LogosProps } from "./LogosProps-f9474fe2.js";
|
|
14
14
|
import { MosaicProps } from "./MosaicProps-d52c7151.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { BlogOverviewProps } from "../../BlogOverviewProps-
|
|
2
|
+
import { BlogOverviewProps } from "../../BlogOverviewProps-525f7f9f.js";
|
|
3
3
|
declare const BlogOverview: {
|
|
4
4
|
({ latest, more }: BlogOverviewProps): import("react/jsx-runtime").JSX.Element;
|
|
5
5
|
displayName: string;
|
|
@@ -77,6 +77,28 @@
|
|
|
77
77
|
},
|
|
78
78
|
"active": {
|
|
79
79
|
"type": "boolean"
|
|
80
|
+
},
|
|
81
|
+
"items": {
|
|
82
|
+
"type": "array",
|
|
83
|
+
"items": {
|
|
84
|
+
"type": "object",
|
|
85
|
+
"properties": {
|
|
86
|
+
"href": {
|
|
87
|
+
"type": "string",
|
|
88
|
+
"format": "uri"
|
|
89
|
+
},
|
|
90
|
+
"id": {
|
|
91
|
+
"type": "string"
|
|
92
|
+
},
|
|
93
|
+
"label": {
|
|
94
|
+
"type": "string"
|
|
95
|
+
},
|
|
96
|
+
"active": {
|
|
97
|
+
"type": "boolean"
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
"additionalProperties": false
|
|
101
|
+
}
|
|
80
102
|
}
|
|
81
103
|
},
|
|
82
104
|
"additionalProperties": false,
|
|
@@ -88,7 +110,7 @@
|
|
|
88
110
|
"examples": [
|
|
89
111
|
[
|
|
90
112
|
{
|
|
91
|
-
"label": "
|
|
113
|
+
"label": "Navigation Item",
|
|
92
114
|
"href": "#"
|
|
93
115
|
},
|
|
94
116
|
{
|
|
@@ -97,8 +119,20 @@
|
|
|
97
119
|
"active": true
|
|
98
120
|
},
|
|
99
121
|
{
|
|
100
|
-
"label": "
|
|
101
|
-
"href": "#"
|
|
122
|
+
"label": "Item With Children",
|
|
123
|
+
"href": "#",
|
|
124
|
+
"items": [
|
|
125
|
+
{
|
|
126
|
+
"label": "Level 2 Item",
|
|
127
|
+
"href": "#",
|
|
128
|
+
"id": ""
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"label": "Another One",
|
|
132
|
+
"href": "#",
|
|
133
|
+
"id": ""
|
|
134
|
+
}
|
|
135
|
+
]
|
|
102
136
|
},
|
|
103
137
|
{
|
|
104
138
|
"label": "One more Item",
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "http://schema.mydesignsystem.com/header.schema.json",
|
|
4
4
|
"title": "Header",
|
|
5
|
+
"description": "Header layered on top by the CMS",
|
|
5
6
|
"type": "object",
|
|
6
7
|
"properties": {
|
|
7
8
|
"logo": {
|
|
@@ -57,6 +58,12 @@
|
|
|
57
58
|
"description": "Toggle the inversion of the flyout navigation",
|
|
58
59
|
"default": false
|
|
59
60
|
},
|
|
61
|
+
"dropdownInverted": {
|
|
62
|
+
"type": "boolean",
|
|
63
|
+
"title": "Dropdown Inverted",
|
|
64
|
+
"description": "Toggle the inversion of the dropdown navigation",
|
|
65
|
+
"default": false
|
|
66
|
+
},
|
|
60
67
|
"floating": {
|
|
61
68
|
"type": "boolean",
|
|
62
69
|
"title": "Floating",
|
|
@@ -83,6 +90,28 @@
|
|
|
83
90
|
},
|
|
84
91
|
"active": {
|
|
85
92
|
"type": "boolean"
|
|
93
|
+
},
|
|
94
|
+
"items": {
|
|
95
|
+
"type": "array",
|
|
96
|
+
"items": {
|
|
97
|
+
"type": "object",
|
|
98
|
+
"properties": {
|
|
99
|
+
"href": {
|
|
100
|
+
"type": "string",
|
|
101
|
+
"format": "uri"
|
|
102
|
+
},
|
|
103
|
+
"id": {
|
|
104
|
+
"type": "string"
|
|
105
|
+
},
|
|
106
|
+
"label": {
|
|
107
|
+
"type": "string"
|
|
108
|
+
},
|
|
109
|
+
"active": {
|
|
110
|
+
"type": "boolean"
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
"additionalProperties": false
|
|
114
|
+
}
|
|
86
115
|
}
|
|
87
116
|
},
|
|
88
117
|
"additionalProperties": false,
|
|
@@ -94,7 +123,7 @@
|
|
|
94
123
|
"examples": [
|
|
95
124
|
[
|
|
96
125
|
{
|
|
97
|
-
"label": "
|
|
126
|
+
"label": "Navigation Item",
|
|
98
127
|
"href": "#"
|
|
99
128
|
},
|
|
100
129
|
{
|
|
@@ -103,8 +132,20 @@
|
|
|
103
132
|
"active": true
|
|
104
133
|
},
|
|
105
134
|
{
|
|
106
|
-
"label": "
|
|
107
|
-
"href": "#"
|
|
135
|
+
"label": "Item With Children",
|
|
136
|
+
"href": "#",
|
|
137
|
+
"items": [
|
|
138
|
+
{
|
|
139
|
+
"label": "Level 2 Item",
|
|
140
|
+
"href": "#",
|
|
141
|
+
"id": ""
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"label": "Another One",
|
|
145
|
+
"href": "#",
|
|
146
|
+
"id": ""
|
|
147
|
+
}
|
|
148
|
+
]
|
|
108
149
|
},
|
|
109
150
|
{
|
|
110
151
|
"label": "One more Item",
|
|
@@ -121,8 +162,5 @@
|
|
|
121
162
|
"const": "header"
|
|
122
163
|
}
|
|
123
164
|
},
|
|
124
|
-
"additionalProperties": false
|
|
125
|
-
"required": [
|
|
126
|
-
"logo"
|
|
127
|
-
]
|
|
165
|
+
"additionalProperties": false
|
|
128
166
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "http://schema.mydesignsystem.com/header.schema.json",
|
|
4
4
|
"title": "Header",
|
|
5
|
+
"description": "Header layered on top by the CMS",
|
|
5
6
|
"type": "object",
|
|
6
7
|
"properties": {
|
|
7
8
|
"logo": {
|
|
@@ -31,6 +32,9 @@
|
|
|
31
32
|
"flyoutInverted": {
|
|
32
33
|
"$ref": "http://schema.mydesignsystem.com/nav-main.schema.json#/properties/flyoutInverted"
|
|
33
34
|
},
|
|
35
|
+
"dropdownInverted": {
|
|
36
|
+
"$ref": "http://schema.mydesignsystem.com/nav-main.schema.json#/properties/dropdownInverted"
|
|
37
|
+
},
|
|
34
38
|
"floating": {
|
|
35
39
|
"type": "boolean",
|
|
36
40
|
"title": "Floating",
|
|
@@ -46,7 +50,5 @@
|
|
|
46
50
|
"navItems": {
|
|
47
51
|
"$ref": "http://schema.mydesignsystem.com/nav-main.schema.json#/properties/items"
|
|
48
52
|
}
|
|
49
|
-
}
|
|
50
|
-
"additionalProperties": false,
|
|
51
|
-
"required": ["logo"]
|
|
53
|
+
}
|
|
52
54
|
}
|
|
@@ -3,16 +3,20 @@ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
|
3
3
|
import classnames from 'classnames';
|
|
4
4
|
import { NavMain } from '../nav-main/index.js';
|
|
5
5
|
import { Logo } from '../logo/index.js';
|
|
6
|
-
import '
|
|
7
|
-
import '@kickstartds/base/lib/link';
|
|
8
|
-
import '../nav-main/js/NavToggle.client.js';
|
|
6
|
+
import '../nav/js/NavToggle.client.js';
|
|
9
7
|
import '@kickstartds/core/lib/component';
|
|
10
|
-
import '../nav
|
|
8
|
+
import '../nav/js/navMainEvents.client.js';
|
|
11
9
|
import '@kickstartds/core/lib/core';
|
|
12
|
-
import '../nav
|
|
10
|
+
import '../nav/js/body.client.js';
|
|
11
|
+
import '../nav-toggle/index.js';
|
|
12
|
+
import '../nav-topbar/index.js';
|
|
13
|
+
import '@kickstartds/base/lib/link';
|
|
14
|
+
import '@kickstartds/base/lib/icon';
|
|
15
|
+
import '../nav-dropdown/index.js';
|
|
16
|
+
import '../nav-flyout/index.js';
|
|
13
17
|
import '@kickstartds/base/lib/picture';
|
|
14
18
|
|
|
15
|
-
const Header = ({ logo, floating, inverted = false, flyoutInverted = false, navItems = [], }) => (jsx(Fragment, { children: jsx("div", { className: classnames("dsa-header", floating ? `dsa-header--floating` : ""), "ks-inverted": inverted.toString(), children: jsxs("div", { className: "dsa-header__content", children: [jsx(Logo, { ...logo, className: "dsa-header__logo", inverted: inverted }), jsx(NavMain, { flyoutInverted: flyoutInverted, items: navItems, logo: {
|
|
19
|
+
const Header = ({ logo, floating, inverted = false, flyoutInverted = false, dropdownInverted = false, navItems = [], }) => (jsx(Fragment, { children: jsx("div", { className: classnames("dsa-header", floating ? `dsa-header--floating` : ""), "ks-inverted": inverted.toString(), children: jsxs("div", { className: "dsa-header__content", children: [jsx(Logo, { ...logo, className: "dsa-header__logo", inverted: inverted }), jsx(NavMain, { flyoutInverted: flyoutInverted, dropdownInverted: dropdownInverted, items: navItems, logo: {
|
|
16
20
|
...logo,
|
|
17
21
|
inverted: flyoutInverted,
|
|
18
22
|
} })] }) }) }));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { HTMLAttributes } from "react";
|
|
3
|
-
import { ImageStoryProps } from "../../ImageStoryProps-
|
|
3
|
+
import { ImageStoryProps } from "../../ImageStoryProps-03ff6d21.js";
|
|
4
4
|
declare const ImageStoryContextDefault: import("react").ForwardRefExoticComponent<ImageStoryProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
|
|
5
5
|
declare const ImageStoryContext: import("react").Context<import("react").ForwardRefExoticComponent<ImageStoryProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
|
|
6
6
|
declare const ImageStory: import("react").ForwardRefExoticComponent<ImageStoryProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
|
5
5
|
* and run json-schema-to-typescript to regenerate this file.
|
|
6
6
|
*/
|
|
7
|
-
import { SectionProps } from "../../SectionProps-
|
|
7
|
+
import { SectionProps } from "../../SectionProps-03ff6d21.js";
|
|
8
8
|
import { SeoProps } from "../../SeoProps-f2d6dcaa.js";
|
|
9
9
|
/* eslint-disable */
|
|
10
10
|
/**
|
|
@@ -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
|
*/
|
|
@@ -72,6 +72,6 @@ interface SettingsProps {
|
|
|
72
72
|
*/
|
|
73
73
|
seo: SeoProps;
|
|
74
74
|
}
|
|
75
|
-
export * from "../../BlogPostProps-
|
|
76
|
-
export * from "../../BlogOverviewProps-
|
|
75
|
+
export * from "../../BlogPostProps-f9a49428.js";
|
|
76
|
+
export * from "../../BlogOverviewProps-525f7f9f.js";
|
|
77
77
|
export { Sections, ToggleFloating, ToggleInverted, ToggleInverted1, PageProps, Header, Footer, SettingsProps };
|
|
@@ -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,10 @@
|
|
|
1
|
+
import "./nav-dropdown.css";
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import classnames from 'classnames';
|
|
4
|
+
import { Link } from '@kickstartds/base/lib/link';
|
|
5
|
+
|
|
6
|
+
const NavDropdown = ({ items, inverted }) => (jsx("ul", { className: classnames(`dsa-nav-dropdown`), "ks-inverted": inverted?.toString(), children: items.map(({ label, href, id }) => {
|
|
7
|
+
return (jsx("li", { className: classnames("dsa-nav-dropdown__item"), children: jsx(Link, { href: href, className: `dsa-nav-dropdown__link `, children: label }) }, id));
|
|
8
|
+
}) }));
|
|
9
|
+
|
|
10
|
+
export { NavDropdown };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
.dsa-nav-dropdown {
|
|
2
|
+
--dsa-nav-dropdown--padding: var(--ks-spacing-inset-stretch-xs);
|
|
3
|
+
--dsa-nav-dropdown--background: var(--ks-background-color-default);
|
|
4
|
+
--dsa-nav-dropdown--border-radius: var(--ks-border-radius-card);
|
|
5
|
+
--dsa-nav-dropdown--box-shadow: var(--ks-box-shadow-card);
|
|
6
|
+
--dsa-nav-dropdown--border: 1px solid var(--ks-border-color-card);
|
|
7
|
+
--dsa-nav-dropdown__link--color: var(--ks-color-fg);
|
|
8
|
+
--dsa-nav-dropdown__link--color_hover: var(--ks-text-color-interface-interactive-hover);
|
|
9
|
+
--dsa-nav-dropdown__link--color_active: var(--ks-text-color-interface-interactive-active);
|
|
10
|
+
--dsa-nav-dropdown__link--font: var(--ks-font-interface-m);
|
|
11
|
+
--dsa-nav-dropdown__link--font-weight: var(--ks-font-weight-semi-bold);
|
|
12
|
+
--dsa-nav-dropdown__link--font-weight_active: var(--ks-font-weight-semi-bold);
|
|
13
|
+
--dsa-nav-dropdown__link--padding: 0.35em 0.25em;
|
|
14
|
+
--dsa-nav-dropdown__link_dimmed--opacity: 0.6;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.dsa-nav-dropdown {
|
|
18
|
+
display: none;
|
|
19
|
+
padding: var(--dsa-nav-dropdown--padding);
|
|
20
|
+
position: absolute;
|
|
21
|
+
flex-direction: column;
|
|
22
|
+
align-items: flex-start;
|
|
23
|
+
background-color: var(--dsa-nav-dropdown--background);
|
|
24
|
+
border-radius: var(--dsa-nav-dropdown--border-radius);
|
|
25
|
+
box-shadow: var(--dsa-nav-dropdown--box-shadow);
|
|
26
|
+
border: var(--dsa-nav-dropdown--border);
|
|
27
|
+
}
|
|
28
|
+
.dsa-nav-dropdown:hover .dsa-nav-dropdown__link:not(:hover) {
|
|
29
|
+
opacity: var(--dsa-nav-dropdown__link_dimmed--opacity);
|
|
30
|
+
}
|
|
31
|
+
.dsa-nav-dropdown .dsa-nav-dropdown__link {
|
|
32
|
+
font: var(--dsa-nav-dropdown__link--font);
|
|
33
|
+
font-weight: var(--dsa-nav-dropdown__link--font-weight);
|
|
34
|
+
color: var(--dsa-nav-dropdown__link--color);
|
|
35
|
+
position: relative;
|
|
36
|
+
display: block;
|
|
37
|
+
padding: var(--dsa-nav-dropdown__link--padding);
|
|
38
|
+
text-align: left;
|
|
39
|
+
}
|
|
40
|
+
.dsa-nav-dropdown .dsa-nav-dropdown__link:hover {
|
|
41
|
+
color: var(--dsa-nav-dropdown__link--color_hover);
|
|
42
|
+
}
|
|
43
|
+
.dsa-nav-dropdown .dsa-nav-dropdown__link:active {
|
|
44
|
+
color: var(--dsa-nav-dropdown__link--color_active);
|
|
45
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import "./nav-flyout.css";
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import classnames from 'classnames';
|
|
4
|
+
import { Link } from '@kickstartds/base/lib/link';
|
|
5
|
+
import { Icon } from '@kickstartds/base/lib/icon';
|
|
6
|
+
import { Logo } from '../logo/index.js';
|
|
7
|
+
import '@kickstartds/base/lib/picture';
|
|
8
|
+
|
|
9
|
+
const NavFlyout = ({ items, inverted, logo, active }) => items && items.length > 0 ? (jsxs("nav", { className: "dsa-nav-flyout", "ks-inverted": inverted.toString(), id: "dsa-nav-flyout", "aria-label": "Hauptnavigation", children: [jsx(Logo, { ...logo, className: "dsa-nav-flyout__logo" }), jsx("ul", { className: "dsa-nav-flyout-list", children: items.map(({ label, href, id, items: subItems }) => {
|
|
10
|
+
const isActive = active === href ||
|
|
11
|
+
subItems?.some((navItem) => active === navItem.href);
|
|
12
|
+
return (jsxs("li", { className: classnames("dsa-nav-flyout__item", isActive && "dsa-nav-flyout__item--active"), children: [jsxs(Link, { href: href, className: `dsa-nav-flyout__link`, children: [label, subItems?.length ? (jsx(Icon, { className: "dsa-nav-flyout__link__icon", icon: "chevron-down" })) : ("")] }), subItems?.length ? (jsx("ul", { className: "dsa-nav-flyout__sublist", children: subItems.map(({ label, href, id }) => {
|
|
13
|
+
return (jsx("li", { className: classnames("dsa-nav-flyout__item"), children: jsx(Link, { href: href, className: `dsa-nav-flyout__link `, children: label }) }, id));
|
|
14
|
+
}) })) : null] }, id));
|
|
15
|
+
}) })] })) : null;
|
|
16
|
+
|
|
17
|
+
export { NavFlyout };
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
.dsa-nav-flyout {
|
|
2
|
+
--dsa-nav-flyout--padding: 0 var(--l-section--content-padding);
|
|
3
|
+
--dsa-nav-flyout--background: linear-gradient(
|
|
4
|
+
125deg,
|
|
5
|
+
var(--ks-background-color-default),
|
|
6
|
+
var(--ks-color-primary-to-bg-6)
|
|
7
|
+
);
|
|
8
|
+
--dsa-nav-flyout--shadow: 20px 0px 30px var(--ks-color-fg-inverted-base);
|
|
9
|
+
--dsa-nav-flyout__link--color: var(--ks-color-fg);
|
|
10
|
+
--dsa-nav-flyout__link--color_hover: var(--ks-text-color-interface-interactive-hover);
|
|
11
|
+
--dsa-nav-flyout__link--color_active: var(--ks-text-color-interface-interactive-active);
|
|
12
|
+
--dsa-nav-flyout__link--font: var(--ks-font-interface-l);
|
|
13
|
+
--dsa-nav-flyout__link--font-weight: var(--ks-font-weight-semi-bold);
|
|
14
|
+
--dsa-nav-flyout__link--font-weight_active: var(--ks-font-weight-semi-bold);
|
|
15
|
+
--dsa-nav-flyout__link--padding: 0.25em 0;
|
|
16
|
+
--dsa-nav-flyout__link_dimmed--opacity: 0.6;
|
|
17
|
+
--dsa-nav-flyout__sublist--padding-left: 1em;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.dsa-nav-flyout {
|
|
21
|
+
display: none;
|
|
22
|
+
left: -100%;
|
|
23
|
+
height: 100vh;
|
|
24
|
+
overflow: hidden;
|
|
25
|
+
position: fixed;
|
|
26
|
+
width: 77vw;
|
|
27
|
+
max-width: 23rem;
|
|
28
|
+
transition: all var(--ks-duration-slow);
|
|
29
|
+
padding: var(--dsa-nav-flyout--padding);
|
|
30
|
+
right: 0;
|
|
31
|
+
bottom: 0;
|
|
32
|
+
top: 0;
|
|
33
|
+
overflow-y: auto;
|
|
34
|
+
background: var(--dsa-nav-flyout--background);
|
|
35
|
+
backface-visibility: hidden;
|
|
36
|
+
-webkit-overflow-scrolling: touch;
|
|
37
|
+
}
|
|
38
|
+
@media (max-width: 62rem) {
|
|
39
|
+
.dsa-nav-flyout {
|
|
40
|
+
display: block;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
.dsa-nav-flyout ul {
|
|
44
|
+
padding: 0;
|
|
45
|
+
margin: 0;
|
|
46
|
+
}
|
|
47
|
+
.overlay-open .dsa-nav-flyout {
|
|
48
|
+
left: 0;
|
|
49
|
+
box-shadow: var(--dsa-nav-flyout--shadow);
|
|
50
|
+
}
|
|
51
|
+
.dsa-nav-flyout .dsa-nav-flyout__logo {
|
|
52
|
+
margin-top: var(--dsa-header--spacing-vertical);
|
|
53
|
+
margin-bottom: var(--dsa-header--spacing-vertical);
|
|
54
|
+
}
|
|
55
|
+
.dsa-nav-flyout .dsa-nav-flyout__list {
|
|
56
|
+
padding-top: calc(var(--dsa-header--spacing-vertical) - var(--ks-spacing-s));
|
|
57
|
+
}
|
|
58
|
+
.dsa-nav-flyout .dsa-nav-flyout__item {
|
|
59
|
+
flex-shrink: 0;
|
|
60
|
+
position: relative;
|
|
61
|
+
outline: 0;
|
|
62
|
+
}
|
|
63
|
+
.dsa-nav-flyout .dsa-nav-flyout__item:hover > .dsa-nav-sublist {
|
|
64
|
+
display: flex;
|
|
65
|
+
}
|
|
66
|
+
.dsa-nav-flyout .dsa-nav-flyout__link {
|
|
67
|
+
font: var(--dsa-nav-flyout__link--font);
|
|
68
|
+
font-weight: var(--dsa-nav-flyout__link--font-weight);
|
|
69
|
+
color: var(--dsa-nav-flyout__link--color);
|
|
70
|
+
position: relative;
|
|
71
|
+
display: flex;
|
|
72
|
+
height: 100%;
|
|
73
|
+
align-items: center;
|
|
74
|
+
padding: var(--dsa-nav-flyout__link--padding);
|
|
75
|
+
}
|
|
76
|
+
.dsa-nav-flyout .dsa-nav-flyout__link:hover {
|
|
77
|
+
color: var(--dsa-nav-flyout__link--color_hover);
|
|
78
|
+
}
|
|
79
|
+
.dsa-nav-flyout .dsa-nav-flyout__link:active {
|
|
80
|
+
color: var(--dsa-nav-flyout__link--color_active);
|
|
81
|
+
}
|
|
82
|
+
.dsa-nav-flyout .dsa-nav-flyout__sublist {
|
|
83
|
+
padding-left: var(--dsa-nav-flyout__sublist--padding-left);
|
|
84
|
+
}
|
|
85
|
+
.dsa-nav-flyout .dsa-nav-flyout__sublist:hover .dsa-nav-sublist__link:not(:hover) {
|
|
86
|
+
opacity: var(--dsa-nav-sublist__link_dimmed--opacity);
|
|
87
|
+
}
|
|
88
|
+
.dsa-nav-flyout ul {
|
|
89
|
+
box-sizing: border-box;
|
|
90
|
+
margin: 0;
|
|
91
|
+
padding: 0;
|
|
92
|
+
list-style: none;
|
|
93
|
+
}
|
|
94
|
+
.dsa-nav-flyout ul li {
|
|
95
|
+
display: block;
|
|
96
|
+
margin: 0;
|
|
97
|
+
}
|
|
@@ -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 };
|