@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.
Files changed (137) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.js +35 -22
  3. package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.stories.js +148 -169
  4. package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.test.js +25 -30
  5. package/lib/cjs/components/AccordionGridItem/AccordionGridItem.js +29 -14
  6. package/lib/cjs/components/AccordionGridItem/AccordionGridItemBody.js +8 -5
  7. package/lib/cjs/components/AccordionGridItem/AccordionGridItemHeader.js +20 -17
  8. package/lib/cjs/components/AccordionGroup/AccordionGroup.js +2 -1
  9. package/lib/cjs/components/AccordionGroup/AccordionGroup.test.js +20 -1
  10. package/lib/cjs/components/ArrayField/ArrayField.js +213 -0
  11. package/lib/cjs/components/ArrayField/ArrayField.stories.js +223 -0
  12. package/lib/cjs/components/ArrayField/ArrayField.test.js +208 -0
  13. package/lib/cjs/components/ArrayField/ArrayFieldDeleteButton.js +61 -0
  14. package/lib/cjs/components/ArrayField/index.js +27 -0
  15. package/lib/cjs/components/Breadcrumbs/Breadcrumbs.stories.js +3 -3
  16. package/lib/cjs/components/Button/Button.js +14 -2
  17. package/lib/cjs/components/Button/Button.stories.js +33 -33
  18. package/lib/cjs/components/CodeView/CodeView.js +3 -3
  19. package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +5 -3
  20. package/lib/cjs/components/Link/Link.js +2 -1
  21. package/lib/cjs/components/ListView/ListView.js +9 -13
  22. package/lib/cjs/components/ListView/ListView.stories.js +3 -0
  23. package/lib/cjs/components/ListViewItem/ListViewItem.js +15 -3
  24. package/lib/cjs/components/Loader/Loader.stories.js +3 -3
  25. package/lib/cjs/components/Modal/Modal.js +3 -0
  26. package/lib/cjs/components/Modal/Modal.stories.js +12 -67
  27. package/lib/cjs/components/NavBar/NavBar.js +30 -4
  28. package/lib/cjs/components/NavBar/NavBar.stories.js +70 -463
  29. package/lib/cjs/components/NavBar/NavBar.test.js +51 -1
  30. package/lib/cjs/components/NavBarSection/NavBarItem.js +137 -0
  31. package/lib/cjs/components/NavBarSection/NavBarItemButton.js +96 -0
  32. package/lib/cjs/components/NavBarSection/NavBarItemHeader.js +1 -1
  33. package/lib/cjs/components/NavBarSection/NavBarItemLink.js +98 -0
  34. package/lib/cjs/components/NavBarSection/NavBarSection.js +10 -8
  35. package/lib/cjs/components/NavBarSection/index.js +28 -1
  36. package/lib/cjs/components/OverlayPanel/OverlayPanel.js +2 -16
  37. package/lib/cjs/components/OverlayPanel/OverlayPanel.test.js +44 -0
  38. package/lib/cjs/components/RockerButton/RockerButton.js +14 -22
  39. package/lib/cjs/components/RockerButtonGroup/RockerButtonGroup.js +5 -9
  40. package/lib/cjs/components/RockerButtonGroup/RockerButtonGroup.stories.js +4 -22
  41. package/lib/cjs/components/RockerButtonGroup/RockerButtonGroup.test.js +5 -14
  42. package/lib/cjs/components/SearchField/SearchField.stories.js +1 -15
  43. package/lib/cjs/components/SelectFieldBase/SelectFieldBase.js +8 -1
  44. package/lib/cjs/components/TextAreaField/TextAreaField.js +54 -9
  45. package/lib/cjs/components/TextAreaField/TextAreaField.stories.js +31 -52
  46. package/lib/cjs/components/TextAreaField/TextAreaField.test.js +12 -0
  47. package/lib/cjs/context/AccordionGridContext/index.js +20 -0
  48. package/lib/cjs/context/NavBarContext/index.js +20 -0
  49. package/lib/cjs/hooks/index.js +9 -0
  50. package/lib/cjs/hooks/useAriaLabelWarning/useAriaLabelWarning.js +2 -1
  51. package/lib/cjs/hooks/useField/useField.js +5 -0
  52. package/lib/cjs/{components/AccordionGridGroup/AccordionGridContext.js → hooks/useNavBarPress/index.js} +7 -6
  53. package/lib/cjs/hooks/useNavBarPress/useNavBarPress.js +38 -0
  54. package/lib/cjs/hooks/useNavBarPress/useNavBarPress.test.js +42 -0
  55. package/lib/cjs/hooks/useRockerButton/useRockerButton.js +4 -6
  56. package/lib/cjs/index.js +80 -58
  57. package/lib/cjs/layouts/ListLayout.stories.js +6 -6
  58. package/lib/cjs/recipes/ConditionalFilter.stories.js +7 -3
  59. package/lib/cjs/recipes/RadioButtonsWithLinks.stories.js +1 -1
  60. package/lib/cjs/styles/variants/accordion.js +39 -7
  61. package/lib/cjs/styles/variants/boxes.js +10 -24
  62. package/lib/cjs/styles/variants/buttons.js +27 -1
  63. package/lib/cjs/styles/variants/codeView.js +91 -0
  64. package/lib/cjs/styles/variants/navBar.js +68 -0
  65. package/lib/cjs/styles/variants/separator.js +2 -1
  66. package/lib/cjs/styles/variants/text.js +3 -1
  67. package/lib/cjs/styles/variants/variants.js +3 -0
  68. package/lib/components/AccordionGridGroup/AccordionGridGroup.js +35 -22
  69. package/lib/components/AccordionGridGroup/AccordionGridGroup.stories.js +143 -166
  70. package/lib/components/AccordionGridGroup/AccordionGridGroup.test.js +24 -25
  71. package/lib/components/AccordionGridItem/AccordionGridItem.js +29 -15
  72. package/lib/components/AccordionGridItem/AccordionGridItemBody.js +8 -6
  73. package/lib/components/AccordionGridItem/AccordionGridItemHeader.js +22 -18
  74. package/lib/components/AccordionGroup/AccordionGroup.js +2 -1
  75. package/lib/components/AccordionGroup/AccordionGroup.test.js +16 -2
  76. package/lib/components/ArrayField/ArrayField.js +179 -0
  77. package/lib/components/ArrayField/ArrayField.stories.js +196 -0
  78. package/lib/components/ArrayField/ArrayField.test.js +185 -0
  79. package/lib/components/ArrayField/ArrayFieldDeleteButton.js +43 -0
  80. package/lib/components/ArrayField/index.js +2 -0
  81. package/lib/components/Breadcrumbs/Breadcrumbs.stories.js +3 -3
  82. package/lib/components/Button/Button.js +15 -3
  83. package/lib/components/Button/Button.stories.js +17 -15
  84. package/lib/components/CodeView/CodeView.js +2 -2
  85. package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +5 -3
  86. package/lib/components/Link/Link.js +2 -1
  87. package/lib/components/ListView/ListView.js +9 -12
  88. package/lib/components/ListView/ListView.stories.js +3 -0
  89. package/lib/components/ListViewItem/ListViewItem.js +14 -3
  90. package/lib/components/Loader/Loader.stories.js +1 -1
  91. package/lib/components/Modal/Modal.js +4 -1
  92. package/lib/components/Modal/Modal.stories.js +11 -60
  93. package/lib/components/NavBar/NavBar.js +25 -4
  94. package/lib/components/NavBar/NavBar.stories.js +71 -462
  95. package/lib/components/NavBar/NavBar.test.js +39 -2
  96. package/lib/components/NavBarSection/NavBarItem.js +111 -0
  97. package/lib/components/NavBarSection/NavBarItemButton.js +69 -0
  98. package/lib/components/NavBarSection/NavBarItemHeader.js +1 -1
  99. package/lib/components/NavBarSection/NavBarItemLink.js +71 -0
  100. package/lib/components/NavBarSection/NavBarSection.js +9 -8
  101. package/lib/components/NavBarSection/index.js +4 -1
  102. package/lib/components/OverlayPanel/OverlayPanel.js +3 -16
  103. package/lib/components/OverlayPanel/OverlayPanel.test.js +38 -0
  104. package/lib/components/RockerButton/RockerButton.js +14 -21
  105. package/lib/components/RockerButtonGroup/RockerButtonGroup.js +5 -9
  106. package/lib/components/RockerButtonGroup/RockerButtonGroup.stories.js +2 -17
  107. package/lib/components/RockerButtonGroup/RockerButtonGroup.test.js +5 -11
  108. package/lib/components/SearchField/SearchField.stories.js +0 -11
  109. package/lib/components/SelectFieldBase/SelectFieldBase.js +8 -1
  110. package/lib/components/TextAreaField/TextAreaField.js +54 -10
  111. package/lib/components/TextAreaField/TextAreaField.stories.js +26 -42
  112. package/lib/components/TextAreaField/TextAreaField.test.js +13 -0
  113. package/lib/context/AccordionGridContext/index.js +5 -0
  114. package/lib/context/NavBarContext/index.js +5 -0
  115. package/lib/hooks/index.js +1 -0
  116. package/lib/hooks/useAriaLabelWarning/useAriaLabelWarning.js +2 -1
  117. package/lib/hooks/useField/useField.js +5 -0
  118. package/lib/hooks/useNavBarPress/index.js +1 -0
  119. package/lib/hooks/useNavBarPress/useNavBarPress.js +27 -0
  120. package/lib/hooks/useNavBarPress/useNavBarPress.test.js +36 -0
  121. package/lib/hooks/useRockerButton/useRockerButton.js +4 -6
  122. package/lib/index.js +2 -0
  123. package/lib/layouts/ListLayout.stories.js +6 -6
  124. package/lib/recipes/ConditionalFilter.stories.js +7 -3
  125. package/lib/recipes/RadioButtonsWithLinks.stories.js +1 -1
  126. package/lib/styles/variants/accordion.js +26 -5
  127. package/lib/styles/variants/boxes.js +10 -24
  128. package/lib/styles/variants/buttons.js +27 -1
  129. package/lib/styles/variants/codeView.js +91 -0
  130. package/lib/styles/variants/navBar.js +46 -0
  131. package/lib/styles/variants/separator.js +2 -1
  132. package/lib/styles/variants/text.js +3 -1
  133. package/lib/styles/variants/variants.js +2 -0
  134. package/package.json +5 -3
  135. package/lib/cjs/recipes/ArrayField.stories.js +0 -169
  136. package/lib/components/AccordionGridGroup/AccordionGridContext.js +0 -2
  137. 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: ['Users', 'Group', 'Populations', 'Attributes', 'A roles title that is really really really really long']
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: "boxes.navBarItemHeaderContainer",
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
- mt: '25px'
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
- var _NavBarSection = _interopRequireDefault(require("./NavBarSection"));
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
- setIsContained(false);
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 _Button = _interopRequireDefault(require("../Button"));
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)(_Button["default"], (0, _extends2["default"])({
92
+ return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({
93
+ as: "button",
100
94
  className: classNames,
101
- variant: "rocker"
102
- }, itemProps, (0, _utils.mergeProps)(focusProps, rockerButtonProps), {
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