@kickstartds/ds-agency-premium 1.4.0--canary.14.713.0 → 1.4.0--canary.14.724.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 (30) hide show
  1. package/dist/components/header/index.d.ts +6 -3
  2. package/dist/components/header/index.js +15 -9
  3. package/dist/components/logo/index.d.ts +6 -3
  4. package/dist/components/logo/index.js +10 -4
  5. package/dist/components/nav-dropdown/nav-dropdown.schema.dereffed.json +40 -0
  6. package/dist/components/nav-dropdown/nav-dropdown.schema.json +18 -0
  7. package/dist/components/nav-flyout/index.d.ts +33 -6
  8. package/dist/components/nav-flyout/index.js +10 -3
  9. package/dist/components/nav-flyout/nav-flyout.schema.dereffed.json +169 -0
  10. package/dist/components/nav-flyout/nav-flyout.schema.json +19 -0
  11. package/dist/components/nav-main/index.d.ts +6 -3
  12. package/dist/components/nav-main/index.js +13 -6
  13. package/dist/components/nav-toggle/index.d.ts +6 -3
  14. package/dist/components/nav-toggle/index.js +9 -2
  15. package/dist/components/nav-toggle/nav-toggle.css +5 -9
  16. package/dist/components/nav-topbar/index.d.ts +28 -5
  17. package/dist/components/nav-topbar/index.js +11 -4
  18. package/dist/components/nav-topbar/nav-topbar.schema.dereffed.json +107 -0
  19. package/dist/components/nav-topbar/nav-topbar.schema.json +16 -0
  20. package/dist/components/page-wrapper/tokens.css +2 -2
  21. package/dist/tokens/themes.css +4 -4
  22. package/dist/tokens/tokens.css +2 -2
  23. package/dist/tokens/tokens.js +2 -2
  24. package/package.json +1 -1
  25. /package/dist/components/{nav → nav-main}/js/NavToggle.client.d.ts +0 -0
  26. /package/dist/components/{nav → nav-main}/js/NavToggle.client.js +0 -0
  27. /package/dist/components/{nav → nav-main}/js/body.client.d.ts +0 -0
  28. /package/dist/components/{nav → nav-main}/js/body.client.js +0 -0
  29. /package/dist/components/{nav → nav-main}/js/navMainEvents.client.d.ts +0 -0
  30. /package/dist/components/{nav → nav-main}/js/navMainEvents.client.js +0 -0
@@ -1,4 +1,7 @@
1
- import { FC } from "react";
1
+ /// <reference types="react" />
2
+ import { HTMLAttributes } from "react";
2
3
  import { HeaderProps } from "../../HeaderProps-e22382f1.js";
3
- declare const Header: FC<HeaderProps>;
4
- export { Header };
4
+ declare const HeaderContextDefault: import("react").ForwardRefExoticComponent<HeaderProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
5
+ declare const HeaderContext: import("react").Context<import("react").ForwardRefExoticComponent<HeaderProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
6
+ declare const Header: import("react").ForwardRefExoticComponent<HeaderProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
7
+ export { HeaderContextDefault, HeaderContext, Header };
@@ -1,13 +1,14 @@
1
1
  import "./header.css";
2
- import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
3
  import classnames from 'classnames';
4
+ import { forwardRef, createContext, useContext } from 'react';
4
5
  import { NavMain } from '../nav-main/index.js';
5
6
  import { Logo } from '../logo/index.js';
6
- import '../nav/js/NavToggle.client.js';
7
+ import '../nav-main/js/NavToggle.client.js';
7
8
  import '@kickstartds/core/lib/component';
8
- import '../nav/js/navMainEvents.client.js';
9
+ import '../nav-main/js/navMainEvents.client.js';
9
10
  import '@kickstartds/core/lib/core';
10
- import '../nav/js/body.client.js';
11
+ import '../nav-main/js/body.client.js';
11
12
  import '../nav-toggle/index.js';
12
13
  import '../nav-topbar/index.js';
13
14
  import '@kickstartds/base/lib/link';
@@ -16,10 +17,15 @@ import '../nav-dropdown/index.js';
16
17
  import '../nav-flyout/index.js';
17
18
  import '@kickstartds/base/lib/picture';
18
19
 
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: {
20
- ...logo,
21
- inverted: flyoutInverted,
22
- } })] }) }) }));
20
+ const HeaderContextDefault = forwardRef(({ logo, floating, inverted = false, flyoutInverted = false, dropdownInverted = false, navItems = [], }, ref) => (jsx("div", { className: classnames("dsa-header", floating ? `dsa-header--floating` : ""), "ks-inverted": inverted.toString(), ref: ref, 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: {
21
+ ...logo,
22
+ inverted: flyoutInverted,
23
+ } })] }) })));
24
+ const HeaderContext = createContext(HeaderContextDefault);
25
+ const Header = forwardRef((props, ref) => {
26
+ const Component = useContext(HeaderContext);
27
+ return jsx(Component, { ...props, ref: ref });
28
+ });
23
29
  Header.displayName = "Header";
24
30
 
25
- export { Header };
31
+ export { Header, HeaderContext, HeaderContextDefault };
@@ -1,4 +1,7 @@
1
- import { FC } from "react";
1
+ /// <reference types="react" />
2
+ import { ImgHTMLAttributes } from "react";
2
3
  import { LogoProps } from "../../LogoProps-01796f0a.js";
3
- declare const Logo: FC<LogoProps>;
4
- export { Logo };
4
+ declare const LogoContextDefault: import("react").ForwardRefExoticComponent<LogoProps & ImgHTMLAttributes<HTMLImageElement> & import("react").RefAttributes<HTMLImageElement>>;
5
+ declare const LogoContext: import("react").Context<import("react").ForwardRefExoticComponent<LogoProps & ImgHTMLAttributes<HTMLImageElement> & import("react").RefAttributes<HTMLImageElement>>>;
6
+ declare const Logo: import("react").ForwardRefExoticComponent<LogoProps & ImgHTMLAttributes<HTMLImageElement> & import("react").RefAttributes<HTMLImageElement>>;
7
+ export { LogoContextDefault, LogoContext, Logo };
@@ -1,12 +1,18 @@
1
1
  import "./logo.css";
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import classnames from 'classnames';
4
+ import { forwardRef, createContext, useContext } from 'react';
4
5
  import { Picture } from '@kickstartds/base/lib/picture';
5
6
  import { Link } from '@kickstartds/base/lib/link';
6
7
 
7
- const Logo = ({ src, srcInverted, alt, inverted = false, width, height, homepageHref, className, }) => {
8
- return (jsx(Link, { className: classnames("dsa-logo", className), href: homepageHref, children: jsx(Picture, { className: "dsa-logo__img", src: inverted && srcInverted ? srcInverted : src, alt: alt, width: width, height: height }) }));
9
- };
8
+ const LogoContextDefault = forwardRef(({ src, srcInverted, alt, inverted = false, width, height, homepageHref, className, }, ref) => {
9
+ return (jsx(Link, { className: classnames("dsa-logo", className), href: homepageHref, children: jsx(Picture, { ref: ref, className: "dsa-logo__img", src: inverted && srcInverted ? srcInverted : src, alt: alt, width: width, height: height }) }));
10
+ });
11
+ const LogoContext = createContext(LogoContextDefault);
12
+ const Logo = forwardRef((props, ref) => {
13
+ const Component = useContext(LogoContext);
14
+ return jsx(Component, { ...props, ref: ref });
15
+ });
10
16
  Logo.displayName = "Logo";
11
17
 
12
- export { Logo };
18
+ export { Logo, LogoContext, LogoContextDefault };
@@ -0,0 +1,40 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/nav-dropdown.schema.json",
4
+ "title": "Nav Dropdown",
5
+ "type": "object",
6
+ "properties": {
7
+ "inverted": {
8
+ "type": "boolean",
9
+ "title": "Dropdown Inverted",
10
+ "description": "Toggle the inversion of the dropdown navigation",
11
+ "default": false
12
+ },
13
+ "items": {
14
+ "type": "array",
15
+ "items": {
16
+ "type": "object",
17
+ "properties": {
18
+ "href": {
19
+ "type": "string",
20
+ "format": "uri"
21
+ },
22
+ "label": {
23
+ "type": "string"
24
+ },
25
+ "active": {
26
+ "type": "boolean"
27
+ }
28
+ },
29
+ "additionalProperties": false
30
+ }
31
+ },
32
+ "className": {
33
+ "type": "string"
34
+ },
35
+ "type": {
36
+ "const": "nav-dropdown"
37
+ }
38
+ },
39
+ "additionalProperties": false
40
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/nav-dropdown.schema.json",
4
+ "title": "Nav Dropdown",
5
+ "type": "object",
6
+ "properties": {
7
+ "inverted": {
8
+ "$ref": "http://schema.mydesignsystem.com/nav-main.schema.json#/properties/dropdownInverted"
9
+ },
10
+ "items": {
11
+ "$ref": "http://schema.mydesignsystem.com/nav-main.schema.json#/properties/items/items/properties/items"
12
+ },
13
+ "className": {
14
+ "type": "string"
15
+ }
16
+ },
17
+ "additionalProperties": false
18
+ }
@@ -1,7 +1,34 @@
1
1
  /// <reference types="react" />
2
- declare const NavFlyout: ({ items, inverted, logo }: {
3
- items: any;
4
- inverted: any;
5
- logo: any;
6
- }) => import("react/jsx-runtime").JSX.Element;
7
- export { NavFlyout };
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
+ import { LogoProps } from "../../LogoProps-01796f0a.js";
9
+ import { HTMLAttributes } from "react";
10
+ /**
11
+ * Toggle the inversion of the flyout navigation
12
+ */
13
+ type FlyoutInverted = boolean;
14
+ interface NavFlyoutProps {
15
+ items?: {
16
+ href: string;
17
+ label: string;
18
+ active?: boolean;
19
+ items?: {
20
+ href?: string;
21
+ label?: string;
22
+ active?: boolean;
23
+ }[];
24
+ }[];
25
+ inverted?: FlyoutInverted;
26
+ /**
27
+ * Referenced component LogoProps
28
+ */
29
+ logo: LogoProps;
30
+ }
31
+ declare const NavFlyoutContextDefault: import("react").ForwardRefExoticComponent<NavFlyoutProps & HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLDivElement>>;
32
+ declare const NavFlyoutContext: import("react").Context<import("react").ForwardRefExoticComponent<NavFlyoutProps & HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLDivElement>>>;
33
+ declare const NavFlyout: import("react").ForwardRefExoticComponent<NavFlyoutProps & HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLDivElement>>;
34
+ export { NavFlyoutContextDefault, NavFlyoutContext, NavFlyout };
@@ -4,12 +4,19 @@ import classnames from 'classnames';
4
4
  import { Link } from '@kickstartds/base/lib/link';
5
5
  import { Icon } from '@kickstartds/base/lib/icon';
6
6
  import { Logo } from '../logo/index.js';
7
+ import { forwardRef, createContext, useContext } from 'react';
7
8
  import '@kickstartds/base/lib/picture';
8
9
 
9
- const NavFlyout = ({ items, inverted, logo }) => 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, active, items: subItems }) => {
10
+ const NavFlyoutContextDefault = forwardRef(({ items, inverted, logo }, ref) => items && items.length > 0 ? (jsxs("nav", { className: "dsa-nav-flyout", "ks-inverted": inverted.toString(), id: "dsa-nav-flyout", "aria-label": "Hauptnavigation", ref: ref, children: [jsx(Logo, { ...logo, className: "dsa-nav-flyout__logo" }), jsx("ul", { className: "dsa-nav-flyout__list", children: items.map(({ label, href, active, items: subItems }) => {
10
11
  return (jsxs("li", { className: classnames("dsa-nav-flyout__item", active && "dsa-nav-flyout__item--active"), children: [subItems?.length ? (jsxs("span", { tabIndex: 0, className: "dsa-nav-flyout__label", children: [label, subItems?.length ? (jsx(Icon, { className: "dsa-nav-flyout__label__icon", icon: "chevron-down" })) : ("")] })) : (jsx(Link, { href: href, className: `dsa-nav-flyout__label dsa-nav-flyout__link`, children: label })), subItems?.length ? (jsx("ul", { className: "dsa-nav-flyout__sublist", children: subItems.map(({ label, href, active }) => {
11
12
  return (jsx("li", { className: classnames("dsa-nav-flyout__item", active && "dsa-nav-flyout__item--active"), children: jsx(Link, { href: href, className: `dsa-nav-flyout__label dsa-nav-flyout__link`, children: label }) }, href));
12
13
  }) })) : null] }, href));
13
- }) })] })) : null;
14
+ }) })] })) : null);
15
+ const NavFlyoutContext = createContext(NavFlyoutContextDefault);
16
+ const NavFlyout = forwardRef((props, ref) => {
17
+ const Component = useContext(NavFlyoutContext);
18
+ return jsx(Component, { ...props, ref: ref });
19
+ });
20
+ NavFlyout.displayName = "NavFlyout";
14
21
 
15
- export { NavFlyout };
22
+ export { NavFlyout, NavFlyoutContext, NavFlyoutContextDefault };
@@ -0,0 +1,169 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/nav-flyout.schema.json",
4
+ "title": "Nav Flyout",
5
+ "type": "object",
6
+ "properties": {
7
+ "items": {
8
+ "type": "array",
9
+ "items": {
10
+ "type": "object",
11
+ "properties": {
12
+ "href": {
13
+ "type": "string",
14
+ "format": "uri"
15
+ },
16
+ "label": {
17
+ "type": "string"
18
+ },
19
+ "active": {
20
+ "type": "boolean"
21
+ },
22
+ "items": {
23
+ "type": "array",
24
+ "items": {
25
+ "type": "object",
26
+ "properties": {
27
+ "href": {
28
+ "type": "string",
29
+ "format": "uri"
30
+ },
31
+ "label": {
32
+ "type": "string"
33
+ },
34
+ "active": {
35
+ "type": "boolean"
36
+ }
37
+ },
38
+ "additionalProperties": false
39
+ }
40
+ }
41
+ },
42
+ "additionalProperties": false,
43
+ "required": [
44
+ "href",
45
+ "label"
46
+ ]
47
+ },
48
+ "examples": [
49
+ [
50
+ {
51
+ "label": "Active Item",
52
+ "href": "#",
53
+ "active": true
54
+ },
55
+ {
56
+ "label": "Navigation Item",
57
+ "href": "#"
58
+ },
59
+ {
60
+ "label": "Dropdown",
61
+ "href": "#",
62
+ "items": [
63
+ {
64
+ "label": "Level 2 Item",
65
+ "href": "#"
66
+ },
67
+ {
68
+ "label": "Active Item",
69
+ "active": true,
70
+ "href": "#"
71
+ },
72
+ {
73
+ "label": "An Item with a longer Label",
74
+ "href": "#"
75
+ },
76
+ {
77
+ "label": "And One last one",
78
+ "href": "#"
79
+ }
80
+ ]
81
+ },
82
+ {
83
+ "label": "One more Item",
84
+ "href": "#"
85
+ },
86
+ {
87
+ "label": "Last Item",
88
+ "href": "#"
89
+ }
90
+ ]
91
+ ]
92
+ },
93
+ "inverted": {
94
+ "type": "boolean",
95
+ "title": "Flyout Inverted",
96
+ "description": "Toggle the inversion of the flyout navigation",
97
+ "default": false
98
+ },
99
+ "logo": {
100
+ "$schema": "http://json-schema.org/draft-07/schema#",
101
+ "$id": "http://schema.mydesignsystem.com/logo.schema.json",
102
+ "title": "Logo",
103
+ "type": "object",
104
+ "properties": {
105
+ "src": {
106
+ "title": "Source",
107
+ "description": "Picture source",
108
+ "type": "string",
109
+ "format": "image"
110
+ },
111
+ "srcInverted": {
112
+ "title": "Source",
113
+ "description": "Picture source",
114
+ "type": "string",
115
+ "format": "image"
116
+ },
117
+ "alt": {
118
+ "title": "Alt text",
119
+ "description": "Alt text to display for picture",
120
+ "type": "string"
121
+ },
122
+ "homepageHref": {
123
+ "type": "string",
124
+ "format": "uri",
125
+ "default": "/"
126
+ },
127
+ "inverted": {
128
+ "type": "boolean",
129
+ "title": "Inverted",
130
+ "description": "Toggle wether the inverted or default version of the logo is being displayed"
131
+ },
132
+ "width": {
133
+ "title": "Width",
134
+ "description": "Width of the picture",
135
+ "type": "integer",
136
+ "minimum": 0,
137
+ "examples": [
138
+ 300
139
+ ]
140
+ },
141
+ "height": {
142
+ "title": "Height",
143
+ "description": "Height of the picture",
144
+ "type": "integer",
145
+ "minimum": 0,
146
+ "examples": [
147
+ 300
148
+ ]
149
+ },
150
+ "className": {
151
+ "title": "Additional Classes",
152
+ "description": "Add additional css classes that should be applied to the logo",
153
+ "type": "string"
154
+ },
155
+ "type": {
156
+ "const": "logo"
157
+ }
158
+ },
159
+ "additionalProperties": false
160
+ },
161
+ "type": {
162
+ "const": "nav-flyout"
163
+ }
164
+ },
165
+ "additionalProperties": false,
166
+ "required": [
167
+ "logo"
168
+ ]
169
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/nav-flyout.schema.json",
4
+ "title": "Nav Flyout",
5
+ "type": "object",
6
+ "properties": {
7
+ "items": {
8
+ "$ref": "http://schema.mydesignsystem.com/nav-main.schema.json#/properties/items"
9
+ },
10
+ "inverted": {
11
+ "$ref": "http://schema.mydesignsystem.com/nav-main.schema.json#/properties/flyoutInverted"
12
+ },
13
+ "logo": {
14
+ "$ref": "http://schema.mydesignsystem.com/nav-main.schema.json#/properties/logo"
15
+ }
16
+ },
17
+ "additionalProperties": false,
18
+ "required": ["logo"]
19
+ }
@@ -1,4 +1,5 @@
1
- import { FC } from "react";
1
+ /// <reference types="react" />
2
+ import { HTMLAttributes } from "react";
2
3
  /* eslint-disable */
3
4
  /**
4
5
  * This file was automatically generated by json-schema-to-typescript.
@@ -53,5 +54,7 @@ interface CTA {
53
54
  label?: Label;
54
55
  target?: Target;
55
56
  }
56
- declare const NavMain: FC<NavMainProps>;
57
- export { NavMain };
57
+ declare const NavMainContextDefault: import("react").ForwardRefExoticComponent<NavMainProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
58
+ declare const NavMainContext: import("react").Context<import("react").ForwardRefExoticComponent<NavMainProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
59
+ declare const NavMain: import("react").ForwardRefExoticComponent<NavMainProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
60
+ export { NavMainContextDefault, NavMainContext, NavMain };
@@ -1,11 +1,12 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
- import '../nav/js/NavToggle.client.js';
3
- import '../nav/js/navMainEvents.client.js';
4
- import { NavToggleComponent } from '../nav-toggle/index.js';
2
+ import { forwardRef, createContext, useContext } from 'react';
3
+ import './js/NavToggle.client.js';
4
+ import './js/navMainEvents.client.js';
5
+ import { NavToggle } from '../nav-toggle/index.js';
5
6
  import { NavTopbar } from '../nav-topbar/index.js';
6
7
  import { NavFlyout } from '../nav-flyout/index.js';
7
8
  import '@kickstartds/core/lib/component';
8
- import '../nav/js/body.client.js';
9
+ import './js/body.client.js';
9
10
  import '@kickstartds/core/lib/core';
10
11
  import 'classnames';
11
12
  import '@kickstartds/base/lib/link';
@@ -14,6 +15,12 @@ import '../nav-dropdown/index.js';
14
15
  import '../logo/index.js';
15
16
  import '@kickstartds/base/lib/picture';
16
17
 
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;
18
+ const NavMainContextDefault = forwardRef(({ logo, items, flyoutInverted, dropdownInverted }, ref) => items && items.length > 0 ? (jsxs("div", { ref: ref, className: "dsa-nav-main", children: [jsx(NavToggle, {}), jsx(NavTopbar, { items: items, inverted: dropdownInverted }), jsx(NavFlyout, { items: items, inverted: flyoutInverted, logo: logo })] })) : null);
19
+ const NavMainContext = createContext(NavMainContextDefault);
20
+ const NavMain = forwardRef((props, ref) => {
21
+ const Component = useContext(NavMainContext);
22
+ return jsx(Component, { ...props, ref: ref });
23
+ });
24
+ NavMain.displayName = "NavMain";
18
25
 
19
- export { NavMain };
26
+ export { NavMain, NavMainContext, NavMainContextDefault };
@@ -1,3 +1,6 @@
1
- import { FC } from "react";
2
- declare const NavToggleComponent: FC;
3
- export { NavToggleComponent };
1
+ /// <reference types="react" />
2
+ import { HTMLAttributes } from "react";
3
+ declare const NavToggleContextDefault: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLButtonElement> & import("react").RefAttributes<HTMLButtonElement>>;
4
+ declare const NavToggleContext: import("react").Context<import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLButtonElement> & import("react").RefAttributes<HTMLButtonElement>>>;
5
+ declare const NavToggle: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLButtonElement> & import("react").RefAttributes<HTMLButtonElement>>;
6
+ export { NavToggleContextDefault, NavToggleContext, NavToggle };
@@ -1,6 +1,13 @@
1
1
  import "./nav-toggle.css";
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
+ import { forwardRef, createContext, useContext } from 'react';
3
4
 
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
+ const NavToggleContextDefault = forwardRef((_, ref) => (jsxs("button", { ref: ref, 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" }) })] })));
6
+ const NavToggleContext = createContext(NavToggleContextDefault);
7
+ const NavToggle = forwardRef((props, ref) => {
8
+ const Component = useContext(NavToggleContext);
9
+ return jsx(Component, { ...props, ref: ref });
10
+ });
11
+ NavToggle.displayName = "NavToggle";
5
12
 
6
- export { NavToggleComponent };
13
+ export { NavToggle, NavToggleContext, NavToggleContextDefault };
@@ -3,9 +3,9 @@
3
3
  --dsa-nav-toggle--color: var(--ks-text-color-default);
4
4
  --dsa-nav-toggle--color_open: var(--ks-text-color-default);
5
5
  --dsa-nav-toggle--shadow: none;
6
- --dsa-nav-toggle_floating--shadow: 0 0 20px 2px var(--ks-color-fg-inverted-alpha-5);
7
- --dsa-nav-toggle_floating--color: var(--ks-text-color-interface-interactive);
8
- --dsa-nav-toggle_floating--color_open: var(--ks-text-color-interface-interactive);
6
+ --dsa-nav-toggle_floating--shadow: 2px 4px 6px var(--ks-color-fg-inverted);
7
+ --dsa-nav-toggle_floating--color: var(--ks-color-fg);
8
+ --dsa-nav-toggle_floating--color_open: var(--ks-color-fg);
9
9
  }
10
10
 
11
11
  html.overlay-open {
@@ -48,9 +48,11 @@ button.dsa-nav-toggle .dsa-nav-toggle__icon {
48
48
  transform: scale(0.7) translate(7.5%, 7.5%);
49
49
  transition: inherit;
50
50
  color: var(--dsa-nav-toggle--color);
51
+ filter: drop-shadow(var(--dsa-nav-toggle--shadow));
51
52
  }
52
53
  .dsa-header--floating button.dsa-nav-toggle .dsa-nav-toggle__icon {
53
54
  color: var(--dsa-nav-toggle_floating--color);
55
+ filter: drop-shadow(var(--dsa-nav-toggle_floating--shadow));
54
56
  }
55
57
  @media (min-width: 40em) {
56
58
  button.dsa-nav-toggle .dsa-nav-toggle__icon {
@@ -60,12 +62,6 @@ button.dsa-nav-toggle .dsa-nav-toggle__icon {
60
62
  .overlay-open button.dsa-nav-toggle .dsa-nav-toggle__icon {
61
63
  color: var(--dsa-nav-toggle--color_open);
62
64
  }
63
- .dsa-header--floating button.dsa-nav-toggle .dsa-nav-toggle__icon .dsa-nav-toggle__icon__middle, .dsa-header--floating button.dsa-nav-toggle .dsa-nav-toggle__icon::before, .dsa-header--floating button.dsa-nav-toggle .dsa-nav-toggle__icon::after {
64
- box-shadow: var(--dsa-nav-toggle_floating--shadow);
65
- }
66
- .overlay-open .dsa-header--floating button.dsa-nav-toggle .dsa-nav-toggle__icon {
67
- color: var(--dsa-nav-toggle_floating--color_open);
68
- }
69
65
  button.dsa-nav-toggle .dsa-nav-toggle__icon::before, button.dsa-nav-toggle .dsa-nav-toggle__icon::after {
70
66
  content: "";
71
67
  }
@@ -1,6 +1,29 @@
1
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 };
2
+ import { HTMLAttributes } from "react";
3
+ /* eslint-disable */
4
+ /**
5
+ * This file was automatically generated by json-schema-to-typescript.
6
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
7
+ * and run json-schema-to-typescript to regenerate this file.
8
+ */
9
+ /**
10
+ * Toggle the inversion of the dropdown navigation
11
+ */
12
+ type DropdownInverted = boolean;
13
+ interface NavTopbarProps {
14
+ items?: {
15
+ href: string;
16
+ label: string;
17
+ active?: boolean;
18
+ items?: {
19
+ href?: string;
20
+ label?: string;
21
+ active?: boolean;
22
+ }[];
23
+ }[];
24
+ inverted?: DropdownInverted;
25
+ }
26
+ declare const NavTopbarContextDefault: import("react").ForwardRefExoticComponent<NavTopbarProps & HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLDivElement>>;
27
+ declare const NavTopbarContext: import("react").Context<import("react").ForwardRefExoticComponent<NavTopbarProps & HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLDivElement>>>;
28
+ declare const NavTopbar: import("react").ForwardRefExoticComponent<NavTopbarProps & HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLDivElement>>;
29
+ export { NavTopbarContextDefault, NavTopbarContext, NavTopbar };
@@ -4,9 +4,16 @@ import classnames from 'classnames';
4
4
  import { Link } from '@kickstartds/base/lib/link';
5
5
  import { Icon } from '@kickstartds/base/lib/icon';
6
6
  import { NavDropdown } from '../nav-dropdown/index.js';
7
+ import { forwardRef, createContext, useContext } from 'react';
7
8
 
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, 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] }, href));
10
- }) }) })) : null;
9
+ const NavTopbarContextDefault = forwardRef(({ items, inverted }, ref) => items && items.length > 0 ? (jsx("nav", { className: "dsa-nav-topbar", id: "dsa-nav-main", "aria-label": "Hauptnavigation", ref: ref, children: jsx("ul", { className: "dsa-nav-topbar__list", children: items.map(({ label, href, active, items: subItems }) => {
10
+ 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: inverted })) : null] }, href));
11
+ }) }) })) : null);
12
+ const NavTopbarContext = createContext(NavTopbarContextDefault);
13
+ const NavTopbar = forwardRef((props, ref) => {
14
+ const Component = useContext(NavTopbarContext);
15
+ return jsx(Component, { ...props, ref: ref });
16
+ });
17
+ NavTopbar.displayName = "NavTopbar";
11
18
 
12
- export { NavTopbar };
19
+ export { NavTopbar, NavTopbarContext, NavTopbarContextDefault };
@@ -0,0 +1,107 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/nav-topbar.schema.json",
4
+ "title": "Nav Topbar",
5
+ "type": "object",
6
+ "properties": {
7
+ "items": {
8
+ "type": "array",
9
+ "items": {
10
+ "type": "object",
11
+ "properties": {
12
+ "href": {
13
+ "type": "string",
14
+ "format": "uri"
15
+ },
16
+ "label": {
17
+ "type": "string"
18
+ },
19
+ "active": {
20
+ "type": "boolean"
21
+ },
22
+ "items": {
23
+ "type": "array",
24
+ "items": {
25
+ "type": "object",
26
+ "properties": {
27
+ "href": {
28
+ "type": "string",
29
+ "format": "uri"
30
+ },
31
+ "label": {
32
+ "type": "string"
33
+ },
34
+ "active": {
35
+ "type": "boolean"
36
+ }
37
+ },
38
+ "additionalProperties": false
39
+ }
40
+ }
41
+ },
42
+ "additionalProperties": false,
43
+ "required": [
44
+ "href",
45
+ "label"
46
+ ]
47
+ },
48
+ "examples": [
49
+ [
50
+ {
51
+ "label": "Active Item",
52
+ "href": "#",
53
+ "active": true
54
+ },
55
+ {
56
+ "label": "Navigation Item",
57
+ "href": "#"
58
+ },
59
+ {
60
+ "label": "Dropdown",
61
+ "href": "#",
62
+ "items": [
63
+ {
64
+ "label": "Level 2 Item",
65
+ "href": "#"
66
+ },
67
+ {
68
+ "label": "Active Item",
69
+ "active": true,
70
+ "href": "#"
71
+ },
72
+ {
73
+ "label": "An Item with a longer Label",
74
+ "href": "#"
75
+ },
76
+ {
77
+ "label": "And One last one",
78
+ "href": "#"
79
+ }
80
+ ]
81
+ },
82
+ {
83
+ "label": "One more Item",
84
+ "href": "#"
85
+ },
86
+ {
87
+ "label": "Last Item",
88
+ "href": "#"
89
+ }
90
+ ]
91
+ ]
92
+ },
93
+ "inverted": {
94
+ "type": "boolean",
95
+ "title": "Dropdown Inverted",
96
+ "description": "Toggle the inversion of the dropdown navigation",
97
+ "default": false
98
+ },
99
+ "type": {
100
+ "const": "nav-topbar"
101
+ }
102
+ },
103
+ "additionalProperties": false,
104
+ "required": [
105
+ "logo"
106
+ ]
107
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/nav-topbar.schema.json",
4
+ "title": "Nav Topbar",
5
+ "type": "object",
6
+ "properties": {
7
+ "items": {
8
+ "$ref": "http://schema.mydesignsystem.com/nav-main.schema.json#/properties/items"
9
+ },
10
+ "inverted": {
11
+ "$ref": "http://schema.mydesignsystem.com/nav-main.schema.json#/properties/dropdownInverted"
12
+ }
13
+ },
14
+ "additionalProperties": false,
15
+ "required": ["logo"]
16
+ }
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Fri, 23 Aug 2024 11:34:05 GMT
3
+ * Generated on Fri, 23 Aug 2024 12:49:12 GMT
4
4
  */
5
5
  :root, [ks-theme] {
6
6
  --ks-background-color-accent-base: var(--ks-color-primary-to-bg-8-base);
@@ -37,7 +37,7 @@
37
37
  --ks-background-color-card-interactive-hover-base: var(--ks-color-fg-alpha-9-base);
38
38
  --ks-background-color-card-interactive-active-base: var(--ks-color-fg-alpha-9-base);
39
39
  --ks-background-color-card-interactive-selected-base: var(--ks-color-primary-base);
40
- --ks-background-color-card-inverted-base: var(--ks-color-fg-inverted-alpha-9-base);
40
+ --ks-background-color-card-inverted-base: var(--ks-color-fg-inverted-to-bg-9-base);
41
41
  --ks-background-color-card-inverted-interactive-base: var(--ks-color-fg-inverted-alpha-9-base);
42
42
  --ks-background-color-card-inverted-interactive-disabled-base: var(--ks-color-fg-inverted-alpha-7-base);
43
43
  --ks-background-color-card-inverted-interactive-hover-base: var(--ks-color-fg-inverted-alpha-9-base);
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Fri, 23 Aug 2024 11:34:08 GMT
3
+ * Generated on Fri, 23 Aug 2024 12:49:14 GMT
4
4
  */
5
5
  :root [ks-theme=business] {
6
6
  --ks-background-color-accent-base: var(--ks-color-primary-to-bg-8-base);
@@ -2727,7 +2727,7 @@
2727
2727
  }
2728
2728
  /**
2729
2729
  * Do not edit directly
2730
- * Generated on Fri, 23 Aug 2024 11:34:12 GMT
2730
+ * Generated on Fri, 23 Aug 2024 12:49:18 GMT
2731
2731
  */
2732
2732
  :root [ks-theme=google] {
2733
2733
  --ks-background-color-accent-base: var(--ks-color-primary-to-bg-8-base);
@@ -5458,7 +5458,7 @@
5458
5458
  }
5459
5459
  /**
5460
5460
  * Do not edit directly
5461
- * Generated on Fri, 23 Aug 2024 11:34:10 GMT
5461
+ * Generated on Fri, 23 Aug 2024 12:49:16 GMT
5462
5462
  */
5463
5463
  :root [ks-theme=ngo] {
5464
5464
  --ks-background-color-accent-base: var(--ks-color-primary-to-bg-8-base);
@@ -8459,7 +8459,7 @@
8459
8459
  }
8460
8460
  /**
8461
8461
  * Do not edit directly
8462
- * Generated on Fri, 23 Aug 2024 11:34:14 GMT
8462
+ * Generated on Fri, 23 Aug 2024 12:49:20 GMT
8463
8463
  */
8464
8464
  :root [ks-theme=telekom] {
8465
8465
  --ks-background-color-accent-base: var(--ks-color-primary-to-bg-8-base);
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Fri, 23 Aug 2024 11:34:05 GMT
3
+ * Generated on Fri, 23 Aug 2024 12:49:12 GMT
4
4
  */
5
5
 
6
6
  :root, [ks-theme] {
@@ -38,7 +38,7 @@
38
38
  --ks-background-color-card-interactive-hover-base: var(--ks-color-fg-alpha-9-base);
39
39
  --ks-background-color-card-interactive-active-base: var(--ks-color-fg-alpha-9-base);
40
40
  --ks-background-color-card-interactive-selected-base: var(--ks-color-primary-base);
41
- --ks-background-color-card-inverted-base: var(--ks-color-fg-inverted-alpha-9-base);
41
+ --ks-background-color-card-inverted-base: var(--ks-color-fg-inverted-to-bg-9-base);
42
42
  --ks-background-color-card-inverted-interactive-base: var(--ks-color-fg-inverted-alpha-9-base);
43
43
  --ks-background-color-card-inverted-interactive-disabled-base: var(--ks-color-fg-inverted-alpha-7-base);
44
44
  --ks-background-color-card-inverted-interactive-hover-base: var(--ks-color-fg-inverted-alpha-9-base);
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Fri, 23 Aug 2024 11:34:06 GMT
3
+ * Generated on Fri, 23 Aug 2024 12:49:12 GMT
4
4
  */
5
5
 
6
6
  export const KsBackgroundColorAccentBase = "#230a2b";
@@ -37,7 +37,7 @@ export const KsBackgroundColorCardInteractiveDisabledBase = "rgba(255, 255, 255,
37
37
  export const KsBackgroundColorCardInteractiveHoverBase = "rgba(255, 255, 255, 0.05)";
38
38
  export const KsBackgroundColorCardInteractiveActiveBase = "rgba(255, 255, 255, 0.05)";
39
39
  export const KsBackgroundColorCardInteractiveSelectedBase = "#e21879";
40
- export const KsBackgroundColorCardInvertedBase = "rgba(6, 8, 31, 0.05)";
40
+ export const KsBackgroundColorCardInvertedBase = "#e5e5e8";
41
41
  export const KsBackgroundColorCardInvertedInteractiveBase = "rgba(6, 8, 31, 0.05)";
42
42
  export const KsBackgroundColorCardInvertedInteractiveDisabledBase = "rgba(6, 8, 31, 0.24)";
43
43
  export const KsBackgroundColorCardInvertedInteractiveHoverBase = "rgba(6, 8, 31, 0.05)";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kickstartds/ds-agency-premium",
3
- "version": "1.4.0--canary.14.713.0",
3
+ "version": "1.4.0--canary.14.724.0",
4
4
  "description": "",
5
5
  "homepage": "https://github.com/kickstartDS/ds-agency-premium#readme",
6
6
  "bugs": {