@patternfly/react-core 5.0.0-alpha.16 → 5.0.0-alpha.17
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.
- package/CHANGELOG.md +8 -0
- package/components/Drawer/DrawerPanelContent.d.ts +1 -1
- package/components/Drawer/DrawerPanelContent.d.ts.map +1 -1
- package/components/Drawer/DrawerPanelContent.js +5 -5
- package/components/Drawer/DrawerPanelContent.js.map +1 -1
- package/components/Menu/MenuContent.d.ts +1 -1
- package/components/Menu/MenuContent.d.ts.map +1 -1
- package/components/SkipToContent/SkipToContent.d.ts +2 -11
- package/components/SkipToContent/SkipToContent.d.ts.map +1 -1
- package/components/SkipToContent/SkipToContent.js +6 -20
- package/components/SkipToContent/SkipToContent.js.map +1 -1
- package/dist/esm/components/Drawer/DrawerPanelContent.d.ts +1 -1
- package/dist/esm/components/Drawer/DrawerPanelContent.d.ts.map +1 -1
- package/dist/esm/components/Drawer/DrawerPanelContent.js +5 -5
- package/dist/esm/components/Drawer/DrawerPanelContent.js.map +1 -1
- package/dist/esm/components/Menu/MenuContent.d.ts +1 -1
- package/dist/esm/components/Menu/MenuContent.d.ts.map +1 -1
- package/dist/esm/components/SkipToContent/SkipToContent.d.ts +2 -11
- package/dist/esm/components/SkipToContent/SkipToContent.d.ts.map +1 -1
- package/dist/esm/components/SkipToContent/SkipToContent.js +6 -20
- package/dist/esm/components/SkipToContent/SkipToContent.js.map +1 -1
- package/dist/js/components/Drawer/DrawerPanelContent.d.ts +1 -1
- package/dist/js/components/Drawer/DrawerPanelContent.d.ts.map +1 -1
- package/dist/js/components/Drawer/DrawerPanelContent.js +5 -5
- package/dist/js/components/Drawer/DrawerPanelContent.js.map +1 -1
- package/dist/js/components/Menu/MenuContent.d.ts +1 -1
- package/dist/js/components/Menu/MenuContent.d.ts.map +1 -1
- package/dist/js/components/SkipToContent/SkipToContent.d.ts +2 -11
- package/dist/js/components/SkipToContent/SkipToContent.d.ts.map +1 -1
- package/dist/js/components/SkipToContent/SkipToContent.js +7 -21
- package/dist/js/components/SkipToContent/SkipToContent.js.map +1 -1
- package/dist/umd/react-core.min.js +3 -3
- package/package.json +2 -2
- package/src/components/Drawer/DrawerPanelContent.tsx +9 -10
- package/src/components/Drawer/examples/DrawerResizableOnRight.tsx +1 -1
- package/src/components/Menu/MenuContent.tsx +1 -1
- package/src/components/Page/__tests__/__snapshots__/Page.test.tsx.snap +13 -5
- package/src/components/SkipToContent/SkipToContent.tsx +15 -32
- package/src/components/SkipToContent/__tests__/SkipToContent.test.tsx +0 -5
- package/src/components/SkipToContent/__tests__/__snapshots__/SkipToContent.test.tsx.snap +12 -13
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@patternfly/react-core",
|
|
3
|
-
"version": "5.0.0-alpha.
|
|
3
|
+
"version": "5.0.0-alpha.17",
|
|
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",
|
|
@@ -70,5 +70,5 @@
|
|
|
70
70
|
"react": "^16.8 || ^17 || ^18",
|
|
71
71
|
"react-dom": "^16.8 || ^17 || ^18"
|
|
72
72
|
},
|
|
73
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "74884ce289eed041ecd7f28a0db5c73f5c616d34"
|
|
74
74
|
}
|
|
@@ -17,7 +17,7 @@ export interface DrawerPanelContentProps extends React.HTMLProps<HTMLDivElement>
|
|
|
17
17
|
/** Flag indicating that the drawer panel should be resizable. */
|
|
18
18
|
isResizable?: boolean;
|
|
19
19
|
/** Callback for resize end. */
|
|
20
|
-
onResize?: (width: number, id: string) => void;
|
|
20
|
+
onResize?: (event: MouseEvent | TouchEvent | React.KeyboardEvent, width: number, id: string) => void;
|
|
21
21
|
/** The minimum size of a drawer, in either pixels or percentage. */
|
|
22
22
|
minSize?: string;
|
|
23
23
|
/** The starting size of a resizable drawer, in either pixels or percentage. */
|
|
@@ -60,9 +60,8 @@ export const DrawerPanelContent: React.FunctionComponent<DrawerPanelContentProps
|
|
|
60
60
|
const panel = React.useRef<HTMLDivElement>();
|
|
61
61
|
const splitterRef = React.useRef<HTMLDivElement>();
|
|
62
62
|
const [separatorValue, setSeparatorValue] = React.useState(0);
|
|
63
|
-
const { position, isExpanded, isStatic, onExpand, drawerRef, drawerContentRef, isInline } =
|
|
64
|
-
DrawerContext
|
|
65
|
-
);
|
|
63
|
+
const { position, isExpanded, isStatic, onExpand, drawerRef, drawerContentRef, isInline } =
|
|
64
|
+
React.useContext(DrawerContext);
|
|
66
65
|
const hidden = isStatic ? false : !isExpanded;
|
|
67
66
|
const [isExpandedInternal, setIsExpandedInternal] = React.useState(!hidden);
|
|
68
67
|
let currWidth: number = 0;
|
|
@@ -169,13 +168,13 @@ export const DrawerPanelContent: React.FunctionComponent<DrawerPanelContentProps
|
|
|
169
168
|
setSeparatorValue(calcValueNow());
|
|
170
169
|
};
|
|
171
170
|
|
|
172
|
-
const handleMouseup = () => {
|
|
171
|
+
const handleMouseup = (e: MouseEvent) => {
|
|
173
172
|
if (!isResizing) {
|
|
174
173
|
return;
|
|
175
174
|
}
|
|
176
175
|
drawerRef.current.classList.remove(css(styles.modifiers.resizing));
|
|
177
176
|
isResizing = false;
|
|
178
|
-
onResize && onResize(currWidth, id);
|
|
177
|
+
onResize && onResize(e, currWidth, id);
|
|
179
178
|
setInitialVals = true;
|
|
180
179
|
document.removeEventListener('mousemove', callbackMouseMove);
|
|
181
180
|
document.removeEventListener('mouseup', callbackMouseUp);
|
|
@@ -187,7 +186,7 @@ export const DrawerPanelContent: React.FunctionComponent<DrawerPanelContentProps
|
|
|
187
186
|
return;
|
|
188
187
|
}
|
|
189
188
|
isResizing = false;
|
|
190
|
-
onResize && onResize(currWidth, id);
|
|
189
|
+
onResize && onResize(e, currWidth, id);
|
|
191
190
|
document.removeEventListener('touchmove', callbackTouchMove);
|
|
192
191
|
document.removeEventListener('touchend', callbackTouchEnd);
|
|
193
192
|
};
|
|
@@ -215,7 +214,7 @@ export const DrawerPanelContent: React.FunctionComponent<DrawerPanelContentProps
|
|
|
215
214
|
e.preventDefault();
|
|
216
215
|
|
|
217
216
|
if (key === 'Escape' || key === 'Enter') {
|
|
218
|
-
onResize && onResize(currWidth, id);
|
|
217
|
+
onResize && onResize(e, currWidth, id);
|
|
219
218
|
}
|
|
220
219
|
const panelRect = panel.current.getBoundingClientRect();
|
|
221
220
|
newSize = position === 'bottom' ? panelRect.height : panelRect.width;
|
|
@@ -249,7 +248,7 @@ export const DrawerPanelContent: React.FunctionComponent<DrawerPanelContentProps
|
|
|
249
248
|
}
|
|
250
249
|
return (
|
|
251
250
|
<GenerateId prefix="pf-drawer-panel-">
|
|
252
|
-
{panelId => (
|
|
251
|
+
{(panelId) => (
|
|
253
252
|
<div
|
|
254
253
|
id={id || panelId}
|
|
255
254
|
className={css(
|
|
@@ -261,7 +260,7 @@ export const DrawerPanelContent: React.FunctionComponent<DrawerPanelContentProps
|
|
|
261
260
|
className
|
|
262
261
|
)}
|
|
263
262
|
ref={panel}
|
|
264
|
-
onTransitionEnd={ev => {
|
|
263
|
+
onTransitionEnd={(ev) => {
|
|
265
264
|
if (!hidden && ev.nativeEvent.propertyName === 'transform') {
|
|
266
265
|
onExpand();
|
|
267
266
|
}
|
|
@@ -26,7 +26,7 @@ export const DrawerResizableOnRight: React.FunctionComponent = () => {
|
|
|
26
26
|
setIsExpanded(false);
|
|
27
27
|
};
|
|
28
28
|
|
|
29
|
-
const onResize = (newWidth: number, id: string) => {
|
|
29
|
+
const onResize = (_event: MouseEvent | TouchEvent | React.KeyboardEvent, newWidth: number, id: string) => {
|
|
30
30
|
// eslint-disable-next-line no-console
|
|
31
31
|
console.log(`${id} has new width of: ${newWidth}`);
|
|
32
32
|
};
|
|
@@ -6,7 +6,7 @@ import { MenuContext } from './MenuContext';
|
|
|
6
6
|
export interface MenuContentProps extends React.HTMLProps<HTMLElement> {
|
|
7
7
|
/** Items within group */
|
|
8
8
|
children?: React.ReactNode;
|
|
9
|
-
/** Forwarded ref */
|
|
9
|
+
/** @hide Forwarded ref */
|
|
10
10
|
innerRef?: React.Ref<any>;
|
|
11
11
|
/** Height of the menu content */
|
|
12
12
|
menuHeight?: string;
|
|
@@ -1225,12 +1225,20 @@ exports[`Page Check page to verify skip to content points to main content region
|
|
|
1225
1225
|
data-testid="page-test-id"
|
|
1226
1226
|
id="PageId"
|
|
1227
1227
|
>
|
|
1228
|
-
<
|
|
1229
|
-
class="pf-c-
|
|
1230
|
-
href="#main-content-page-layout-test-nav"
|
|
1228
|
+
<div
|
|
1229
|
+
class="pf-c-skip-to-content"
|
|
1231
1230
|
>
|
|
1232
|
-
|
|
1233
|
-
|
|
1231
|
+
<a
|
|
1232
|
+
aria-disabled="false"
|
|
1233
|
+
class="pf-c-button pf-m-primary"
|
|
1234
|
+
data-ouia-component-id="OUIA-Generated-Button-primary-1"
|
|
1235
|
+
data-ouia-component-type="PF4/Button"
|
|
1236
|
+
data-ouia-safe="true"
|
|
1237
|
+
href="#main-content-page-layout-test-nav"
|
|
1238
|
+
>
|
|
1239
|
+
Skip to Content
|
|
1240
|
+
</a>
|
|
1241
|
+
</div>
|
|
1234
1242
|
<header
|
|
1235
1243
|
class="pf-c-page__header"
|
|
1236
1244
|
>
|
|
@@ -1,45 +1,28 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import styles from '@patternfly/react-styles/css/components/SkipToContent/skip-to-content';
|
|
3
|
-
import buttonStyles from '@patternfly/react-styles/css/components/Button/button';
|
|
4
3
|
import { css } from '@patternfly/react-styles';
|
|
5
|
-
import {
|
|
4
|
+
import { Button, ButtonVariant } from '../Button';
|
|
6
5
|
|
|
7
|
-
export interface SkipToContentProps extends React.HTMLProps<
|
|
6
|
+
export interface SkipToContentProps extends React.HTMLProps<HTMLDivElement> {
|
|
8
7
|
/** The skip to content link. */
|
|
9
8
|
href: string;
|
|
10
9
|
/** Content to display within the skip to content component, typically a string. */
|
|
11
10
|
children?: React.ReactNode;
|
|
12
11
|
/** Additional styles to apply to the skip to content component. */
|
|
13
12
|
className?: string;
|
|
14
|
-
/** Forces the skip to content to display. This is primarily for demonstration purposes and would not normally be used. */
|
|
15
|
-
show?: boolean;
|
|
16
13
|
}
|
|
17
14
|
|
|
18
|
-
export
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
15
|
+
export const SkipToContent: React.FunctionComponent<SkipToContentProps> = ({
|
|
16
|
+
children = null,
|
|
17
|
+
className = '',
|
|
18
|
+
href,
|
|
19
|
+
...props
|
|
20
|
+
}: SkipToContentProps) => (
|
|
21
|
+
<div className={css(styles.skipToContent, className)} {...props}>
|
|
22
|
+
<Button variant={ButtonVariant.primary} component="a" href={href}>
|
|
23
|
+
{children}
|
|
24
|
+
</Button>
|
|
25
|
+
</div>
|
|
26
|
+
);
|
|
24
27
|
|
|
25
|
-
|
|
26
|
-
if (this.props.show && this.componentRef.current) {
|
|
27
|
-
this.componentRef.current.focus();
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
render() {
|
|
32
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
33
|
-
const { children, className, href, show, type, ...rest } = this.props;
|
|
34
|
-
return (
|
|
35
|
-
<a
|
|
36
|
-
{...rest}
|
|
37
|
-
className={css(buttonStyles.button, buttonStyles.modifiers.primary, styles.skipToContent, className)}
|
|
38
|
-
ref={this.componentRef}
|
|
39
|
-
href={href}
|
|
40
|
-
>
|
|
41
|
-
{children}
|
|
42
|
-
</a>
|
|
43
|
-
);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
28
|
+
SkipToContent.displayName = 'SkipToContent';
|
|
@@ -10,8 +10,3 @@ test('Verify Skip To Content', () => {
|
|
|
10
10
|
expect(asFragment()).toMatchSnapshot();
|
|
11
11
|
});
|
|
12
12
|
|
|
13
|
-
test('Verify Skip To Content if forced to display', () => {
|
|
14
|
-
const { asFragment } = render(<SkipToContent href="#main-content" {...props} show />);
|
|
15
|
-
// Add a useful assertion here.
|
|
16
|
-
expect(asFragment()).toMatchSnapshot();
|
|
17
|
-
});
|
|
@@ -2,18 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
exports[`Verify Skip To Content 1`] = `
|
|
4
4
|
<DocumentFragment>
|
|
5
|
-
<
|
|
6
|
-
class="pf-c-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
/>
|
|
5
|
+
<div
|
|
6
|
+
class="pf-c-skip-to-content"
|
|
7
|
+
>
|
|
8
|
+
<a
|
|
9
|
+
aria-disabled="false"
|
|
10
|
+
class="pf-c-button pf-m-primary"
|
|
11
|
+
data-ouia-component-id="OUIA-Generated-Button-primary-1"
|
|
12
|
+
data-ouia-component-type="PF4/Button"
|
|
13
|
+
data-ouia-safe="true"
|
|
14
|
+
href="#main-content"
|
|
15
|
+
/>
|
|
16
|
+
</div>
|
|
18
17
|
</DocumentFragment>
|
|
19
18
|
`;
|