@gympass/yoga 7.88.2 → 7.90.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/cjs/NavigationMenu/NavigationMenu.theme.js +80 -0
- package/cjs/NavigationMenu/index.js +35 -0
- package/cjs/NavigationMenu/web/BottomItems/BottomItem.js +165 -0
- package/cjs/NavigationMenu/web/BottomItems/BottomItems.js +66 -0
- package/cjs/NavigationMenu/web/BottomItems/index.js +41 -0
- package/cjs/NavigationMenu/web/Item/Item.js +55 -0
- package/cjs/NavigationMenu/web/Item/Subitem.js +39 -0
- package/cjs/NavigationMenu/web/Item/index.js +41 -0
- package/cjs/NavigationMenu/web/Item/styles.js +188 -0
- package/cjs/NavigationMenu/web/Menu/Menu.js +109 -0
- package/cjs/NavigationMenu/web/Menu/index.js +35 -0
- package/cjs/NavigationMenu/web/NavigationMenu.js +155 -0
- package/cjs/NavigationMenu/web/NavigationMenu.test.js +178 -0
- package/cjs/NavigationMenu/web/Switcher/Actions.js +72 -0
- package/cjs/NavigationMenu/web/Switcher/Switcher.js +117 -0
- package/cjs/NavigationMenu/web/Switcher/index.js +35 -0
- package/cjs/NavigationMenu/web/index.js +35 -0
- package/cjs/Theme/theme/componentThemes.js +3 -1
- package/cjs/index.js +3 -0
- package/cjs/yoga.d.js +1 -0
- package/esm/NavigationMenu/NavigationMenu.theme.js +60 -0
- package/esm/NavigationMenu/index.js +5 -0
- package/esm/NavigationMenu/web/BottomItems/BottomItem.js +135 -0
- package/esm/NavigationMenu/web/BottomItems/BottomItems.js +36 -0
- package/esm/NavigationMenu/web/BottomItems/index.js +6 -0
- package/esm/NavigationMenu/web/Item/Item.js +25 -0
- package/esm/NavigationMenu/web/Item/Subitem.js +9 -0
- package/esm/NavigationMenu/web/Item/index.js +6 -0
- package/esm/NavigationMenu/web/Item/styles.js +151 -0
- package/esm/NavigationMenu/web/Menu/Menu.js +79 -0
- package/esm/NavigationMenu/web/Menu/index.js +5 -0
- package/esm/NavigationMenu/web/NavigationMenu.js +125 -0
- package/esm/NavigationMenu/web/NavigationMenu.test.js +155 -0
- package/esm/NavigationMenu/web/Switcher/Actions.js +42 -0
- package/esm/NavigationMenu/web/Switcher/Switcher.js +87 -0
- package/esm/NavigationMenu/web/Switcher/index.js +5 -0
- package/esm/NavigationMenu/web/index.js +5 -0
- package/esm/Theme/theme/componentThemes.js +3 -1
- package/esm/index.js +2 -0
- package/esm/yoga.d.js +0 -0
- package/package.json +2 -2
- package/typings/Icon-4557ae6b.d.ts +3 -0
- package/typings/NavigationMenu/NavigationMenu.theme.d.ts +73 -0
- package/typings/NavigationMenu/index.d.ts +7 -0
- package/typings/NavigationMenu/web/BottomItems/index.d.ts +16 -0
- package/typings/NavigationMenu/web/Item/index.d.ts +23 -0
- package/typings/NavigationMenu/web/Item/styles.d.ts +6 -0
- package/typings/NavigationMenu/web/Menu/index.d.ts +11 -0
- package/typings/NavigationMenu/web/Switcher/index.d.ts +6 -0
- package/typings/NavigationMenu/web/index.d.ts +7 -0
- package/typings/NavigationMenu-373d8980.d.ts +56 -0
- package/typings/Switcher-a8dff781.d.ts +19 -0
- package/typings/index.d.ts +10 -9
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var Actions_exports = {};
|
|
30
|
+
__export(Actions_exports, {
|
|
31
|
+
default: () => Actions_default
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(Actions_exports);
|
|
34
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
35
|
+
var import_styled_components = __toESM(require("styled-components"));
|
|
36
|
+
var import_yoga_icons = require("@gympass/yoga-icons");
|
|
37
|
+
var import_yoga = require("@gympass/yoga");
|
|
38
|
+
var import_Icon = __toESM(require("../../../Icon"));
|
|
39
|
+
var import_Box = __toESM(require("../../../Box"));
|
|
40
|
+
const StyledAction = (0, import_styled_components.default)(import_Box.default)`
|
|
41
|
+
${({
|
|
42
|
+
theme: {
|
|
43
|
+
yoga: {
|
|
44
|
+
components: {
|
|
45
|
+
navigationmenu: { backgroundColor, border, height, width }
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}) => import_styled_components.css`
|
|
50
|
+
transition: background-color 300ms ease-in-out;
|
|
51
|
+
|
|
52
|
+
display: flex;
|
|
53
|
+
align-items: center;
|
|
54
|
+
justify-content: center;
|
|
55
|
+
width: ${width.xxlarge}px;
|
|
56
|
+
height: ${height.xxlarge}px;
|
|
57
|
+
border-radius: ${border.radius.circle}px;
|
|
58
|
+
|
|
59
|
+
:hover,
|
|
60
|
+
&:focus {
|
|
61
|
+
cursor: pointer;
|
|
62
|
+
background-color: ${backgroundColor.hover};
|
|
63
|
+
}
|
|
64
|
+
`}
|
|
65
|
+
`;
|
|
66
|
+
const Actions = ({ actions, sideOffset }) => {
|
|
67
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_yoga.Menu, { onMouseHover: false, children: [
|
|
68
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_yoga.Menu.Action, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StyledAction, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Icon.default, { as: import_yoga_icons.MenuMore, size: "medium", fill: "vibin" }) }) }),
|
|
69
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_yoga.Menu.List, { side: "right", sideOffset, zIndex: "10", children: actions.map(({ id, label, onClick }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_yoga.Menu.Item, { onClick, children: label }, id)) })
|
|
70
|
+
] });
|
|
71
|
+
};
|
|
72
|
+
var Actions_default = Actions;
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var Switcher_exports = {};
|
|
30
|
+
__export(Switcher_exports, {
|
|
31
|
+
default: () => Switcher_default
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(Switcher_exports);
|
|
34
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
35
|
+
var import_styled_components = __toESM(require("styled-components"));
|
|
36
|
+
var import_yoga = require("@gympass/yoga");
|
|
37
|
+
var import_Actions = __toESM(require("./Actions"));
|
|
38
|
+
var import_Box = __toESM(require("../../../Box"));
|
|
39
|
+
const StyledSwitcher = (0, import_styled_components.default)(import_Box.default)`
|
|
40
|
+
${({
|
|
41
|
+
fill,
|
|
42
|
+
theme: {
|
|
43
|
+
yoga: {
|
|
44
|
+
colors,
|
|
45
|
+
components: {
|
|
46
|
+
navigationmenu: { border, gap, height, padding, width }
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}) => import_styled_components.css`
|
|
51
|
+
display: flex;
|
|
52
|
+
align-items: center;
|
|
53
|
+
justify-content: space-between;
|
|
54
|
+
width: 100%;
|
|
55
|
+
gap: ${gap.xxsmall}px;
|
|
56
|
+
padding: ${padding.xsmall}px;
|
|
57
|
+
background-color: ${colors[fill]};
|
|
58
|
+
border-radius: ${border.radius.default}px;
|
|
59
|
+
|
|
60
|
+
> div:first-child {
|
|
61
|
+
height: ${height.xlarge}px;
|
|
62
|
+
width: ${width.xlarge}px;
|
|
63
|
+
}
|
|
64
|
+
`}
|
|
65
|
+
`;
|
|
66
|
+
const StyledTextContainer = (0, import_styled_components.default)(import_Box.default)`
|
|
67
|
+
flex: 1;
|
|
68
|
+
overflow: hidden;
|
|
69
|
+
`;
|
|
70
|
+
const StyledTitle = (0, import_styled_components.default)(import_yoga.Text.Small)`
|
|
71
|
+
${({
|
|
72
|
+
theme: {
|
|
73
|
+
yoga: {
|
|
74
|
+
components: {
|
|
75
|
+
navigationmenu: { font }
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}) => import_styled_components.css`
|
|
80
|
+
font-weight: ${font.weight.medium};
|
|
81
|
+
flex: 1;
|
|
82
|
+
white-space: nowrap;
|
|
83
|
+
text-overflow: ellipsis;
|
|
84
|
+
overflow: hidden;
|
|
85
|
+
`}
|
|
86
|
+
`;
|
|
87
|
+
const Switcher = ({
|
|
88
|
+
actions,
|
|
89
|
+
avatar: Avatar,
|
|
90
|
+
fill = "transparent",
|
|
91
|
+
isLoading = false,
|
|
92
|
+
sideOffset = 36,
|
|
93
|
+
subtitle,
|
|
94
|
+
title
|
|
95
|
+
}) => {
|
|
96
|
+
const hasActions = actions == null ? void 0 : actions.length;
|
|
97
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(StyledSwitcher, { fill, children: [
|
|
98
|
+
Avatar,
|
|
99
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(StyledTextContainer, { children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
100
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
101
|
+
import_yoga.Skeleton,
|
|
102
|
+
{
|
|
103
|
+
type: "text",
|
|
104
|
+
variant: "overline",
|
|
105
|
+
width: "100%",
|
|
106
|
+
marginBottom: "4px"
|
|
107
|
+
}
|
|
108
|
+
),
|
|
109
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_yoga.Skeleton, { type: "text", variant: "overline", width: "100%" })
|
|
110
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
111
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StyledTitle, { children: title }),
|
|
112
|
+
subtitle && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_yoga.Text.Tiny, { color: "deep", children: subtitle })
|
|
113
|
+
] }) }),
|
|
114
|
+
hasActions && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Actions.default, { actions, sideOffset })
|
|
115
|
+
] });
|
|
116
|
+
};
|
|
117
|
+
var Switcher_default = Switcher;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var Switcher_exports = {};
|
|
30
|
+
__export(Switcher_exports, {
|
|
31
|
+
default: () => Switcher_default
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(Switcher_exports);
|
|
34
|
+
var import_Switcher = __toESM(require("./Switcher"));
|
|
35
|
+
var Switcher_default = import_Switcher.default;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var web_exports = {};
|
|
30
|
+
__export(web_exports, {
|
|
31
|
+
default: () => web_default
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(web_exports);
|
|
34
|
+
var import_NavigationMenu = __toESM(require("./NavigationMenu"));
|
|
35
|
+
var web_default = import_NavigationMenu.default;
|
|
@@ -69,6 +69,7 @@ var import_Stepper_theme = __toESM(require("../../Stepper/Stepper.theme.js"));
|
|
|
69
69
|
var import_Tag_theme = __toESM(require("../../Tag/Tag.theme.js"));
|
|
70
70
|
var import_Text_theme = __toESM(require("../../Text/Text.theme.js"));
|
|
71
71
|
var import_TextArea_theme = __toESM(require("../../TextArea/TextArea.theme.js"));
|
|
72
|
+
var import_NavigationMenu = __toESM(require("../../NavigationMenu/NavigationMenu.theme"));
|
|
72
73
|
const componentThemes = {
|
|
73
74
|
Accordion: import_Accordion_theme.default,
|
|
74
75
|
ActionRequirement: import_ActionRequirement_theme.default,
|
|
@@ -107,6 +108,7 @@ const componentThemes = {
|
|
|
107
108
|
Stepper: import_Stepper_theme.default,
|
|
108
109
|
Tag: import_Tag_theme.default,
|
|
109
110
|
Text: import_Text_theme.default,
|
|
110
|
-
TextArea: import_TextArea_theme.default
|
|
111
|
+
TextArea: import_TextArea_theme.default,
|
|
112
|
+
NavigationMenu: import_NavigationMenu.default
|
|
111
113
|
};
|
|
112
114
|
var componentThemes_default = componentThemes;
|
package/cjs/index.js
CHANGED
|
@@ -56,6 +56,7 @@ __export(src_exports, {
|
|
|
56
56
|
Input: () => import_Input.default,
|
|
57
57
|
List: () => import_List.default,
|
|
58
58
|
Menu: () => import_Menu.default,
|
|
59
|
+
NavigationMenu: () => import_NavigationMenu.default,
|
|
59
60
|
PlanCard: () => import_Card.PlanCard,
|
|
60
61
|
Popover: () => import_Popover.default,
|
|
61
62
|
Progress: () => import_Progress.default,
|
|
@@ -113,6 +114,7 @@ var import_Skeleton = __toESM(require("./Skeleton"));
|
|
|
113
114
|
var import_ActionRequirement = __toESM(require("./ActionRequirement"));
|
|
114
115
|
var import_Popover = __toESM(require("./Popover"));
|
|
115
116
|
var import_Spinner = __toESM(require("./Spinner"));
|
|
117
|
+
var import_NavigationMenu = __toESM(require("./NavigationMenu"));
|
|
116
118
|
// Annotate the CommonJS export names for ESM import in node:
|
|
117
119
|
0 && (module.exports = {
|
|
118
120
|
Accordion,
|
|
@@ -143,6 +145,7 @@ var import_Spinner = __toESM(require("./Spinner"));
|
|
|
143
145
|
Input,
|
|
144
146
|
List,
|
|
145
147
|
Menu,
|
|
148
|
+
NavigationMenu,
|
|
146
149
|
PlanCard,
|
|
147
150
|
Popover,
|
|
148
151
|
Progress,
|
package/cjs/yoga.d.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
const NavigationMenu = ({ colors, fontWeights, radii, spacing }) => ({
|
|
2
|
+
avatar: {
|
|
3
|
+
height: spacing.xlarge,
|
|
4
|
+
width: spacing.xlarge
|
|
5
|
+
},
|
|
6
|
+
backgroundColor: {
|
|
7
|
+
default: colors.clear,
|
|
8
|
+
hover: colors.light,
|
|
9
|
+
stamina: colors.stamina,
|
|
10
|
+
yoga: colors.yoga,
|
|
11
|
+
white: colors.white
|
|
12
|
+
},
|
|
13
|
+
border: {
|
|
14
|
+
color: {
|
|
15
|
+
default: colors.light,
|
|
16
|
+
white: colors.white
|
|
17
|
+
},
|
|
18
|
+
radius: {
|
|
19
|
+
default: radii.small,
|
|
20
|
+
circle: radii.circle
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
font: {
|
|
24
|
+
color: {
|
|
25
|
+
default: colors.deep,
|
|
26
|
+
active: colors.vibin,
|
|
27
|
+
hover: colors.stamina
|
|
28
|
+
},
|
|
29
|
+
weight: { medium: fontWeights.medium }
|
|
30
|
+
},
|
|
31
|
+
gap: {
|
|
32
|
+
xxxsmall: spacing.xxxsmall,
|
|
33
|
+
xxsmall: spacing.xxsmall,
|
|
34
|
+
medium: spacing.medium
|
|
35
|
+
},
|
|
36
|
+
height: { xxlarge: spacing.xxlarge, xlarge: spacing.xlarge },
|
|
37
|
+
icon: {
|
|
38
|
+
height: spacing.medium,
|
|
39
|
+
width: spacing.medium,
|
|
40
|
+
fill: {
|
|
41
|
+
default: colors.deep,
|
|
42
|
+
active: colors.vibin,
|
|
43
|
+
hover: colors.stamina
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
padding: {
|
|
47
|
+
xxxsmall: spacing.xxxsmall,
|
|
48
|
+
xxsmall: spacing.xxsmall,
|
|
49
|
+
xsmall: spacing.xsmall,
|
|
50
|
+
small: spacing.small
|
|
51
|
+
},
|
|
52
|
+
tag: {
|
|
53
|
+
color: { default: colors.white }
|
|
54
|
+
},
|
|
55
|
+
width: { xxlarge: spacing.xxlarge, xlarge: spacing.xlarge }
|
|
56
|
+
});
|
|
57
|
+
var NavigationMenu_theme_default = NavigationMenu;
|
|
58
|
+
export {
|
|
59
|
+
NavigationMenu_theme_default as default
|
|
60
|
+
};
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import styled, { css } from "styled-components";
|
|
3
|
+
import Icon from "../../../Icon";
|
|
4
|
+
import Box from "../../../Box";
|
|
5
|
+
import Text from "../../../Text";
|
|
6
|
+
const StyledText = styled(Text)`
|
|
7
|
+
${({
|
|
8
|
+
theme: {
|
|
9
|
+
yoga: {
|
|
10
|
+
components: {
|
|
11
|
+
navigationmenu: { font }
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}) => css`
|
|
16
|
+
color: ${font.color.default};
|
|
17
|
+
max-width: 100%;
|
|
18
|
+
white-space: nowrap;
|
|
19
|
+
text-overflow: ellipsis;
|
|
20
|
+
overflow: hidden;
|
|
21
|
+
`}
|
|
22
|
+
`;
|
|
23
|
+
const Active = css`
|
|
24
|
+
${({
|
|
25
|
+
theme: {
|
|
26
|
+
yoga: {
|
|
27
|
+
components: {
|
|
28
|
+
navigationmenu: { backgroundColor, icon, font }
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}) => css`
|
|
33
|
+
:not(:last-child) {
|
|
34
|
+
pointer-events: none;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
div {
|
|
38
|
+
background-color: ${backgroundColor.default};
|
|
39
|
+
|
|
40
|
+
${StyledText} {
|
|
41
|
+
color: ${font.color.active};
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
svg {
|
|
45
|
+
fill: ${icon.fill.active};
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
`}
|
|
49
|
+
`;
|
|
50
|
+
const StyledItem = styled.li`
|
|
51
|
+
${({
|
|
52
|
+
isActive,
|
|
53
|
+
theme: {
|
|
54
|
+
yoga: {
|
|
55
|
+
components: {
|
|
56
|
+
navigationmenu: { backgroundColor, border, icon, font }
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}) => css`
|
|
61
|
+
transition: background-color 300ms ease-in-out;
|
|
62
|
+
|
|
63
|
+
background-color: transparent;
|
|
64
|
+
border-radius: ${border.radius.default}px;
|
|
65
|
+
list-style-type: none;
|
|
66
|
+
cursor: pointer;
|
|
67
|
+
|
|
68
|
+
svg {
|
|
69
|
+
height: ${icon.height}px;
|
|
70
|
+
width: ${icon.width}px;
|
|
71
|
+
fill: ${icon.fill.default};
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
&:hover,
|
|
75
|
+
&:focus {
|
|
76
|
+
${!isActive && css`
|
|
77
|
+
background-color: ${backgroundColor.hover};
|
|
78
|
+
|
|
79
|
+
${StyledText} {
|
|
80
|
+
color: ${font.color.hover};
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
svg {
|
|
84
|
+
fill: ${icon.fill.hover};
|
|
85
|
+
}
|
|
86
|
+
`};
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
a {
|
|
90
|
+
text-decoration: none;
|
|
91
|
+
|
|
92
|
+
&.active {
|
|
93
|
+
cursor: auto;
|
|
94
|
+
|
|
95
|
+
${Active}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
${isActive && Active};
|
|
100
|
+
`}
|
|
101
|
+
`;
|
|
102
|
+
const StyledTextContainer = styled(Box)`
|
|
103
|
+
${({
|
|
104
|
+
theme: {
|
|
105
|
+
yoga: {
|
|
106
|
+
components: {
|
|
107
|
+
navigationmenu: { border, gap, padding }
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}) => css`
|
|
112
|
+
display: flex;
|
|
113
|
+
flex-direction: column;
|
|
114
|
+
align-items: center;
|
|
115
|
+
justify-content: center;
|
|
116
|
+
gap: ${gap.xxxsmall}px;
|
|
117
|
+
padding: ${padding.xxsmall}px ${padding.xxxsmall}px;
|
|
118
|
+
border-radius: ${border.radius.default}px;
|
|
119
|
+
`}
|
|
120
|
+
`;
|
|
121
|
+
const BottomItem = ({
|
|
122
|
+
active = false,
|
|
123
|
+
icon,
|
|
124
|
+
label,
|
|
125
|
+
wrapper: Wrapper
|
|
126
|
+
}) => {
|
|
127
|
+
return /* @__PURE__ */ jsx(StyledItem, { isActive: active, children: /* @__PURE__ */ jsx(Wrapper, { children: /* @__PURE__ */ jsxs(StyledTextContainer, { children: [
|
|
128
|
+
/* @__PURE__ */ jsx(Icon, { as: icon }),
|
|
129
|
+
/* @__PURE__ */ jsx(StyledText, { children: label })
|
|
130
|
+
] }) }) });
|
|
131
|
+
};
|
|
132
|
+
var BottomItem_default = BottomItem;
|
|
133
|
+
export {
|
|
134
|
+
BottomItem_default as default
|
|
135
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import styled, { css } from "styled-components";
|
|
3
|
+
import { media } from "@gympass/yoga-helpers";
|
|
4
|
+
const StyledItemsContainer = styled.nav`
|
|
5
|
+
${media.lg`display: none`}
|
|
6
|
+
`;
|
|
7
|
+
const StyledItems = styled.ul`
|
|
8
|
+
${({
|
|
9
|
+
theme: {
|
|
10
|
+
yoga: {
|
|
11
|
+
components: {
|
|
12
|
+
navigationmenu: { backgroundColor, border, gap, padding }
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}) => css`
|
|
17
|
+
display: grid;
|
|
18
|
+
grid-auto-columns: minmax(0, 1fr);
|
|
19
|
+
grid-auto-flow: column;
|
|
20
|
+
align-items: center;
|
|
21
|
+
width: 100%;
|
|
22
|
+
height: 74px;
|
|
23
|
+
background-color: ${backgroundColor.default};
|
|
24
|
+
margin: 0;
|
|
25
|
+
padding: ${padding.xxxsmall}px;
|
|
26
|
+
border: 1px solid ${border.color.default};
|
|
27
|
+
gap: ${gap.xxxsmall}px;
|
|
28
|
+
`}
|
|
29
|
+
`;
|
|
30
|
+
const BottomItems = ({ children }) => {
|
|
31
|
+
return /* @__PURE__ */ jsx(StyledItemsContainer, { children: /* @__PURE__ */ jsx(StyledItems, { children }) });
|
|
32
|
+
};
|
|
33
|
+
var BottomItems_default = BottomItems;
|
|
34
|
+
export {
|
|
35
|
+
BottomItems_default as default
|
|
36
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import * as Styles from "./styles";
|
|
3
|
+
const Item = ({
|
|
4
|
+
active = false,
|
|
5
|
+
children,
|
|
6
|
+
expanded = false,
|
|
7
|
+
icon: Icon2,
|
|
8
|
+
label,
|
|
9
|
+
responsive = true,
|
|
10
|
+
tag,
|
|
11
|
+
wrapper: Wrapper
|
|
12
|
+
}) => {
|
|
13
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
14
|
+
/* @__PURE__ */ jsx(Styles.StyledItem, { isActive: active, isResponsive: responsive, children: /* @__PURE__ */ jsx(Wrapper, { children: /* @__PURE__ */ jsxs(Styles.StyledTextContainer, { children: [
|
|
15
|
+
Icon2,
|
|
16
|
+
/* @__PURE__ */ jsx(Styles.StyledText, { children: label }),
|
|
17
|
+
tag && /* @__PURE__ */ jsx(Styles.StyledTag, { children: tag })
|
|
18
|
+
] }) }) }),
|
|
19
|
+
expanded && children
|
|
20
|
+
] });
|
|
21
|
+
};
|
|
22
|
+
var Item_default = Item;
|
|
23
|
+
export {
|
|
24
|
+
Item_default as default
|
|
25
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as Styles from "./styles";
|
|
3
|
+
const Subitem = ({ active = false, label, wrapper: Wrapper }) => {
|
|
4
|
+
return /* @__PURE__ */ jsx(Styles.StyledItem, { isActive: active, children: /* @__PURE__ */ jsx(Wrapper, { children: /* @__PURE__ */ jsx(Styles.StyledTextContainer, { isSubItem: true, children: /* @__PURE__ */ jsx(Styles.StyledText, { children: label }) }) }) });
|
|
5
|
+
};
|
|
6
|
+
var Subitem_default = Subitem;
|
|
7
|
+
export {
|
|
8
|
+
Subitem_default as default
|
|
9
|
+
};
|