@patternfly/react-core 6.5.0-prerelease.15 → 6.5.0-prerelease.16

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 (148) 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/ClipboardCopy/package.json +1 -1
  21. package/dist/dynamic/components/CodeBlock/package.json +1 -1
  22. package/dist/dynamic/components/Compass/package.json +1 -1
  23. package/dist/dynamic/components/Content/package.json +1 -1
  24. package/dist/dynamic/components/DataList/package.json +1 -1
  25. package/dist/dynamic/components/DatePicker/package.json +1 -1
  26. package/dist/dynamic/components/DescriptionList/package.json +1 -1
  27. package/dist/dynamic/components/Divider/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/Hero/package.json +1 -1
  38. package/dist/dynamic/components/Hint/package.json +1 -1
  39. package/dist/dynamic/components/Icon/package.json +1 -1
  40. package/dist/dynamic/components/InputGroup/package.json +1 -1
  41. package/dist/dynamic/components/JumpLinks/package.json +1 -1
  42. package/dist/dynamic/components/Label/package.json +1 -1
  43. package/dist/dynamic/components/List/package.json +1 -1
  44. package/dist/dynamic/components/LoginPage/package.json +1 -1
  45. package/dist/dynamic/components/Masthead/package.json +1 -1
  46. package/dist/dynamic/components/Menu/package.json +1 -1
  47. package/dist/dynamic/components/MenuToggle/package.json +1 -1
  48. package/dist/dynamic/components/Modal/package.json +1 -1
  49. package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
  50. package/dist/dynamic/components/Nav/package.json +1 -1
  51. package/dist/dynamic/components/NotificationBadge/package.json +1 -1
  52. package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
  53. package/dist/dynamic/components/NumberInput/package.json +1 -1
  54. package/dist/dynamic/components/OverflowMenu/package.json +1 -1
  55. package/dist/dynamic/components/Page/package.json +1 -1
  56. package/dist/dynamic/components/Pagination/package.json +1 -1
  57. package/dist/dynamic/components/Panel/package.json +1 -1
  58. package/dist/dynamic/components/Popover/package.json +1 -1
  59. package/dist/dynamic/components/Progress/package.json +1 -1
  60. package/dist/dynamic/components/ProgressStepper/package.json +1 -1
  61. package/dist/dynamic/components/Radio/package.json +1 -1
  62. package/dist/dynamic/components/SearchInput/package.json +1 -1
  63. package/dist/dynamic/components/Select/package.json +1 -1
  64. package/dist/dynamic/components/Sidebar/package.json +1 -1
  65. package/dist/dynamic/components/SimpleList/package.json +1 -1
  66. package/dist/dynamic/components/Skeleton/package.json +1 -1
  67. package/dist/dynamic/components/SkipToContent/package.json +1 -1
  68. package/dist/dynamic/components/Slider/package.json +1 -1
  69. package/dist/dynamic/components/Spinner/package.json +1 -1
  70. package/dist/dynamic/components/Switch/package.json +1 -1
  71. package/dist/dynamic/components/Tabs/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/TimePicker/package.json +1 -1
  76. package/dist/dynamic/components/Timestamp/package.json +1 -1
  77. package/dist/dynamic/components/Title/package.json +1 -1
  78. package/dist/dynamic/components/ToggleGroup/package.json +1 -1
  79. package/dist/dynamic/components/Toolbar/package.json +1 -1
  80. package/dist/dynamic/components/Tooltip/package.json +1 -1
  81. package/dist/dynamic/components/TreeView/package.json +1 -1
  82. package/dist/dynamic/components/Truncate/package.json +1 -1
  83. package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
  84. package/dist/dynamic/components/Wizard/package.json +1 -1
  85. package/dist/dynamic/deprecated/components/Chip/package.json +1 -1
  86. package/dist/dynamic/deprecated/components/DragDrop/package.json +1 -1
  87. package/dist/dynamic/deprecated/components/DualListSelector/package.json +1 -1
  88. package/dist/dynamic/deprecated/components/Modal/package.json +1 -1
  89. package/dist/dynamic/deprecated/components/Tile/package.json +1 -1
  90. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  91. package/dist/dynamic/deprecated/components/package.json +1 -1
  92. package/dist/dynamic/helpers/AnimationsProvider/AnimationsProvider/package.json +1 -1
  93. package/dist/dynamic/helpers/AnimationsProvider/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/fileUtils/package.json +1 -1
  102. package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
  103. package/dist/dynamic/helpers/package.json +1 -1
  104. package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
  105. package/dist/dynamic/helpers/typeUtils/package.json +1 -1
  106. package/dist/dynamic/helpers/useInterval/package.json +1 -1
  107. package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
  108. package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
  109. package/dist/dynamic/helpers/util/package.json +1 -1
  110. package/dist/dynamic/layouts/Bullseye/package.json +1 -1
  111. package/dist/dynamic/layouts/Flex/package.json +1 -1
  112. package/dist/dynamic/layouts/Gallery/package.json +1 -1
  113. package/dist/dynamic/layouts/Grid/package.json +1 -1
  114. package/dist/dynamic/layouts/Level/package.json +1 -1
  115. package/dist/dynamic/layouts/Split/package.json +1 -1
  116. package/dist/dynamic/layouts/Stack/package.json +1 -1
  117. package/dist/dynamic/styles/package.json +1 -1
  118. package/dist/dynamic-modules.json +1 -0
  119. package/dist/esm/components/Compass/CompassMainFooter.d.ts +12 -0
  120. package/dist/esm/components/Compass/CompassMainFooter.d.ts.map +1 -0
  121. package/dist/esm/components/Compass/CompassMainFooter.js +10 -0
  122. package/dist/esm/components/Compass/CompassMainFooter.js.map +1 -0
  123. package/dist/esm/components/Compass/index.d.ts +1 -0
  124. package/dist/esm/components/Compass/index.d.ts.map +1 -1
  125. package/dist/esm/components/Compass/index.js +1 -0
  126. package/dist/esm/components/Compass/index.js.map +1 -1
  127. package/dist/js/components/Compass/CompassMainFooter.d.ts +12 -0
  128. package/dist/js/components/Compass/CompassMainFooter.d.ts.map +1 -0
  129. package/dist/js/components/Compass/CompassMainFooter.js +14 -0
  130. package/dist/js/components/Compass/CompassMainFooter.js.map +1 -0
  131. package/dist/js/components/Compass/index.d.ts +1 -0
  132. package/dist/js/components/Compass/index.d.ts.map +1 -1
  133. package/dist/js/components/Compass/index.js +1 -0
  134. package/dist/js/components/Compass/index.js.map +1 -1
  135. package/dist/umd/assets/{output-DQBqFwRs.css → output-Cn_sRjrD.css} +20134 -20134
  136. package/dist/umd/react-core.min.js +1 -1
  137. package/helpers/package.json +1 -1
  138. package/layouts/package.json +1 -1
  139. package/next/package.json +1 -1
  140. package/package.json +2 -2
  141. package/src/components/Compass/CompassMainFooter.tsx +24 -0
  142. package/src/components/Compass/__tests__/CompassMainFooter.test.tsx +52 -0
  143. package/src/components/Compass/__tests__/__snapshots__/CompassMainFooter.test.tsx.snap +11 -0
  144. package/src/components/Compass/examples/Compass.md +10 -1
  145. package/src/components/Compass/examples/CompassBasic.tsx +1 -0
  146. package/src/components/Compass/examples/CompassMainFooterDemo.tsx +43 -0
  147. package/src/components/Compass/examples/compass.css +14 -2
  148. package/src/components/Compass/index.ts +1 -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":"6.5.0-prerelease.14","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":"6.5.0-prerelease.15","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":"6.5.0-prerelease.14","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":"6.5.0-prerelease.15","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":"6.5.0-prerelease.14","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":"6.5.0-prerelease.15","private":true}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patternfly/react-core",
3
- "version": "6.5.0-prerelease.15",
3
+ "version": "6.5.0-prerelease.16",
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",
@@ -63,5 +63,5 @@
63
63
  "react": "^17 || ^18 || ^19",
64
64
  "react-dom": "^17 || ^18 || ^19"
65
65
  },
66
- "gitHead": "754bcb0d0ff58e0b52c02e34ba5c654a703db45e"
66
+ "gitHead": "2c318ff964093d6af84d350adeaada4b1bd5911e"
67
67
  }
@@ -0,0 +1,24 @@
1
+ import styles from '@patternfly/react-styles/css/components/Compass/compass';
2
+ import { css } from '@patternfly/react-styles';
3
+
4
+ interface CompassMainFooterProps extends Omit<React.HTMLProps<HTMLDivElement>, 'title'> {
5
+ /** Additional classes added to the main footer */
6
+ className?: string;
7
+ /** Main footer content */
8
+ children?: React.ReactNode;
9
+ /** Indicates if the main footer is expanded */
10
+ isExpanded?: boolean;
11
+ }
12
+
13
+ export const CompassMainFooter: React.FunctionComponent<CompassMainFooterProps> = ({
14
+ className,
15
+ children,
16
+ isExpanded = true,
17
+ ...props
18
+ }) => (
19
+ <div className={css(styles.compassMainFooter, isExpanded && 'pf-m-expanded', className)} {...props}>
20
+ {children}
21
+ </div>
22
+ );
23
+
24
+ CompassMainFooter.displayName = 'CompassMainFooter';
@@ -0,0 +1,52 @@
1
+ import { render, screen } from '@testing-library/react';
2
+ import { CompassMainFooter } from '../CompassMainFooter';
3
+ import styles from '@patternfly/react-styles/css/components/Compass/compass';
4
+
5
+ test('Renders without children', () => {
6
+ render(
7
+ <div data-testid="test-main-footer">
8
+ <CompassMainFooter />
9
+ </div>
10
+ );
11
+ expect(screen.getByTestId('test-main-footer').firstChild).toBeVisible();
12
+ });
13
+
14
+ test('Renders with children', () => {
15
+ render(<CompassMainFooter>Custom content</CompassMainFooter>);
16
+ expect(screen.getByText('Custom content')).toBeVisible();
17
+ });
18
+
19
+ test('Renders with custom class name when className prop is provided', () => {
20
+ render(<CompassMainFooter className="custom-class">Test</CompassMainFooter>);
21
+ expect(screen.getByText('Test')).toHaveClass('custom-class');
22
+ });
23
+
24
+ test(`Renders with default ${styles.compassMainFooter} class`, () => {
25
+ render(<CompassMainFooter>Test</CompassMainFooter>);
26
+ expect(screen.getByText('Test')).toHaveClass(styles.compassMainFooter);
27
+ });
28
+
29
+ test(`Renders with pf-m-expanded class by default`, () => {
30
+ render(<CompassMainFooter>Test</CompassMainFooter>);
31
+ expect(screen.getByText('Test')).toHaveClass('pf-m-expanded');
32
+ });
33
+
34
+ test(`Renders with pf-m-expanded class when isExpanded is true`, () => {
35
+ render(<CompassMainFooter isExpanded>Test</CompassMainFooter>);
36
+ expect(screen.getByText('Test')).toHaveClass('pf-m-expanded');
37
+ });
38
+
39
+ test(`Renders without pf-m-expanded class when isExpanded is false`, () => {
40
+ render(<CompassMainFooter isExpanded={false}>Test</CompassMainFooter>);
41
+ expect(screen.getByText('Test')).not.toHaveClass('pf-m-expanded');
42
+ });
43
+
44
+ test('Renders with additional props spread to the component', () => {
45
+ render(<CompassMainFooter aria-label="Test label">Test</CompassMainFooter>);
46
+ expect(screen.getByText('Test')).toHaveAccessibleName('Test label');
47
+ });
48
+
49
+ test('Matches the snapshot', () => {
50
+ const { asFragment } = render(<CompassMainFooter>Custom children content</CompassMainFooter>);
51
+ expect(asFragment()).toMatchSnapshot();
52
+ });
@@ -0,0 +1,11 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Matches the snapshot 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="pf-v6-c-compass__main-footer pf-m-expanded"
7
+ >
8
+ Custom children content
9
+ </div>
10
+ </DocumentFragment>
11
+ `;
@@ -16,13 +16,14 @@ propComponents:
16
16
  ]
17
17
  ---
18
18
 
19
- import './compass.css';
20
19
  import { useRef, useState } from 'react';
21
20
  import PlayIcon from '@patternfly/react-icons/dist/esm/icons/play-icon';
22
21
  import OutlinedPlusSquare from '@patternfly/react-icons/dist/esm/icons/outlined-plus-square-icon';
23
22
  import OutlinedCopy from '@patternfly/react-icons/dist/esm/icons/outlined-copy-icon';
24
23
  import OutlinedQuestionCircleIcon from '@patternfly/react-icons/dist/esm/icons/outlined-question-circle-icon';
25
24
 
25
+ import './compass.css';
26
+
26
27
  ## Examples
27
28
 
28
29
  ### Basic
@@ -41,6 +42,14 @@ The background image of the `Compass` and `CompassHero` may be customized by usi
41
42
 
42
43
  ```
43
44
 
45
+ ### With alternate footer
46
+
47
+ When `footer` is used, its content will take up the width of the screen. However, if content inside of the footer grows, then the two sidebars' heights and placement will adjust to allow for the change. If this is not the desired behavior, then using a `CompassMainFooter` inside of the of the `main` section provides an alterate way to render footer content without interfering with the sidebars, by rendering content at the bottom of the page between the two sidebars opposed to the whole bottom of the page.
48
+
49
+ ```ts file="CompassMainFooterDemo.tsx"
50
+
51
+ ```
52
+
44
53
  ### Demo
45
54
 
46
55
  ```ts isFullscreen file="CompassDemo.tsx"
@@ -40,6 +40,7 @@ export const CompassBasic: React.FunctionComponent = () => {
40
40
  main={mainContent}
41
41
  sidebarEnd={sidebarEndContent}
42
42
  footer={footerContent}
43
+ style={{ height: '600px' }}
43
44
  />
44
45
  );
45
46
  };
@@ -0,0 +1,43 @@
1
+ import {
2
+ Compass,
3
+ CompassHeader,
4
+ CompassHero,
5
+ CompassContent,
6
+ CompassMainHeader,
7
+ CompassMainFooter
8
+ } from '@patternfly/react-core';
9
+ import './compass.css';
10
+
11
+ export const CompassMainFooterDemo: React.FunctionComponent = () => {
12
+ const headerContent = <CompassHeader logo={<div>Logo</div>} nav={<div>Nav</div>} profile={<div>Profile</div>} />;
13
+ const sidebarStartContent = <div>Sidebar start</div>;
14
+ // TODO: simplify mainContent to only a div string
15
+ const mainContent = (
16
+ <>
17
+ <CompassHero>
18
+ <div>Hero</div>
19
+ </CompassHero>
20
+ <CompassContent>
21
+ <CompassMainHeader>
22
+ <div>Content title</div>
23
+ </CompassMainHeader>
24
+ <div>Content</div>
25
+ </CompassContent>
26
+ <CompassMainFooter>
27
+ <div>Footer</div>
28
+ </CompassMainFooter>
29
+ </>
30
+ );
31
+ const sidebarEndContent = <div>Sidebar end</div>;
32
+
33
+ return (
34
+ <Compass
35
+ header={headerContent}
36
+ sidebarStart={sidebarStartContent}
37
+ main={mainContent}
38
+ sidebarEnd={sidebarEndContent}
39
+ isFooterExpanded={false}
40
+ style={{ height: '600px' }}
41
+ />
42
+ );
43
+ };
@@ -1,8 +1,20 @@
1
- #ws-react-c-compass-basic [class*="pf-v6-c-compass"] {
1
+ #ws-react-p-compass-basic [class*="pf-v6-c-compass"] {
2
2
  position: relative;
3
3
  }
4
4
 
5
- #ws-react-c-compass-basic [class*="pf-v6-c-compass"]::after {
5
+ #ws-react-p-compass-basic [class*="pf-v6-c-compass"]::after {
6
+ content: "";
7
+ position: absolute;
8
+ inset: 0;
9
+ border: var(--pf-t--global--border--width--regular) dashed var(--pf-t--global--border--color--default);
10
+ pointer-events: none;
11
+ }
12
+
13
+ #ws-react-p-compass-with-alternate-footer [class*="pf-v6-c-compass"] {
14
+ position: relative;
15
+ }
16
+
17
+ #ws-react-p-compass-with-alternate-footer [class*="pf-v6-c-compass"]:not([class*="footer"])::after {
6
18
  content: "";
7
19
  position: absolute;
8
20
  inset: 0;
@@ -6,6 +6,7 @@ export * from './CompassMainHeader';
6
6
  export * from './CompassMainHeaderContent';
7
7
  export * from './CompassMainHeaderTitle';
8
8
  export * from './CompassMainHeaderToolbar';
9
+ export * from './CompassMainFooter';
9
10
  export * from './CompassMessageBar';
10
11
  export * from './CompassNavContent';
11
12
  export * from './CompassNavHome';