@patternfly/react-core 4.230.1 → 4.231.2

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 (59) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/esm/components/Menu/Menu.d.ts.map +1 -1
  3. package/dist/esm/components/Menu/Menu.js +3 -2
  4. package/dist/esm/components/Menu/Menu.js.map +1 -1
  5. package/dist/esm/components/MenuToggle/MenuToggle.d.ts +8 -0
  6. package/dist/esm/components/MenuToggle/MenuToggle.d.ts.map +1 -1
  7. package/dist/esm/components/MenuToggle/MenuToggle.js +12 -7
  8. package/dist/esm/components/MenuToggle/MenuToggle.js.map +1 -1
  9. package/dist/esm/components/MenuToggle/MenuToggleAction.d.ts +19 -0
  10. package/dist/esm/components/MenuToggle/MenuToggleAction.d.ts.map +1 -0
  11. package/dist/esm/components/MenuToggle/MenuToggleAction.js +17 -0
  12. package/dist/esm/components/MenuToggle/MenuToggleAction.js.map +1 -0
  13. package/dist/esm/components/MenuToggle/MenuToggleCheckbox.d.ts +36 -0
  14. package/dist/esm/components/MenuToggle/MenuToggleCheckbox.d.ts.map +1 -0
  15. package/dist/esm/components/MenuToggle/MenuToggleCheckbox.js +43 -0
  16. package/dist/esm/components/MenuToggle/MenuToggleCheckbox.js.map +1 -0
  17. package/dist/esm/components/MenuToggle/index.d.ts +2 -0
  18. package/dist/esm/components/MenuToggle/index.d.ts.map +1 -1
  19. package/dist/esm/components/MenuToggle/index.js +2 -0
  20. package/dist/esm/components/MenuToggle/index.js.map +1 -1
  21. package/dist/js/components/Menu/Menu.d.ts.map +1 -1
  22. package/dist/js/components/Menu/Menu.js +3 -2
  23. package/dist/js/components/Menu/Menu.js.map +1 -1
  24. package/dist/js/components/MenuToggle/MenuToggle.d.ts +8 -0
  25. package/dist/js/components/MenuToggle/MenuToggle.d.ts.map +1 -1
  26. package/dist/js/components/MenuToggle/MenuToggle.js +12 -7
  27. package/dist/js/components/MenuToggle/MenuToggle.js.map +1 -1
  28. package/dist/js/components/MenuToggle/MenuToggleAction.d.ts +19 -0
  29. package/dist/js/components/MenuToggle/MenuToggleAction.d.ts.map +1 -0
  30. package/dist/js/components/MenuToggle/MenuToggleAction.js +21 -0
  31. package/dist/js/components/MenuToggle/MenuToggleAction.js.map +1 -0
  32. package/dist/js/components/MenuToggle/MenuToggleCheckbox.d.ts +36 -0
  33. package/dist/js/components/MenuToggle/MenuToggleCheckbox.d.ts.map +1 -0
  34. package/dist/js/components/MenuToggle/MenuToggleCheckbox.js +47 -0
  35. package/dist/js/components/MenuToggle/MenuToggleCheckbox.js.map +1 -0
  36. package/dist/js/components/MenuToggle/index.d.ts +2 -0
  37. package/dist/js/components/MenuToggle/index.d.ts.map +1 -1
  38. package/dist/js/components/MenuToggle/index.js +2 -0
  39. package/dist/js/components/MenuToggle/index.js.map +1 -1
  40. package/dist/umd/react-core.css +79 -79
  41. package/dist/umd/react-core.js +68 -9
  42. package/dist/umd/react-core.min.css +756 -756
  43. package/dist/umd/react-core.min.js +4 -4
  44. package/package.json +6 -6
  45. package/src/components/Menu/Menu.tsx +4 -1
  46. package/src/components/MenuToggle/MenuToggle.tsx +53 -27
  47. package/src/components/MenuToggle/MenuToggleAction.tsx +42 -0
  48. package/src/components/MenuToggle/MenuToggleCheckbox.tsx +104 -0
  49. package/src/components/MenuToggle/__tests__/__snapshots__/MenuToggle.test.tsx.snap +1 -1
  50. package/src/components/MenuToggle/examples/MenuToggle.md +35 -2
  51. package/src/components/MenuToggle/examples/MenuToggleSplitButtonAction.tsx +51 -0
  52. package/src/components/MenuToggle/examples/MenuToggleSplitButtonActionPrimary.tsx +58 -0
  53. package/src/components/MenuToggle/examples/MenuToggleSplitButtonActionSecondary.tsx +58 -0
  54. package/src/components/MenuToggle/examples/MenuToggleSplitButtonCheckbox.tsx +40 -0
  55. package/src/components/MenuToggle/examples/MenuToggleSplitButtonCheckboxPrimary.tsx +55 -0
  56. package/src/components/MenuToggle/examples/MenuToggleSplitButtonCheckboxSecondary.tsx +55 -0
  57. package/src/components/MenuToggle/examples/MenuToggleSplitButtonCheckboxWithText.tsx +52 -0
  58. package/src/components/MenuToggle/index.ts +2 -0
  59. package/src/demos/ComposableMenu/examples/ComposableSimpleCheckboxSelect.tsx +4 -4
@@ -0,0 +1,55 @@
1
+ import React from 'react';
2
+ import { MenuToggleCheckbox, MenuToggle } from '@patternfly/react-core';
3
+
4
+ export const MenuToggleSplitButtonCheckboxSecondary: React.FunctionComponent = () => (
5
+ <React.Fragment>
6
+ <MenuToggle
7
+ isDisabled
8
+ variant="secondary"
9
+ splitButtonOptions={{
10
+ items: [
11
+ <MenuToggleCheckbox
12
+ id="split-button-checkbox-secondary-disabled-example"
13
+ key="split-checkbox-secondary-disabled"
14
+ aria-label="Select all"
15
+ isDisabled
16
+ >
17
+ 10 selected
18
+ </MenuToggleCheckbox>
19
+ ]
20
+ }}
21
+ aria-label="Secondary menu toggle with checkbox split button"
22
+ />{' '}
23
+ <MenuToggle
24
+ variant="secondary"
25
+ splitButtonOptions={{
26
+ items: [
27
+ <MenuToggleCheckbox
28
+ id="split-button-checkbox-secondary-example"
29
+ key="split-checkbox-secondary"
30
+ aria-label="Select all"
31
+ >
32
+ 10 selected
33
+ </MenuToggleCheckbox>
34
+ ]
35
+ }}
36
+ aria-label="Secondary menu toggle with checkbox split button"
37
+ />{' '}
38
+ <MenuToggle
39
+ isExpanded
40
+ variant="secondary"
41
+ splitButtonOptions={{
42
+ items: [
43
+ <MenuToggleCheckbox
44
+ id="split-button-checkbox-secondary-expanded-example"
45
+ key="split-checkbox-secondary-expanded"
46
+ aria-label="Select all"
47
+ >
48
+ 10 selected
49
+ </MenuToggleCheckbox>
50
+ ]
51
+ }}
52
+ aria-label="Secondary menu toggle with checkbox split button"
53
+ />
54
+ </React.Fragment>
55
+ );
@@ -0,0 +1,52 @@
1
+ import React from 'react';
2
+ import { MenuToggleCheckbox, MenuToggle } from '@patternfly/react-core';
3
+
4
+ export const MenuToggleSplitButtonCheckboxWithText: React.FunctionComponent = () => (
5
+ <React.Fragment>
6
+ <MenuToggle
7
+ isDisabled
8
+ splitButtonOptions={{
9
+ items: [
10
+ <MenuToggleCheckbox
11
+ id="split-button-checkbox-with-text-disabled-example"
12
+ key="split-checkbox-with-text-disabled"
13
+ aria-label="Select all"
14
+ isDisabled
15
+ >
16
+ 10 selected
17
+ </MenuToggleCheckbox>
18
+ ]
19
+ }}
20
+ aria-label="Menu toggle with checkbox split button and text"
21
+ />{' '}
22
+ <MenuToggle
23
+ splitButtonOptions={{
24
+ items: [
25
+ <MenuToggleCheckbox
26
+ id="split-button-checkbox-with-text-example"
27
+ key="split-checkbox-with-text"
28
+ aria-label="Select all"
29
+ >
30
+ 10 selected
31
+ </MenuToggleCheckbox>
32
+ ]
33
+ }}
34
+ aria-label="Menu toggle with checkbox split button and text"
35
+ />{' '}
36
+ <MenuToggle
37
+ isExpanded
38
+ splitButtonOptions={{
39
+ items: [
40
+ <MenuToggleCheckbox
41
+ id="split-button-checkbox-with-text-expanded-example"
42
+ key="split-checkbox-with-text-expanded"
43
+ aria-label="Select all"
44
+ >
45
+ 10 selected
46
+ </MenuToggleCheckbox>
47
+ ]
48
+ }}
49
+ aria-label="Menu toggle with checkbox split button and text"
50
+ />
51
+ </React.Fragment>
52
+ );
@@ -1 +1,3 @@
1
1
  export * from './MenuToggle';
2
+ export * from './MenuToggleAction';
3
+ export * from './MenuToggleCheckbox';
@@ -13,7 +13,7 @@ export const ComposableSimpleCheckboxSelect: React.FunctionComponent = () => {
13
13
  if (isOpen && menuRef.current.contains(event.target as Node)) {
14
14
  if (event.key === 'Escape' || event.key === 'Tab') {
15
15
  setIsOpen(!isOpen);
16
- toggleRef.current.focus();
16
+ toggleRef?.current?.focus();
17
17
  }
18
18
  }
19
19
  }
@@ -23,7 +23,7 @@ export const ComposableSimpleCheckboxSelect: React.FunctionComponent = () => {
23
23
 
24
24
  const handleClickOutside = React.useCallback(
25
25
  event => {
26
- if (isOpen && !menuRef.current.contains(event.target as Node)) {
26
+ if (isOpen && !menuRef?.current?.contains(event.target as Node)) {
27
27
  setIsOpen(false);
28
28
  }
29
29
  },
@@ -43,7 +43,7 @@ export const ComposableSimpleCheckboxSelect: React.FunctionComponent = () => {
43
43
  ev.stopPropagation(); // Stop handleClickOutside from handling
44
44
  setTimeout(() => {
45
45
  if (menuRef.current) {
46
- const firstElement = menuRef.current.querySelector('li > button:not(:disabled)');
46
+ const firstElement = menuRef.current.querySelector('li input:not(:disabled)');
47
47
  firstElement && (firstElement as HTMLElement).focus();
48
48
  }
49
49
  }, 0);
@@ -94,5 +94,5 @@ export const ComposableSimpleCheckboxSelect: React.FunctionComponent = () => {
94
94
  </MenuContent>
95
95
  </Menu>
96
96
  );
97
- return <Popper trigger={toggle} popper={menu} isVisible={isOpen} />;
97
+ return <Popper appendTo={toggleRef.current} trigger={toggle} popper={menu} isVisible={isOpen} />;
98
98
  };