@pingux/astro 2.0.0-beta.0 → 2.0.0-rc.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 (63) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/README.md +5 -5
  3. package/lib/MIGRATION.md +100 -0
  4. package/lib/README.md +92 -0
  5. package/lib/cjs/components/Bracket/Bracket.stories.js +0 -1
  6. package/lib/cjs/components/Button/Button.js +3 -1
  7. package/lib/cjs/components/CollapsiblePanel/CollapsiblePanel.stories.js +8 -4
  8. package/lib/cjs/components/ComboBox/ComboBoxInput.js +12 -11
  9. package/lib/cjs/components/DataTable/DataTable.styles.js +2 -2
  10. package/lib/cjs/components/IconButton/IconButton.js +3 -1
  11. package/lib/cjs/components/ListItem/ListItem.stories.js +8 -3
  12. package/lib/cjs/components/ListViewItem/ListViewItem.styles.js +4 -4
  13. package/lib/cjs/components/MultivaluesField/MultivaluesField.js +1 -1
  14. package/lib/cjs/components/NumberField/NumberField.js +2 -2
  15. package/lib/cjs/components/NumberField/NumberField.test.js +3 -3
  16. package/lib/cjs/components/OverlayPanel/OverlayPanel.stories.js +23 -7
  17. package/lib/cjs/components/OverlayPanel/OverlayPanel.styles.js +1 -0
  18. package/lib/cjs/components/PasswordField/PasswordField.js +7 -4
  19. package/lib/cjs/components/PasswordField/PasswordField.test.js +12 -0
  20. package/lib/cjs/components/PopoverMenu/PopoverMenu.test.js +10 -0
  21. package/lib/cjs/components/SearchField/Search.styles.js +3 -0
  22. package/lib/cjs/{styles/theme-ui → docs/theme}/ThemeView.js +1 -1
  23. package/lib/cjs/hooks/index.js +7 -0
  24. package/lib/cjs/patterns/AttributeMappingDisplayViewPattern.stories.hidden.js +2 -2
  25. package/lib/cjs/patterns/AttributeMappingEditViewPattern.stories.hidden.js +3 -3
  26. package/lib/cjs/recipes/CountryPicker.stories.js +2 -2
  27. package/lib/cjs/recipes/LinkedListView.stories.js +2 -2
  28. package/lib/cjs/recipes/PageHeader.stories.js +16 -32
  29. package/lib/cjs/recipes/RadioButtonsWithLinks.stories.js +1 -1
  30. package/lib/cjs/styles/themeOverrides/uiLibraryOverride.js +18 -2
  31. package/lib/cjs/styles/themeOverrides/withUiLibraryCss.js +5 -3
  32. package/lib/cjs/styles/themes/end-user/end-user.js +15 -14
  33. package/lib/components/Bracket/Bracket.stories.js +0 -1
  34. package/lib/components/Button/Button.js +4 -2
  35. package/lib/components/CollapsiblePanel/CollapsiblePanel.stories.js +8 -4
  36. package/lib/components/ComboBox/ComboBoxInput.js +12 -11
  37. package/lib/components/DataTable/DataTable.styles.js +2 -2
  38. package/lib/components/IconButton/IconButton.js +4 -2
  39. package/lib/components/ListItem/ListItem.stories.js +8 -3
  40. package/lib/components/ListViewItem/ListViewItem.styles.js +4 -4
  41. package/lib/components/MultivaluesField/MultivaluesField.js +1 -1
  42. package/lib/components/NumberField/NumberField.js +2 -2
  43. package/lib/components/NumberField/NumberField.test.js +3 -3
  44. package/lib/components/OverlayPanel/OverlayPanel.stories.js +20 -4
  45. package/lib/components/OverlayPanel/OverlayPanel.styles.js +1 -0
  46. package/lib/components/PasswordField/PasswordField.js +7 -4
  47. package/lib/components/PasswordField/PasswordField.test.js +12 -0
  48. package/lib/components/PopoverMenu/PopoverMenu.test.js +10 -0
  49. package/lib/components/SearchField/Search.styles.js +3 -0
  50. package/lib/{styles/theme-ui → docs/theme}/ThemeView.js +1 -1
  51. package/lib/hooks/index.js +1 -0
  52. package/lib/patterns/AttributeMappingDisplayViewPattern.stories.hidden.js +2 -2
  53. package/lib/patterns/AttributeMappingEditViewPattern.stories.hidden.js +3 -3
  54. package/lib/recipes/CountryPicker.stories.js +2 -2
  55. package/lib/recipes/LinkedListView.stories.js +2 -2
  56. package/lib/recipes/PageHeader.stories.js +17 -33
  57. package/lib/recipes/RadioButtonsWithLinks.stories.js +1 -1
  58. package/lib/styles/themeOverrides/uiLibraryOverride.js +18 -2
  59. package/lib/styles/themeOverrides/withUiLibraryCss.js +5 -2
  60. package/lib/styles/themes/end-user/end-user.js +15 -14
  61. package/package.json +4 -5
  62. package/lib/cjs/docs/theme/ThemeDocumentation.js +0 -16
  63. package/lib/docs/theme/ThemeDocumentation.js +0 -7
@@ -35,7 +35,7 @@ var _statuses = _interopRequireDefault(require("../../utils/devUtils/constants/s
35
35
  var _ariaAttributes = require("../../utils/devUtils/props/ariaAttributes");
36
36
  var _fieldAttributes = require("../../utils/devUtils/props/fieldAttributes");
37
37
  var _react2 = require("@emotion/react");
38
- var _excluded = ["helperText", "isVisible", "onVisibleChange", "requirements", "slots", "status", "viewHiddenIconTestId", "viewIconTestId"];
38
+ var _excluded = ["helperText", "isVisible", "onVisibleChange", "requirements", "requirementsListProps", "slots", "status", "viewHiddenIconTestId", "viewIconTestId"];
39
39
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
40
40
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
41
41
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty2(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -53,6 +53,7 @@ var PasswordField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
53
53
  isVisibleProp = props.isVisible,
54
54
  onVisibleChangeProp = props.onVisibleChange,
55
55
  requirements = props.requirements,
56
+ requirementsListProps = props.requirementsListProps,
56
57
  slots = props.slots,
57
58
  status = props.status,
58
59
  viewHiddenIconTestId = props.viewHiddenIconTestId,
@@ -169,9 +170,9 @@ var PasswordField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
169
170
  placement: placement,
170
171
  ref: popoverRef,
171
172
  style: style
172
- }, (0, _react2.jsx)(_.RequirementsList, {
173
+ }, (0, _react2.jsx)(_.RequirementsList, (0, _extends2["default"])({
173
174
  requirements: requirements
174
- })));
175
+ }, requirementsListProps))));
175
176
  });
176
177
  PasswordField.propTypes = _objectSpread(_objectSpread({
177
178
  /** The rendered label for the field. */
@@ -240,7 +241,9 @@ PasswordField.propTypes = _objectSpread(_objectSpread({
240
241
  requirements: _propTypes["default"].arrayOf(_propTypes["default"].shape({
241
242
  name: _propTypes["default"].string.isRequired,
242
243
  status: _propTypes["default"].oneOf(['default', 'success', 'warning', 'error'])
243
- }))
244
+ })),
245
+ /** Props object that is spread to the requirements list. */
246
+ requirementsListProps: _propTypes["default"].shape({})
244
247
  }, _ariaAttributes.ariaAttributesBasePropTypes), _fieldAttributes.inputFieldAttributesBasePropTypes);
245
248
  PasswordField.defaultProps = {
246
249
  hasAutoFocus: false,
@@ -192,6 +192,18 @@ test('if all requirements are successful, do not render popover', function () {
192
192
  _userEvent["default"].click(input);
193
193
  expect(_react3.screen.queryByRole('presentation')).not.toBeInTheDocument();
194
194
  });
195
+ test('passing in props to the requirements list works', function () {
196
+ var requirementsListProps = {
197
+ 'data-testid': 'my-custom-id'
198
+ };
199
+ getComponent({
200
+ requirements: defaultRequirements,
201
+ requirementsListProps: requirementsListProps
202
+ });
203
+ expect(_react3.screen.queryByTestId(requirementsListProps['data-testid'])).not.toBeInTheDocument();
204
+ _userEvent["default"].click(_react3.screen.getByRole('textbox'));
205
+ expect(_react3.screen.queryByTestId(requirementsListProps['data-testid'])).toBeInTheDocument();
206
+ });
195
207
  test('password field with helper text', function () {
196
208
  var helperText = 'helper text';
197
209
  getComponent({
@@ -156,4 +156,14 @@ test('two menus can not be open at the same time', function () {
156
156
  expect(_testWrapper.screen.queryByRole('menuitem', {
157
157
  name: 'C'
158
158
  })).toBeInTheDocument();
159
+ });
160
+ test('holds a pressed state for menu trigger when isOpen is true', function () {
161
+ getComponent();
162
+ var button = _testWrapper.screen.getByRole('button');
163
+ expect(_testWrapper.screen.queryByRole('presentation')).not.toBeInTheDocument();
164
+ expect(_testWrapper.screen.queryByRole('menu')).not.toBeInTheDocument();
165
+ expect(button).not.toHaveClass('is-pressed');
166
+ _userEvent["default"].click(button);
167
+ expect(_testWrapper.screen.queryByRole('menu')).toBeInTheDocument();
168
+ expect(button).toHaveClass('is-pressed');
159
169
  });
@@ -14,6 +14,9 @@ var wrapper = {
14
14
  justifyContent: 'center',
15
15
  '> input::-webkit-search-cancel-button, > input::-webkit-search-decoration': {
16
16
  WebkitAppearance: 'none'
17
+ },
18
+ '&.is-focused > *': {
19
+ zIndex: 1
17
20
  }
18
21
  };
19
22
  exports.wrapper = wrapper;
@@ -8,7 +8,7 @@ _Object$defineProperty(exports, "__esModule", {
8
8
  exports["default"] = void 0;
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var _reactJsonTree = require("react-json-tree");
11
- var _theme = _interopRequireDefault(require("../theme"));
11
+ var _theme = _interopRequireDefault(require("../../styles/theme"));
12
12
  var _react2 = require("@emotion/react");
13
13
  var _default = function _default() {
14
14
  return (0, _react2.jsx)(_reactJsonTree.JSONTree, {
@@ -23,6 +23,12 @@ _Object$defineProperty(exports, "useComponentToggle", {
23
23
  return _useComponentToggle["default"];
24
24
  }
25
25
  });
26
+ _Object$defineProperty(exports, "useCopyToClipboard", {
27
+ enumerable: true,
28
+ get: function get() {
29
+ return _useCopyToClipboard["default"];
30
+ }
31
+ });
26
32
  _Object$defineProperty(exports, "useDebounce", {
27
33
  enumerable: true,
28
34
  get: function get() {
@@ -110,6 +116,7 @@ _Object$defineProperty(exports, "useTShirtSize", {
110
116
  var _useAriaLabelWarning = _interopRequireDefault(require("./useAriaLabelWarning"));
111
117
  var _useColumnStyles = _interopRequireDefault(require("./useColumnStyles"));
112
118
  var _useComponentToggle = _interopRequireDefault(require("./useComponentToggle"));
119
+ var _useCopyToClipboard = _interopRequireDefault(require("./useCopyToClipboard"));
113
120
  var _useDebounce = _interopRequireDefault(require("./useDebounce"));
114
121
  var _useDeprecationWarning = _interopRequireDefault(require("./useDeprecationWarning"));
115
122
  var _useFallbackImage = _interopRequireDefault(require("./useFallbackImage"));
@@ -77,7 +77,7 @@ var sx = {
77
77
  mb: 'auto',
78
78
  width: '21px'
79
79
  },
80
- badgeStyles: {
80
+ badgeStyle: {
81
81
  width: '65px',
82
82
  height: '22px',
83
83
  minWidth: 'fit-content',
@@ -141,7 +141,7 @@ var Default = function Default() {
141
141
  }), hasBadge && (0, _react2.jsx)(_index.Badge, {
142
142
  label: "Required",
143
143
  textColor: "#253746",
144
- sx: sx.badgeStyles
144
+ sx: sx.badgeStyle
145
145
  }));
146
146
  })));
147
147
  };
@@ -23,17 +23,17 @@ var editFieldValues = [{
23
23
  }, {
24
24
  field1: 'firstName',
25
25
  field2: 'Given Name',
26
- hasBadge: false,
26
+ hasChip: false,
27
27
  key: 2
28
28
  }, {
29
29
  field1: 'lastName',
30
30
  field2: 'Family Name',
31
- hasBadge: false,
31
+ hasChip: false,
32
32
  key: 3
33
33
  }, {
34
34
  field1: 'population',
35
35
  field2: 'Population',
36
- hasBadge: false,
36
+ hasChip: false,
37
37
  key: 4
38
38
  }];
39
39
  var sx = {
@@ -40,7 +40,7 @@ var sx = {
40
40
  comboBoxFieldWrapperClose: {
41
41
  position: 'absolute',
42
42
  transition: '0.2s width ease',
43
- maxWidth: '110px'
43
+ width: '110px'
44
44
  },
45
45
  inputWrapper: {
46
46
  width: '100%',
@@ -106,7 +106,7 @@ var Default = function Default() {
106
106
  width: "100%",
107
107
  isOpen: isOpen,
108
108
  onOpenChange: setIsOpen,
109
- containerProps: {
109
+ wrapperProps: {
110
110
  sx: isOpen ? sx.comboBoxFieldWrapperOpen : sx.comboBoxFieldWrapperClose
111
111
  },
112
112
  controlProps: {
@@ -127,7 +127,7 @@ var Default = function Default(_ref) {
127
127
  var color = '#CACED3';
128
128
  return (0, _react2.jsx)(_index.Box, {
129
129
  sx: {
130
- width: '20px',
130
+ width: '15px',
131
131
  position: 'relative'
132
132
  }
133
133
  }, (0, _react2.jsx)(_index.Box, {
@@ -185,7 +185,7 @@ var Default = function Default(_ref) {
185
185
  position: 'absolute',
186
186
  bottom: 0,
187
187
  left: 12,
188
- top: 55
188
+ top: 50
189
189
  }
190
190
  }, (0, _react2.jsx)("svg", {
191
191
  xmlns: "http://www.w3.org/2000/svg",
@@ -15,49 +15,33 @@ var _default = {
15
15
  };
16
16
  exports["default"] = _default;
17
17
  var Default = function Default() {
18
- var heading = 'Title of the Page';
19
- var description = 'The description of the page. The description of the page. The description of the page. The description of the page. The description of the page. The description of the page. The description of the page. The description of the page. The description of the page.';
20
- return (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_index.Box, {
18
+ return (0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_index.Box, {
21
19
  align: "center",
22
20
  isRow: true,
23
21
  mb: "xs",
24
22
  role: "heading",
25
23
  "aria-level": "1"
26
24
  }, (0, _react2.jsx)(_index.Text, {
27
- variant: "title",
28
- fontWeight: 3
29
- }, heading), (0, _react2.jsx)(_index.Button, {
30
- variant: "inlinePrimary",
31
- ml: "sm"
32
- }, (0, _react2.jsx)(_index.Icon, {
33
- icon: _PlusIcon["default"],
34
- color: "white",
35
- size: 13,
36
- mr: "4px"
37
- }), "\xA0", "Add")), (0, _react2.jsx)(_index.Text, {
38
- variant: "bodyWeak"
39
- }, description)), (0, _react2.jsx)(_index.Box, {
40
- mt: "xl"
41
- }, (0, _react2.jsx)(_index.Box, {
42
- align: "center",
43
- isRow: true,
44
- mb: "xs",
45
- role: "heading",
46
- "aria-level": "1"
47
- }, (0, _react2.jsx)(_index.Text, {
48
- variant: "title",
49
- fontWeight: 3
50
- }, heading), (0, _react2.jsx)(_index.IconButton, {
25
+ fontSize: "xx",
26
+ fontWeight: "3",
27
+ fontColor: "text.primary"
28
+ }, "Title of the Page"), (0, _react2.jsx)(_index.IconButton, {
51
29
  "aria-label": "icon button",
52
30
  ml: "sm",
53
- mt: "3px",
54
31
  variant: "inverted"
55
32
  }, (0, _react2.jsx)(_index.Icon, {
56
33
  icon: _PlusIcon["default"],
57
- color: "white",
58
- size: "xs"
34
+ size: "sm"
59
35
  }))), (0, _react2.jsx)(_index.Text, {
60
- variant: "bodyWeak"
61
- }, description)));
36
+ fontSize: "sm",
37
+ color: "text.secondary",
38
+ fontWeight: "0",
39
+ width: "800px"
40
+ }, "The description of the page. The description of the page. The description of the page. The description of the page.The description of the page. The description of the page. The description of the page. The description of the page. The description of the page.\xA0", (0, _react2.jsx)(_index.Link, {
41
+ href: "https://uilibrary.ping-eng.com/",
42
+ sx: {
43
+ fontSize: 'sm'
44
+ }
45
+ }, "Learn more")));
62
46
  };
63
47
  exports.Default = Default;
@@ -87,7 +87,7 @@ var Default = function Default() {
87
87
  }
88
88
  }, "Permissions"), (0, _react2.jsx)(_index.IconButton, {
89
89
  onPress: onPress,
90
- "aria-label": "close icon button"
90
+ "aria-label": "close"
91
91
  }, (0, _react2.jsx)(_index.Icon, {
92
92
  icon: _CloseIcon["default"],
93
93
  size: "sm"
@@ -34,6 +34,17 @@ var buttons = {
34
34
  inline: {
35
35
  '&:not(.disabled):hover': _objectSpread(_objectSpread({}, _theme["default"].buttons.inline), _theme["default"].buttons.defaultHover)
36
36
  },
37
+ inlinePrimary: {
38
+ '&:not(.disabled):hover': _objectSpread(_objectSpread({}, _theme["default"].buttons.inlinePrimary), _theme["default"].buttons.defaultHover)
39
+ },
40
+ text: {
41
+ '&:not(.disabled):hover': _objectSpread(_objectSpread({}, _theme["default"].buttons.text), _theme["default"].buttons.defaultHover)
42
+ },
43
+ inverted: _objectSpread(_objectSpread({}, _theme["default"].buttons.inverted), {}, {
44
+ ':focus': {
45
+ border: 'none'
46
+ }
47
+ }),
37
48
  primary: {
38
49
  '&:hover': _objectSpread({}, _theme["default"].buttons.primary)
39
50
  },
@@ -79,11 +90,16 @@ var forms = {
79
90
  wrapper: {
80
91
  '& input[type=search]': _objectSpread(_objectSpread({}, _theme["default"].text.inputValue), {}, {
81
92
  borderColor: 'neutral.80',
93
+ fontSize: '15px',
82
94
  bg: 'white',
83
95
  '::placeholder': _objectSpread(_objectSpread({}, _theme["default"].text.placeholder), {}, {
84
- fontStyle: 'unset'
96
+ fontStyle: 'unset',
97
+ fontSize: '15px'
85
98
  })
86
- })
99
+ }),
100
+ '& input[type=search]:focus': {
101
+ borderColor: 'neutral.80'
102
+ }
87
103
  }
88
104
  },
89
105
  label: {
@@ -11,9 +11,10 @@ _Object$defineProperty(exports, "__esModule", {
11
11
  exports["default"] = void 0;
12
12
  var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
13
13
  var _react = _interopRequireWildcard(require("react"));
14
+ var _react2 = require("@emotion/react");
14
15
  var _themeUi = require("theme-ui");
16
+ var _theme = _interopRequireDefault(require("../theme"));
15
17
  var _uiLibraryOverride = _interopRequireDefault(require("./uiLibraryOverride"));
16
- var _react2 = require("@emotion/react");
17
18
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
19
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
20
  var UI_LIBRARY_CSS_LINK = 'https://assets.pingone.com/ux/ui-library/5.0.2/css/ui-library.css';
@@ -31,8 +32,9 @@ var WithUiLibraryCss = function WithUiLibraryCss(Story) {
31
32
  });
32
33
  };
33
34
  }, []);
34
- return (0, _react2.jsx)(_themeUi.ThemeProvider, {
35
- theme: _uiLibraryOverride["default"]
35
+ var theme = (0, _themeUi.merge)(_theme["default"], _uiLibraryOverride["default"]);
36
+ return (0, _react2.jsx)(_react2.ThemeProvider, {
37
+ theme: theme
36
38
  }, (0, _react2.jsx)(Story, null));
37
39
  };
38
40
  var _default = WithUiLibraryCss;
@@ -107,7 +107,7 @@ var buttonBase = _objectSpread(_objectSpread({}, buttonText), {}, {
107
107
  },
108
108
  '&.is-focused': _objectSpread({}, buttonFocus)
109
109
  });
110
- var card = {
110
+ var cards = {
111
111
  bg: 'cardBg',
112
112
  boxShadow: 'overlay',
113
113
  boxSizing: 'border-box',
@@ -152,16 +152,17 @@ var wordWrap = {
152
152
  wordWrap: 'break-word',
153
153
  wordBreak: 'break-word'
154
154
  };
155
- var fieldHelperText = _objectSpread(_objectSpread(_objectSpread({}, base), wordWrap), {}, {
156
- fontSize: 'sm',
157
- pb: 'sm',
158
- '&.is-default': {
159
- color: 'text.secondary'
160
- },
161
- '&.is-error': {
162
- color: 'critical'
163
- }
164
- });
155
+ var fieldHelperText = {
156
+ title: _objectSpread(_objectSpread(_objectSpread({}, base), wordWrap), {}, {
157
+ fontSize: 'sm',
158
+ '&.is-default': {
159
+ color: 'text.secondary'
160
+ },
161
+ '&.is-error': {
162
+ color: 'critical.dark'
163
+ }
164
+ })
165
+ };
165
166
  var text = {
166
167
  base: {
167
168
  color: 'neutral.20',
@@ -188,8 +189,7 @@ var text = {
188
189
  fontSize: 15,
189
190
  fontWeight: 500,
190
191
  fontFamily: 'proxima-nova, sans-serif'
191
- },
192
- fieldHelperText: fieldHelperText
192
+ }
193
193
  };
194
194
  var activeFloatLabel = {
195
195
  fontWeight: 0,
@@ -250,8 +250,9 @@ var _default = {
250
250
  input: input,
251
251
  label: label
252
252
  },
253
+ cards: cards,
253
254
  variants: {
254
- card: card
255
+ fieldHelperText: fieldHelperText
255
256
  }
256
257
  };
257
258
  exports["default"] = _default;
@@ -56,7 +56,6 @@ export var Default = function Default() {
56
56
  isLast: index === anyConditions.length - 1
57
57
  }), ___EmotionJSX(Box, {
58
58
  mt: "md",
59
- ml: "xs",
60
59
  variant: "forms.input.fieldControlWrapper",
61
60
  bg: "white",
62
61
  isRow: true,
@@ -14,7 +14,7 @@ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (
14
14
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
15
15
  import React, { forwardRef, useImperativeHandle, useRef } from 'react';
16
16
  import { mergeProps, useButton, useFocusRing } from 'react-aria';
17
- import { Pressable, useHover } from '@react-aria/interactions';
17
+ import { Pressable, useHover, usePress } from '@react-aria/interactions';
18
18
  import PropTypes from 'prop-types';
19
19
  import { Button as ThemeUIButton } from 'theme-ui';
20
20
  import { useAriaLabelWarning, usePropWarning, useStatusClasses } from '../../hooks';
@@ -45,6 +45,8 @@ var Button = /*#__PURE__*/forwardRef(function (props, ref) {
45
45
  var _useFocusRing = useFocusRing(),
46
46
  isFocusVisible = _useFocusRing.isFocusVisible,
47
47
  focusProps = _useFocusRing.focusProps;
48
+ var _usePress = usePress(buttonRef),
49
+ isPressedFromContext = _usePress.isPressed;
48
50
  var _useButton = useButton(_objectSpread({
49
51
  elementType: 'button'
50
52
  }, props), buttonRef),
@@ -55,7 +57,7 @@ var Button = /*#__PURE__*/forwardRef(function (props, ref) {
55
57
  isHovered = _useHover.isHovered;
56
58
  var _useStatusClasses = useStatusClasses(className, {
57
59
  isHovered: isHovered,
58
- isPressed: isPressed,
60
+ isPressed: isPressed || isPressedFromContext,
59
61
  isFocused: isFocusVisible,
60
62
  isDisabled: isDisabled
61
63
  }),
@@ -194,13 +194,17 @@ export var CollapsiblePanelWithBadge = function CollapsiblePanelWithBadge(args)
194
194
  }), ___EmotionJSX(Breadcrumbs, {
195
195
  icon: ChevronRightIcon
196
196
  }, ___EmotionJSX(Item, {
197
+ "aria-label": "Ed Nepomuceno",
198
+ "data-id": "home",
199
+ href: "https://www.pingidentity.com",
197
200
  key: "home",
198
- variant: "link",
199
- "data-id": "home"
201
+ variant: "buttons.link"
200
202
  }, "Ed Nepomuceno"), ___EmotionJSX(Item, {
203
+ "aria-label": "edit groups",
204
+ "data-id": "editGroups",
205
+ href: "https://www.pingidentity.com",
201
206
  key: "editGroups",
202
- variant: "variants.collapsiblePanel.neutralText",
203
- "data-id": "editGroups"
207
+ variant: "buttons.link"
204
208
  }, "Edit Groups"))), ___EmotionJSX(Box, {
205
209
  isRow: true
206
210
  }, ___EmotionJSX(IconButton, {
@@ -47,22 +47,19 @@ var ComboBoxInput = /*#__PURE__*/forwardRef(function (props, ref) {
47
47
  onSelectionChange = props.onSelectionChange,
48
48
  wrapperProps = props.wrapperProps,
49
49
  others = _objectWithoutProperties(props, _excluded);
50
- var _useHover = useHover({}),
51
- hoverProps = _useHover.hoverProps,
52
- isHovered = _useHover.isHovered;
53
50
  var textFieldProps = _objectSpread({
54
51
  isDisabled: isDisabled,
55
52
  isReadOnly: isReadOnly,
56
- containerProps: _objectSpread(_objectSpread({
57
- sx: style,
58
- variant: 'forms.comboBox.container'
59
- }, hoverProps), containerProps)
53
+ containerProps: containerProps
60
54
  }, mergeProps(inputProps, others));
61
55
 
62
56
  // istanbul ignore next
63
57
  useImperativeHandle(ref, function () {
64
58
  return inputRef.current;
65
59
  });
60
+ var _useHover = useHover({}),
61
+ hoverProps = _useHover.hoverProps,
62
+ isHovered = _useHover.isHovered;
66
63
 
67
64
  // START - minimum delay time for loading indicator = 500ms
68
65
  var _useState = useState(false),
@@ -127,10 +124,14 @@ var ComboBoxInput = /*#__PURE__*/forwardRef(function (props, ref) {
127
124
  focusClass: "is-focused",
128
125
  focusRingClass: "focus-ring",
129
126
  autoFocus: hasAutoFocus
130
- }, ___EmotionJSX(TextField, _extends({}, textFieldProps, {
131
- wrapperProps: _objectSpread({
127
+ }, ___EmotionJSX(Box, _extends({
128
+ isRow: true,
129
+ style: style,
130
+ variant: "forms.comboBox.container"
131
+ }, hoverProps, wrapperProps), ___EmotionJSX(TextField, _extends({}, textFieldProps, {
132
+ wrapperProps: {
132
133
  ref: inputWrapperRef
133
- }, wrapperProps),
134
+ },
134
135
  controlProps: _objectSpread({
135
136
  variant: 'forms.comboBox.input'
136
137
  }, controlProps),
@@ -141,7 +142,7 @@ var ComboBoxInput = /*#__PURE__*/forwardRef(function (props, ref) {
141
142
  slots: {
142
143
  inContainer: button
143
144
  }
144
- })));
145
+ }))));
145
146
  });
146
147
  ComboBoxInput.propTypes = _objectSpread({
147
148
  containerProps: PropTypes.shape({}),
@@ -35,12 +35,12 @@ var tableCell = _objectSpread(_objectSpread({}, text.tableData), {}, {
35
35
  });
36
36
  var tableCellContents = {
37
37
  flex: '1 1 0%',
38
- minWidth: '0px',
39
38
  overflow: 'hidden',
40
39
  whiteSpace: 'nowrap',
41
40
  textOverflow: 'ellipsis',
42
41
  fontWeight: '400',
43
- justifyContent: 'center'
42
+ justifyContent: 'center',
43
+ maxWidth: '100%'
44
44
  };
45
45
  var tableRow = {
46
46
  position: 'relative',
@@ -14,7 +14,7 @@ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (
14
14
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
15
15
  import React, { forwardRef, useContext, useImperativeHandle, useRef } from 'react';
16
16
  import { mergeProps, useButton, useFocusRing } from 'react-aria';
17
- import { Pressable, useHover } from '@react-aria/interactions';
17
+ import { Pressable, useHover, usePress } from '@react-aria/interactions';
18
18
  import PropTypes from 'prop-types';
19
19
  import { IconButton as ThemeUIIconButton } from 'theme-ui';
20
20
  import { BadgeContext } from '../../context/BadgeContext';
@@ -47,6 +47,8 @@ var IconButton = /*#__PURE__*/forwardRef(function (props, ref) {
47
47
  useImperativeHandle(ref, function () {
48
48
  return buttonRef.current;
49
49
  });
50
+ var _usePress = usePress(buttonRef),
51
+ isPressedFromContext = _usePress.isPressed;
50
52
  var _useButton = useButton(_objectSpread({}, props), buttonRef),
51
53
  buttonProps = _useButton.buttonProps,
52
54
  isPressed = _useButton.isPressed;
@@ -60,7 +62,7 @@ var IconButton = /*#__PURE__*/forwardRef(function (props, ref) {
60
62
  focusProps = _useFocusRing.focusProps;
61
63
  var _useStatusClasses = useStatusClasses(className, {
62
64
  isHovered: isHovered,
63
- isPressed: isPressed,
65
+ isPressed: isPressed || isPressedFromContext,
64
66
  isFocused: isFocusVisible,
65
67
  isDisabled: isDisabled
66
68
  }),
@@ -48,7 +48,9 @@ export var Default = function Default(args) {
48
48
  }, "Fons Vernall")), ___EmotionJSX(Box, {
49
49
  isRow: true,
50
50
  alignSelf: "center"
51
- }, ___EmotionJSX(IconButton, null, ___EmotionJSX(Icon, {
51
+ }, ___EmotionJSX(IconButton, {
52
+ "aria-label": "filter"
53
+ }, ___EmotionJSX(Icon, {
52
54
  icon: MoreVertIcon,
53
55
  size: "sm",
54
56
  color: "neutral.20"
@@ -77,7 +79,9 @@ export var WithSubtitle = function WithSubtitle(args) {
77
79
  }, "fvernall0@google.it"))), ___EmotionJSX(Box, {
78
80
  isRow: true,
79
81
  alignSelf: "center"
80
- }, ___EmotionJSX(IconButton, null, ___EmotionJSX(Icon, {
82
+ }, ___EmotionJSX(IconButton, {
83
+ "aria-label": "filter"
84
+ }, ___EmotionJSX(Icon, {
81
85
  icon: MoreVertIcon,
82
86
  size: "sm",
83
87
  color: "neutral.20"
@@ -126,7 +130,8 @@ export var WithHoverHandlers = function WithHoverHandlers(args) {
126
130
  isRow: true,
127
131
  alignSelf: "center"
128
132
  }, ___EmotionJSX(IconButton, {
129
- size: 26
133
+ size: 26,
134
+ "aria-label": "filter"
130
135
  }, ___EmotionJSX(Icon, {
131
136
  icon: MoreVertIcon,
132
137
  size: 20,
@@ -17,11 +17,11 @@ var container = {
17
17
  justifyContent: 'center',
18
18
  bg: 'accent.99',
19
19
  outline: 'none',
20
- '& li': {
21
- bg: 'white'
22
- },
23
20
  '&.is-selected': {
24
- bg: 'white'
21
+ bg: 'white',
22
+ '& li': {
23
+ bg: 'white'
24
+ }
25
25
  },
26
26
  '&.is-hovered': {
27
27
  bg: 'white',
@@ -324,7 +324,7 @@ var MultivaluesField = /*#__PURE__*/forwardRef(function (props, ref) {
324
324
  label: item.name,
325
325
  slots: item.slots
326
326
  }, item.badgeProps), ___EmotionJSX(IconButton, _extends({
327
- "aria-label": "delete",
327
+ "aria-label": "delete ".concat(item.name),
328
328
  onPress: function onPress() {
329
329
  return deleteItem(item.key);
330
330
  },
@@ -67,14 +67,14 @@ var NumberField = /*#__PURE__*/forwardRef(function (props, ref) {
67
67
  variant: "forms.numberField.arrows"
68
68
  }, ___EmotionJSX(IconButton, _extends({}, incrementButtonProps, {
69
69
  ref: decRef,
70
- tabIndex: "-1",
70
+ tabIndex: "0",
71
71
  p: 0
72
72
  }), ___EmotionJSX(Icon, {
73
73
  icon: MenuUp,
74
74
  size: 18
75
75
  })), ___EmotionJSX(IconButton, _extends({}, decrementButtonProps, {
76
76
  ref: incrRef,
77
- tabIndex: "-1",
77
+ tabIndex: "0",
78
78
  p: 0
79
79
  }), ___EmotionJSX(Icon, {
80
80
  icon: MenuDown,
@@ -119,14 +119,14 @@ test('should show hintText text if prop is passed', function () {
119
119
  fireEvent.mouseEnter(helpHintButton);
120
120
  expect(screen.getByText(hintText)).toBeInTheDocument();
121
121
  });
122
- test('increment and decrement buttons shouldn\'t be able to be focused via keyboard', function () {
122
+ test('increment and decrement buttons should be able to be focused via keyboard', function () {
123
123
  getComponent();
124
124
  userEvent.tab();
125
125
  expect(screen.getByLabelText(testLabel)).toHaveFocus();
126
126
  userEvent.tab();
127
- expect(screen.getByLabelText('arrow-up')).not.toHaveFocus();
127
+ expect(screen.getByLabelText('arrow-up')).toHaveFocus();
128
128
  userEvent.tab();
129
- expect(screen.getByLabelText('arrow-down')).not.toHaveFocus();
129
+ expect(screen.getByLabelText('arrow-down')).toHaveFocus();
130
130
  });
131
131
  test('number field input receiving name attribute', function () {
132
132
  var testName = 'testName';