@patternfly/react-core 5.2.0-prerelease.12 → 5.2.0-prerelease.13

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 (144) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/components/package.json +1 -1
  3. package/deprecated/package.json +1 -1
  4. package/dist/dynamic/components/AboutModal/package.json +1 -1
  5. package/dist/dynamic/components/Accordion/package.json +1 -1
  6. package/dist/dynamic/components/ActionList/package.json +1 -1
  7. package/dist/dynamic/components/Alert/package.json +1 -1
  8. package/dist/dynamic/components/Avatar/package.json +1 -1
  9. package/dist/dynamic/components/BackToTop/package.json +1 -1
  10. package/dist/dynamic/components/Backdrop/package.json +1 -1
  11. package/dist/dynamic/components/BackgroundImage/package.json +1 -1
  12. package/dist/dynamic/components/Badge/package.json +1 -1
  13. package/dist/dynamic/components/Banner/package.json +1 -1
  14. package/dist/dynamic/components/Brand/package.json +1 -1
  15. package/dist/dynamic/components/Breadcrumb/package.json +1 -1
  16. package/dist/dynamic/components/Button/package.json +1 -1
  17. package/dist/dynamic/components/CalendarMonth/package.json +1 -1
  18. package/dist/dynamic/components/Card/package.json +1 -1
  19. package/dist/dynamic/components/Checkbox/package.json +1 -1
  20. package/dist/dynamic/components/Chip/package.json +1 -1
  21. package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
  22. package/dist/dynamic/components/CodeBlock/package.json +1 -1
  23. package/dist/dynamic/components/DataList/package.json +1 -1
  24. package/dist/dynamic/components/DatePicker/package.json +1 -1
  25. package/dist/dynamic/components/DescriptionList/package.json +1 -1
  26. package/dist/dynamic/components/Divider/package.json +1 -1
  27. package/dist/dynamic/components/DragDrop/package.json +1 -1
  28. package/dist/dynamic/components/Drawer/package.json +1 -1
  29. package/dist/dynamic/components/Dropdown/package.json +1 -1
  30. package/dist/dynamic/components/DualListSelector/package.json +1 -1
  31. package/dist/dynamic/components/EmptyState/package.json +1 -1
  32. package/dist/dynamic/components/ExpandableSection/package.json +1 -1
  33. package/dist/dynamic/components/FileUpload/package.json +1 -1
  34. package/dist/dynamic/components/Form/package.json +1 -1
  35. package/dist/dynamic/components/FormSelect/package.json +1 -1
  36. package/dist/dynamic/components/HelperText/package.json +1 -1
  37. package/dist/dynamic/components/Hint/package.json +1 -1
  38. package/dist/dynamic/components/Icon/package.json +1 -1
  39. package/dist/dynamic/components/InputGroup/package.json +1 -1
  40. package/dist/dynamic/components/JumpLinks/package.json +1 -1
  41. package/dist/dynamic/components/Label/package.json +1 -1
  42. package/dist/dynamic/components/List/package.json +1 -1
  43. package/dist/dynamic/components/LoginPage/package.json +1 -1
  44. package/dist/dynamic/components/Masthead/package.json +1 -1
  45. package/dist/dynamic/components/Menu/package.json +1 -1
  46. package/dist/dynamic/components/MenuToggle/package.json +1 -1
  47. package/dist/dynamic/components/Modal/package.json +1 -1
  48. package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
  49. package/dist/dynamic/components/Nav/package.json +1 -1
  50. package/dist/dynamic/components/NotificationBadge/package.json +1 -1
  51. package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
  52. package/dist/dynamic/components/NumberInput/package.json +1 -1
  53. package/dist/dynamic/components/OverflowMenu/package.json +1 -1
  54. package/dist/dynamic/components/Page/package.json +1 -1
  55. package/dist/dynamic/components/Pagination/package.json +1 -1
  56. package/dist/dynamic/components/Panel/package.json +1 -1
  57. package/dist/dynamic/components/Popover/package.json +1 -1
  58. package/dist/dynamic/components/Progress/package.json +1 -1
  59. package/dist/dynamic/components/ProgressStepper/package.json +1 -1
  60. package/dist/dynamic/components/Radio/package.json +1 -1
  61. package/dist/dynamic/components/SearchInput/package.json +1 -1
  62. package/dist/dynamic/components/Select/package.json +1 -1
  63. package/dist/dynamic/components/Sidebar/package.json +1 -1
  64. package/dist/dynamic/components/SimpleList/package.json +1 -1
  65. package/dist/dynamic/components/Skeleton/package.json +1 -1
  66. package/dist/dynamic/components/SkipToContent/package.json +1 -1
  67. package/dist/dynamic/components/Slider/package.json +1 -1
  68. package/dist/dynamic/components/Spinner/package.json +1 -1
  69. package/dist/dynamic/components/Switch/package.json +1 -1
  70. package/dist/dynamic/components/Tabs/package.json +1 -1
  71. package/dist/dynamic/components/Text/package.json +1 -1
  72. package/dist/dynamic/components/TextArea/package.json +1 -1
  73. package/dist/dynamic/components/TextInput/package.json +1 -1
  74. package/dist/dynamic/components/TextInputGroup/package.json +1 -1
  75. package/dist/dynamic/components/Tile/package.json +1 -1
  76. package/dist/dynamic/components/TimePicker/package.json +1 -1
  77. package/dist/dynamic/components/Timestamp/package.json +1 -1
  78. package/dist/dynamic/components/Title/package.json +1 -1
  79. package/dist/dynamic/components/ToggleGroup/package.json +1 -1
  80. package/dist/dynamic/components/Toolbar/package.json +1 -1
  81. package/dist/dynamic/components/Tooltip/package.json +1 -1
  82. package/dist/dynamic/components/TreeView/package.json +1 -1
  83. package/dist/dynamic/components/Truncate/package.json +1 -1
  84. package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
  85. package/dist/dynamic/components/Wizard/package.json +1 -1
  86. package/dist/dynamic/deprecated/components/ApplicationLauncher/package.json +1 -1
  87. package/dist/dynamic/deprecated/components/ContextSelector/package.json +1 -1
  88. package/dist/dynamic/deprecated/components/Dropdown/package.json +1 -1
  89. package/dist/dynamic/deprecated/components/OptionsMenu/package.json +1 -1
  90. package/dist/dynamic/deprecated/components/PageHeader/package.json +1 -1
  91. package/dist/dynamic/deprecated/components/Select/package.json +1 -1
  92. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  93. package/dist/dynamic/deprecated/components/package.json +1 -1
  94. package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
  95. package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
  96. package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
  97. package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
  98. package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
  99. package/dist/dynamic/helpers/constants/package.json +1 -1
  100. package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
  101. package/dist/dynamic/helpers/favorites/package.json +1 -1
  102. package/dist/dynamic/helpers/fileUtils/package.json +1 -1
  103. package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
  104. package/dist/dynamic/helpers/package.json +1 -1
  105. package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
  106. package/dist/dynamic/helpers/typeUtils/package.json +1 -1
  107. package/dist/dynamic/helpers/useInterval/package.json +1 -1
  108. package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
  109. package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
  110. package/dist/dynamic/helpers/util/package.json +1 -1
  111. package/dist/dynamic/layouts/Bullseye/package.json +1 -1
  112. package/dist/dynamic/layouts/Flex/package.json +1 -1
  113. package/dist/dynamic/layouts/Gallery/package.json +1 -1
  114. package/dist/dynamic/layouts/Grid/package.json +1 -1
  115. package/dist/dynamic/layouts/Level/package.json +1 -1
  116. package/dist/dynamic/layouts/Split/package.json +1 -1
  117. package/dist/dynamic/layouts/Stack/package.json +1 -1
  118. package/dist/dynamic/next/components/package.json +1 -1
  119. package/dist/esm/components/InputGroup/InputGroup.d.ts.map +1 -1
  120. package/dist/esm/components/InputGroup/InputGroup.js +1 -51
  121. package/dist/esm/components/InputGroup/InputGroup.js.map +1 -1
  122. package/dist/js/components/InputGroup/InputGroup.d.ts.map +1 -1
  123. package/dist/js/components/InputGroup/InputGroup.js +1 -51
  124. package/dist/js/components/InputGroup/InputGroup.js.map +1 -1
  125. package/dist/umd/react-core.min.js +1 -1
  126. package/helpers/package.json +1 -1
  127. package/layouts/package.json +1 -1
  128. package/next/package.json +1 -1
  129. package/package.json +2 -2
  130. package/src/components/InputGroup/InputGroup.tsx +1 -53
  131. package/src/components/InputGroup/__tests__/InputGroup.test.tsx +7 -44
  132. package/src/components/NumberInput/__tests__/NumberInput.test.tsx +0 -1
  133. package/src/demos/Nav.md +10 -1673
  134. package/src/demos/examples/Nav/NavDefault.tsx +98 -0
  135. package/src/demos/examples/Nav/NavDrilldown.tsx +2 -0
  136. package/src/demos/examples/Nav/NavExpandable.tsx +124 -0
  137. package/src/demos/examples/Nav/NavFlyout.tsx +278 -0
  138. package/src/demos/examples/Nav/NavGrouped.tsx +99 -0
  139. package/src/demos/examples/Nav/NavHorizontal.tsx +237 -0
  140. package/src/demos/examples/Nav/NavHorizontalWithSubnav.tsx +297 -0
  141. package/src/demos/examples/Nav/NavManual.tsx +273 -0
  142. package/src/demos/examples/Nav/NavWithSubnav.tsx +142 -0
  143. package/src/demos/examples/Nav/deprecated/NavLight.tsx +96 -0
  144. package/src/demos/examples/Nav/deprecated/NavTertiary.tsx +92 -0
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"5.2.0-prerelease.11","private":true}
1
+ {"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"5.2.0-prerelease.12","private":true}
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-layouts","main":"../dist/js/layouts/index.js","module":"../dist/esm/layouts/index.js","typings":"../dist/esm/layouts/index.d.ts","version":"5.2.0-prerelease.11","private":true}
1
+ {"name":"@patternfly/react-core-layouts","main":"../dist/js/layouts/index.js","module":"../dist/esm/layouts/index.js","typings":"../dist/esm/layouts/index.d.ts","version":"5.2.0-prerelease.12","private":true}
package/next/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-next","main":"../dist/js/next/index.js","module":"../dist/esm/next/index.js","typings":"../dist/esm/next/index.d.ts","version":"5.2.0-prerelease.11","private":true}
1
+ {"name":"@patternfly/react-core-next","main":"../dist/js/next/index.js","module":"../dist/esm/next/index.js","typings":"../dist/esm/next/index.d.ts","version":"5.2.0-prerelease.12","private":true}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patternfly/react-core",
3
- "version": "5.2.0-prerelease.12",
3
+ "version": "5.2.0-prerelease.13",
4
4
  "description": "This library provides a set of common React components for use with the PatternFly reference implementation.",
5
5
  "main": "dist/js/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -71,5 +71,5 @@
71
71
  "react": "^17 || ^18",
72
72
  "react-dom": "^17 || ^18"
73
73
  },
74
- "gitHead": "b37416a39118b637c946b9bce3166e8cf81bfb82"
74
+ "gitHead": "c1f452f956668d771994e5584dc24d251d913aa7"
75
75
  }
@@ -1,9 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import styles from '@patternfly/react-styles/css/components/InputGroup/input-group';
3
3
  import { css } from '@patternfly/react-styles';
4
- import { FormSelect } from '../FormSelect';
5
- import { TextArea } from '../TextArea';
6
- import { TextInput } from '../TextInput';
7
4
 
8
5
  export interface InputGroupProps extends React.HTMLProps<HTMLDivElement> {
9
6
  /** Additional classes added to the input group. */
@@ -20,61 +17,12 @@ export const InputGroupBase: React.FunctionComponent<InputGroupProps> = ({
20
17
  innerRef,
21
18
  ...props
22
19
  }: InputGroupProps) => {
23
- const getIdItem = () => {
24
- const getChildId = (_children: any) =>
25
- React.Children.toArray(_children).find(
26
- (_child: any) => !formCtrls.includes(_child?.type?.displayName) && _child?.props?.id
27
- );
28
- let childId = getChildId(children);
29
- if (childId) {
30
- return childId;
31
- }
32
- React.Children.toArray(children).find((child: any) => {
33
- const _childId = getChildId(child.props.children);
34
- if (_childId) {
35
- childId = _childId;
36
- return true;
37
- }
38
- });
39
- return childId;
40
- };
41
- const formCtrls = [FormSelect, TextArea, TextInput].map((comp) => comp.displayName);
42
- const idItem = getIdItem() as React.ReactElement<{ id: string }>;
43
20
  const ref = React.useRef(null);
44
21
  const inputGroupRef = innerRef || ref;
45
22
 
46
- const childrenWithId = React.Children.map(children, (child: any) => {
47
- if (child?.type.displayName === 'InputGroupItem') {
48
- const newChildren = React.Children.map(child.props.children, (_child) => {
49
- if (!_child.props) {
50
- return _child;
51
- }
52
- if (_child.props['aria-describedby']) {
53
- return _child;
54
- }
55
- if (!formCtrls.includes(_child.type.displayName)) {
56
- return _child;
57
- }
58
- return React.cloneElement(_child, {
59
- 'aria-describedby': _child.props['aria-describedby'] === '' ? undefined : idItem?.props?.id
60
- });
61
- });
62
- return React.cloneElement(child, {}, newChildren);
63
- }
64
-
65
- if (child?.props['aria-describedby']) {
66
- return child;
67
- }
68
- if (!formCtrls.includes(child?.type.displayName)) {
69
- return child;
70
- }
71
- return React.cloneElement(child, {
72
- 'aria-describedby': child.props['aria-describedby'] === '' ? undefined : idItem?.props?.id
73
- });
74
- });
75
23
  return (
76
24
  <div ref={inputGroupRef} className={css(styles.inputGroup, className)} {...props}>
77
- {idItem ? childrenWithId : children}
25
+ {children}
78
26
  </div>
79
27
  );
80
28
  };
@@ -8,59 +8,22 @@ import { Button } from '../../Button';
8
8
  import { TextInput } from '../../TextInput';
9
9
 
10
10
  describe('InputGroup', () => {
11
- test('add aria-describedby to form-control if one of the non form-controls has id', () => {
12
- // In this test, TextInput is a form-control component and Button is not.
13
- // If Button has an id props, this should be used in aria-describedby.
11
+ // Regression test for https://github.com/patternfly/patternfly-react/issues/9667
12
+ test('wont add aria-describedby automatically to form-control', () => {
14
13
  render(
15
14
  <InputGroup>
16
15
  <InputGroupItem>
17
- <TextInput value="some data" aria-label="some text" />
16
+ <TextInput aria-label="User password" />
18
17
  </InputGroupItem>
19
18
  <InputGroupItem>
20
- <Button variant="primary" id="button-id">
21
- hello
19
+ <Button variant="control" id="show-password-toggler">
20
+ Show
22
21
  </Button>
23
22
  </InputGroupItem>
24
23
  </InputGroup>
25
24
  );
26
- expect(screen.getByLabelText('some text')).toHaveAttribute('aria-describedby', 'button-id');
27
- });
28
25
 
29
- test('wont add aria-describedby to form-control if describedby is empty string', () => {
30
- // In this test, TextInput is a form-control component and Button is not.
31
- // If Button has an id props, this should be used in aria-describedby, but this
32
- // example has an empty aria-describedby to prevent that from happening.
33
- render(
34
- <InputGroup>
35
- <InputGroupItem>
36
- <TextInput value="some data" aria-describedby="" aria-label="some text" />
37
- </InputGroupItem>
38
- <InputGroupItem>
39
- <Button id="button-id">
40
- hello
41
- </Button>
42
- </InputGroupItem>
43
- </InputGroup>
44
- );
45
- expect(screen.getByLabelText('some text')).not.toHaveAttribute('aria-describedby');
46
- });
47
-
48
- test('wont override aria-describedby in form-control if describedby has value', () => {
49
- // In this test, TextInput is a form-control component and Button is not.
50
- // If Button has an id props, this should be used in aria-describedby, but this
51
- // example has a predefined aria-describedby to prevent that from happening
52
- render(
53
- <InputGroup>
54
- <InputGroupItem>
55
- <TextInput value="some data" aria-describedby="myself" aria-label="some text" />
56
- </InputGroupItem>
57
- <InputGroupItem>
58
- <Button id="button-id">
59
- hello
60
- </Button>
61
- </InputGroupItem>
62
- </InputGroup>
63
- );
64
- expect(screen.getByLabelText('some text')).toHaveAttribute('aria-describedby', 'myself');
26
+ const formControl = screen.getByLabelText("User password");
27
+ expect(formControl).not.toHaveAttribute("aria-describedby");
65
28
  });
66
29
  });
@@ -69,7 +69,6 @@ describe('numberInput', () => {
69
69
  <NumberInput
70
70
  value={5}
71
71
  onMinus={jest.fn()}
72
- inputProps={{ 'aria-describedby': '' }}
73
72
  minusBtnProps={{ id: 'minus-id' }}
74
73
  onPlus={jest.fn()}
75
74
  plusBtnProps={{ id: 'plus-id' }}