@pingux/astro 1.2.0-alpha.8 → 1.3.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/CHANGELOG.md +64 -0
- package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.js +35 -22
- package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.stories.js +148 -169
- package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.test.js +25 -30
- package/lib/cjs/components/AccordionGridItem/AccordionGridItem.js +29 -14
- package/lib/cjs/components/AccordionGridItem/AccordionGridItemBody.js +8 -5
- package/lib/cjs/components/AccordionGridItem/AccordionGridItemHeader.js +20 -17
- package/lib/cjs/components/AccordionGroup/AccordionGroup.js +2 -1
- package/lib/cjs/components/AccordionGroup/AccordionGroup.test.js +20 -1
- package/lib/cjs/components/ArrayField/ArrayField.js +213 -0
- package/lib/cjs/components/ArrayField/ArrayField.stories.js +223 -0
- package/lib/cjs/components/ArrayField/ArrayField.test.js +208 -0
- package/lib/cjs/components/ArrayField/ArrayFieldDeleteButton.js +61 -0
- package/lib/cjs/components/ArrayField/index.js +27 -0
- package/lib/cjs/components/Breadcrumbs/Breadcrumbs.stories.js +3 -3
- package/lib/cjs/components/Button/Button.js +14 -2
- package/lib/cjs/components/Button/Button.stories.js +33 -33
- package/lib/cjs/components/CodeView/CodeView.js +3 -3
- package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +5 -3
- package/lib/cjs/components/Link/Link.js +2 -1
- package/lib/cjs/components/ListView/ListView.js +9 -13
- package/lib/cjs/components/ListView/ListView.stories.js +3 -0
- package/lib/cjs/components/ListViewItem/ListViewItem.js +15 -3
- package/lib/cjs/components/Loader/Loader.stories.js +3 -3
- package/lib/cjs/components/Modal/Modal.js +3 -0
- package/lib/cjs/components/Modal/Modal.stories.js +12 -67
- package/lib/cjs/components/NavBar/NavBar.js +30 -4
- package/lib/cjs/components/NavBar/NavBar.stories.js +70 -463
- package/lib/cjs/components/NavBar/NavBar.test.js +51 -1
- package/lib/cjs/components/NavBarSection/NavBarItem.js +137 -0
- package/lib/cjs/components/NavBarSection/NavBarItemButton.js +96 -0
- package/lib/cjs/components/NavBarSection/NavBarItemHeader.js +1 -1
- package/lib/cjs/components/NavBarSection/NavBarItemLink.js +98 -0
- package/lib/cjs/components/NavBarSection/NavBarSection.js +10 -8
- package/lib/cjs/components/NavBarSection/index.js +28 -1
- package/lib/cjs/components/OverlayPanel/OverlayPanel.js +2 -16
- package/lib/cjs/components/OverlayPanel/OverlayPanel.test.js +44 -0
- package/lib/cjs/components/RockerButton/RockerButton.js +14 -22
- package/lib/cjs/components/RockerButtonGroup/RockerButtonGroup.js +5 -9
- package/lib/cjs/components/RockerButtonGroup/RockerButtonGroup.stories.js +4 -22
- package/lib/cjs/components/RockerButtonGroup/RockerButtonGroup.test.js +5 -14
- package/lib/cjs/components/SearchField/SearchField.stories.js +1 -15
- package/lib/cjs/components/SelectFieldBase/SelectFieldBase.js +8 -1
- package/lib/cjs/components/TextAreaField/TextAreaField.js +54 -9
- package/lib/cjs/components/TextAreaField/TextAreaField.stories.js +31 -52
- package/lib/cjs/components/TextAreaField/TextAreaField.test.js +12 -0
- package/lib/cjs/context/AccordionGridContext/index.js +20 -0
- package/lib/cjs/context/NavBarContext/index.js +20 -0
- package/lib/cjs/hooks/index.js +9 -0
- package/lib/cjs/hooks/useAriaLabelWarning/useAriaLabelWarning.js +2 -1
- package/lib/cjs/hooks/useField/useField.js +5 -0
- package/lib/cjs/{components/AccordionGridGroup/AccordionGridContext.js → hooks/useNavBarPress/index.js} +7 -6
- package/lib/cjs/hooks/useNavBarPress/useNavBarPress.js +38 -0
- package/lib/cjs/hooks/useNavBarPress/useNavBarPress.test.js +42 -0
- package/lib/cjs/hooks/useRockerButton/useRockerButton.js +4 -6
- package/lib/cjs/index.js +80 -58
- package/lib/cjs/layouts/ListLayout.stories.js +6 -6
- package/lib/cjs/recipes/ConditionalFilter.stories.js +7 -3
- package/lib/cjs/recipes/RadioButtonsWithLinks.stories.js +1 -1
- package/lib/cjs/styles/variants/accordion.js +39 -7
- package/lib/cjs/styles/variants/boxes.js +10 -24
- package/lib/cjs/styles/variants/buttons.js +27 -1
- package/lib/cjs/styles/variants/codeView.js +91 -0
- package/lib/cjs/styles/variants/navBar.js +68 -0
- package/lib/cjs/styles/variants/separator.js +2 -1
- package/lib/cjs/styles/variants/text.js +3 -1
- package/lib/cjs/styles/variants/variants.js +3 -0
- package/lib/components/AccordionGridGroup/AccordionGridGroup.js +35 -22
- package/lib/components/AccordionGridGroup/AccordionGridGroup.stories.js +143 -166
- package/lib/components/AccordionGridGroup/AccordionGridGroup.test.js +24 -25
- package/lib/components/AccordionGridItem/AccordionGridItem.js +29 -15
- package/lib/components/AccordionGridItem/AccordionGridItemBody.js +8 -6
- package/lib/components/AccordionGridItem/AccordionGridItemHeader.js +22 -18
- package/lib/components/AccordionGroup/AccordionGroup.js +2 -1
- package/lib/components/AccordionGroup/AccordionGroup.test.js +16 -2
- package/lib/components/ArrayField/ArrayField.js +179 -0
- package/lib/components/ArrayField/ArrayField.stories.js +196 -0
- package/lib/components/ArrayField/ArrayField.test.js +185 -0
- package/lib/components/ArrayField/ArrayFieldDeleteButton.js +43 -0
- package/lib/components/ArrayField/index.js +2 -0
- package/lib/components/Breadcrumbs/Breadcrumbs.stories.js +3 -3
- package/lib/components/Button/Button.js +15 -3
- package/lib/components/Button/Button.stories.js +17 -15
- package/lib/components/CodeView/CodeView.js +2 -2
- package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +5 -3
- package/lib/components/Link/Link.js +2 -1
- package/lib/components/ListView/ListView.js +9 -12
- package/lib/components/ListView/ListView.stories.js +3 -0
- package/lib/components/ListViewItem/ListViewItem.js +14 -3
- package/lib/components/Loader/Loader.stories.js +1 -1
- package/lib/components/Modal/Modal.js +4 -1
- package/lib/components/Modal/Modal.stories.js +11 -60
- package/lib/components/NavBar/NavBar.js +25 -4
- package/lib/components/NavBar/NavBar.stories.js +71 -462
- package/lib/components/NavBar/NavBar.test.js +39 -2
- package/lib/components/NavBarSection/NavBarItem.js +111 -0
- package/lib/components/NavBarSection/NavBarItemButton.js +69 -0
- package/lib/components/NavBarSection/NavBarItemHeader.js +1 -1
- package/lib/components/NavBarSection/NavBarItemLink.js +71 -0
- package/lib/components/NavBarSection/NavBarSection.js +9 -8
- package/lib/components/NavBarSection/index.js +4 -1
- package/lib/components/OverlayPanel/OverlayPanel.js +3 -16
- package/lib/components/OverlayPanel/OverlayPanel.test.js +38 -0
- package/lib/components/RockerButton/RockerButton.js +14 -21
- package/lib/components/RockerButtonGroup/RockerButtonGroup.js +5 -9
- package/lib/components/RockerButtonGroup/RockerButtonGroup.stories.js +2 -17
- package/lib/components/RockerButtonGroup/RockerButtonGroup.test.js +5 -11
- package/lib/components/SearchField/SearchField.stories.js +0 -11
- package/lib/components/SelectFieldBase/SelectFieldBase.js +8 -1
- package/lib/components/TextAreaField/TextAreaField.js +54 -10
- package/lib/components/TextAreaField/TextAreaField.stories.js +26 -42
- package/lib/components/TextAreaField/TextAreaField.test.js +13 -0
- package/lib/context/AccordionGridContext/index.js +5 -0
- package/lib/context/NavBarContext/index.js +5 -0
- package/lib/hooks/index.js +1 -0
- package/lib/hooks/useAriaLabelWarning/useAriaLabelWarning.js +2 -1
- package/lib/hooks/useField/useField.js +5 -0
- package/lib/hooks/useNavBarPress/index.js +1 -0
- package/lib/hooks/useNavBarPress/useNavBarPress.js +27 -0
- package/lib/hooks/useNavBarPress/useNavBarPress.test.js +36 -0
- package/lib/hooks/useRockerButton/useRockerButton.js +4 -6
- package/lib/index.js +2 -0
- package/lib/layouts/ListLayout.stories.js +6 -6
- package/lib/recipes/ConditionalFilter.stories.js +7 -3
- package/lib/recipes/RadioButtonsWithLinks.stories.js +1 -1
- package/lib/styles/variants/accordion.js +26 -5
- package/lib/styles/variants/boxes.js +10 -24
- package/lib/styles/variants/buttons.js +27 -1
- package/lib/styles/variants/codeView.js +91 -0
- package/lib/styles/variants/navBar.js +46 -0
- package/lib/styles/variants/separator.js +2 -1
- package/lib/styles/variants/text.js +3 -1
- package/lib/styles/variants/variants.js +2 -0
- package/package.json +5 -3
- package/lib/cjs/recipes/ArrayField.stories.js +0 -169
- package/lib/components/AccordionGridGroup/AccordionGridContext.js +0 -2
- package/lib/recipes/ArrayField.stories.js +0 -134
@@ -4,6 +4,8 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
|
|
4
4
|
|
5
5
|
var _react = _interopRequireDefault(require("react"));
|
6
6
|
|
7
|
+
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
8
|
+
|
7
9
|
var _GlobeIcon = _interopRequireDefault(require("mdi-react/GlobeIcon"));
|
8
10
|
|
9
11
|
var _ViewDashboardIcon = _interopRequireDefault(require("mdi-react/ViewDashboardIcon"));
|
@@ -34,7 +36,16 @@ var data = [{
|
|
34
36
|
icon: _GlobeIcon["default"],
|
35
37
|
key: 'Overview',
|
36
38
|
heading: 'Overview',
|
37
|
-
children: [
|
39
|
+
children: [(0, _react2.jsx)(_index.NavBarItemButton, {
|
40
|
+
key: "Credentials Button Users",
|
41
|
+
id: "Credentials Button Users",
|
42
|
+
"data-testid": "navItemButton"
|
43
|
+
}, "Users"), (0, _react2.jsx)(_index.NavBarItemLink, {
|
44
|
+
key: "Experiences Link Roles",
|
45
|
+
id: "Experiences Link Roles",
|
46
|
+
href: "https://pingidentity.com/",
|
47
|
+
"data-testid": "navItemLink"
|
48
|
+
}, "Roles")]
|
38
49
|
}, {
|
39
50
|
icon: _ViewDashboardIcon["default"],
|
40
51
|
key: 'Dashboard',
|
@@ -89,6 +100,12 @@ var getComponent = function getComponent() {
|
|
89
100
|
}), (0, _react2.jsx)(_index.NavBarSection, {
|
90
101
|
items: secondData,
|
91
102
|
title: "test_title"
|
103
|
+
}), (0, _react2.jsx)(_index.NavBarItem, {
|
104
|
+
id: "Overview",
|
105
|
+
key: "Overview",
|
106
|
+
text: "Overview",
|
107
|
+
icon: _ViewDashboardIcon["default"],
|
108
|
+
"data-testid": "navItem"
|
92
109
|
}))));
|
93
110
|
};
|
94
111
|
|
@@ -113,4 +130,37 @@ test('should render title for itemBodies that have subTitles', function () {
|
|
113
130
|
var subTitle = _testWrapper.screen.getByText('PingOne Services');
|
114
131
|
|
115
132
|
expect(subTitle).toBeInTheDocument();
|
133
|
+
});
|
134
|
+
test('should select NavIemLink', function () {
|
135
|
+
getComponent();
|
136
|
+
|
137
|
+
var link = _testWrapper.screen.getByTestId('navItemLink');
|
138
|
+
|
139
|
+
expect(link).toBeInTheDocument();
|
140
|
+
|
141
|
+
_userEvent["default"].click(link);
|
142
|
+
|
143
|
+
expect(link).toHaveClass('is-selected');
|
144
|
+
});
|
145
|
+
test('should select NavIem', function () {
|
146
|
+
getComponent();
|
147
|
+
|
148
|
+
var item = _testWrapper.screen.getByTestId('navItem');
|
149
|
+
|
150
|
+
expect(item).toBeInTheDocument();
|
151
|
+
|
152
|
+
_userEvent["default"].click(item);
|
153
|
+
|
154
|
+
expect(item).toHaveClass('is-selected');
|
155
|
+
});
|
156
|
+
test('should select NavIemButton', function () {
|
157
|
+
getComponent();
|
158
|
+
|
159
|
+
var button = _testWrapper.screen.getByTestId('navItemButton');
|
160
|
+
|
161
|
+
expect(button).toBeInTheDocument();
|
162
|
+
|
163
|
+
_userEvent["default"].click(button);
|
164
|
+
|
165
|
+
expect(button).toHaveClass('is-selected');
|
116
166
|
});
|
@@ -0,0 +1,137 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard");
|
4
|
+
|
5
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
6
|
+
|
7
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
8
|
+
|
9
|
+
_Object$defineProperty(exports, "__esModule", {
|
10
|
+
value: true
|
11
|
+
});
|
12
|
+
|
13
|
+
exports["default"] = void 0;
|
14
|
+
|
15
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
16
|
+
|
17
|
+
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
18
|
+
|
19
|
+
var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
|
20
|
+
|
21
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
|
22
|
+
|
23
|
+
var _react = _interopRequireWildcard(require("react"));
|
24
|
+
|
25
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
26
|
+
|
27
|
+
var _interactions = require("@react-aria/interactions");
|
28
|
+
|
29
|
+
var _utils = require("@react-aria/utils");
|
30
|
+
|
31
|
+
var _focus = require("@react-aria/focus");
|
32
|
+
|
33
|
+
var _index = require("../../index");
|
34
|
+
|
35
|
+
var _hooks = require("../../hooks");
|
36
|
+
|
37
|
+
var _NavBarContext = require("../../context/NavBarContext");
|
38
|
+
|
39
|
+
var _react2 = require("@emotion/react");
|
40
|
+
|
41
|
+
var NavBarItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
42
|
+
var _context, _context2;
|
43
|
+
|
44
|
+
var icon = props.icon,
|
45
|
+
text = props.text,
|
46
|
+
className = props.className,
|
47
|
+
key = props.id,
|
48
|
+
onPressCallback = props.onPress,
|
49
|
+
others = (0, _objectWithoutProperties2["default"])(props, ["icon", "text", "className", "id", "onPress"]);
|
50
|
+
var navItemRef = (0, _react.useRef)();
|
51
|
+
/* istanbul ignore next */
|
52
|
+
|
53
|
+
(0, _react.useImperativeHandle)(ref, function () {
|
54
|
+
return navItemRef.current;
|
55
|
+
});
|
56
|
+
|
57
|
+
var _useHover = (0, _interactions.useHover)({}),
|
58
|
+
hoverProps = _useHover.hoverProps,
|
59
|
+
isHovered = _useHover.isHovered;
|
60
|
+
|
61
|
+
var _useFocusRing = (0, _focus.useFocusRing)({
|
62
|
+
within: true
|
63
|
+
}),
|
64
|
+
focusWithinProps = _useFocusRing.focusProps;
|
65
|
+
|
66
|
+
var _useFocusRing2 = (0, _focus.useFocusRing)(),
|
67
|
+
focusProps = _useFocusRing2.focusProps,
|
68
|
+
isFocusVisible = _useFocusRing2.isFocusVisible;
|
69
|
+
|
70
|
+
var state = (0, _NavBarContext.useNavBarContext)();
|
71
|
+
var isSelected = (0, _includes["default"])(_context = state.selectedKeys).call(_context, key);
|
72
|
+
|
73
|
+
var _useNavBarPress = (0, _hooks.useNavBarPress)({
|
74
|
+
key: key,
|
75
|
+
onPressCallback: onPressCallback
|
76
|
+
}, state),
|
77
|
+
onNavPress = _useNavBarPress.onNavPress;
|
78
|
+
|
79
|
+
var _usePress = (0, _interactions.usePress)({
|
80
|
+
ref: navItemRef,
|
81
|
+
onPress: onNavPress
|
82
|
+
}),
|
83
|
+
pressProps = _usePress.pressProps,
|
84
|
+
isPressed = _usePress.isPressed;
|
85
|
+
|
86
|
+
var mergedProps = _utils.mergeProps.apply(void 0, (0, _concat["default"])(_context2 = [pressProps, hoverProps, focusWithinProps, focusProps]).call(_context2, others));
|
87
|
+
|
88
|
+
var _useStatusClasses = (0, _hooks.useStatusClasses)(className, {
|
89
|
+
isPressed: isPressed,
|
90
|
+
isHovered: isHovered,
|
91
|
+
isSelected: isSelected,
|
92
|
+
isFocused: isFocusVisible
|
93
|
+
}),
|
94
|
+
classNames = _useStatusClasses.classNames;
|
95
|
+
|
96
|
+
return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({
|
97
|
+
id: key,
|
98
|
+
variant: "accordion.accordionGridNavItem",
|
99
|
+
isRow: true,
|
100
|
+
className: classNames,
|
101
|
+
ref: navItemRef
|
102
|
+
}, mergedProps, {
|
103
|
+
sx: {
|
104
|
+
maxHeight: '30px'
|
105
|
+
}
|
106
|
+
}), (0, _react2.jsx)(_index.Box, {
|
107
|
+
isRow: true,
|
108
|
+
sx: {
|
109
|
+
alignItems: 'center'
|
110
|
+
}
|
111
|
+
}, icon && (0, _react2.jsx)(_index.Icon, {
|
112
|
+
icon: icon,
|
113
|
+
size: 20,
|
114
|
+
sx: {
|
115
|
+
mr: '10px',
|
116
|
+
color: 'white',
|
117
|
+
fill: 'white'
|
118
|
+
}
|
119
|
+
}), (0, _react2.jsx)(_index.Text, {
|
120
|
+
variant: "navBarHeaderText"
|
121
|
+
}, text)));
|
122
|
+
});
|
123
|
+
NavBarItem.propTypes = {
|
124
|
+
/** Handler that is called when the press is released over the target. */
|
125
|
+
onPress: _propTypes["default"].func,
|
126
|
+
|
127
|
+
/** The icon to render in between each node. */
|
128
|
+
icon: _propTypes["default"].elementType,
|
129
|
+
|
130
|
+
/** The element's unique identifier. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id). */
|
131
|
+
id: _propTypes["default"].string,
|
132
|
+
|
133
|
+
/** Text that will render within the component */
|
134
|
+
text: _propTypes["default"].string
|
135
|
+
};
|
136
|
+
var _default = NavBarItem;
|
137
|
+
exports["default"] = _default;
|
@@ -0,0 +1,96 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
var _Object$defineProperty2 = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
6
|
+
|
7
|
+
_Object$defineProperty2(exports, "__esModule", {
|
8
|
+
value: true
|
9
|
+
});
|
10
|
+
|
11
|
+
exports["default"] = void 0;
|
12
|
+
|
13
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/define-property"));
|
14
|
+
|
15
|
+
var _defineProperties = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/define-properties"));
|
16
|
+
|
17
|
+
var _getOwnPropertyDescriptors = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors"));
|
18
|
+
|
19
|
+
var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
|
20
|
+
|
21
|
+
var _getOwnPropertyDescriptor = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor"));
|
22
|
+
|
23
|
+
var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
|
24
|
+
|
25
|
+
var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
|
26
|
+
|
27
|
+
var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
|
28
|
+
|
29
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
30
|
+
|
31
|
+
var _defineProperty3 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
32
|
+
|
33
|
+
var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
|
34
|
+
|
35
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
|
36
|
+
|
37
|
+
var _react = _interopRequireDefault(require("react"));
|
38
|
+
|
39
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
40
|
+
|
41
|
+
var _NavBarContext = require("../../context/NavBarContext");
|
42
|
+
|
43
|
+
var _hooks = require("../../hooks");
|
44
|
+
|
45
|
+
var _index = require("../../index");
|
46
|
+
|
47
|
+
var _react2 = require("@emotion/react");
|
48
|
+
|
49
|
+
function ownKeys(object, enumerableOnly) { var keys = (0, _keys["default"])(object); if (_getOwnPropertySymbols["default"]) { var symbols = (0, _getOwnPropertySymbols["default"])(object); if (enumerableOnly) symbols = (0, _filter["default"])(symbols).call(symbols, function (sym) { return (0, _getOwnPropertyDescriptor["default"])(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
50
|
+
|
51
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context2; (0, _forEach["default"])(_context2 = ownKeys(Object(source), true)).call(_context2, function (key) { (0, _defineProperty3["default"])(target, key, source[key]); }); } else if (_getOwnPropertyDescriptors["default"]) { (0, _defineProperties["default"])(target, (0, _getOwnPropertyDescriptors["default"])(source)); } else { var _context3; (0, _forEach["default"])(_context3 = ownKeys(Object(source))).call(_context3, function (key) { (0, _defineProperty2["default"])(target, key, (0, _getOwnPropertyDescriptor["default"])(source, key)); }); } } return target; }
|
52
|
+
|
53
|
+
var NavBarItemButton = function NavBarItemButton(props) {
|
54
|
+
var _context;
|
55
|
+
|
56
|
+
var className = props.className,
|
57
|
+
key = props.id,
|
58
|
+
onPressCallback = props.onPress,
|
59
|
+
sx = props.sx,
|
60
|
+
others = (0, _objectWithoutProperties2["default"])(props, ["className", "id", "onPress", "sx"]);
|
61
|
+
var state = (0, _NavBarContext.useNavBarContext)();
|
62
|
+
var isSelected = (0, _includes["default"])(_context = state.selectedKeys).call(_context, key);
|
63
|
+
|
64
|
+
var _useNavBarPress = (0, _hooks.useNavBarPress)({
|
65
|
+
key: key,
|
66
|
+
onPressCallback: onPressCallback
|
67
|
+
}, state),
|
68
|
+
onNavPress = _useNavBarPress.onNavPress;
|
69
|
+
|
70
|
+
var _useStatusClasses = (0, _hooks.useStatusClasses)(className, {
|
71
|
+
isSelected: isSelected
|
72
|
+
}),
|
73
|
+
classNames = _useStatusClasses.classNames;
|
74
|
+
|
75
|
+
return (0, _react2.jsx)(_index.Button, (0, _extends2["default"])({
|
76
|
+
id: key,
|
77
|
+
variant: "navItemButton",
|
78
|
+
onPress: onNavPress,
|
79
|
+
className: classNames
|
80
|
+
}, others, {
|
81
|
+
sx: _objectSpread({
|
82
|
+
paddingLeft: '45px',
|
83
|
+
paddingRight: '45px'
|
84
|
+
}, sx)
|
85
|
+
}));
|
86
|
+
};
|
87
|
+
|
88
|
+
NavBarItemButton.propTypes = {
|
89
|
+
/** Handler that is called when the press is released over the target. */
|
90
|
+
onPress: _propTypes["default"].func,
|
91
|
+
|
92
|
+
/** The element's unique identifier. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id). */
|
93
|
+
id: _propTypes["default"].string.isRequired
|
94
|
+
};
|
95
|
+
var _default = NavBarItemButton;
|
96
|
+
exports["default"] = _default;
|
@@ -22,7 +22,7 @@ var NavBarItemHeader = function NavBarItemHeader(props) {
|
|
22
22
|
var item = props.item;
|
23
23
|
var icon = item.icon;
|
24
24
|
return (0, _react2.jsx)(_index.Box, {
|
25
|
-
variant: "
|
25
|
+
variant: "navBar.itemHeaderContainer",
|
26
26
|
isRow: true
|
27
27
|
}, icon && (0, _react2.jsx)(_index.Icon, {
|
28
28
|
icon: icon,
|
@@ -0,0 +1,98 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
var _Object$defineProperty2 = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
6
|
+
|
7
|
+
_Object$defineProperty2(exports, "__esModule", {
|
8
|
+
value: true
|
9
|
+
});
|
10
|
+
|
11
|
+
exports["default"] = void 0;
|
12
|
+
|
13
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/define-property"));
|
14
|
+
|
15
|
+
var _defineProperties = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/define-properties"));
|
16
|
+
|
17
|
+
var _getOwnPropertyDescriptors = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors"));
|
18
|
+
|
19
|
+
var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
|
20
|
+
|
21
|
+
var _getOwnPropertyDescriptor = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor"));
|
22
|
+
|
23
|
+
var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
|
24
|
+
|
25
|
+
var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
|
26
|
+
|
27
|
+
var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
|
28
|
+
|
29
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
30
|
+
|
31
|
+
var _defineProperty3 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
32
|
+
|
33
|
+
var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
|
34
|
+
|
35
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
|
36
|
+
|
37
|
+
var _react = _interopRequireDefault(require("react"));
|
38
|
+
|
39
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
40
|
+
|
41
|
+
var _index = require("../../index");
|
42
|
+
|
43
|
+
var _NavBarContext = require("../../context/NavBarContext");
|
44
|
+
|
45
|
+
var _hooks = require("../../hooks");
|
46
|
+
|
47
|
+
var _react2 = require("@emotion/react");
|
48
|
+
|
49
|
+
function ownKeys(object, enumerableOnly) { var keys = (0, _keys["default"])(object); if (_getOwnPropertySymbols["default"]) { var symbols = (0, _getOwnPropertySymbols["default"])(object); if (enumerableOnly) symbols = (0, _filter["default"])(symbols).call(symbols, function (sym) { return (0, _getOwnPropertyDescriptor["default"])(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
50
|
+
|
51
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context2; (0, _forEach["default"])(_context2 = ownKeys(Object(source), true)).call(_context2, function (key) { (0, _defineProperty3["default"])(target, key, source[key]); }); } else if (_getOwnPropertyDescriptors["default"]) { (0, _defineProperties["default"])(target, (0, _getOwnPropertyDescriptors["default"])(source)); } else { var _context3; (0, _forEach["default"])(_context3 = ownKeys(Object(source))).call(_context3, function (key) { (0, _defineProperty2["default"])(target, key, (0, _getOwnPropertyDescriptor["default"])(source, key)); }); } } return target; }
|
52
|
+
|
53
|
+
var NavBarItemLink = function NavBarItemLink(props) {
|
54
|
+
var _context;
|
55
|
+
|
56
|
+
var className = props.className,
|
57
|
+
key = props.id,
|
58
|
+
onPressCallback = props.onPress,
|
59
|
+
others = (0, _objectWithoutProperties2["default"])(props, ["className", "id", "onPress"]);
|
60
|
+
var state = (0, _NavBarContext.useNavBarContext)();
|
61
|
+
var isSelected = (0, _includes["default"])(_context = state.selectedKeys).call(_context, key);
|
62
|
+
|
63
|
+
var _useNavBarPress = (0, _hooks.useNavBarPress)({
|
64
|
+
key: key,
|
65
|
+
onPressCallback: onPressCallback
|
66
|
+
}, state),
|
67
|
+
onNavPress = _useNavBarPress.onNavPress;
|
68
|
+
|
69
|
+
var _useStatusClasses = (0, _hooks.useStatusClasses)(className, {
|
70
|
+
isSelected: isSelected
|
71
|
+
}),
|
72
|
+
classNames = _useStatusClasses.classNames;
|
73
|
+
|
74
|
+
return (0, _react2.jsx)(_index.Link, (0, _extends2["default"])({
|
75
|
+
id: key,
|
76
|
+
variant: "buttons.navItemButton",
|
77
|
+
className: classNames,
|
78
|
+
onPress: onNavPress
|
79
|
+
}, others, {
|
80
|
+
sx: _objectSpread({
|
81
|
+
paddingLeft: '45px',
|
82
|
+
paddingRight: '45px'
|
83
|
+
}, props.sx)
|
84
|
+
}));
|
85
|
+
};
|
86
|
+
|
87
|
+
NavBarItemLink.propTypes = {
|
88
|
+
/** Specifies the location of the URL */
|
89
|
+
href: _propTypes["default"].string,
|
90
|
+
|
91
|
+
/** Handler that is called when the press is released over the target. */
|
92
|
+
onPress: _propTypes["default"].func,
|
93
|
+
|
94
|
+
/** The element's unique identifier. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id). */
|
95
|
+
id: _propTypes["default"].string.isRequired
|
96
|
+
};
|
97
|
+
var _default = NavBarItemLink;
|
98
|
+
exports["default"] = _default;
|
@@ -10,6 +10,8 @@ _Object$defineProperty(exports, "__esModule", {
|
|
10
10
|
|
11
11
|
exports["default"] = void 0;
|
12
12
|
|
13
|
+
var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
|
14
|
+
|
13
15
|
var _react = _interopRequireDefault(require("react"));
|
14
16
|
|
15
17
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
@@ -32,19 +34,19 @@ var NavBarSection = function NavBarSection(props) {
|
|
32
34
|
title = props.title,
|
33
35
|
items = props.items;
|
34
36
|
return (0, _react2.jsx)(_react["default"].Fragment, null, title && (0, _react2.jsx)(_index.Text, {
|
35
|
-
variant: "text.navBarSubtitle"
|
36
|
-
sx: {
|
37
|
-
mt: '25px',
|
38
|
-
mb: '15px',
|
39
|
-
ml: '15px'
|
40
|
-
}
|
37
|
+
variant: "text.navBarSubtitle"
|
41
38
|
}, title), (0, _react2.jsx)(_index.AccordionGridGroup, {
|
42
|
-
items: items
|
39
|
+
items: (0, _filter["default"])(items).call(items, function (i) {
|
40
|
+
return i.children;
|
41
|
+
})
|
43
42
|
}, function (item) {
|
44
43
|
return (0, _react2.jsx)(_index.Item, {
|
45
44
|
headerProps: {
|
46
45
|
variant: 'accordion.accordionGridHeaderNav'
|
47
46
|
},
|
47
|
+
bodyProps: {
|
48
|
+
variant: 'navBar.sectionBody'
|
49
|
+
},
|
48
50
|
textValue: item
|
49
51
|
}, (0, _react2.jsx)(_NavBarItemHeader["default"], {
|
50
52
|
item: item
|
@@ -55,7 +57,7 @@ var NavBarSection = function NavBarSection(props) {
|
|
55
57
|
sx: {
|
56
58
|
pl: '15px',
|
57
59
|
pr: '15px',
|
58
|
-
|
60
|
+
my: '10px'
|
59
61
|
}
|
60
62
|
}, (0, _react2.jsx)(_index.Separator, {
|
61
63
|
variant: "separator.navBarSeparator"
|
@@ -15,4 +15,31 @@ _Object$defineProperty(exports, "default", {
|
|
15
15
|
}
|
16
16
|
});
|
17
17
|
|
18
|
-
|
18
|
+
_Object$defineProperty(exports, "NavBarItemButton", {
|
19
|
+
enumerable: true,
|
20
|
+
get: function get() {
|
21
|
+
return _NavBarItemButton["default"];
|
22
|
+
}
|
23
|
+
});
|
24
|
+
|
25
|
+
_Object$defineProperty(exports, "NavBarItemLink", {
|
26
|
+
enumerable: true,
|
27
|
+
get: function get() {
|
28
|
+
return _NavBarItemLink["default"];
|
29
|
+
}
|
30
|
+
});
|
31
|
+
|
32
|
+
_Object$defineProperty(exports, "NavBarItem", {
|
33
|
+
enumerable: true,
|
34
|
+
get: function get() {
|
35
|
+
return _NavBarItem["default"];
|
36
|
+
}
|
37
|
+
});
|
38
|
+
|
39
|
+
var _NavBarSection = _interopRequireDefault(require("./NavBarSection"));
|
40
|
+
|
41
|
+
var _NavBarItemButton = _interopRequireDefault(require("./NavBarItemButton"));
|
42
|
+
|
43
|
+
var _NavBarItemLink = _interopRequireDefault(require("./NavBarItemLink"));
|
44
|
+
|
45
|
+
var _NavBarItem = _interopRequireDefault(require("./NavBarItem"));
|
@@ -18,8 +18,6 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/e
|
|
18
18
|
|
19
19
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
20
20
|
|
21
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
22
|
-
|
23
21
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
|
24
22
|
|
25
23
|
var _react = _interopRequireWildcard(require("react"));
|
@@ -52,14 +50,8 @@ var OverlayPanel = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
52
50
|
onClose = _useOverlayPanelState.onClose;
|
53
51
|
|
54
52
|
var overlayPanelRef = (0, _react.useRef)();
|
55
|
-
|
56
|
-
var _useState = (0, _react.useState)(true),
|
57
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
58
|
-
contain = _useState2[0],
|
59
|
-
setIsContained = _useState2[1];
|
60
53
|
/* istanbul ignore next */
|
61
54
|
|
62
|
-
|
63
55
|
(0, _react.useImperativeHandle)(ref, function () {
|
64
56
|
return overlayPanelRef.current;
|
65
57
|
});
|
@@ -73,18 +65,12 @@ var OverlayPanel = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
73
65
|
e.stopPropagation();
|
74
66
|
|
75
67
|
if (e.key === 'Escape') {
|
76
|
-
|
68
|
+
onClose(state, triggerRef, onCloseProp);
|
77
69
|
}
|
78
70
|
};
|
79
71
|
|
80
|
-
(0, _react.useEffect)(function () {
|
81
|
-
if (!contain && onClose) {
|
82
|
-
onClose(state, triggerRef, onCloseProp);
|
83
|
-
}
|
84
|
-
}, [contain]);
|
85
72
|
return (0, _react2.jsx)(_focus.FocusScope, {
|
86
|
-
autoFocus: true
|
87
|
-
contain: contain
|
73
|
+
autoFocus: true
|
88
74
|
}, (0, _react2.jsx)(_Box["default"], (0, _extends2["default"])({
|
89
75
|
variant: "overlayPanel.overlayPanel",
|
90
76
|
ref: overlayPanelRef
|
@@ -79,6 +79,15 @@ test('onClose callback fires when provided', function () {
|
|
79
79
|
|
80
80
|
expect(onClose).toHaveBeenCalled();
|
81
81
|
});
|
82
|
+
test('custom classname can be passed', function () {
|
83
|
+
getComponent({
|
84
|
+
className: 'testing-class'
|
85
|
+
});
|
86
|
+
|
87
|
+
var overlayPanel = _testWrapper.screen.getByTestId(testId);
|
88
|
+
|
89
|
+
expect(overlayPanel).toHaveClass('testing-class');
|
90
|
+
});
|
82
91
|
test('neither callback fires when not provided', function () {
|
83
92
|
var onClose = jest.fn();
|
84
93
|
getComponent({
|
@@ -137,4 +146,39 @@ test('triggerRef.current.focus() fires when provided', function () {
|
|
137
146
|
});
|
138
147
|
|
139
148
|
expect(focusFunction).toHaveBeenCalled();
|
149
|
+
});
|
150
|
+
test('triggerRef.current.focus() does not fire when key other than esc is pressed', function () {
|
151
|
+
var onClose = jest.fn();
|
152
|
+
var focusFunction = jest.fn();
|
153
|
+
var state = {
|
154
|
+
close: onClose
|
155
|
+
};
|
156
|
+
var triggerRef = {
|
157
|
+
current: {
|
158
|
+
focus: focusFunction
|
159
|
+
}
|
160
|
+
};
|
161
|
+
getComponent({
|
162
|
+
state: state,
|
163
|
+
children: (0, _react2.jsx)("div", null, "Test"),
|
164
|
+
triggerRef: triggerRef
|
165
|
+
});
|
166
|
+
|
167
|
+
var overlayPanel = _testWrapper.screen.getByTestId(testId);
|
168
|
+
|
169
|
+
_testWrapper.fireEvent.keyDown(overlayPanel, {
|
170
|
+
key: 'KeyA',
|
171
|
+
code: 'KeyA',
|
172
|
+
keyCode: 65,
|
173
|
+
charCode: 65
|
174
|
+
});
|
175
|
+
|
176
|
+
_testWrapper.fireEvent.keyUp(overlayPanel, {
|
177
|
+
key: 'KeyA',
|
178
|
+
code: 'KeyA',
|
179
|
+
keyCode: 65,
|
180
|
+
charCode: 65
|
181
|
+
});
|
182
|
+
|
183
|
+
expect(focusFunction).not.toHaveBeenCalled();
|
140
184
|
});
|
@@ -40,11 +40,9 @@ var _collections = require("@react-stately/collections");
|
|
40
40
|
|
41
41
|
var _focus = require("@react-aria/focus");
|
42
42
|
|
43
|
-
var _utils = require("@react-aria/utils");
|
44
|
-
|
45
43
|
var _hooks = require("../../hooks");
|
46
44
|
|
47
|
-
var
|
45
|
+
var _index = require("../../index");
|
48
46
|
|
49
47
|
var _RockerButtonGroup = require("../RockerButtonGroup");
|
50
48
|
|
@@ -56,19 +54,12 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
56
54
|
|
57
55
|
var CollectionRockerButton = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
58
56
|
var className = props.className,
|
59
|
-
item = props.item
|
60
|
-
buttonGroupDisabled = props.isDisabled;
|
61
|
-
var defaultSelectedStyles = {
|
62
|
-
bg: 'active'
|
63
|
-
};
|
57
|
+
item = props.item;
|
64
58
|
var key = item.key,
|
65
59
|
rendered = item.rendered,
|
66
60
|
itemProps = item.props;
|
67
|
-
var _itemProps$selectedSt = itemProps.selectedStyles,
|
68
|
-
selectedStyles = _itemProps$selectedSt === void 0 ? defaultSelectedStyles : _itemProps$selectedSt,
|
69
|
-
rockerButtonDisabled = itemProps.isDisabled;
|
70
|
-
var isDisabled = buttonGroupDisabled || rockerButtonDisabled;
|
71
61
|
var state = (0, _react.useContext)(_RockerButtonGroup.RockerContext);
|
62
|
+
var isDisabled = state.disabledKeys.has(key);
|
72
63
|
|
73
64
|
var _useFocusRing = (0, _focus.useFocusRing)(),
|
74
65
|
isFocusVisible = _useFocusRing.isFocusVisible,
|
@@ -78,7 +69,8 @@ var CollectionRockerButton = /*#__PURE__*/(0, _react.forwardRef)(function (props
|
|
78
69
|
|
79
70
|
var _useStatusClasses = (0, _hooks.useStatusClasses)(className, {
|
80
71
|
isFocused: isFocusVisible,
|
81
|
-
isSelected: isSelected
|
72
|
+
isSelected: isSelected,
|
73
|
+
isDisabled: isDisabled
|
82
74
|
}),
|
83
75
|
classNames = _useStatusClasses.classNames;
|
84
76
|
|
@@ -92,26 +84,26 @@ var CollectionRockerButton = /*#__PURE__*/(0, _react.forwardRef)(function (props
|
|
92
84
|
|
93
85
|
var _useRockerButton = (0, _hooks.useRockerButton)({
|
94
86
|
item: item,
|
95
|
-
isDisabled: isDisabled
|
87
|
+
isDisabled: isDisabled,
|
88
|
+
isSelected: isSelected
|
96
89
|
}, state, rockerButtonRef),
|
97
90
|
rockerButtonProps = _useRockerButton.rockerButtonProps;
|
98
91
|
|
99
|
-
return (0, _react2.jsx)(
|
92
|
+
return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({
|
93
|
+
as: "button",
|
100
94
|
className: classNames,
|
101
|
-
variant: "rocker"
|
102
|
-
},
|
103
|
-
ref: rockerButtonRef
|
95
|
+
variant: "buttons.rocker"
|
96
|
+
}, rockerButtonProps, {
|
97
|
+
ref: rockerButtonRef
|
98
|
+
}, focusProps, itemProps, {
|
104
99
|
sx: {
|
105
|
-
'&.is-selected': _objectSpread({}, selectedStyles)
|
100
|
+
'&.is-selected': _objectSpread({}, itemProps.selectedStyles)
|
106
101
|
}
|
107
102
|
}), rendered);
|
108
103
|
});
|
109
104
|
exports.CollectionRockerButton = CollectionRockerButton;
|
110
105
|
CollectionRockerButton.displayName = 'CollectionRockerButton';
|
111
106
|
CollectionRockerButton.propTypes = {
|
112
|
-
/** Whether the button is disabled. */
|
113
|
-
isDisabled: _propTypes["default"].bool,
|
114
|
-
|
115
107
|
/** Allows custom styles to be passed to button. */
|
116
108
|
selectedStyles: _propTypes["default"].shape({}),
|
117
109
|
// adding to surface in props table
|