@pingux/astro 2.4.2-alpha.1 → 2.5.0-alpha.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/lib/cjs/components/Button/Buttons.styles.js +14 -0
- package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.stories.js +95 -48
- package/lib/cjs/components/NavBar/NavBar.js +22 -7
- package/lib/cjs/components/NavBar/NavBar.styles.js +126 -1
- package/lib/cjs/components/NavBarSection/NavBarItem.js +2 -2
- package/lib/cjs/components/NavBarSection/NavBarItemBody.js +3 -4
- package/lib/cjs/components/NavBarSection/NavBarItemBody.test.js +3 -2
- package/lib/cjs/components/NavBarSection/NavBarItemButton.js +2 -17
- package/lib/cjs/components/NavBarSection/NavBarItemHeader.js +19 -11
- package/lib/cjs/components/NavBarSection/NavBarItemLink.js +1 -1
- package/lib/cjs/components/NavBarSection/NavBarSection.js +20 -7
- package/lib/cjs/hooks/useNavBarStyling/index.js +14 -0
- package/lib/cjs/hooks/useNavBarStyling/useNavBarStyling.js +49 -0
- package/lib/cjs/hooks/useNavBarStyling/useNavBarStyling.test.js +45 -0
- package/lib/cjs/recipes/MultipagePopup.stories.js +378 -0
- package/lib/cjs/styles/templates/Nav/HeaderBar.js +1 -1
- package/lib/components/Button/Buttons.styles.js +14 -0
- package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.stories.js +93 -47
- package/lib/components/NavBar/NavBar.js +22 -7
- package/lib/components/NavBar/NavBar.styles.js +126 -1
- package/lib/components/NavBarSection/NavBarItem.js +2 -2
- package/lib/components/NavBarSection/NavBarItemBody.js +3 -4
- package/lib/components/NavBarSection/NavBarItemBody.test.js +3 -2
- package/lib/components/NavBarSection/NavBarItemButton.js +2 -18
- package/lib/components/NavBarSection/NavBarItemHeader.js +19 -11
- package/lib/components/NavBarSection/NavBarItemLink.js +1 -1
- package/lib/components/NavBarSection/NavBarSection.js +21 -8
- package/lib/hooks/useNavBarStyling/index.js +1 -0
- package/lib/hooks/useNavBarStyling/useNavBarStyling.js +41 -0
- package/lib/hooks/useNavBarStyling/useNavBarStyling.test.js +42 -0
- package/lib/recipes/MultipagePopup.stories.js +365 -0
- package/lib/styles/templates/Nav/HeaderBar.js +1 -1
- package/package.json +1 -1
@@ -42,7 +42,8 @@ var NavBarSectionItemHeader = function NavBarSectionItemHeader(props) {
|
|
42
42
|
var navBarState = (0, _NavBarContext.useNavBarContext)();
|
43
43
|
var selectedKey = navBarState.selectedKey,
|
44
44
|
setExpandedKeys = navBarState.setExpandedKeys,
|
45
|
-
expandedKeys = navBarState.expandedKeys
|
45
|
+
expandedKeys = navBarState.expandedKeys,
|
46
|
+
navStyles = navBarState.navStyles;
|
46
47
|
var isExpanded = (0, _includes["default"])(expandedKeys).call(expandedKeys, key);
|
47
48
|
var array = (0, _map["default"])(_context = item.children).call(_context, function (i) {
|
48
49
|
return i.key;
|
@@ -58,9 +59,14 @@ var NavBarSectionItemHeader = function NavBarSectionItemHeader(props) {
|
|
58
59
|
isSelected: childSelected && !isExpanded
|
59
60
|
}),
|
60
61
|
classNames = _useStatusClasses.classNames;
|
61
|
-
var
|
62
|
+
var getIconColor = function getIconColor() {
|
63
|
+
if (navStyles.navBarItemHeader === 'navBar.popUpItemHeaderContainer') {
|
64
|
+
return childSelected && !isExpanded ? 'white' : 'text.primary';
|
65
|
+
}
|
66
|
+
return childSelected && !isExpanded ? 'white' : 'neutral.95';
|
67
|
+
};
|
62
68
|
return (0, _react2.jsx)(_index.Box, {
|
63
|
-
variant:
|
69
|
+
variant: navStyles.navBarItemHeader,
|
64
70
|
className: classNames,
|
65
71
|
isRow: true,
|
66
72
|
"data-testid": heading
|
@@ -69,12 +75,12 @@ var NavBarSectionItemHeader = function NavBarSectionItemHeader(props) {
|
|
69
75
|
size: "sm",
|
70
76
|
sx: {
|
71
77
|
mr: 'sm',
|
72
|
-
color:
|
73
|
-
fill:
|
78
|
+
color: getIconColor(),
|
79
|
+
fill: getIconColor()
|
74
80
|
},
|
75
81
|
"aria-hidden": "true"
|
76
82
|
}), (0, _react2.jsx)(_index.Text, {
|
77
|
-
variant:
|
83
|
+
variant: navStyles.navBarItemHeaderText
|
78
84
|
}, heading), (0, _react2.jsx)(_index.Box, {
|
79
85
|
isRow: true,
|
80
86
|
alignItems: "center",
|
@@ -83,10 +89,10 @@ var NavBarSectionItemHeader = function NavBarSectionItemHeader(props) {
|
|
83
89
|
}
|
84
90
|
}, (0, _react2.jsx)(_index.Icon, {
|
85
91
|
icon: isExpanded ? _MenuUpIcon["default"] : _MenuDownIcon["default"],
|
86
|
-
size:
|
92
|
+
size: navStyles.navBarItemHeaderIconSize,
|
87
93
|
sx: {
|
88
|
-
color:
|
89
|
-
fill:
|
94
|
+
color: getIconColor(),
|
95
|
+
fill: getIconColor()
|
90
96
|
},
|
91
97
|
"aria-label": isExpanded ? 'Menu up' : 'Menu down'
|
92
98
|
})));
|
@@ -97,8 +103,10 @@ var NavBarPrimaryItemHeader = function NavBarPrimaryItemHeader(_ref) {
|
|
97
103
|
className = item.className,
|
98
104
|
heading = item.heading,
|
99
105
|
customIcon = item.customIcon;
|
106
|
+
var navBarState = (0, _NavBarContext.useNavBarContext)();
|
107
|
+
var navStyles = navBarState.navStyles;
|
100
108
|
return (0, _react2.jsx)(_index.Box, {
|
101
|
-
variant:
|
109
|
+
variant: navStyles.navBarItemHeader,
|
102
110
|
className: className,
|
103
111
|
isRow: true,
|
104
112
|
"data-testid": heading
|
@@ -112,7 +120,7 @@ var NavBarPrimaryItemHeader = function NavBarPrimaryItemHeader(_ref) {
|
|
112
120
|
},
|
113
121
|
"aria-hidden": "true"
|
114
122
|
}), (0, _react2.jsx)(_index.Text, {
|
115
|
-
variant:
|
123
|
+
variant: navStyles.navBarItemHeaderText
|
116
124
|
}, heading), (0, _react2.jsx)(_index.Box, {
|
117
125
|
isRow: true,
|
118
126
|
alignItems: "center",
|
@@ -43,7 +43,7 @@ var NavBarItemLink = function NavBarItemLink(props) {
|
|
43
43
|
classNames = _useStatusClasses.classNames;
|
44
44
|
return (0, _react2.jsx)(_index.Link, (0, _extends2["default"])({
|
45
45
|
id: key,
|
46
|
-
variant:
|
46
|
+
variant: state.navStyles.navBarItemLink,
|
47
47
|
className: classNames,
|
48
48
|
onPress: onNavPress,
|
49
49
|
color: isSelected ? 'white' : undefined
|
@@ -24,7 +24,7 @@ var _NavBarContext = require("../../context/NavBarContext");
|
|
24
24
|
var _NavBarItemBody = _interopRequireDefault(require("./NavBarItemBody"));
|
25
25
|
var _NavBarItemHeader = _interopRequireDefault(require("./NavBarItemHeader"));
|
26
26
|
var _react2 = require("@emotion/react");
|
27
|
-
var _excluded = ["hasSeparator", "title", "items"],
|
27
|
+
var _excluded = ["hasSeparator", "title", "items", "onKeyDown"],
|
28
28
|
_excluded2 = ["key", "children"];
|
29
29
|
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
30
30
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
@@ -38,11 +38,13 @@ var NavBarSection = function NavBarSection(_ref) {
|
|
38
38
|
var hasSeparator = _ref.hasSeparator,
|
39
39
|
title = _ref.title,
|
40
40
|
items = _ref.items,
|
41
|
+
onKeyDown = _ref.onKeyDown,
|
41
42
|
others = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
42
43
|
var ref = (0, _react.useRef)();
|
43
44
|
var childrenItems = (0, _filter["default"])(items).call(items, function (item) {
|
44
45
|
return item.children || item.href;
|
45
46
|
});
|
47
|
+
var state = (0, _NavBarContext.useNavBarContext)();
|
46
48
|
return (0, _react2.jsx)(_react["default"].Fragment, null, hasSeparator && (0, _react2.jsx)(_.Separator, {
|
47
49
|
variant: "separator.navBarSeparator"
|
48
50
|
}), title && (0, _react2.jsx)(_.Text, {
|
@@ -56,19 +58,23 @@ var NavBarSection = function NavBarSection(_ref) {
|
|
56
58
|
listStyle: 'none'
|
57
59
|
}
|
58
60
|
}, others), (0, _map["default"])(childrenItems).call(childrenItems, function (item) {
|
59
|
-
return (0, _react2.jsx)(
|
60
|
-
|
61
|
+
return (0, _react2.jsx)(_.Box, {
|
62
|
+
as: "li",
|
63
|
+
key: item.key,
|
64
|
+
variant: state.navStyles.navBarItemHeaderListItem
|
61
65
|
}, !item.children && item.href ? (0, _react2.jsx)(PrimaryItem, {
|
62
66
|
key: item.key,
|
63
67
|
item: item
|
64
68
|
}) : (0, _react2.jsx)(SectionItem, {
|
65
69
|
key: item.key,
|
66
|
-
item: item
|
70
|
+
item: item,
|
71
|
+
onKeyDown: onKeyDown
|
67
72
|
}));
|
68
73
|
})));
|
69
74
|
};
|
70
75
|
var SectionItem = function SectionItem(_ref2) {
|
71
|
-
var item = _ref2.item
|
76
|
+
var item = _ref2.item,
|
77
|
+
onKeyDownProp = _ref2.onKeyDown;
|
72
78
|
var key = item.key,
|
73
79
|
children = item.children,
|
74
80
|
others = (0, _objectWithoutProperties2["default"])(item, _excluded2);
|
@@ -119,6 +125,9 @@ var SectionItem = function SectionItem(_ref2) {
|
|
119
125
|
default:
|
120
126
|
break;
|
121
127
|
}
|
128
|
+
if (onKeyDownProp) {
|
129
|
+
onKeyDownProp(e);
|
130
|
+
}
|
122
131
|
};
|
123
132
|
var _useKeyboard = (0, _interactions.useKeyboard)({
|
124
133
|
onKeyDown: function onKeyDown(e) {
|
@@ -128,7 +137,7 @@ var SectionItem = function SectionItem(_ref2) {
|
|
128
137
|
}),
|
129
138
|
keyboardProps = _useKeyboard.keyboardProps;
|
130
139
|
return (0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_.Button, (0, _extends2["default"])({
|
131
|
-
variant:
|
140
|
+
variant: navBarState.navStyles.sectionItem,
|
132
141
|
onPress: function onPress() {
|
133
142
|
return onExpandedChange(!isExpanded);
|
134
143
|
}
|
@@ -141,8 +150,9 @@ var SectionItem = function SectionItem(_ref2) {
|
|
141
150
|
};
|
142
151
|
var PrimaryItem = function PrimaryItem(_ref3) {
|
143
152
|
var item = _ref3.item;
|
153
|
+
var state = (0, _NavBarContext.useNavBarContext)();
|
144
154
|
return (0, _react2.jsx)(_.Link, {
|
145
|
-
variant:
|
155
|
+
variant: state.navStyles.primaryItem,
|
146
156
|
href: item.href,
|
147
157
|
target: "_blank"
|
148
158
|
}, (0, _react2.jsx)(_NavBarItemHeader["default"], {
|
@@ -155,6 +165,8 @@ NavBarSection.defaultProps = {
|
|
155
165
|
NavBarSection.propTypes = {
|
156
166
|
/** If true, a separator will render at the end of the section */
|
157
167
|
hasSeparator: _propTypes["default"].bool,
|
168
|
+
/** callback that runs on key down */
|
169
|
+
onKeyDown: _propTypes["default"].func,
|
158
170
|
/** If present, this string will render at the top of the section */
|
159
171
|
title: _propTypes["default"].string,
|
160
172
|
/**
|
@@ -164,6 +176,7 @@ NavBarSection.propTypes = {
|
|
164
176
|
items: _propTypes["default"].arrayOf(_propTypes["default"].shape({}))
|
165
177
|
};
|
166
178
|
SectionItem.propTypes = {
|
179
|
+
onKeyDown: _propTypes["default"].func,
|
167
180
|
item: _propTypes["default"].shape({
|
168
181
|
key: _propTypes["default"].string,
|
169
182
|
children: _propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].object])),
|
@@ -0,0 +1,14 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
4
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
5
|
+
_Object$defineProperty(exports, "__esModule", {
|
6
|
+
value: true
|
7
|
+
});
|
8
|
+
_Object$defineProperty(exports, "default", {
|
9
|
+
enumerable: true,
|
10
|
+
get: function get() {
|
11
|
+
return _useNavBarStyling["default"];
|
12
|
+
}
|
13
|
+
});
|
14
|
+
var _useNavBarStyling = _interopRequireDefault(require("./useNavBarStyling"));
|
@@ -0,0 +1,49 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
4
|
+
_Object$defineProperty(exports, "__esModule", {
|
5
|
+
value: true
|
6
|
+
});
|
7
|
+
exports["default"] = void 0;
|
8
|
+
/**
|
9
|
+
* Generates the necessary props to be used in field components.
|
10
|
+
* @param {String} variant Variant for the overall NavBar
|
11
|
+
* @returns {Object} Prop object that distributes styling to various sub-components.
|
12
|
+
*/
|
13
|
+
|
14
|
+
var useNavBarStyling = function useNavBarStyling(variant) {
|
15
|
+
switch (variant) {
|
16
|
+
case 'popupNav':
|
17
|
+
return {
|
18
|
+
navBar: 'navBar.popUpContainer',
|
19
|
+
primaryItem: 'variants.navBar.popUpSectionButton',
|
20
|
+
sectionItem: 'variants.navBar.popUpSectionButton',
|
21
|
+
navBarItemHeader: 'navBar.popUpItemHeaderContainer',
|
22
|
+
navBarItemHeaderText: 'variants.navBar.popUpHeaderText',
|
23
|
+
navBarItemButton: 'variants.navBar.popUpItemButton',
|
24
|
+
navBarItemLink: 'variants.navBar.popUpItemButton',
|
25
|
+
navBarItem: 'navBar.popUpItem',
|
26
|
+
navBarItemText: 'variants.navBar.popUpHeaderText',
|
27
|
+
navBarItemHeaderListItem: 'variants.navBar.popUpItemListItem',
|
28
|
+
navBarItemBody: 'variants.navBar.popUpNavBarItemBody',
|
29
|
+
navBarItemHeaderIconSize: 'xs'
|
30
|
+
};
|
31
|
+
default:
|
32
|
+
return {
|
33
|
+
navBar: 'navBar.container',
|
34
|
+
primaryItem: 'variants.navBar.sectionButton',
|
35
|
+
sectionItem: 'variants.navBar.sectionButton',
|
36
|
+
navBarItemHeader: 'navBar.itemHeaderContainer',
|
37
|
+
navBarItemHeaderText: 'variants.navBar.headerText',
|
38
|
+
navBarItemButton: 'variants.navBar.itemButton',
|
39
|
+
navBarItemLink: 'variants.navBar.itemButton',
|
40
|
+
navBarItem: 'navBar.item',
|
41
|
+
navBarItemText: 'variants.navBar.headerText',
|
42
|
+
navBarItemHeaderListItem: null,
|
43
|
+
navBarItemBody: 'variants.navBar.navBarItemBody',
|
44
|
+
navBarItemHeaderIconSize: 'sm'
|
45
|
+
};
|
46
|
+
}
|
47
|
+
};
|
48
|
+
var _default = useNavBarStyling;
|
49
|
+
exports["default"] = _default;
|
@@ -0,0 +1,45 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
|
+
var _reactHooks = require("@testing-library/react-hooks");
|
5
|
+
var _ = _interopRequireDefault(require("."));
|
6
|
+
test('popUpNav variant returns the correct variants', function () {
|
7
|
+
var _renderHook = (0, _reactHooks.renderHook)(function () {
|
8
|
+
return (0, _["default"])('popupNav');
|
9
|
+
}),
|
10
|
+
result = _renderHook.result;
|
11
|
+
expect(result.current).toMatchObject({
|
12
|
+
navBar: 'navBar.popUpContainer',
|
13
|
+
primaryItem: 'variants.navBar.popUpSectionButton',
|
14
|
+
sectionItem: 'variants.navBar.popUpSectionButton',
|
15
|
+
navBarItemHeader: 'navBar.popUpItemHeaderContainer',
|
16
|
+
navBarItemHeaderText: 'variants.navBar.popUpHeaderText',
|
17
|
+
navBarItemButton: 'variants.navBar.popUpItemButton',
|
18
|
+
navBarItemLink: 'variants.navBar.popUpItemButton',
|
19
|
+
navBarItem: 'navBar.popUpItem',
|
20
|
+
navBarItemText: 'variants.navBar.popUpHeaderText',
|
21
|
+
navBarItemHeaderListItem: 'variants.navBar.popUpItemListItem',
|
22
|
+
navBarItemBody: 'variants.navBar.popUpNavBarItemBody',
|
23
|
+
navBarItemHeaderIconSize: 'xs'
|
24
|
+
});
|
25
|
+
});
|
26
|
+
test('default prop returns standard nav variants', function () {
|
27
|
+
var _renderHook2 = (0, _reactHooks.renderHook)(function () {
|
28
|
+
return (0, _["default"])('');
|
29
|
+
}),
|
30
|
+
result = _renderHook2.result;
|
31
|
+
expect(result.current).toMatchObject({
|
32
|
+
navBar: 'navBar.container',
|
33
|
+
primaryItem: 'variants.navBar.sectionButton',
|
34
|
+
sectionItem: 'variants.navBar.sectionButton',
|
35
|
+
navBarItemHeader: 'navBar.itemHeaderContainer',
|
36
|
+
navBarItemHeaderText: 'variants.navBar.headerText',
|
37
|
+
navBarItemButton: 'variants.navBar.itemButton',
|
38
|
+
navBarItemLink: 'variants.navBar.itemButton',
|
39
|
+
navBarItem: 'navBar.item',
|
40
|
+
navBarItemText: 'variants.navBar.headerText',
|
41
|
+
navBarItemHeaderListItem: null,
|
42
|
+
navBarItemBody: 'variants.navBar.navBarItemBody',
|
43
|
+
navBarItemHeaderIconSize: 'sm'
|
44
|
+
});
|
45
|
+
});
|
@@ -0,0 +1,378 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
4
|
+
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
5
|
+
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
|
6
|
+
var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
|
7
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
8
|
+
var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
|
9
|
+
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
|
10
|
+
var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
|
11
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
12
|
+
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
13
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
14
|
+
_Object$defineProperty(exports, "__esModule", {
|
15
|
+
value: true
|
16
|
+
});
|
17
|
+
exports["default"] = exports.Default = void 0;
|
18
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
19
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
20
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
21
|
+
var _react = _interopRequireWildcard(require("react"));
|
22
|
+
var _reactAria = require("react-aria");
|
23
|
+
var _reactStately = require("react-stately");
|
24
|
+
var _utils = require("@react-aria/utils");
|
25
|
+
var _CompassOutlineIcon = _interopRequireDefault(require("mdi-react/CompassOutlineIcon"));
|
26
|
+
var _GlobeIcon = _interopRequireDefault(require("mdi-react/GlobeIcon"));
|
27
|
+
var _HelpCircleOutlineIcon = _interopRequireDefault(require("mdi-react/HelpCircleOutlineIcon"));
|
28
|
+
var _MenuDownIcon = _interopRequireDefault(require("mdi-react/MenuDownIcon"));
|
29
|
+
var _MenuUpIcon = _interopRequireDefault(require("mdi-react/MenuUpIcon"));
|
30
|
+
var _index = require("../index");
|
31
|
+
var _NavData = require("../styles/templates/Nav/NavData");
|
32
|
+
var _react2 = require("@emotion/react");
|
33
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
34
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
35
|
+
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
36
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
37
|
+
var _default = {
|
38
|
+
title: 'Recipes/Multipage Popup',
|
39
|
+
parameters: {
|
40
|
+
backgrounds: {
|
41
|
+
"default": 'accent',
|
42
|
+
values: [{
|
43
|
+
name: 'accent',
|
44
|
+
value: 'accent.99'
|
45
|
+
}]
|
46
|
+
}
|
47
|
+
}
|
48
|
+
};
|
49
|
+
exports["default"] = _default;
|
50
|
+
var dataPopUp = [{
|
51
|
+
'data-id': 'orchestrate',
|
52
|
+
key: 'Orchestrate',
|
53
|
+
heading: 'Orchestrate',
|
54
|
+
children: [(0, _react2.jsx)(_index.NavBarItemButton, {
|
55
|
+
key: "PingOne DaVinci",
|
56
|
+
id: "PingOne DaVinci"
|
57
|
+
}, (0, _react2.jsx)("b", null, "PingOne "), "DaVinci")]
|
58
|
+
}];
|
59
|
+
var secondDataPopUp = [{
|
60
|
+
'data-id': 'threat-protection',
|
61
|
+
key: 'Threat Protection',
|
62
|
+
heading: 'Threat Protection',
|
63
|
+
children: [(0, _react2.jsx)(_index.NavBarItemButton, {
|
64
|
+
key: "protect",
|
65
|
+
id: "protect"
|
66
|
+
}, (0, _react2.jsx)("b", null, "PingOne "), "Risk"), (0, _react2.jsx)(_index.NavBarItemButton, {
|
67
|
+
key: "Api Intel",
|
68
|
+
id: "Api Intel"
|
69
|
+
}, (0, _react2.jsx)("b", null, "PingOne "), "API Intelligence"), (0, _react2.jsx)(_index.NavBarItemButton, {
|
70
|
+
key: "Intel for Api",
|
71
|
+
id: "Intel for Api"
|
72
|
+
}, (0, _react2.jsx)("b", null, "Ping "), "Intelligence for APIs")]
|
73
|
+
}];
|
74
|
+
var thirdDataPopUp = [{
|
75
|
+
'data-id': 'threat-protection',
|
76
|
+
key: 'Identity',
|
77
|
+
heading: 'Identity',
|
78
|
+
children: [(0, _react2.jsx)(_index.NavBarItemButton, {
|
79
|
+
key: "verify",
|
80
|
+
id: "verify"
|
81
|
+
}, (0, _react2.jsx)("b", null, "PingOne "), "Verify"), (0, _react2.jsx)(_index.NavBarItemButton, {
|
82
|
+
key: "credentials",
|
83
|
+
id: "credentials"
|
84
|
+
}, (0, _react2.jsx)("b", null, "PingOne "), "Crendentials"), (0, _react2.jsx)(_index.NavBarItemButton, {
|
85
|
+
key: "directory",
|
86
|
+
id: "directory"
|
87
|
+
}, (0, _react2.jsx)("b", null, "Ping"), "Directory"), (0, _react2.jsx)(_index.NavBarItemButton, {
|
88
|
+
key: "sso1",
|
89
|
+
id: "sso1"
|
90
|
+
}, (0, _react2.jsx)("b", null, "Ping One "), "SSO")]
|
91
|
+
}];
|
92
|
+
var fourthDataPopUp = [{
|
93
|
+
'data-id': 'threat-protection',
|
94
|
+
key: 'Authenticate',
|
95
|
+
heading: 'Authenticate',
|
96
|
+
children: [(0, _react2.jsx)(_index.NavBarItemButton, {
|
97
|
+
key: "sso",
|
98
|
+
id: "sso"
|
99
|
+
}, (0, _react2.jsx)("b", null, "PingOne "), "SSO"), (0, _react2.jsx)(_index.NavBarItemButton, {
|
100
|
+
key: "federate",
|
101
|
+
id: "federate"
|
102
|
+
}, (0, _react2.jsx)("b", null, "Ping"), "Federate"), (0, _react2.jsx)(_index.NavBarItemButton, {
|
103
|
+
key: "MFA",
|
104
|
+
id: "MFA"
|
105
|
+
}, (0, _react2.jsx)("b", null, "PingOne "), "MFA"), (0, _react2.jsx)(_index.NavBarItemButton, {
|
106
|
+
key: "id",
|
107
|
+
id: "id"
|
108
|
+
}, (0, _react2.jsx)("b", null, "Ping"), "ID"), (0, _react2.jsx)(_index.NavBarItemButton, {
|
109
|
+
key: "central",
|
110
|
+
id: "central"
|
111
|
+
}, (0, _react2.jsx)("b", null, "Ping"), "Central")]
|
112
|
+
}];
|
113
|
+
var fifthDataPopUp = [{
|
114
|
+
'data-id': 'authorize',
|
115
|
+
key: 'Authorize',
|
116
|
+
heading: 'Authorize',
|
117
|
+
children: [(0, _react2.jsx)(_index.NavBarItemButton, {
|
118
|
+
key: "PingOne Authorize",
|
119
|
+
id: "PingOne Authorize"
|
120
|
+
}, (0, _react2.jsx)("b", null, "PingOne "), "Authorize"), (0, _react2.jsx)(_index.NavBarItemButton, {
|
121
|
+
key: "Ping Authorize",
|
122
|
+
id: "Ping Authorize"
|
123
|
+
}, (0, _react2.jsx)("b", null, "Ping"), "Authorize"), (0, _react2.jsx)(_index.NavBarItemButton, {
|
124
|
+
key: "Ping Access",
|
125
|
+
id: "Ping Access"
|
126
|
+
}, (0, _react2.jsx)("b", null, "Ping"), "Access")]
|
127
|
+
}];
|
128
|
+
var SideNav = function SideNav(_ref) {
|
129
|
+
var setSelectedKey = _ref.setSelectedKey,
|
130
|
+
selectedKey = _ref.selectedKey;
|
131
|
+
return (0, _react2.jsx)(_index.NavBar, {
|
132
|
+
setSelectedKey: setSelectedKey,
|
133
|
+
selectedKey: selectedKey
|
134
|
+
}, (0, _react2.jsx)(_index.Box, {
|
135
|
+
padding: "md",
|
136
|
+
key: "top-logo-parent"
|
137
|
+
}, (0, _react2.jsx)(_index.Link, {
|
138
|
+
href: "https://pingidentity.com",
|
139
|
+
target: "_blank",
|
140
|
+
"aria-label": "home link"
|
141
|
+
}, _NavData.logo)), (0, _react2.jsx)(_index.Separator, {
|
142
|
+
marginTop: "lg",
|
143
|
+
marginBottom: "sm"
|
144
|
+
}), (0, _react2.jsx)(_index.Box, {
|
145
|
+
variant: "navBar.sectionContainer",
|
146
|
+
paddingBottom: "xl",
|
147
|
+
key: "first-section-container"
|
148
|
+
}, (0, _react2.jsx)(_index.NavBarItem, {
|
149
|
+
id: "Overview",
|
150
|
+
key: "Overview",
|
151
|
+
text: "Overview",
|
152
|
+
icon: _GlobeIcon["default"]
|
153
|
+
}), (0, _react2.jsx)(_index.NavBarSection, {
|
154
|
+
items: _NavData.data,
|
155
|
+
hasSeparator: true
|
156
|
+
}), (0, _react2.jsx)(_index.NavBarSection, {
|
157
|
+
items: _NavData.secondData,
|
158
|
+
hasSeparator: true,
|
159
|
+
title: "PingOne Services"
|
160
|
+
}), (0, _react2.jsx)(_index.NavBarSection, {
|
161
|
+
items: _NavData.thirdData
|
162
|
+
})));
|
163
|
+
};
|
164
|
+
var CustomPopover = function CustomPopover() {
|
165
|
+
var _useState = (0, _react.useState)('PingOne DaVinci'),
|
166
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
167
|
+
selectedKey = _useState2[0],
|
168
|
+
setSelectedKey = _useState2[1];
|
169
|
+
var triggerRef = (0, _react.useRef)();
|
170
|
+
var overlayRef = (0, _react.useRef)();
|
171
|
+
var state = (0, _reactStately.useOverlayTriggerState)({});
|
172
|
+
var _useOverlayTrigger = (0, _reactAria.useOverlayTrigger)({
|
173
|
+
type: 'dialog'
|
174
|
+
}, state, triggerRef),
|
175
|
+
triggerProps = _useOverlayTrigger.triggerProps,
|
176
|
+
overlayProps = _useOverlayTrigger.overlayProps;
|
177
|
+
var _useOverlayPosition = (0, _reactAria.useOverlayPosition)({
|
178
|
+
targetRef: triggerRef,
|
179
|
+
overlayRef: overlayRef,
|
180
|
+
placement: 'bottom right',
|
181
|
+
isOpen: state.isOpen,
|
182
|
+
offset: 6
|
183
|
+
}),
|
184
|
+
positionProps = _useOverlayPosition.overlayProps,
|
185
|
+
placement = _useOverlayPosition.placement,
|
186
|
+
updatePosition = _useOverlayPosition.updatePosition;
|
187
|
+
(0, _utils.useLayoutEffect)(function () {
|
188
|
+
requestAnimationFrame(function () {
|
189
|
+
updatePosition();
|
190
|
+
});
|
191
|
+
}, [updatePosition]);
|
192
|
+
var style = _objectSpread(_objectSpread({}, positionProps.style), {}, {
|
193
|
+
width: '760px',
|
194
|
+
minWidth: '760px',
|
195
|
+
height: '800px',
|
196
|
+
boxShadow: 'none !important'
|
197
|
+
});
|
198
|
+
var onEscCloseNav = function onEscCloseNav(e) {
|
199
|
+
if (e.key === 'Escape') {
|
200
|
+
state.close();
|
201
|
+
}
|
202
|
+
};
|
203
|
+
return (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_index.Button, (0, _extends2["default"])({
|
204
|
+
ref: triggerRef,
|
205
|
+
variant: "headerBar"
|
206
|
+
}, triggerProps), (0, _react2.jsx)(_index.Box, {
|
207
|
+
isRow: true,
|
208
|
+
alignItems: "center"
|
209
|
+
}, (0, _react2.jsx)(_index.Icon, {
|
210
|
+
icon: _CompassOutlineIcon["default"],
|
211
|
+
size: "sm"
|
212
|
+
}), (0, _react2.jsx)(_index.Text, {
|
213
|
+
color: "neutral.30",
|
214
|
+
fontSize: "md",
|
215
|
+
fontWeight: 1,
|
216
|
+
mx: 7,
|
217
|
+
variant: "textEllipsis"
|
218
|
+
}, "Explore"), (0, _react2.jsx)(_index.Icon, {
|
219
|
+
icon: state.isOpen ? _MenuUpIcon["default"] : _MenuDownIcon["default"],
|
220
|
+
mr: "sm",
|
221
|
+
size: "sm"
|
222
|
+
}))), (0, _react2.jsx)(_index.PopoverContainer, (0, _extends2["default"])({}, overlayProps, positionProps, {
|
223
|
+
isOpen: state.isOpen,
|
224
|
+
hasNoArrow: true,
|
225
|
+
ref: overlayRef,
|
226
|
+
placement: placement,
|
227
|
+
style: style,
|
228
|
+
onClose: state.close,
|
229
|
+
isDismissable: true,
|
230
|
+
isNotClosedOnBlur: true
|
231
|
+
}), (0, _react2.jsx)(_reactAria.FocusScope, {
|
232
|
+
autoFocus: true,
|
233
|
+
contain: true,
|
234
|
+
restoreFocus: true
|
235
|
+
}, (0, _react2.jsx)(_index.Box, {
|
236
|
+
sx: {
|
237
|
+
height: '100%'
|
238
|
+
}
|
239
|
+
}, (0, _react2.jsx)(_index.NavBar, {
|
240
|
+
variant: "popupNav",
|
241
|
+
hasRestoreFocus: false,
|
242
|
+
setSelectedKey: setSelectedKey,
|
243
|
+
selectedKey: selectedKey
|
244
|
+
}, (0, _react2.jsx)(_index.Box, {
|
245
|
+
variant: "navBar.popUpSectionContainer",
|
246
|
+
paddingBottom: "xl",
|
247
|
+
key: "first-section-container"
|
248
|
+
}, (0, _react2.jsx)(_index.NavBarSection, {
|
249
|
+
items: dataPopUp,
|
250
|
+
"data-id": "third-nav-bar-section",
|
251
|
+
onKeyDown: onEscCloseNav
|
252
|
+
}), (0, _react2.jsx)(_index.NavBarSection, {
|
253
|
+
items: secondDataPopUp,
|
254
|
+
"data-id": "third-nav-bar-section",
|
255
|
+
onKeyDown: onEscCloseNav
|
256
|
+
}), (0, _react2.jsx)(_index.NavBarSection, {
|
257
|
+
items: thirdDataPopUp,
|
258
|
+
"data-id": "third-nav-bar-section",
|
259
|
+
onKeyDown: onEscCloseNav
|
260
|
+
}), (0, _react2.jsx)(_index.NavBarSection, {
|
261
|
+
items: fourthDataPopUp,
|
262
|
+
"data-id": "third-nav-bar-section",
|
263
|
+
onKeyDown: onEscCloseNav
|
264
|
+
}), (0, _react2.jsx)(_index.NavBarSection, {
|
265
|
+
items: fifthDataPopUp,
|
266
|
+
"data-id": "third-nav-bar-section",
|
267
|
+
onKeyDown: onEscCloseNav
|
268
|
+
}))), (0, _react2.jsx)(_index.Box, {
|
269
|
+
sx: {
|
270
|
+
marginLeft: '185px',
|
271
|
+
height: '100%',
|
272
|
+
width: 'calc(100% - 185px)',
|
273
|
+
backgroundColor: 'white',
|
274
|
+
padding: 'lg'
|
275
|
+
}
|
276
|
+
}, (0, _react2.jsx)(_index.Text, {
|
277
|
+
as: "h2",
|
278
|
+
variant: "H2"
|
279
|
+
}, selectedKey), (0, _react2.jsx)("br", null), (0, _react2.jsx)(_index.Button, null, "Example of focusable element in the body"))))));
|
280
|
+
};
|
281
|
+
var CustomPopoverMenu = function CustomPopoverMenu() {
|
282
|
+
var _useState3 = (0, _react.useState)(false),
|
283
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
284
|
+
isOpen = _useState4[0],
|
285
|
+
setIsOpen = _useState4[1];
|
286
|
+
return (0, _react2.jsx)(_index.OverlayProvider, null, (0, _react2.jsx)(_index.PopoverMenu, {
|
287
|
+
onOpenChange: setIsOpen
|
288
|
+
}, (0, _react2.jsx)(_index.IconButton, {
|
289
|
+
"aria-label": "default icon button"
|
290
|
+
}, (0, _react2.jsx)(_index.Icon, {
|
291
|
+
icon: _MenuDownIcon["default"],
|
292
|
+
size: "xs",
|
293
|
+
color: "neutral.30",
|
294
|
+
sx: isOpen ? {
|
295
|
+
transform: 'rotate(180deg)'
|
296
|
+
} : null
|
297
|
+
})), (0, _react2.jsx)(_index.Menu, null, (0, _react2.jsx)(_index.Item, {
|
298
|
+
key: "option1"
|
299
|
+
}, "First Option"), (0, _react2.jsx)(_index.Item, {
|
300
|
+
key: "option2"
|
301
|
+
}, "Second Option"), (0, _react2.jsx)(_index.Item, {
|
302
|
+
key: "option3"
|
303
|
+
}, "Third Option"))));
|
304
|
+
};
|
305
|
+
var HeaderBar = function HeaderBar() {
|
306
|
+
var Rectangle = function Rectangle() {
|
307
|
+
return (0, _react2.jsx)(_index.Box, {
|
308
|
+
width: "1px",
|
309
|
+
height: 30,
|
310
|
+
bg: "neutral.80",
|
311
|
+
mx: 25
|
312
|
+
});
|
313
|
+
};
|
314
|
+
return (0, _react2.jsx)(_index.Box, {
|
315
|
+
ml: 230,
|
316
|
+
px: "md",
|
317
|
+
bg: "white",
|
318
|
+
height: "40px",
|
319
|
+
isRow: true,
|
320
|
+
alignItems: "center",
|
321
|
+
justifyContent: "space-between"
|
322
|
+
}, (0, _react2.jsx)(_index.EnvironmentBreadcrumb, {
|
323
|
+
name: "Globochem"
|
324
|
+
}), (0, _react2.jsx)(_index.Box, {
|
325
|
+
isRow: true
|
326
|
+
}, (0, _react2.jsx)(_index.Box, {
|
327
|
+
isRow: true,
|
328
|
+
alignItems: "center"
|
329
|
+
}, (0, _react2.jsx)(_index.Icon, {
|
330
|
+
icon: _HelpCircleOutlineIcon["default"],
|
331
|
+
size: 20,
|
332
|
+
color: "neutral.30"
|
333
|
+
}), (0, _react2.jsx)(CustomPopoverMenu, null)), (0, _react2.jsx)(Rectangle, null), (0, _react2.jsx)(_index.Box, {
|
334
|
+
isRow: true,
|
335
|
+
color: "neutral.30",
|
336
|
+
alignItems: "center",
|
337
|
+
id: "customparent"
|
338
|
+
}, (0, _react2.jsx)(CustomPopover, null)), (0, _react2.jsx)(Rectangle, null), (0, _react2.jsx)(_index.Box, {
|
339
|
+
isRow: true,
|
340
|
+
color: "neutral.30",
|
341
|
+
alignItems: "center"
|
342
|
+
}, (0, _react2.jsx)(_index.Icon, {
|
343
|
+
icon: _NavData.PersonIcon,
|
344
|
+
size: 20
|
345
|
+
}), (0, _react2.jsx)(_index.Text, {
|
346
|
+
color: "neutral.30",
|
347
|
+
fontSize: "md",
|
348
|
+
fontWeight: 1,
|
349
|
+
mx: 7,
|
350
|
+
variant: "textEllipsis"
|
351
|
+
}, "Alyssa Chambers"), (0, _react2.jsx)(CustomPopoverMenu, null))));
|
352
|
+
};
|
353
|
+
var Default = function Default() {
|
354
|
+
var _useState5 = (0, _react.useState)('Overview'),
|
355
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
356
|
+
selectedKey = _useState6[0],
|
357
|
+
setSelectedKey = _useState6[1];
|
358
|
+
return (0, _react2.jsx)(_index.Box, {
|
359
|
+
bg: "accent.99",
|
360
|
+
height: "100vh"
|
361
|
+
}, (0, _react2.jsx)(SideNav, {
|
362
|
+
setSelectedKey: setSelectedKey,
|
363
|
+
selectedKey: selectedKey
|
364
|
+
}), (0, _react2.jsx)(HeaderBar, {
|
365
|
+
isOpen: false
|
366
|
+
}));
|
367
|
+
};
|
368
|
+
exports.Default = Default;
|
369
|
+
Default.decorators = [function (Story) {
|
370
|
+
return (0, _react2.jsx)(_index.Box, {
|
371
|
+
sx: {
|
372
|
+
margin: '-50px'
|
373
|
+
}
|
374
|
+
}, (0, _react2.jsx)(Story, null));
|
375
|
+
}];
|
376
|
+
Default.parameters = {
|
377
|
+
layout: 'fullscreen'
|
378
|
+
};
|