@patternfly/react-core 6.4.1-prerelease.9 → 6.5.0-prerelease.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.
- package/CHANGELOG.md +14 -0
- package/components/package.json +1 -1
- package/deprecated/package.json +1 -1
- package/dist/dynamic/components/AboutModal/package.json +1 -1
- package/dist/dynamic/components/Accordion/package.json +1 -1
- package/dist/dynamic/components/ActionList/package.json +1 -1
- package/dist/dynamic/components/Alert/package.json +1 -1
- package/dist/dynamic/components/Avatar/package.json +1 -1
- package/dist/dynamic/components/BackToTop/package.json +1 -1
- package/dist/dynamic/components/Backdrop/package.json +1 -1
- package/dist/dynamic/components/BackgroundImage/package.json +1 -1
- package/dist/dynamic/components/Badge/package.json +1 -1
- package/dist/dynamic/components/Banner/package.json +1 -1
- package/dist/dynamic/components/Brand/package.json +1 -1
- package/dist/dynamic/components/Breadcrumb/package.json +1 -1
- package/dist/dynamic/components/Button/package.json +1 -1
- package/dist/dynamic/components/CalendarMonth/package.json +1 -1
- package/dist/dynamic/components/Card/package.json +1 -1
- package/dist/dynamic/components/Checkbox/package.json +1 -1
- package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
- package/dist/dynamic/components/CodeBlock/package.json +1 -1
- package/dist/dynamic/components/Compass/package.json +1 -0
- package/dist/dynamic/components/Content/package.json +1 -1
- package/dist/dynamic/components/DataList/package.json +1 -1
- package/dist/dynamic/components/DatePicker/package.json +1 -1
- package/dist/dynamic/components/DescriptionList/package.json +1 -1
- package/dist/dynamic/components/Divider/package.json +1 -1
- package/dist/dynamic/components/Drawer/package.json +1 -1
- package/dist/dynamic/components/Dropdown/package.json +1 -1
- package/dist/dynamic/components/DualListSelector/package.json +1 -1
- package/dist/dynamic/components/EmptyState/package.json +1 -1
- package/dist/dynamic/components/ExpandableSection/package.json +1 -1
- package/dist/dynamic/components/FileUpload/package.json +1 -1
- package/dist/dynamic/components/Form/package.json +1 -1
- package/dist/dynamic/components/FormSelect/package.json +1 -1
- package/dist/dynamic/components/HelperText/package.json +1 -1
- package/dist/dynamic/components/Hint/package.json +1 -1
- package/dist/dynamic/components/Icon/package.json +1 -1
- package/dist/dynamic/components/InputGroup/package.json +1 -1
- package/dist/dynamic/components/JumpLinks/package.json +1 -1
- package/dist/dynamic/components/Label/package.json +1 -1
- package/dist/dynamic/components/List/package.json +1 -1
- package/dist/dynamic/components/LoginPage/package.json +1 -1
- package/dist/dynamic/components/Masthead/package.json +1 -1
- package/dist/dynamic/components/Menu/package.json +1 -1
- package/dist/dynamic/components/MenuToggle/package.json +1 -1
- package/dist/dynamic/components/Modal/package.json +1 -1
- package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
- package/dist/dynamic/components/Nav/package.json +1 -1
- package/dist/dynamic/components/NotificationBadge/package.json +1 -1
- package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
- package/dist/dynamic/components/NumberInput/package.json +1 -1
- package/dist/dynamic/components/OverflowMenu/package.json +1 -1
- package/dist/dynamic/components/Page/package.json +1 -1
- package/dist/dynamic/components/Pagination/package.json +1 -1
- package/dist/dynamic/components/Panel/package.json +1 -1
- package/dist/dynamic/components/Popover/package.json +1 -1
- package/dist/dynamic/components/Progress/package.json +1 -1
- package/dist/dynamic/components/ProgressStepper/package.json +1 -1
- package/dist/dynamic/components/Radio/package.json +1 -1
- package/dist/dynamic/components/SearchInput/package.json +1 -1
- package/dist/dynamic/components/Select/package.json +1 -1
- package/dist/dynamic/components/Sidebar/package.json +1 -1
- package/dist/dynamic/components/SimpleList/package.json +1 -1
- package/dist/dynamic/components/Skeleton/package.json +1 -1
- package/dist/dynamic/components/SkipToContent/package.json +1 -1
- package/dist/dynamic/components/Slider/package.json +1 -1
- package/dist/dynamic/components/Spinner/package.json +1 -1
- package/dist/dynamic/components/Switch/package.json +1 -1
- package/dist/dynamic/components/Tabs/package.json +1 -1
- package/dist/dynamic/components/TextArea/package.json +1 -1
- package/dist/dynamic/components/TextInput/package.json +1 -1
- package/dist/dynamic/components/TextInputGroup/package.json +1 -1
- package/dist/dynamic/components/TimePicker/package.json +1 -1
- package/dist/dynamic/components/Timestamp/package.json +1 -1
- package/dist/dynamic/components/Title/package.json +1 -1
- package/dist/dynamic/components/ToggleGroup/package.json +1 -1
- package/dist/dynamic/components/Toolbar/package.json +1 -1
- package/dist/dynamic/components/Tooltip/package.json +1 -1
- package/dist/dynamic/components/TreeView/package.json +1 -1
- package/dist/dynamic/components/Truncate/package.json +1 -1
- package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
- package/dist/dynamic/components/Wizard/package.json +1 -1
- package/dist/dynamic/deprecated/components/Chip/package.json +1 -1
- package/dist/dynamic/deprecated/components/DragDrop/package.json +1 -1
- package/dist/dynamic/deprecated/components/DualListSelector/package.json +1 -1
- package/dist/dynamic/deprecated/components/Modal/package.json +1 -1
- package/dist/dynamic/deprecated/components/Tile/package.json +1 -1
- package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
- package/dist/dynamic/deprecated/components/package.json +1 -1
- package/dist/dynamic/helpers/AnimationsProvider/AnimationsProvider/package.json +1 -1
- package/dist/dynamic/helpers/AnimationsProvider/package.json +1 -1
- package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
- package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
- package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
- package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
- package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
- package/dist/dynamic/helpers/constants/package.json +1 -1
- package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
- package/dist/dynamic/helpers/fileUtils/package.json +1 -1
- package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
- package/dist/dynamic/helpers/package.json +1 -1
- package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
- package/dist/dynamic/helpers/typeUtils/package.json +1 -1
- package/dist/dynamic/helpers/useInterval/package.json +1 -1
- package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
- package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
- package/dist/dynamic/helpers/util/package.json +1 -1
- package/dist/dynamic/layouts/Bullseye/package.json +1 -1
- package/dist/dynamic/layouts/Flex/package.json +1 -1
- package/dist/dynamic/layouts/Gallery/package.json +1 -1
- package/dist/dynamic/layouts/Grid/package.json +1 -1
- package/dist/dynamic/layouts/Level/package.json +1 -1
- package/dist/dynamic/layouts/Split/package.json +1 -1
- package/dist/dynamic/layouts/Stack/package.json +1 -1
- package/dist/dynamic/styles/package.json +1 -1
- package/dist/dynamic-modules.json +8 -0
- package/dist/esm/components/ActionList/ActionList.d.ts +2 -0
- package/dist/esm/components/ActionList/ActionList.d.ts.map +1 -1
- package/dist/esm/components/ActionList/ActionList.js +2 -2
- package/dist/esm/components/ActionList/ActionList.js.map +1 -1
- package/dist/esm/components/Button/Button.d.ts +2 -0
- package/dist/esm/components/Button/Button.d.ts.map +1 -1
- package/dist/esm/components/Button/Button.js +2 -2
- package/dist/esm/components/Button/Button.js.map +1 -1
- package/dist/esm/components/Compass/Compass.d.ts +34 -0
- package/dist/esm/components/Compass/Compass.d.ts.map +1 -0
- package/dist/esm/components/Compass/Compass.js +25 -0
- package/dist/esm/components/Compass/Compass.js.map +1 -0
- package/dist/esm/components/Compass/CompassContent.d.ts +15 -0
- package/dist/esm/components/Compass/CompassContent.d.ts.map +1 -0
- package/dist/esm/components/Compass/CompassContent.js +16 -0
- package/dist/esm/components/Compass/CompassContent.js.map +1 -0
- package/dist/esm/components/Compass/CompassHeader.d.ts +12 -0
- package/dist/esm/components/Compass/CompassHeader.d.ts.map +1 -0
- package/dist/esm/components/Compass/CompassHeader.js +6 -0
- package/dist/esm/components/Compass/CompassHeader.js.map +1 -0
- package/dist/esm/components/Compass/CompassHero.d.ts +26 -0
- package/dist/esm/components/Compass/CompassHero.d.ts.map +1 -0
- package/dist/esm/components/Compass/CompassHero.js +47 -0
- package/dist/esm/components/Compass/CompassHero.js.map +1 -0
- package/dist/esm/components/Compass/CompassMainHeader.d.ts +14 -0
- package/dist/esm/components/Compass/CompassMainHeader.d.ts.map +1 -0
- package/dist/esm/components/Compass/CompassMainHeader.js +13 -0
- package/dist/esm/components/Compass/CompassMainHeader.js.map +1 -0
- package/dist/esm/components/Compass/CompassMessageBar.d.ts +10 -0
- package/dist/esm/components/Compass/CompassMessageBar.d.ts.map +1 -0
- package/dist/esm/components/Compass/CompassMessageBar.js +10 -0
- package/dist/esm/components/Compass/CompassMessageBar.js.map +1 -0
- package/dist/esm/components/Compass/CompassPanel.d.ts +22 -0
- package/dist/esm/components/Compass/CompassPanel.d.ts.map +1 -0
- package/dist/esm/components/Compass/CompassPanel.js +10 -0
- package/dist/esm/components/Compass/CompassPanel.js.map +1 -0
- package/dist/esm/components/Compass/index.d.ts +8 -0
- package/dist/esm/components/Compass/index.d.ts.map +1 -0
- package/dist/esm/components/Compass/index.js +8 -0
- package/dist/esm/components/Compass/index.js.map +1 -0
- package/dist/esm/components/Drawer/Drawer.d.ts +2 -0
- package/dist/esm/components/Drawer/Drawer.d.ts.map +1 -1
- package/dist/esm/components/Drawer/Drawer.js +2 -2
- package/dist/esm/components/Drawer/Drawer.js.map +1 -1
- package/dist/esm/components/Menu/Menu.d.ts +0 -1
- package/dist/esm/components/Menu/Menu.d.ts.map +1 -1
- package/dist/esm/components/Menu/Menu.js +5 -8
- package/dist/esm/components/Menu/Menu.js.map +1 -1
- package/dist/esm/components/MenuToggle/MenuToggle.d.ts +2 -0
- package/dist/esm/components/MenuToggle/MenuToggle.d.ts.map +1 -1
- package/dist/esm/components/MenuToggle/MenuToggle.js +3 -2
- package/dist/esm/components/MenuToggle/MenuToggle.js.map +1 -1
- package/dist/esm/components/Tabs/Tabs.d.ts +2 -0
- package/dist/esm/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/esm/components/Tabs/Tabs.js +3 -2
- package/dist/esm/components/Tabs/Tabs.js.map +1 -1
- package/dist/esm/components/index.d.ts +1 -0
- package/dist/esm/components/index.d.ts.map +1 -1
- package/dist/esm/components/index.js +1 -0
- package/dist/esm/components/index.js.map +1 -1
- package/dist/js/components/ActionList/ActionList.d.ts +2 -0
- package/dist/js/components/ActionList/ActionList.d.ts.map +1 -1
- package/dist/js/components/ActionList/ActionList.js +2 -2
- package/dist/js/components/ActionList/ActionList.js.map +1 -1
- package/dist/js/components/Button/Button.d.ts +2 -0
- package/dist/js/components/Button/Button.d.ts.map +1 -1
- package/dist/js/components/Button/Button.js +2 -2
- package/dist/js/components/Button/Button.js.map +1 -1
- package/dist/js/components/Compass/Compass.d.ts +34 -0
- package/dist/js/components/Compass/Compass.d.ts.map +1 -0
- package/dist/js/components/Compass/Compass.js +29 -0
- package/dist/js/components/Compass/Compass.js.map +1 -0
- package/dist/js/components/Compass/CompassContent.d.ts +15 -0
- package/dist/js/components/Compass/CompassContent.d.ts.map +1 -0
- package/dist/js/components/Compass/CompassContent.js +20 -0
- package/dist/js/components/Compass/CompassContent.js.map +1 -0
- package/dist/js/components/Compass/CompassHeader.d.ts +12 -0
- package/dist/js/components/Compass/CompassHeader.d.ts.map +1 -0
- package/dist/js/components/Compass/CompassHeader.js +11 -0
- package/dist/js/components/Compass/CompassHeader.js.map +1 -0
- package/dist/js/components/Compass/CompassHero.d.ts +26 -0
- package/dist/js/components/Compass/CompassHero.d.ts.map +1 -0
- package/dist/js/components/Compass/CompassHero.js +51 -0
- package/dist/js/components/Compass/CompassHero.js.map +1 -0
- package/dist/js/components/Compass/CompassMainHeader.d.ts +14 -0
- package/dist/js/components/Compass/CompassMainHeader.d.ts.map +1 -0
- package/dist/js/components/Compass/CompassMainHeader.js +17 -0
- package/dist/js/components/Compass/CompassMainHeader.js.map +1 -0
- package/dist/js/components/Compass/CompassMessageBar.d.ts +10 -0
- package/dist/js/components/Compass/CompassMessageBar.d.ts.map +1 -0
- package/dist/js/components/Compass/CompassMessageBar.js +14 -0
- package/dist/js/components/Compass/CompassMessageBar.js.map +1 -0
- package/dist/js/components/Compass/CompassPanel.d.ts +22 -0
- package/dist/js/components/Compass/CompassPanel.d.ts.map +1 -0
- package/dist/js/components/Compass/CompassPanel.js +14 -0
- package/dist/js/components/Compass/CompassPanel.js.map +1 -0
- package/dist/js/components/Compass/index.d.ts +8 -0
- package/dist/js/components/Compass/index.d.ts.map +1 -0
- package/dist/js/components/Compass/index.js +11 -0
- package/dist/js/components/Compass/index.js.map +1 -0
- package/dist/js/components/Drawer/Drawer.d.ts +2 -0
- package/dist/js/components/Drawer/Drawer.d.ts.map +1 -1
- package/dist/js/components/Drawer/Drawer.js +2 -2
- package/dist/js/components/Drawer/Drawer.js.map +1 -1
- package/dist/js/components/Menu/Menu.d.ts +0 -1
- package/dist/js/components/Menu/Menu.d.ts.map +1 -1
- package/dist/js/components/Menu/Menu.js +5 -8
- package/dist/js/components/Menu/Menu.js.map +1 -1
- package/dist/js/components/MenuToggle/MenuToggle.d.ts +2 -0
- package/dist/js/components/MenuToggle/MenuToggle.d.ts.map +1 -1
- package/dist/js/components/MenuToggle/MenuToggle.js +3 -2
- package/dist/js/components/MenuToggle/MenuToggle.js.map +1 -1
- package/dist/js/components/Tabs/Tabs.d.ts +2 -0
- package/dist/js/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/js/components/Tabs/Tabs.js +3 -2
- package/dist/js/components/Tabs/Tabs.js.map +1 -1
- package/dist/js/components/index.d.ts +1 -0
- package/dist/js/components/index.d.ts.map +1 -1
- package/dist/js/components/index.js +1 -0
- package/dist/js/components/index.js.map +1 -1
- package/dist/styles/assets/images/RHAiExperienceIcon.svg +27 -0
- package/dist/styles/assets/images/RHAutomationsLogo.svg +96 -0
- package/dist/styles/assets/images/RHServerStackIcon.svg +16 -0
- package/dist/styles/assets/images/compass--hero-bg.png +0 -0
- package/dist/styles/assets/images/compass--rh-wallpaper-dark.png +0 -0
- package/dist/styles/assets/images/compass--rh-wallpaper-light.png +0 -0
- package/dist/styles/assets/images/compass--wallpaper-dark.png +0 -0
- package/dist/styles/assets/images/compass--wallpaper-light.png +0 -0
- package/dist/styles/base-no-reset.css +51 -0
- package/dist/styles/base.css +51 -0
- package/dist/umd/assets/{output-CJfbZNQh.css → output-DxVGusJA.css} +21025 -20701
- package/dist/umd/react-core.min.js +2 -2
- package/helpers/package.json +1 -1
- package/layouts/package.json +1 -1
- package/next/package.json +1 -1
- package/package.json +6 -6
- package/src/components/ActionList/ActionList.tsx +12 -1
- package/src/components/ActionList/__tests__/ActionList.test.tsx +12 -0
- package/src/components/ActionList/examples/ActionList.md +6 -0
- package/src/components/ActionList/examples/ActionListVertical.tsx +46 -0
- package/src/components/Button/Button.tsx +4 -0
- package/src/components/Button/__tests__/Button.test.tsx +5 -0
- package/src/components/Button/__tests__/__snapshots__/Button.test.tsx.snap +1 -1
- package/src/components/Button/examples/Button.md +8 -0
- package/src/components/Button/examples/ButtonCircle.tsx +63 -0
- package/src/components/Compass/Compass.tsx +107 -0
- package/src/components/Compass/CompassContent.tsx +42 -0
- package/src/components/Compass/CompassHeader.tsx +21 -0
- package/src/components/Compass/CompassHero.tsx +87 -0
- package/src/components/Compass/CompassMainHeader.tsx +43 -0
- package/src/components/Compass/CompassMessageBar.tsx +21 -0
- package/src/components/Compass/CompassPanel.tsx +51 -0
- package/src/components/Compass/__tests__/Compass.test.tsx +172 -0
- package/src/components/Compass/__tests__/CompassContent.test.tsx +46 -0
- package/src/components/Compass/__tests__/CompassHeader.test.tsx +56 -0
- package/src/components/Compass/__tests__/CompassHero.test.tsx +150 -0
- package/src/components/Compass/__tests__/CompassMainHeader.test.tsx +90 -0
- package/src/components/Compass/__tests__/CompassMessageBar.test.tsx +41 -0
- package/src/components/Compass/__tests__/CompassPanel.test.tsx +86 -0
- package/src/components/Compass/__tests__/__snapshots__/Compass.test.tsx.snap +104 -0
- package/src/components/Compass/__tests__/__snapshots__/CompassContent.test.tsx.snap +40 -0
- package/src/components/Compass/__tests__/__snapshots__/CompassHeader.test.tsx.snap +27 -0
- package/src/components/Compass/__tests__/__snapshots__/CompassHero.test.tsx.snap +18 -0
- package/src/components/Compass/__tests__/__snapshots__/CompassMainHeader.test.tsx.snap +42 -0
- package/src/components/Compass/__tests__/__snapshots__/CompassMessageBar.test.tsx.snap +13 -0
- package/src/components/Compass/__tests__/__snapshots__/CompassPanel.test.tsx.snap +25 -0
- package/src/components/Compass/examples/Compass.md +38 -0
- package/src/components/Compass/examples/CompassBasic.tsx +33 -0
- package/src/components/Compass/examples/CompassDemo.tsx +151 -0
- package/src/components/Compass/examples/compass.css +11 -0
- package/src/components/Compass/index.ts +7 -0
- package/src/components/Drawer/Drawer.tsx +4 -0
- package/src/components/Drawer/__tests__/Drawer.test.tsx +26 -1
- package/src/components/Drawer/examples/Drawer.md +13 -0
- package/src/components/Drawer/examples/DrawerBasicPill.tsx +57 -0
- package/src/components/Drawer/examples/DrawerPillInline.tsx +57 -0
- package/src/components/Menu/Menu.tsx +1 -6
- package/src/components/MenuToggle/MenuToggle.tsx +5 -1
- package/src/components/MenuToggle/__tests__/MenuToggle.test.tsx +20 -0
- package/src/components/MenuToggle/examples/MenuToggle.md +18 -0
- package/src/components/MenuToggle/examples/MenuTogglePlainCircle.tsx +11 -0
- package/src/components/Tabs/Tabs.tsx +5 -0
- package/src/components/index.ts +1 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Fragment, useRef, useState } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
Drawer,
|
|
4
|
+
DrawerPanelContent,
|
|
5
|
+
DrawerContent,
|
|
6
|
+
DrawerContentBody,
|
|
7
|
+
DrawerHead,
|
|
8
|
+
DrawerActions,
|
|
9
|
+
DrawerCloseButton,
|
|
10
|
+
Button
|
|
11
|
+
} from '@patternfly/react-core';
|
|
12
|
+
|
|
13
|
+
export const DrawerBasicPill: React.FunctionComponent = () => {
|
|
14
|
+
const [isExpanded, setIsExpanded] = useState(false);
|
|
15
|
+
const drawerRef = useRef<HTMLDivElement>(undefined);
|
|
16
|
+
|
|
17
|
+
const onExpand = () => {
|
|
18
|
+
drawerRef.current && drawerRef.current.focus();
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const onClick = () => {
|
|
22
|
+
setIsExpanded(!isExpanded);
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const onCloseClick = () => {
|
|
26
|
+
setIsExpanded(false);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const panelContent = (
|
|
30
|
+
<DrawerPanelContent>
|
|
31
|
+
<DrawerHead>
|
|
32
|
+
<span tabIndex={isExpanded ? 0 : -1} ref={drawerRef}>
|
|
33
|
+
Drawer panel header
|
|
34
|
+
</span>
|
|
35
|
+
<DrawerActions>
|
|
36
|
+
<DrawerCloseButton onClick={onCloseClick} />
|
|
37
|
+
</DrawerActions>
|
|
38
|
+
</DrawerHead>
|
|
39
|
+
</DrawerPanelContent>
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
const drawerContent =
|
|
43
|
+
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus pretium est a porttitor vehicula. Quisque vel commodo urna. Morbi mattis rutrum ante, id vehicula ex accumsan ut. Morbi viverra, eros vel porttitor facilisis, eros purus aliquet erat,nec lobortis felis elit pulvinar sem. Vivamus vulputate, risus eget commodo eleifend, eros nibh porta quam, vitae lacinia leo libero at magna. Maecenas aliquam sagittis orci, et posuere nisi ultrices sit amet. Aliquam ex odio, malesuada sed posuere quis, pellentesque at mauris. Phasellus venenatis massa ex, eget pulvinar libero auctor pretium. Aliquam erat volutpat. Duis euismod justo in quam ullamcorper, in commodo massa vulputate.';
|
|
44
|
+
|
|
45
|
+
return (
|
|
46
|
+
<Fragment>
|
|
47
|
+
<Button aria-expanded={isExpanded} onClick={onClick}>
|
|
48
|
+
Toggle drawer
|
|
49
|
+
</Button>
|
|
50
|
+
<Drawer isExpanded={isExpanded} isPill isInline onExpand={onExpand}>
|
|
51
|
+
<DrawerContent panelContent={panelContent}>
|
|
52
|
+
<DrawerContentBody>{drawerContent}</DrawerContentBody>
|
|
53
|
+
</DrawerContent>
|
|
54
|
+
</Drawer>
|
|
55
|
+
</Fragment>
|
|
56
|
+
);
|
|
57
|
+
};
|
|
@@ -70,7 +70,6 @@ export interface MenuState {
|
|
|
70
70
|
ouiaStateId: string;
|
|
71
71
|
transitionMoveTarget: HTMLElement;
|
|
72
72
|
flyoutRef: React.Ref<HTMLLIElement> | null;
|
|
73
|
-
disableHover: boolean;
|
|
74
73
|
currentDrilldownMenuId: string;
|
|
75
74
|
}
|
|
76
75
|
|
|
@@ -99,7 +98,6 @@ class MenuBase extends Component<MenuProps, MenuState> {
|
|
|
99
98
|
ouiaStateId: getDefaultOUIAId(Menu.displayName),
|
|
100
99
|
transitionMoveTarget: null,
|
|
101
100
|
flyoutRef: null,
|
|
102
|
-
disableHover: false,
|
|
103
101
|
currentDrilldownMenuId: this.props.id
|
|
104
102
|
};
|
|
105
103
|
|
|
@@ -117,9 +115,6 @@ class MenuBase extends Component<MenuProps, MenuState> {
|
|
|
117
115
|
}
|
|
118
116
|
|
|
119
117
|
componentDidMount() {
|
|
120
|
-
if (this.context) {
|
|
121
|
-
this.setState({ disableHover: this.context.disableHover });
|
|
122
|
-
}
|
|
123
118
|
if (canUseDOM && this.props.containsDrilldown && this.props.isRootMenu) {
|
|
124
119
|
window.addEventListener('transitionend', this.handleDrilldownTransition);
|
|
125
120
|
}
|
|
@@ -284,7 +279,7 @@ class MenuBase extends Component<MenuProps, MenuState> {
|
|
|
284
279
|
onGetMenuHeight,
|
|
285
280
|
flyoutRef: this.state.flyoutRef,
|
|
286
281
|
setFlyoutRef: (flyoutRef) => this.setState({ flyoutRef }),
|
|
287
|
-
disableHover: this.
|
|
282
|
+
disableHover: this.context?.disableHover ?? false,
|
|
288
283
|
role
|
|
289
284
|
}}
|
|
290
285
|
>
|
|
@@ -45,6 +45,8 @@ export interface MenuToggleProps
|
|
|
45
45
|
isFullWidth?: boolean;
|
|
46
46
|
/** Flag indicating the toggle contains placeholder text */
|
|
47
47
|
isPlaceholder?: boolean;
|
|
48
|
+
/** @beta Flag indicating the toggle has circular styling. Can only be applied to plain toggles. */
|
|
49
|
+
isCircle?: boolean;
|
|
48
50
|
/** Flag indicating whether the toggle is a settings toggle. This will override the icon property */
|
|
49
51
|
isSettings?: boolean;
|
|
50
52
|
/** Elements to display before the toggle button. When included, renders the menu toggle as a split button. */
|
|
@@ -84,6 +86,7 @@ class MenuToggleBase extends Component<MenuToggleProps, MenuToggleState> {
|
|
|
84
86
|
isFullWidth: false,
|
|
85
87
|
isFullHeight: false,
|
|
86
88
|
isPlaceholder: false,
|
|
89
|
+
isCircle: false,
|
|
87
90
|
size: 'default',
|
|
88
91
|
ouiaSafe: true
|
|
89
92
|
};
|
|
@@ -103,6 +106,7 @@ class MenuToggleBase extends Component<MenuToggleProps, MenuToggleState> {
|
|
|
103
106
|
isFullHeight,
|
|
104
107
|
isFullWidth,
|
|
105
108
|
isPlaceholder,
|
|
109
|
+
isCircle,
|
|
106
110
|
isSettings,
|
|
107
111
|
splitButtonItems,
|
|
108
112
|
variant,
|
|
@@ -225,7 +229,7 @@ class MenuToggleBase extends Component<MenuToggleProps, MenuToggleState> {
|
|
|
225
229
|
|
|
226
230
|
return (
|
|
227
231
|
<button
|
|
228
|
-
className={css(commonStyles)}
|
|
232
|
+
className={css(commonStyles, isCircle && isPlain && styles.modifiers.circle)}
|
|
229
233
|
type="button"
|
|
230
234
|
aria-label={ariaLabel}
|
|
231
235
|
aria-expanded={isExpanded}
|
|
@@ -55,6 +55,8 @@ describe('Old Snapshot tests - remove when refactoring', () => {
|
|
|
55
55
|
});
|
|
56
56
|
});
|
|
57
57
|
|
|
58
|
+
const toggleVariants = ['default', 'plain', 'primary', 'plainText', 'secondary', 'typeahead'];
|
|
59
|
+
|
|
58
60
|
test(`Renders with class ${styles.modifiers.small} when size="sm" is passed`, () => {
|
|
59
61
|
render(<MenuToggle size="sm">Toggle</MenuToggle>);
|
|
60
62
|
expect(screen.getByRole('button')).toHaveClass(styles.modifiers.small);
|
|
@@ -110,6 +112,24 @@ test(`Renders with class ${styles.modifiers.settings} when isSettings is passed`
|
|
|
110
112
|
expect(screen.getByRole('button')).toHaveClass(styles.modifiers.settings);
|
|
111
113
|
});
|
|
112
114
|
|
|
115
|
+
test(`Renders with class ${styles.modifiers.circle} when variant="plain" and isCircle is true`, () => {
|
|
116
|
+
render(<MenuToggle isCircle variant="plain" aria-label="Toggle"></MenuToggle>);
|
|
117
|
+
expect(screen.getByRole('button')).toHaveClass(styles.modifiers.circle);
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
toggleVariants
|
|
121
|
+
.filter((variant) => variant !== 'plain')
|
|
122
|
+
.forEach((variant) => {
|
|
123
|
+
test(`Does not with class ${styles.modifiers.circle} when variant="${variant}" and isCircle is true`, () => {
|
|
124
|
+
render(
|
|
125
|
+
<MenuToggle isCircle variant={variant as 'default' | 'primary' | 'plainText' | 'secondary' | 'typeahead'}>
|
|
126
|
+
Toggle
|
|
127
|
+
</MenuToggle>
|
|
128
|
+
);
|
|
129
|
+
expect(screen.getByRole('button')).not.toHaveClass(styles.modifiers.circle);
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
|
|
113
133
|
test('Does not render custom icon when icon prop and isSettings are passed', () => {
|
|
114
134
|
render(
|
|
115
135
|
<MenuToggle isSettings icon={<div>Custom icon</div>}>
|
|
@@ -20,6 +20,7 @@ import TimesIcon from '@patternfly/react-icons/dist/esm/icons/times-icon';
|
|
|
20
20
|
A toggle is collapsed until it is selected by a user.
|
|
21
21
|
|
|
22
22
|
```ts file="MenuToggleCollapsed.tsx"
|
|
23
|
+
|
|
23
24
|
```
|
|
24
25
|
|
|
25
26
|
### Expanded toggle
|
|
@@ -27,6 +28,7 @@ A toggle is collapsed until it is selected by a user.
|
|
|
27
28
|
When a user selects a toggle, it becomes expanded and is styled with a blue underline. To flag expanded toggles, and apply expanded styling, use the `isExpanded` property .
|
|
28
29
|
|
|
29
30
|
```ts file ="MenuToggleExpanded.tsx"
|
|
31
|
+
|
|
30
32
|
```
|
|
31
33
|
|
|
32
34
|
### Small toggle
|
|
@@ -42,6 +44,7 @@ You can pass `size="sm"` to a MenuToggle to style it as a small toggle, such as
|
|
|
42
44
|
To disable the selection and expansion of a toggle, use the `isDisabled` property.
|
|
43
45
|
|
|
44
46
|
```ts file="MenuToggleDisabled.tsx"
|
|
47
|
+
|
|
45
48
|
```
|
|
46
49
|
|
|
47
50
|
### With a badge
|
|
@@ -49,6 +52,7 @@ To disable the selection and expansion of a toggle, use the `isDisabled` propert
|
|
|
49
52
|
To display a count of selected items in a toggle, use the `badge` property. You can also pass in `variant="plainText"` for a badge only toggle.
|
|
50
53
|
|
|
51
54
|
```ts file="MenuToggleBadge.tsx"
|
|
55
|
+
|
|
52
56
|
```
|
|
53
57
|
|
|
54
58
|
### Settings toggle
|
|
@@ -76,6 +80,7 @@ You can also pass images into the `icon` property. The following example passes
|
|
|
76
80
|
This can be used alongside a text label that provides more context for the image.
|
|
77
81
|
|
|
78
82
|
```ts file="MenuToggleAvatarText.tsx"
|
|
83
|
+
|
|
79
84
|
```
|
|
80
85
|
|
|
81
86
|
### Variant styles
|
|
@@ -83,6 +88,7 @@ This can be used alongside a text label that provides more context for the image
|
|
|
83
88
|
Variant styling can be applied to menu toggles. In the following example, the toggle uses primary styling by passing `variant="primary"` into the `<MenuToggle>` component. Additional variant options include “default”, “plain”, “plainText”, “secondary”, and “typeahead”.
|
|
84
89
|
|
|
85
90
|
```ts file="MenuToggleVariantStyles.tsx"
|
|
91
|
+
|
|
86
92
|
```
|
|
87
93
|
|
|
88
94
|
### Plain toggle with icon
|
|
@@ -92,6 +98,15 @@ To apply plain styling to a menu toggle with an icon, pass in `variant="plain"`.
|
|
|
92
98
|
If the toggle does not have any visible text content, use the `aria-label` property to provide an accessible name.
|
|
93
99
|
|
|
94
100
|
```ts file="MenuTogglePlainIcon.tsx"
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Plain circle toggle
|
|
105
|
+
|
|
106
|
+
You can also pass the `isCircle` property to a plain, icon-only toggle to adjust the styling to a complete circular shape, rather than a rounded square.
|
|
107
|
+
|
|
108
|
+
```ts file="MenuTogglePlainCircle.tsx"
|
|
109
|
+
|
|
95
110
|
```
|
|
96
111
|
|
|
97
112
|
### Plain toggle with text label
|
|
@@ -99,6 +114,7 @@ If the toggle does not have any visible text content, use the `aria-label` prope
|
|
|
99
114
|
To apply plain styling to a menu toggle with a text label, pass in `variant="plainText"`. Unlike the “plain” variant, “plainText” adds a caret pointing down in the toggle.
|
|
100
115
|
|
|
101
116
|
```ts file="MenuTogglePlainTextLabel.tsx"
|
|
117
|
+
|
|
102
118
|
```
|
|
103
119
|
|
|
104
120
|
### Split toggle with checkbox
|
|
@@ -150,6 +166,7 @@ A full height toggle fills the height of its parent. To flag a full height toggl
|
|
|
150
166
|
In the following example, the toggle fills the size of the "80px" `<div>` element that it is within.
|
|
151
167
|
|
|
152
168
|
```ts file="MenuToggleFullHeight.tsx"
|
|
169
|
+
|
|
153
170
|
```
|
|
154
171
|
|
|
155
172
|
### Full width toggle
|
|
@@ -159,6 +176,7 @@ A full width toggle fills the width of its parent. To flag a full width toggle,
|
|
|
159
176
|
In the following example, the toggle fills the width of its parent as the window size changes.
|
|
160
177
|
|
|
161
178
|
```ts file="MenuToggleFullWidth.tsx"
|
|
179
|
+
|
|
162
180
|
```
|
|
163
181
|
|
|
164
182
|
### Typeahead toggle
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Fragment } from 'react';
|
|
2
|
+
import { MenuToggle } from '@patternfly/react-core';
|
|
3
|
+
import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
|
|
4
|
+
|
|
5
|
+
export const MenuTogglePlainCircle: React.FunctionComponent = () => (
|
|
6
|
+
<Fragment>
|
|
7
|
+
<MenuToggle isCircle icon={<EllipsisVIcon />} variant="plain" aria-label="plain circle kebab" />{' '}
|
|
8
|
+
<MenuToggle isCircle icon={<EllipsisVIcon />} variant="plain" isExpanded aria-label="plain circle expanded kebab" />{' '}
|
|
9
|
+
<MenuToggle isCircle icon={<EllipsisVIcon />} variant="plain" isDisabled aria-label="disabled plain circle kebab" />
|
|
10
|
+
</Fragment>
|
|
11
|
+
);
|
|
@@ -69,6 +69,8 @@ export interface TabsProps
|
|
|
69
69
|
isFilled?: boolean;
|
|
70
70
|
/** Enables subtab tab styling */
|
|
71
71
|
isSubtab?: boolean;
|
|
72
|
+
/** @beta Enables horizontal nav tab styling */
|
|
73
|
+
isNav?: boolean;
|
|
72
74
|
/** Enables box styling to the tab component */
|
|
73
75
|
isBox?: boolean;
|
|
74
76
|
/** Enables vertical tab styling */
|
|
@@ -196,6 +198,7 @@ class Tabs extends Component<TabsProps, TabsState> {
|
|
|
196
198
|
onSelect: () => undefined as any,
|
|
197
199
|
isFilled: false,
|
|
198
200
|
isSubtab: false,
|
|
201
|
+
isNav: false,
|
|
199
202
|
isVertical: false,
|
|
200
203
|
isBox: false,
|
|
201
204
|
hasNoBorderBottom: false,
|
|
@@ -475,6 +478,7 @@ class Tabs extends Component<TabsProps, TabsState> {
|
|
|
475
478
|
isAddButtonDisabled,
|
|
476
479
|
isFilled,
|
|
477
480
|
isSubtab,
|
|
481
|
+
isNav,
|
|
478
482
|
isVertical,
|
|
479
483
|
isBox,
|
|
480
484
|
hasNoBorderBottom,
|
|
@@ -561,6 +565,7 @@ class Tabs extends Component<TabsProps, TabsState> {
|
|
|
561
565
|
styles.modifiers.animateCurrent,
|
|
562
566
|
isFilled && styles.modifiers.fill,
|
|
563
567
|
isSubtab && styles.modifiers.subtab,
|
|
568
|
+
isNav && styles.modifiers.nav,
|
|
564
569
|
isVertical && styles.modifiers.vertical,
|
|
565
570
|
isVertical && expandable && formatBreakpointMods(expandable, styles),
|
|
566
571
|
isVertical && expandable && isExpandedLocal && styles.modifiers.expanded,
|
package/src/components/index.ts
CHANGED