@pingux/astro 1.1.0-alpha.0 → 1.1.0-alpha.12

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 (80) hide show
  1. package/CHANGELOG.md +132 -0
  2. package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.test.js +24 -0
  3. package/lib/cjs/components/AccordionGridItem/AccordionGridItemBody.js +1 -1
  4. package/lib/cjs/components/AccordionGridItem/AccordionGridItemHeader.js +1 -1
  5. package/lib/cjs/components/AccordionGroup/AccordionGroup.test.js +33 -1
  6. package/lib/cjs/components/AccordionItem/AccordionItem.js +5 -4
  7. package/lib/cjs/components/Button/Button.js +1 -2
  8. package/lib/cjs/components/Button/Button.stories.js +2 -1
  9. package/lib/cjs/components/Button/Button.test.js +2 -1
  10. package/lib/cjs/components/CodeView/CodeView.js +165 -0
  11. package/lib/cjs/components/CodeView/CodeView.stories.js +93 -0
  12. package/lib/cjs/components/CodeView/CodeView.test.js +211 -0
  13. package/lib/cjs/components/CodeView/index.js +18 -0
  14. package/lib/cjs/components/ColorField/ColorField.js +1 -0
  15. package/lib/cjs/components/ComboBoxField/ComboBoxField.js +7 -0
  16. package/lib/cjs/components/ComboBoxField/ComboBoxField.stories.js +25 -1
  17. package/lib/cjs/components/ComboBoxField/ComboBoxField.test.js +44 -0
  18. package/lib/cjs/components/CopyText/CopyText.js +34 -11
  19. package/lib/cjs/components/FileInputField/FileItem.js +2 -1
  20. package/lib/cjs/components/IconButton/IconButton.js +1 -1
  21. package/lib/cjs/components/IconButton/IconButton.stories.js +8 -17
  22. package/lib/cjs/components/IconButton/IconButton.test.js +4 -5
  23. package/lib/cjs/components/ImageUploadField/ImagePreviewButton.js +2 -1
  24. package/lib/cjs/components/List/List.js +3 -0
  25. package/lib/cjs/components/List/List.stories.js +7 -2
  26. package/lib/cjs/components/ListBox/ListBox.js +3 -6
  27. package/lib/cjs/components/ListBox/ListBox.test.js +2 -0
  28. package/lib/cjs/components/ListBox/Option.js +6 -0
  29. package/lib/cjs/components/ListView/ListView.stories.js +580 -39
  30. package/lib/cjs/components/Messages/Message.js +2 -2
  31. package/lib/cjs/components/MultivaluesField/MultivaluesField.js +2 -1
  32. package/lib/cjs/components/OverlayPanel/OverlayPanel.stories.js +15 -14
  33. package/lib/cjs/components/PopoverContainer/PopoverContainer.test.js +15 -0
  34. package/lib/cjs/components/TextArea/TextArea.js +5 -1
  35. package/lib/cjs/components/TooltipTrigger/TooltipTrigger.js +10 -5
  36. package/lib/cjs/index.js +10 -0
  37. package/lib/cjs/styles/variants/accordion.js +2 -2
  38. package/lib/cjs/styles/variants/buttons.js +11 -1
  39. package/lib/cjs/styles/variants/codeView.js +80 -0
  40. package/lib/cjs/styles/variants/variants.js +3 -0
  41. package/lib/components/AccordionGridGroup/AccordionGridGroup.test.js +23 -1
  42. package/lib/components/AccordionGridItem/AccordionGridItemBody.js +1 -1
  43. package/lib/components/AccordionGridItem/AccordionGridItemHeader.js +1 -1
  44. package/lib/components/AccordionGroup/AccordionGroup.test.js +30 -1
  45. package/lib/components/AccordionItem/AccordionItem.js +6 -5
  46. package/lib/components/Button/Button.js +2 -3
  47. package/lib/components/Button/Button.stories.js +2 -1
  48. package/lib/components/Button/Button.test.js +2 -1
  49. package/lib/components/CodeView/CodeView.js +130 -0
  50. package/lib/components/CodeView/CodeView.stories.js +67 -0
  51. package/lib/components/CodeView/CodeView.test.js +171 -0
  52. package/lib/components/CodeView/index.js +1 -0
  53. package/lib/components/ColorField/ColorField.js +1 -0
  54. package/lib/components/ComboBoxField/ComboBoxField.js +7 -0
  55. package/lib/components/ComboBoxField/ComboBoxField.stories.js +21 -0
  56. package/lib/components/ComboBoxField/ComboBoxField.test.js +35 -0
  57. package/lib/components/CopyText/CopyText.js +35 -11
  58. package/lib/components/FileInputField/FileItem.js +2 -1
  59. package/lib/components/IconButton/IconButton.js +1 -1
  60. package/lib/components/IconButton/IconButton.stories.js +7 -13
  61. package/lib/components/IconButton/IconButton.test.js +4 -5
  62. package/lib/components/ImageUploadField/ImagePreviewButton.js +2 -1
  63. package/lib/components/List/List.js +2 -0
  64. package/lib/components/List/List.stories.js +6 -2
  65. package/lib/components/ListBox/ListBox.js +3 -5
  66. package/lib/components/ListBox/ListBox.test.js +2 -0
  67. package/lib/components/ListBox/Option.js +6 -0
  68. package/lib/components/ListView/ListView.stories.js +577 -39
  69. package/lib/components/Messages/Message.js +2 -2
  70. package/lib/components/MultivaluesField/MultivaluesField.js +2 -1
  71. package/lib/components/OverlayPanel/OverlayPanel.stories.js +7 -5
  72. package/lib/components/PopoverContainer/PopoverContainer.test.js +16 -1
  73. package/lib/components/TextArea/TextArea.js +5 -1
  74. package/lib/components/TooltipTrigger/TooltipTrigger.js +10 -5
  75. package/lib/index.js +1 -0
  76. package/lib/styles/variants/accordion.js +2 -2
  77. package/lib/styles/variants/buttons.js +11 -1
  78. package/lib/styles/variants/codeView.js +68 -0
  79. package/lib/styles/variants/variants.js +2 -0
  80. package/package.json +3 -1
@@ -22,8 +22,6 @@ var _collections = require("@react-stately/collections");
22
22
 
23
23
  var _hooks = require("../../hooks");
24
24
 
25
- var _Button = _interopRequireDefault(require("../Button/Button"));
26
-
27
25
  var _OverlayPanel = _interopRequireDefault(require("./OverlayPanel"));
28
26
 
29
27
  var _index = require("../../index");
@@ -66,15 +64,18 @@ var Default = function Default(_ref) {
66
64
  var state = (0, _hooks.useOverlayPanelState)();
67
65
  return (// Application must be wrapped in an OverlayProvider so that it can be hidden from screen
68
66
  // readers when an overlay opens.
69
- (0, _react2.jsx)(_index.OverlayProvider, null, (0, _react2.jsx)(_index.Text, null, "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."), (0, _react2.jsx)("br", null), (0, _react2.jsx)(_Button["default"], {
67
+ (0, _react2.jsx)(_index.OverlayProvider, null, (0, _react2.jsx)(_index.Text, null, "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."), (0, _react2.jsx)("br", null), (0, _react2.jsx)(_index.Button, {
70
68
  onPress: state.open
71
69
  }, "Open Panel"), (0, _react2.jsx)(_OverlayPanel["default"], (0, _extends2["default"])({
72
70
  isOpen: state.isOpen
73
- }, args), (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_Button["default"], {
71
+ }, args), (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_index.Button, {
74
72
  onPress: state.close
75
- }, "Close Panel"), (0, _react2.jsx)(_index.Text, {
76
- pt: "md"
77
- }, "Children render here."))))
73
+ }, "Close Panel"), (0, _react2.jsx)(_index.AccordionGroup, args, (0, _react2.jsx)(_collections.Item, {
74
+ key: "accordionKey",
75
+ textValue: "accordionKey",
76
+ label: "Accordion Label",
77
+ "data-id": "accordionItem"
78
+ }, (0, _react2.jsx)(_index.Text, null, "Render me!"))))))
78
79
  );
79
80
  };
80
81
 
@@ -106,7 +107,7 @@ var InnerPanel = function InnerPanel(_ref2) {
106
107
  variant: "overlayPanel.overlayPanelInner" // applies higher z-index
107
108
  ,
108
109
  isOpen: innerState.isOpen
109
- }, args), (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_Button["default"], {
110
+ }, args), (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_index.Button, {
110
111
  onPress: innerState.close
111
112
  }, "Close Inner Panel"), (0, _react2.jsx)(_index.Text, {
112
113
  pt: "md"
@@ -121,7 +122,7 @@ var InnerPanel = function InnerPanel(_ref2) {
121
122
  sx: {
122
123
  p: '12px'
123
124
  }
124
- }, (0, _react2.jsx)(_Button["default"], {
125
+ }, (0, _react2.jsx)(_index.Button, {
125
126
  onPress: closeOuterPanel
126
127
  }, "Close Panel"), (0, _react2.jsx)(_index.Text, {
127
128
  pt: "md",
@@ -164,14 +165,14 @@ var InnerPanel = function InnerPanel(_ref2) {
164
165
  mr: "auto"
165
166
  }, "Form 5")), (0, _react2.jsx)(_index.Separator, {
166
167
  margin: "0"
167
- })), (0, _react2.jsx)("br", null), (0, _react2.jsx)(_Button["default"], {
168
+ })), (0, _react2.jsx)("br", null), (0, _react2.jsx)(_index.Button, {
168
169
  onPress: toggleMessagesOpen
169
- }, "Toggle Messages"), (0, _react2.jsx)("br", null), (0, _react2.jsx)(_Button["default"], {
170
+ }, "Toggle Messages"), (0, _react2.jsx)("br", null), (0, _react2.jsx)(_index.Button, {
170
171
  onPress: innerState.open
171
172
  }, "Open Inner Panel"), inner)));
172
173
  return (// Application must be wrapped in an OverlayProvider so that it can be hidden from screen
173
174
  // readers when an overlay opens.
174
- (0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_index.OverlayProvider, null, (0, _react2.jsx)(_Button["default"], {
175
+ (0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_index.OverlayProvider, null, (0, _react2.jsx)(_index.Button, {
175
176
  onPress: state.open
176
177
  }, "Open Panel"), outer), messagesOpen && (0, _react2.jsx)(_index.Messages, {
177
178
  sx: {
@@ -192,14 +193,14 @@ var CustomWidth = function CustomWidth() {
192
193
  // readers when an overlay opens.
193
194
  //
194
195
  // For a custom width, provide the width via the 'sx' prop
195
- (0, _react2.jsx)(_index.OverlayProvider, null, (0, _react2.jsx)(_index.Text, null, "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."), (0, _react2.jsx)("br", null), (0, _react2.jsx)(_Button["default"], {
196
+ (0, _react2.jsx)(_index.OverlayProvider, null, (0, _react2.jsx)(_index.Text, null, "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."), (0, _react2.jsx)("br", null), (0, _react2.jsx)(_index.Button, {
196
197
  onPress: state.open
197
198
  }, "Open Panel"), (0, _react2.jsx)(_OverlayPanel["default"], {
198
199
  isOpen: state.isOpen,
199
200
  sx: {
200
201
  width: '720px'
201
202
  }
202
- }, (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_Button["default"], {
203
+ }, (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_index.Button, {
203
204
  onPress: state.close
204
205
  }, "Close Panel"), (0, _react2.jsx)(_index.Text, {
205
206
  pt: "md"
@@ -17,6 +17,13 @@ var _react2 = require("@emotion/react");
17
17
  var getComponent = function getComponent() {
18
18
  var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
19
19
  return (0, _testWrapper.render)((0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_PopoverContainer["default"], props, (0, _react2.jsx)(_index.Box, null, "I am in a popover"))));
20
+ };
21
+
22
+ var getComponentInOverlayPanel = function getComponentInOverlayPanel() {
23
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
24
+ return (0, _testWrapper.render)((0, _react2.jsx)(_index.OverlayPanel, {
25
+ isOpen: true
26
+ }, (0, _react2.jsx)(_PopoverContainer["default"], props, (0, _react2.jsx)(_index.Box, null, "I am in a popover"))));
20
27
  }; // Need to be added to each test file to test accessibility using axe.
21
28
 
22
29
 
@@ -39,4 +46,12 @@ test('should render a popover with no arrow', function () {
39
46
  var arrow = _testWrapper.screen.queryByTestId('popover-arrow');
40
47
 
41
48
  expect(arrow).not.toBeInTheDocument();
49
+ });
50
+ test('popover will not open if wrapped in an overlayPanel', function () {
51
+ getComponentInOverlayPanel({
52
+ popoverProps: {
53
+ 'data-test-id': 'popover-test'
54
+ }
55
+ });
56
+ expect(_testWrapper.screen.queryByTestId('popover-test')).not.toBeInTheDocument();
42
57
  });
@@ -29,7 +29,11 @@ var _react2 = require("@emotion/react");
29
29
  */
30
30
  var TextArea = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
31
31
  return (0, _react2.jsx)(_themeUi.Textarea, (0, _extends2["default"])({
32
- ref: ref
32
+ ref: ref // this requires to fix safari resizing issue (UIP-4995)
33
+ ,
34
+ sx: {
35
+ position: 'relative'
36
+ }
33
37
  }, props));
34
38
  });
35
39
  TextArea.displayName = 'TextArea';
@@ -59,7 +59,8 @@ var TooltipTrigger = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
59
59
  className = props.className,
60
60
  isNotFlippable = props.isNotFlippable,
61
61
  isDarkMode = props.isDarkMode,
62
- hasNoArrow = props.hasNoArrow;
62
+ hasNoArrow = props.hasNoArrow,
63
+ targetRef = props.targetRef;
63
64
 
64
65
  var _React$Children$toArr = _react["default"].Children.toArray(children),
65
66
  _React$Children$toArr2 = (0, _slicedToArray2["default"])(_React$Children$toArr, 2),
@@ -69,23 +70,24 @@ var TooltipTrigger = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
69
70
  var state = (0, _tooltip2.useTooltipTriggerState)(props);
70
71
  var tooltipTriggerRef = (0, _react.useRef)();
71
72
  var overlayRef = (0, _react.useRef)();
73
+ var tooltipRef = targetRef || tooltipTriggerRef;
72
74
  (0, _hooks.usePropWarning)(props, 'disabled', 'isDisabled');
73
75
  /* istanbul ignore next */
74
76
 
75
77
  (0, _react.useImperativeHandle)(ref, function () {
76
- return tooltipTriggerRef.current;
78
+ return tooltipRef.current;
77
79
  });
78
80
 
79
81
  var _useTooltipTrigger = (0, _tooltip.useTooltipTrigger)({
80
82
  isDisabled: isDisabled,
81
83
  trigger: triggerAction
82
- }, state, tooltipTriggerRef),
84
+ }, state, tooltipRef),
83
85
  triggerProps = _useTooltipTrigger.triggerProps,
84
86
  tooltipProps = _useTooltipTrigger.tooltipProps;
85
87
 
86
88
  var _useOverlayPosition = (0, _overlays.useOverlayPosition)({
87
89
  placement: (0, _concat["default"])(_context = "".concat(direction, " ")).call(_context, align),
88
- targetRef: tooltipTriggerRef,
90
+ targetRef: tooltipRef,
89
91
  overlayRef: overlayRef,
90
92
  offset: offset,
91
93
  // Our API preference is for default false so we invert this since it should be default true
@@ -160,7 +162,10 @@ TooltipTrigger.propTypes = {
160
162
  placement: _propTypes["default"].string,
161
163
 
162
164
  /** By default, opens for both focus and hover. Can be made to open only for focus. */
163
- trigger: _propTypes["default"].string
165
+ trigger: _propTypes["default"].string,
166
+
167
+ /* The ref for the element which the overlay positions itself with respect to. */
168
+ targetRef: _propTypes["default"].shape({})
164
169
  };
165
170
  TooltipTrigger.defaultProps = {
166
171
  align: 'middle',
package/lib/cjs/index.js CHANGED
@@ -30,6 +30,7 @@ var _exportNames = {
30
30
  Checkbox: true,
31
31
  CheckboxField: true,
32
32
  Chip: true,
33
+ CodeView: true,
33
34
  ComboBoxField: true,
34
35
  CopyText: true,
35
36
  ColorField: true,
@@ -183,6 +184,13 @@ _Object$defineProperty(exports, "Chip", {
183
184
  }
184
185
  });
185
186
 
187
+ _Object$defineProperty(exports, "CodeView", {
188
+ enumerable: true,
189
+ get: function get() {
190
+ return _CodeView["default"];
191
+ }
192
+ });
193
+
186
194
  _Object$defineProperty(exports, "ComboBoxField", {
187
195
  enumerable: true,
188
196
  get: function get() {
@@ -785,6 +793,8 @@ _forEachInstanceProperty(_context13 = _Object$keys(_Chip)).call(_context13, func
785
793
  });
786
794
  });
787
795
 
796
+ var _CodeView = _interopRequireDefault(require("./components/CodeView"));
797
+
788
798
  var _ComboBoxField = _interopRequireDefault(require("./components/ComboBoxField"));
789
799
 
790
800
  var _CopyText = _interopRequireDefault(require("./components/CopyText"));
@@ -27,11 +27,11 @@ var accordion = {
27
27
  alignItems: 'flex-start'
28
28
  };
29
29
  var accordionBody = {
30
- display: 'none !important',
30
+ display: 'none',
31
31
  pt: 'md',
32
32
  width: '100%',
33
33
  '.is-open &': {
34
- display: 'flex !important'
34
+ display: 'flex'
35
35
  }
36
36
  };
37
37
  var accordionGridHeader = {
@@ -89,7 +89,7 @@ var iconButton = {
89
89
  width: 'inherit',
90
90
  height: 'inherit',
91
91
  path: {
92
- fill: 'neutral.20'
92
+ fill: 'neutral.40'
93
93
  },
94
94
  outline: 'none',
95
95
  '&.is-focused': _objectSpread({}, defaultFocus),
@@ -104,6 +104,10 @@ var iconButton = {
104
104
  }
105
105
  };
106
106
 
107
+ var square = _objectSpread(_objectSpread({}, iconButton), {}, {
108
+ borderRadius: '2px'
109
+ });
110
+
107
111
  var modalCloseButton = _objectSpread(_objectSpread({}, iconButton), {}, {
108
112
  position: 'absolute',
109
113
  top: 14,
@@ -241,6 +245,10 @@ var inverted = _objectSpread(_objectSpread({}, iconButton), {}, {
241
245
  }
242
246
  });
243
247
 
248
+ var invertedSquare = _objectSpread(_objectSpread({}, inverted), {}, {
249
+ borderRadius: '2px'
250
+ });
251
+
244
252
  var applicationPortal = _objectSpread(_objectSpread({}, iconButton), {}, {
245
253
  background: 'transparent',
246
254
  '&.is-focused': _objectSpread({}, defaultFocus),
@@ -532,6 +540,8 @@ var _default = {
532
540
  modalCloseButton: modalCloseButton,
533
541
  applicationPortalPinned: applicationPortalPinned,
534
542
  applicationPortal: applicationPortal,
543
+ square: square,
544
+ invertedSquare: invertedSquare,
535
545
  tooltipChip: tooltipChip,
536
546
  tooltipIconButton: tooltipIconButton,
537
547
  tooltipInline: tooltipInline
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
4
+
5
+ _Object$defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+
9
+ exports["default"] = void 0;
10
+
11
+ require("a11y-syntax-highlighting/dist/prism/a11y-light.min.css");
12
+
13
+ var wrapper = {
14
+ bg: 'accent.99',
15
+ border: '1px solid',
16
+ borderColor: 'accent.95',
17
+ width: 400,
18
+ height: 200,
19
+ my: 5,
20
+ overflow: 'auto',
21
+ alignItems: 'center',
22
+ '&.is-focused, &:focus': {
23
+ boxShadow: 'focus',
24
+ outline: 'none'
25
+ },
26
+ pre: {
27
+ backgroundColor: 'transparent',
28
+ m: 0,
29
+ p: 10,
30
+ pr: 0,
31
+ height: '100%',
32
+ width: '100%',
33
+ overflowX: 'hidden',
34
+ overflowY: 'auto',
35
+ fontFamily: 'standard',
36
+ fontSize: 'sm',
37
+ '& .token-line': {
38
+ display: 'block',
39
+ alignItems: 'center',
40
+ '& .token': {
41
+ whiteSpace: 'pre-wrap',
42
+ wordBreak: 'break-all'
43
+ }
44
+ }
45
+ },
46
+ '&.has-no-copy-button': {
47
+ pre: {
48
+ p: 10
49
+ }
50
+ },
51
+ '&.has-line-numbers': {
52
+ pre: {
53
+ p: '0 10px 0 0',
54
+ overflow: 'auto',
55
+ '& .token-line:first-of-type *': {
56
+ pt: 10
57
+ },
58
+ '& .token-line': {
59
+ display: 'flex',
60
+ '& .token': {
61
+ whiteSpace: 'pre'
62
+ }
63
+ }
64
+ }
65
+ }
66
+ };
67
+ var lineNo = {
68
+ display: 'table-cell',
69
+ userSelect: 'none',
70
+ p: 5,
71
+ m: '0 10px 0 0',
72
+ bg: 'accent.30',
73
+ minWidth: 26,
74
+ color: 'white'
75
+ };
76
+ var _default = {
77
+ wrapper: wrapper,
78
+ lineNo: lineNo
79
+ };
80
+ exports["default"] = _default;
@@ -34,6 +34,8 @@ var _accordion = _interopRequireDefault(require("./accordion"));
34
34
 
35
35
  var _boxes = _interopRequireDefault(require("./boxes"));
36
36
 
37
+ var _codeView = _interopRequireDefault(require("./codeView"));
38
+
37
39
  var _images = _interopRequireDefault(require("./images"));
38
40
 
39
41
  var _imageUpload = _interopRequireDefault(require("./imageUpload"));
@@ -77,6 +79,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
77
79
  var _default = _objectSpread(_objectSpread({
78
80
  accordion: _accordion["default"],
79
81
  boxes: _boxes["default"],
82
+ codeView: _codeView["default"],
80
83
  images: _images["default"],
81
84
  imageUpload: _imageUpload["default"],
82
85
  loader: _loader["default"],
@@ -4,7 +4,7 @@ import { Item } from '@react-stately/collections';
4
4
  import userEvent from '@testing-library/user-event';
5
5
  import axeTest from '../../utils/testUtils/testAxe';
6
6
  import { act, fireEvent, render, screen } from '../../utils/testUtils/testWrapper';
7
- import { Link, Box } from '../../index';
7
+ import { Link, Box, OverlayPanel } from '../../index';
8
8
  import AccordionGridGroup from '../AccordionGridGroup';
9
9
  import { jsx as ___EmotionJSX } from "@emotion/react";
10
10
  var testId = 'test-accordion';
@@ -26,6 +26,22 @@ var getComponent = function getComponent() {
26
26
  }, ___EmotionJSX(Box, null, ___EmotionJSX(Link, null, "Header Button"), ___EmotionJSX(Link, null, "Second Header Button")), ___EmotionJSX(Box, null, ___EmotionJSX(Link, null, "Body Button"), ___EmotionJSX(Link, null, "Second Body Button")))));
27
27
  };
28
28
 
29
+ var getComponentInOverlayPanel = function getComponentInOverlayPanel() {
30
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
31
+ return render(___EmotionJSX(OverlayPanel, {
32
+ isOpen: true
33
+ }, ___EmotionJSX(AccordionGridGroup, _extends({}, defaultProps, props), ___EmotionJSX(Item, {
34
+ key: "first",
35
+ textValue: "Duplicate"
36
+ }, ___EmotionJSX(Box, null, ___EmotionJSX(Link, null, "Header Button"), ___EmotionJSX(Link, null, "Second Header Button")), ___EmotionJSX(Box, null, ___EmotionJSX(Link, null, "Body Button"), ___EmotionJSX(Link, null, "Second Body Button"))), ___EmotionJSX(Item, {
37
+ key: "second",
38
+ textValue: "Duplicate"
39
+ }, ___EmotionJSX(Box, null, ___EmotionJSX(Link, null, "Header Button"), ___EmotionJSX(Link, null, "Second Header Button")), ___EmotionJSX(Box, null, ___EmotionJSX(Link, null, "Body Button"), ___EmotionJSX(Link, null, "Second Body Button"))), ___EmotionJSX(Item, {
40
+ key: "third",
41
+ textValue: "Duplicate"
42
+ }, ___EmotionJSX(Box, null, ___EmotionJSX(Link, null, "Header Button"), ___EmotionJSX(Link, null, "Second Header Button")), ___EmotionJSX(Box, null, ___EmotionJSX(Link, null, "Body Button"), ___EmotionJSX(Link, null, "Second Body Button"))))));
43
+ };
44
+
29
45
  axeTest(getComponent, {
30
46
  // landmark-unique rule conflicts with react-aria role definition
31
47
  rules: {
@@ -166,4 +182,10 @@ test('default expanded keys expands an accordion item', function () {
166
182
  var row = screen.getAllByRole('row');
167
183
  var selectedRow = row[0];
168
184
  expect(selectedRow).toHaveAttribute('aria-selected', 'true');
185
+ });
186
+ test('items do not automatically expand if wrapped in an open OverlayPanel', function () {
187
+ getComponentInOverlayPanel();
188
+ var row = screen.getAllByRole('row');
189
+ var selectedRow = row[0];
190
+ expect(selectedRow).not.toHaveAttribute('aria-selected', 'true');
169
191
  });
@@ -52,7 +52,7 @@ var AccordionGridItemBody = /*#__PURE__*/forwardRef(function (props, ref) {
52
52
  }, mergedProps, {
53
53
  isSelected: isSelected,
54
54
  className: classNames,
55
- "aria-label": ariaLabel || 'Grid Cell'
55
+ "aria-label": ariaLabel
56
56
  }), children);
57
57
  });
58
58
  AccordionGridItemBody.propTypes = {
@@ -76,7 +76,7 @@ var AccordionGridItemHeader = /*#__PURE__*/forwardRef(function (props, ref) {
76
76
  isSelected: isSelected,
77
77
  className: classNames
78
78
  }, others, {
79
- "aria-label": ariaLabel || 'Grid Cell'
79
+ "aria-label": ariaLabel
80
80
  }), ___EmotionJSX(Box, {
81
81
  isRow: true
82
82
  }, children, ___EmotionJSX(Box, {
@@ -7,6 +7,7 @@ import axeTest from '../../utils/testUtils/testAxe';
7
7
  import { act, fireEvent, render, screen } from '../../utils/testUtils/testWrapper';
8
8
  import Text from '../Text';
9
9
  import AccordionGroup from '../AccordionGroup';
10
+ import { OverlayPanel } from '../../index';
10
11
  import { jsx as ___EmotionJSX } from "@emotion/react";
11
12
  var testId = 'test-accordion';
12
13
  var defaultProps = {
@@ -16,6 +17,28 @@ var defaultProps = {
16
17
  var getComponent = function getComponent() {
17
18
  var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
18
19
  return render(___EmotionJSX(AccordionGroup, _extends({}, defaultProps, props), ___EmotionJSX(Item, {
20
+ key: "first",
21
+ textValue: "Duplicate",
22
+ "data-id": "first",
23
+ label: "Accordion item"
24
+ }, ___EmotionJSX(Text, null, "Render me!")), ___EmotionJSX(Item, {
25
+ key: "second",
26
+ textValue: "Duplicate",
27
+ "data-id": "second",
28
+ label: "Accordion item"
29
+ }, ___EmotionJSX(Text, null, "Render me!")), ___EmotionJSX(Item, {
30
+ key: "third",
31
+ textValue: "Duplicate",
32
+ "data-id": "third",
33
+ label: "Accordion item"
34
+ }, ___EmotionJSX(Text, null, "Render me!"))));
35
+ };
36
+
37
+ var getComponentInOverlayPanel = function getComponentInOverlayPanel() {
38
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
39
+ return render(___EmotionJSX(OverlayPanel, {
40
+ isOpen: true
41
+ }, ___EmotionJSX(AccordionGroup, _extends({}, defaultProps, props), ___EmotionJSX(Item, {
19
42
  key: "first",
20
43
  textValue: "Duplicate",
21
44
  "data-id": "first"
@@ -27,7 +50,7 @@ var getComponent = function getComponent() {
27
50
  key: "third",
28
51
  textValue: "Duplicate",
29
52
  "data-id": "third"
30
- }, ___EmotionJSX(Text, null, "Render me!"))));
53
+ }, ___EmotionJSX(Text, null, "Render me!")))));
31
54
  }; // Need to be added to each test file to test accessibility using axe.
32
55
 
33
56
 
@@ -197,4 +220,10 @@ test('Item accepts a data-id and the data-id can be found in the DOM', function
197
220
  var selectedItem = buttons[0];
198
221
  var parentElement = selectedItem.parentElement;
199
222
  expect(parentElement).toHaveAttribute('data-id', 'first');
223
+ });
224
+ test('items do not automatically expand if wrapped in an open OverlayPanel', function () {
225
+ getComponentInOverlayPanel();
226
+ var buttons = screen.getAllByRole('button');
227
+ var selectedItem = buttons[0];
228
+ expect(selectedItem).not.toHaveAttribute('aria-expanded', 'true');
200
229
  });
@@ -11,7 +11,7 @@ import { useAccordionItem } from '@react-aria/accordion';
11
11
  import { useButton } from '@react-aria/button';
12
12
  import { useFocusRing } from '@react-aria/focus';
13
13
  import { Text, Icon, Box } from '../../index';
14
- import { useAriaLabelWarning, useStatusClasses } from '../../hooks';
14
+ import { useStatusClasses } from '../../hooks';
15
15
  import { AccordionContext } from '../../context/AccordionContext';
16
16
  import { jsx as ___EmotionJSX } from "@emotion/react";
17
17
  var AccordionItem = /*#__PURE__*/forwardRef(function (props, ref) {
@@ -72,12 +72,11 @@ var AccordionItem = /*#__PURE__*/forwardRef(function (props, ref) {
72
72
  buttonClasses = _useStatusClasses2.classNames;
73
73
 
74
74
  var ariaLabel = props['aria-label'] || item.props.label;
75
- useAriaLabelWarning('AccordionItem', ariaLabel);
76
75
  return ___EmotionJSX(Box, _extends({
77
76
  variant: "accordion.accordion",
78
77
  className: itemClasses
79
78
  }, others, containerProps), ___EmotionJSX(ThemeUIButton, _extends({
80
- "aria-label": ariaLabel || 'Accordion',
79
+ "aria-label": ariaLabel,
81
80
  ref: buttonRef,
82
81
  sx: {
83
82
  display: 'flex',
@@ -94,9 +93,11 @@ var AccordionItem = /*#__PURE__*/forwardRef(function (props, ref) {
94
93
  ml: "5px"
95
94
  }, ___EmotionJSX(Icon, {
96
95
  icon: isOpen ? MenuUp : MenuDown
97
- }))), ___EmotionJSX(Box, _extends({
96
+ }))), isOpen && ___EmotionJSX(Box, _extends({
98
97
  variant: "accordion.accordionBody"
99
- }, accordionRegionProps, regionProps), item.rendered));
98
+ }, accordionRegionProps, regionProps, {
99
+ className: itemClasses
100
+ }), item.rendered));
100
101
  });
101
102
  AccordionItem.propTypes = {
102
103
  'aria-label': PropTypes.string,
@@ -21,7 +21,7 @@ import { useButton } from '@react-aria/button';
21
21
  import { useHover } from '@react-aria/interactions';
22
22
  import { useFocusRing } from '@react-aria/focus';
23
23
  import { mergeProps } from '@react-aria/utils';
24
- import { useAriaLabelWarning, useStatusClasses, usePropWarning } from '../../hooks';
24
+ import { useStatusClasses, usePropWarning } from '../../hooks';
25
25
  import Loader from '../Loader';
26
26
  import { jsx as ___EmotionJSX } from "@emotion/react";
27
27
  var Button = /*#__PURE__*/forwardRef(function (props, ref) {
@@ -70,9 +70,8 @@ var Button = /*#__PURE__*/forwardRef(function (props, ref) {
70
70
  classNames = _useStatusClasses.classNames;
71
71
 
72
72
  var ariaLabel = props['aria-label'];
73
- useAriaLabelWarning('Button', ariaLabel);
74
73
  return ___EmotionJSX(ThemeUIButton, _extends({
75
- "aria-label": ariaLabel || 'Button',
74
+ "aria-label": ariaLabel,
76
75
  ref: buttonRef,
77
76
  className: classNames,
78
77
  role: "button",
@@ -62,7 +62,8 @@ export var TextIconButton = function TextIconButton() {
62
62
  export var TextButton = function TextButton() {
63
63
  return ___EmotionJSX(Button, {
64
64
  mb: "sm",
65
- variant: "text"
65
+ variant: "text",
66
+ "aria-label": "Add option"
66
67
  }, ___EmotionJSX(Text, {
67
68
  variant: "label",
68
69
  color: "active"
@@ -7,7 +7,8 @@ import Button from '.';
7
7
  import { jsx as ___EmotionJSX } from "@emotion/react";
8
8
  var testId = 'test-button';
9
9
  var defaultProps = {
10
- 'data-testid': testId
10
+ 'data-testid': testId,
11
+ 'aria-label': 'Test button'
11
12
  };
12
13
 
13
14
  var getComponent = function getComponent() {