@patternfly/react-core 4.214.5 → 4.216.1

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 (69) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/esm/components/Checkbox/Checkbox.d.ts +2 -0
  3. package/dist/esm/components/Checkbox/Checkbox.d.ts.map +1 -1
  4. package/dist/esm/components/Checkbox/Checkbox.js +4 -3
  5. package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
  6. package/dist/esm/components/HelperText/HelperTextItem.d.ts +4 -0
  7. package/dist/esm/components/HelperText/HelperTextItem.d.ts.map +1 -1
  8. package/dist/esm/components/HelperText/HelperTextItem.js +7 -2
  9. package/dist/esm/components/HelperText/HelperTextItem.js.map +1 -1
  10. package/dist/esm/components/Menu/MenuItem.d.ts +3 -1
  11. package/dist/esm/components/Menu/MenuItem.d.ts.map +1 -1
  12. package/dist/esm/components/Menu/MenuItem.js +15 -6
  13. package/dist/esm/components/Menu/MenuItem.js.map +1 -1
  14. package/dist/esm/components/Select/Select.js +2 -2
  15. package/dist/esm/components/Select/Select.js.map +1 -1
  16. package/dist/js/components/Checkbox/Checkbox.d.ts +2 -0
  17. package/dist/js/components/Checkbox/Checkbox.d.ts.map +1 -1
  18. package/dist/js/components/Checkbox/Checkbox.js +4 -3
  19. package/dist/js/components/Checkbox/Checkbox.js.map +1 -1
  20. package/dist/js/components/HelperText/HelperTextItem.d.ts +4 -0
  21. package/dist/js/components/HelperText/HelperTextItem.d.ts.map +1 -1
  22. package/dist/js/components/HelperText/HelperTextItem.js +7 -2
  23. package/dist/js/components/HelperText/HelperTextItem.js.map +1 -1
  24. package/dist/js/components/Menu/MenuItem.d.ts +3 -1
  25. package/dist/js/components/Menu/MenuItem.d.ts.map +1 -1
  26. package/dist/js/components/Menu/MenuItem.js +15 -6
  27. package/dist/js/components/Menu/MenuItem.js.map +1 -1
  28. package/dist/js/components/Select/Select.js +2 -2
  29. package/dist/js/components/Select/Select.js.map +1 -1
  30. package/dist/umd/react-core.js +26 -13
  31. package/dist/umd/react-core.min.js +2 -2
  32. package/package.json +5 -5
  33. package/src/components/Checkbox/Checkbox.tsx +7 -3
  34. package/src/components/Checkbox/__tests__/Checkbox.test.tsx +9 -0
  35. package/src/components/Dropdown/examples/Dropdown.md +25 -1530
  36. package/src/components/Dropdown/examples/DropdownAlignmentOnBreakpoints.tsx +64 -0
  37. package/src/components/Dropdown/examples/DropdownAppendBodyVsParent.tsx +83 -0
  38. package/src/components/Dropdown/examples/DropdownBadge.tsx +46 -0
  39. package/src/components/Dropdown/examples/DropdownBasic.tsx +57 -0
  40. package/src/components/Dropdown/examples/DropdownBasicPanel.tsx +34 -0
  41. package/src/components/Dropdown/examples/DropdownDescriptions.tsx +55 -0
  42. package/src/components/Dropdown/examples/DropdownDirectionUp.tsx +58 -0
  43. package/src/components/Dropdown/examples/DropdownDisabled.tsx +57 -0
  44. package/src/components/Dropdown/examples/DropdownGroups.tsx +55 -0
  45. package/src/components/Dropdown/examples/DropdownIconOnly.tsx +59 -0
  46. package/src/components/Dropdown/examples/DropdownImageAndText.tsx +64 -0
  47. package/src/components/Dropdown/examples/DropdownInitialSelection.tsx +57 -0
  48. package/src/components/Dropdown/examples/DropdownKebab.tsx +54 -0
  49. package/src/components/Dropdown/examples/DropdownPlainTextToggle.tsx +59 -0
  50. package/src/components/Dropdown/examples/DropdownPositionRight.tsx +58 -0
  51. package/src/components/Dropdown/examples/DropdownPrimaryToggle.tsx +57 -0
  52. package/src/components/Dropdown/examples/DropdownRouterLink.tsx +36 -0
  53. package/src/components/Dropdown/examples/DropdownSecondaryToggle.tsx +57 -0
  54. package/src/components/Dropdown/examples/DropdownSplitButton.tsx +67 -0
  55. package/src/components/Dropdown/examples/DropdownSplitButtonAction.tsx +105 -0
  56. package/src/components/Dropdown/examples/DropdownSplitButtonActionPrimary.tsx +107 -0
  57. package/src/components/Dropdown/examples/DropdownSplitButtonDisabled.tsx +73 -0
  58. package/src/components/Dropdown/examples/DropdownSplitButtonIndeterminate.tsx +78 -0
  59. package/src/components/Dropdown/examples/DropdownSplitButtonText.tsx +69 -0
  60. package/src/components/HelperText/HelperTextItem.tsx +10 -1
  61. package/src/components/HelperText/__tests__/__snapshots__/HelperText.test.tsx.snap +5 -0
  62. package/src/components/Menu/MenuItem.tsx +69 -43
  63. package/src/components/Menu/__tests__/Menu.test.tsx +23 -0
  64. package/src/components/Menu/examples/Menu.md +5 -0
  65. package/src/components/Menu/examples/MenuWithCheckbox.tsx +34 -0
  66. package/src/components/Select/Select.tsx +2 -2
  67. package/src/demos/ComposableMenu/ComposableMenu.md +5 -0
  68. package/src/demos/ComposableMenu/examples/ComposableSimpleCheckboxSelect.tsx +98 -0
  69. package/src/demos/examples/DashboardHeader.js +50 -50
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patternfly/react-core",
3
- "version": "4.214.5",
3
+ "version": "4.216.1",
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",
@@ -34,9 +34,9 @@
34
34
  "generate": "node scripts/copyStyles.js"
35
35
  },
36
36
  "dependencies": {
37
- "@patternfly/react-icons": "^4.65.5",
38
- "@patternfly/react-styles": "^4.64.5",
39
- "@patternfly/react-tokens": "^4.66.5",
37
+ "@patternfly/react-icons": "^4.67.1",
38
+ "@patternfly/react-styles": "^4.66.1",
39
+ "@patternfly/react-tokens": "^4.68.1",
40
40
  "focus-trap": "6.2.2",
41
41
  "react-dropzone": "9.0.0",
42
42
  "tippy.js": "5.1.2",
@@ -60,5 +60,5 @@
60
60
  "react": "^16.8.0 || ^17.0.0",
61
61
  "react-dom": "^16.8.0 || ^17.0.0"
62
62
  },
63
- "gitHead": "f5ee87ffe8b88ade3018d145fba33f0579c85c61"
63
+ "gitHead": "5bbf5776f7146b03c36382aa0e8de32781ded672"
64
64
  }
@@ -28,6 +28,8 @@ export interface CheckboxProps
28
28
  description?: React.ReactNode;
29
29
  /** Body text of the checkbox */
30
30
  body?: React.ReactNode;
31
+ /** Sets the input wrapper component to render. Defaults to <div> */
32
+ component?: React.ElementType;
31
33
  }
32
34
 
33
35
  // tslint:disable-next-line:no-empty
@@ -45,7 +47,8 @@ export class Checkbox extends React.Component<CheckboxProps, CheckboxState> {
45
47
  isDisabled: false,
46
48
  isChecked: false,
47
49
  onChange: defaultOnChange,
48
- ouiaSafe: true
50
+ ouiaSafe: true,
51
+ component: 'div'
49
52
  };
50
53
 
51
54
  constructor(props: any) {
@@ -74,6 +77,7 @@ export class Checkbox extends React.Component<CheckboxProps, CheckboxState> {
74
77
  body,
75
78
  ouiaId,
76
79
  ouiaSafe,
80
+ component: Component,
77
81
  ...props
78
82
  } = this.props;
79
83
  if (!props.id) {
@@ -93,7 +97,7 @@ export class Checkbox extends React.Component<CheckboxProps, CheckboxState> {
93
97
 
94
98
  checkedProps.checked = checkedProps.checked === null ? false : checkedProps.checked;
95
99
  return (
96
- <div className={css(styles.check, !label && styles.modifiers.standalone, className)}>
100
+ <Component className={css(styles.check, !label && styles.modifiers.standalone, className)}>
97
101
  <input
98
102
  {...props}
99
103
  className={css(styles.checkInput)}
@@ -113,7 +117,7 @@ export class Checkbox extends React.Component<CheckboxProps, CheckboxState> {
113
117
  )}
114
118
  {description && <span className={css(styles.checkDescription)}>{description}</span>}
115
119
  {body && <span className={css(styles.checkBody)}>{body}</span>}
116
- </div>
120
+ </Component>
117
121
  );
118
122
  }
119
123
  }
@@ -82,4 +82,13 @@ describe('Checkbox', () => {
82
82
  render(<Checkbox id={undefined} />);
83
83
  expect(myMock).toHaveBeenCalled();
84
84
  });
85
+
86
+ test('renders component wrapper as span', () => {
87
+ const { container } = render(
88
+ <Checkbox component="span" label="label" aria-labelledby="labelId" id="check" isChecked aria-label="check" />
89
+ );
90
+ const span = container.querySelector('span');
91
+ expect(span).toHaveClass('pf-c-check');
92
+
93
+ });
85
94
  });