@patternfly/react-core 6.4.1-prerelease.8 → 6.4.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.
- package/CHANGELOG.md +2 -44
- 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/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/esm/components/Checkbox/Checkbox.d.ts +0 -3
- package/dist/esm/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/esm/components/Checkbox/Checkbox.js +4 -14
- package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/esm/components/Drawer/DrawerPanelContent.d.ts.map +1 -1
- package/dist/esm/components/Drawer/DrawerPanelContent.js +4 -2
- package/dist/esm/components/Drawer/DrawerPanelContent.js.map +1 -1
- package/dist/esm/components/ExpandableSection/ExpandableSection.d.ts +0 -4
- package/dist/esm/components/ExpandableSection/ExpandableSection.d.ts.map +1 -1
- package/dist/esm/components/ExpandableSection/ExpandableSection.js +3 -5
- package/dist/esm/components/ExpandableSection/ExpandableSection.js.map +1 -1
- package/dist/esm/components/ExpandableSection/ExpandableSectionToggle.d.ts +0 -4
- package/dist/esm/components/ExpandableSection/ExpandableSectionToggle.d.ts.map +1 -1
- package/dist/esm/components/ExpandableSection/ExpandableSectionToggle.js +2 -2
- package/dist/esm/components/ExpandableSection/ExpandableSectionToggle.js.map +1 -1
- package/dist/esm/components/Modal/Modal.d.ts +0 -2
- package/dist/esm/components/Modal/Modal.d.ts.map +1 -1
- package/dist/esm/components/Modal/Modal.js.map +1 -1
- package/dist/esm/components/Modal/ModalContent.d.ts +0 -2
- package/dist/esm/components/Modal/ModalContent.d.ts.map +1 -1
- package/dist/esm/components/Modal/ModalContent.js +2 -2
- package/dist/esm/components/Modal/ModalContent.js.map +1 -1
- package/dist/esm/components/Progress/ProgressContainer.js +2 -2
- package/dist/esm/components/Progress/ProgressContainer.js.map +1 -1
- package/dist/esm/components/Radio/Radio.d.ts +0 -3
- package/dist/esm/components/Radio/Radio.d.ts.map +1 -1
- package/dist/esm/components/Radio/Radio.js +5 -15
- package/dist/esm/components/Radio/Radio.js.map +1 -1
- package/dist/esm/components/Wizard/WizardNavInternal.js +3 -3
- package/dist/esm/components/Wizard/WizardNavInternal.js.map +1 -1
- package/dist/esm/components/Wizard/WizardNavItem.d.ts +1 -1
- package/dist/esm/components/Wizard/WizardNavItem.d.ts.map +1 -1
- package/dist/esm/components/Wizard/WizardNavItem.js +1 -2
- package/dist/esm/components/Wizard/WizardNavItem.js.map +1 -1
- package/dist/esm/components/Wizard/WizardStep.d.ts +1 -1
- package/dist/esm/components/Wizard/WizardStep.d.ts.map +1 -1
- package/dist/esm/components/Wizard/types.d.ts +2 -3
- package/dist/esm/components/Wizard/types.d.ts.map +1 -1
- package/dist/esm/components/Wizard/types.js +0 -1
- package/dist/esm/components/Wizard/types.js.map +1 -1
- package/dist/esm/helpers/FocusTrap/FocusTrap.d.ts +0 -2
- package/dist/esm/helpers/FocusTrap/FocusTrap.d.ts.map +1 -1
- package/dist/esm/helpers/FocusTrap/FocusTrap.js.map +1 -1
- package/dist/esm/helpers/resizeObserver.js +2 -2
- package/dist/esm/helpers/resizeObserver.js.map +1 -1
- package/dist/js/components/Checkbox/Checkbox.d.ts +0 -3
- package/dist/js/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/js/components/Checkbox/Checkbox.js +4 -14
- package/dist/js/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/js/components/Drawer/DrawerPanelContent.d.ts.map +1 -1
- package/dist/js/components/Drawer/DrawerPanelContent.js +4 -2
- package/dist/js/components/Drawer/DrawerPanelContent.js.map +1 -1
- package/dist/js/components/ExpandableSection/ExpandableSection.d.ts +0 -4
- package/dist/js/components/ExpandableSection/ExpandableSection.d.ts.map +1 -1
- package/dist/js/components/ExpandableSection/ExpandableSection.js +3 -5
- package/dist/js/components/ExpandableSection/ExpandableSection.js.map +1 -1
- package/dist/js/components/ExpandableSection/ExpandableSectionToggle.d.ts +0 -4
- package/dist/js/components/ExpandableSection/ExpandableSectionToggle.d.ts.map +1 -1
- package/dist/js/components/ExpandableSection/ExpandableSectionToggle.js +2 -2
- package/dist/js/components/ExpandableSection/ExpandableSectionToggle.js.map +1 -1
- package/dist/js/components/Modal/Modal.d.ts +0 -2
- package/dist/js/components/Modal/Modal.d.ts.map +1 -1
- package/dist/js/components/Modal/Modal.js.map +1 -1
- package/dist/js/components/Modal/ModalContent.d.ts +0 -2
- package/dist/js/components/Modal/ModalContent.d.ts.map +1 -1
- package/dist/js/components/Modal/ModalContent.js +2 -2
- package/dist/js/components/Modal/ModalContent.js.map +1 -1
- package/dist/js/components/Progress/ProgressContainer.js +2 -2
- package/dist/js/components/Progress/ProgressContainer.js.map +1 -1
- package/dist/js/components/Radio/Radio.d.ts +0 -3
- package/dist/js/components/Radio/Radio.d.ts.map +1 -1
- package/dist/js/components/Radio/Radio.js +5 -15
- package/dist/js/components/Radio/Radio.js.map +1 -1
- package/dist/js/components/Wizard/WizardNavInternal.js +3 -3
- package/dist/js/components/Wizard/WizardNavInternal.js.map +1 -1
- package/dist/js/components/Wizard/WizardNavItem.d.ts +1 -1
- package/dist/js/components/Wizard/WizardNavItem.d.ts.map +1 -1
- package/dist/js/components/Wizard/WizardNavItem.js +1 -2
- package/dist/js/components/Wizard/WizardNavItem.js.map +1 -1
- package/dist/js/components/Wizard/WizardStep.d.ts +1 -1
- package/dist/js/components/Wizard/WizardStep.d.ts.map +1 -1
- package/dist/js/components/Wizard/types.d.ts +2 -3
- package/dist/js/components/Wizard/types.d.ts.map +1 -1
- package/dist/js/components/Wizard/types.js +0 -1
- package/dist/js/components/Wizard/types.js.map +1 -1
- package/dist/js/helpers/FocusTrap/FocusTrap.d.ts +0 -2
- package/dist/js/helpers/FocusTrap/FocusTrap.d.ts.map +1 -1
- package/dist/js/helpers/FocusTrap/FocusTrap.js.map +1 -1
- package/dist/js/helpers/resizeObserver.js +1 -1
- package/dist/js/helpers/resizeObserver.js.map +1 -1
- package/dist/umd/assets/{output-CyRsIwqr.css → output-Bj1Aarly.css} +16495 -16495
- package/dist/umd/react-core.min.js +1 -1
- package/helpers/package.json +1 -1
- package/layouts/package.json +1 -1
- package/next/package.json +1 -1
- package/package.json +2 -2
- package/src/components/Checkbox/Checkbox.tsx +2 -21
- package/src/components/Checkbox/__tests__/Checkbox.test.tsx +0 -34
- package/src/components/Drawer/DrawerPanelContent.tsx +3 -5
- package/src/components/Drawer/__tests__/DrawerPanelContent.test.tsx +0 -37
- package/src/components/ExpandableSection/ExpandableSection.tsx +0 -10
- package/src/components/ExpandableSection/ExpandableSectionToggle.tsx +0 -8
- package/src/components/ExpandableSection/__tests__/ExpandableSection.test.tsx +0 -17
- package/src/components/ExpandableSection/__tests__/ExpandableSectionToggle.test.tsx +0 -17
- package/src/components/MenuToggle/examples/MenuToggle.md +96 -13
- package/src/components/Modal/Modal.tsx +0 -2
- package/src/components/Modal/ModalContent.tsx +0 -4
- package/src/components/Modal/__tests__/Modal.test.tsx +0 -9
- package/src/components/Modal/__tests__/ModalContent.test.tsx +1 -17
- package/src/components/Modal/examples/Modal.md +5 -14
- package/src/components/Modal/examples/ModalWithDropdown.tsx +7 -34
- package/src/components/Panel/examples/Panel.md +159 -10
- package/src/components/Progress/ProgressContainer.tsx +2 -2
- package/src/components/Progress/__tests__/Generated/__snapshots__/ProgressContainer.test.tsx.snap +1 -1
- package/src/components/Progress/__tests__/__snapshots__/Progress.test.tsx.snap +1 -1
- package/src/components/Radio/Radio.tsx +3 -21
- package/src/components/Radio/__tests__/Radio.test.tsx +0 -44
- package/src/components/Tabs/__tests__/Tabs.test.tsx +1 -109
- package/src/components/Tabs/__tests__/__snapshots__/Tabs.test.tsx.snap +2 -2
- package/src/components/Tabs/examples/Tabs.md +4 -38
- package/src/components/Tabs/examples/TabsSeparateContent.tsx +2 -3
- package/src/components/Wizard/WizardNavInternal.tsx +3 -3
- package/src/components/Wizard/WizardNavItem.tsx +2 -5
- package/src/components/Wizard/WizardStep.tsx +1 -1
- package/src/components/Wizard/__tests__/Wizard.test.tsx +39 -0
- package/src/components/Wizard/__tests__/WizardNavItem.test.tsx +0 -6
- package/src/components/Wizard/__tests__/WizardStep.test.tsx +0 -2
- package/src/components/Wizard/examples/WizardStepStatus.tsx +7 -28
- package/src/components/Wizard/types.tsx +2 -3
- package/src/demos/AlertGroup.md +1 -1
- package/src/demos/BackToTop.md +1 -1
- package/src/demos/{Button/examples/ButtonProgress.tsx → Button.md} +19 -1
- package/src/demos/CardView/CardView.md +1 -1
- package/src/demos/DataListDemo.md +4 -4
- package/src/demos/DescriptionList/DescriptionList.md +2 -2
- package/src/demos/Nav.md +9 -9
- package/src/demos/{PasswordGenerator/examples/PasswordGenerator.tsx → PasswordGenerator.md} +19 -3
- package/src/demos/PrimaryDetail.md +6 -6
- package/src/demos/RTL/RTL.md +1 -1
- package/src/demos/SearchInput/SearchInput.md +487 -2
- package/src/demos/Toolbar.md +1 -1
- package/src/demos/examples/BackToTop/BackToTopNameDemo.tsx +1 -1
- package/src/helpers/FocusTrap/FocusTrap.tsx +0 -2
- package/src/helpers/FocusTrap/__tests__/Generated/FocusTrap.test.tsx +3 -3
- package/src/helpers/OUIA/OUIA.md +10 -2
- package/src/helpers/resizeObserver.tsx +2 -2
- package/src/layouts/Bullseye/examples/Bullseye.md +5 -1
- package/src/layouts/Flex/examples/Flex.md +442 -42
- package/src/layouts/Level/examples/Level.md +15 -3
- package/src/layouts/Split/examples/Split.md +34 -4
- package/src/components/MenuToggle/examples/MenuToggleAvatarText.tsx +0 -15
- package/src/components/MenuToggle/examples/MenuToggleBadge.tsx +0 -9
- package/src/components/MenuToggle/examples/MenuToggleCollapsed.tsx +0 -3
- package/src/components/MenuToggle/examples/MenuToggleDisabled.tsx +0 -3
- package/src/components/MenuToggle/examples/MenuToggleExpanded.tsx +0 -3
- package/src/components/MenuToggle/examples/MenuToggleFullHeight.tsx +0 -9
- package/src/components/MenuToggle/examples/MenuToggleFullWidth.tsx +0 -7
- package/src/components/MenuToggle/examples/MenuTogglePlainIcon.tsx +0 -11
- package/src/components/MenuToggle/examples/MenuTogglePlainTextLabel.tsx +0 -16
- package/src/components/MenuToggle/examples/MenuToggleVariantStyles.tsx +0 -14
- package/src/components/Panel/examples/PanelBasic.tsx +0 -9
- package/src/components/Panel/examples/PanelBordered.tsx +0 -9
- package/src/components/Panel/examples/PanelFooterExample.tsx +0 -10
- package/src/components/Panel/examples/PanelHeaderExample.tsx +0 -11
- package/src/components/Panel/examples/PanelHeaderFooter.tsx +0 -12
- package/src/components/Panel/examples/PanelNoBody.tsx +0 -7
- package/src/components/Panel/examples/PanelRaised.tsx +0 -9
- package/src/components/Panel/examples/PanelScrollable.tsx +0 -35
- package/src/components/Panel/examples/PanelScrollableHeaderFooter.tsx +0 -38
- package/src/components/Panel/examples/PanelSecondaryVariant.tsx +0 -9
- package/src/demos/Button/Button.md +0 -19
- package/src/demos/PasswordGenerator/PasswordGenerator.md +0 -16
- package/src/demos/SearchInput/examples/SearchInputAdvancedComposable.tsx +0 -322
- package/src/demos/SearchInput/examples/SearchInputAutocomplete.tsx +0 -165
- package/src/helpers/FocusTrap/__tests__/FocusTrap.test.tsx +0 -17
- package/src/helpers/OUIA/examples/OuiaExample.tsx +0 -11
- package/src/layouts/Bullseye/examples/BullseyeBasic.tsx +0 -7
- package/src/layouts/Flex/examples/FlexAdjustingWidth.tsx +0 -18
- package/src/layouts/Flex/examples/FlexAlignAdjacentContent.tsx +0 -16
- package/src/layouts/Flex/examples/FlexAlignRightMultipleGroups.tsx +0 -18
- package/src/layouts/Flex/examples/FlexAlignRightSingleItem.tsx +0 -8
- package/src/layouts/Flex/examples/FlexAlignSelfBaseline.tsx +0 -15
- package/src/layouts/Flex/examples/FlexAlignSelfCenter.tsx +0 -15
- package/src/layouts/Flex/examples/FlexAlignSelfFlexEnd.tsx +0 -15
- package/src/layouts/Flex/examples/FlexAlignSelfStretch.tsx +0 -15
- package/src/layouts/Flex/examples/FlexAligningRight.tsx +0 -11
- package/src/layouts/Flex/examples/FlexAlternative.tsx +0 -11
- package/src/layouts/Flex/examples/FlexBasic.tsx +0 -11
- package/src/layouts/Flex/examples/FlexCanGrow.tsx +0 -18
- package/src/layouts/Flex/examples/FlexColumnGap.tsx +0 -16
- package/src/layouts/Flex/examples/FlexColumnLayout.tsx +0 -9
- package/src/layouts/Flex/examples/FlexColumnWidths.tsx +0 -18
- package/src/layouts/Flex/examples/FlexControlTextWidth.tsx +0 -17
- package/src/layouts/Flex/examples/FlexDefaultLayout.tsx +0 -11
- package/src/layouts/Flex/examples/FlexFirstLastOrder.tsx +0 -13
- package/src/layouts/Flex/examples/FlexGap.tsx +0 -16
- package/src/layouts/Flex/examples/FlexIndividuallySpaced.tsx +0 -14
- package/src/layouts/Flex/examples/FlexInline.tsx +0 -11
- package/src/layouts/Flex/examples/FlexJustifyContentEnd.tsx +0 -10
- package/src/layouts/Flex/examples/FlexJustifyContentFlexStart.tsx +0 -9
- package/src/layouts/Flex/examples/FlexJustifyContentSpaceBetween.tsx +0 -9
- package/src/layouts/Flex/examples/FlexNestedItems.tsx +0 -15
- package/src/layouts/Flex/examples/FlexNesting.tsx +0 -15
- package/src/layouts/Flex/examples/FlexNestingInColumns.tsx +0 -15
- package/src/layouts/Flex/examples/FlexOrdering.tsx +0 -24
- package/src/layouts/Flex/examples/FlexResponsiveFirstLastOrder.tsx +0 -15
- package/src/layouts/Flex/examples/FlexResponsiveOrdering.tsx +0 -25
- package/src/layouts/Flex/examples/FlexRowGap.tsx +0 -16
- package/src/layouts/Flex/examples/FlexSpacingNone.tsx +0 -11
- package/src/layouts/Flex/examples/FlexSpacingXl.tsx +0 -11
- package/src/layouts/Flex/examples/FlexStackingElements.tsx +0 -18
- package/src/layouts/Flex/examples/FlexSwitchingColumnRow.tsx +0 -16
- package/src/layouts/Level/examples/LevelBasic.tsx +0 -9
- package/src/layouts/Level/examples/LevelWithGutters.tsx +0 -9
- package/src/layouts/Split/examples/SplitBasic.tsx +0 -9
- package/src/layouts/Split/examples/SplitWithGutter.tsx +0 -9
- package/src/layouts/Split/examples/SplitWrappable.tsx +0 -20
|
@@ -2,18 +2,7 @@
|
|
|
2
2
|
id: Tabs
|
|
3
3
|
section: components
|
|
4
4
|
cssPrefix: pf-v6-c-tabs
|
|
5
|
-
propComponents:
|
|
6
|
-
[
|
|
7
|
-
'Tabs',
|
|
8
|
-
'Tab',
|
|
9
|
-
'TabContent',
|
|
10
|
-
'TabContentBody',
|
|
11
|
-
'TabTitleText',
|
|
12
|
-
'TabTitleIcon',
|
|
13
|
-
'HorizontalOverflowObject',
|
|
14
|
-
'TabAction',
|
|
15
|
-
'PopperOptions'
|
|
16
|
-
]
|
|
5
|
+
propComponents: ['Tabs', 'Tab', 'TabContent', 'TabContentBody', 'TabTitleText', 'TabTitleIcon', 'HorizontalOverflowObject', 'TabAction', 'PopperOptions']
|
|
17
6
|
ouia: true
|
|
18
7
|
---
|
|
19
8
|
|
|
@@ -46,7 +35,6 @@ Tabs can be styled as 'default' or 'boxed':
|
|
|
46
35
|
- Boxed tabs are outlined to emphasize the area that a tab spans. To preview boxed tabs in the following examples, select the 'isBox' checkbox, which sets the `isBox` property to true.
|
|
47
36
|
|
|
48
37
|
```ts file="./TabsDefault.tsx"
|
|
49
|
-
|
|
50
38
|
```
|
|
51
39
|
|
|
52
40
|
### Boxed secondary tabs
|
|
@@ -56,7 +44,6 @@ To change the background color of boxed tabs or the tab content, use the `varian
|
|
|
56
44
|
Toggle the tab color by selecting the 'Tabs secondary variant' checkbox in the following example.
|
|
57
45
|
|
|
58
46
|
```ts file="./TabsBoxSecondary.tsx"
|
|
59
|
-
|
|
60
47
|
```
|
|
61
48
|
|
|
62
49
|
### Vertical tabs
|
|
@@ -66,7 +53,6 @@ Vertical tabs are placed on the left-hand side of a page or container and may ap
|
|
|
66
53
|
To style tabs vertically, use the `isVertical` property.
|
|
67
54
|
|
|
68
55
|
```ts file="./TabsVertical.tsx"
|
|
69
|
-
|
|
70
56
|
```
|
|
71
57
|
|
|
72
58
|
### Vertical expandable tabs
|
|
@@ -78,7 +64,6 @@ Expandable tabs can be enabled at different breakpoints. The following example p
|
|
|
78
64
|
To flag vertical tabs when they're expanded, use the `isExpanded` property.
|
|
79
65
|
|
|
80
66
|
```ts file="./TabsVerticalExpandable.tsx"
|
|
81
|
-
|
|
82
67
|
```
|
|
83
68
|
|
|
84
69
|
### Vertical expandable uncontrolled
|
|
@@ -86,7 +71,6 @@ To flag vertical tabs when they're expanded, use the `isExpanded` property.
|
|
|
86
71
|
To flag the default expanded state for uncontrolled tabs, use the `defaultIsExpanded` property.
|
|
87
72
|
|
|
88
73
|
```ts file="./TabsVerticalExpandableUncontrolled.tsx"
|
|
89
|
-
|
|
90
74
|
```
|
|
91
75
|
|
|
92
76
|
### Default overflow tabs
|
|
@@ -94,7 +78,6 @@ To flag the default expanded state for uncontrolled tabs, use the `defaultIsExpa
|
|
|
94
78
|
By default, overflow is applied when there are too many tabs for the width of the container they are in. This overflow can be navigated by side-scrolling within the tabs section, or by selecting the left and right arrows.
|
|
95
79
|
|
|
96
80
|
```ts file="./TabsDefaultOverflow.tsx"
|
|
97
|
-
|
|
98
81
|
```
|
|
99
82
|
|
|
100
83
|
### Horizontal overflow tabs
|
|
@@ -106,7 +89,6 @@ To enable horizontal overflow, use the `isOverflowHorizontal` property.
|
|
|
106
89
|
In the following example, select the 'Show overflowing tab count' checkbox to add a count of overflow items to the final “more” tab.
|
|
107
90
|
|
|
108
91
|
```ts file="./TabsHorizontalOverflow.tsx"
|
|
109
|
-
|
|
110
92
|
```
|
|
111
93
|
|
|
112
94
|
### With tooltip react ref
|
|
@@ -116,15 +98,14 @@ When using a React ref to link a tooltip to a tab component via the `reference`
|
|
|
116
98
|
The tooltip should also have the `id` property passed in. The value of `id` should be passed into the tab's `aria-describedby` property. This ensures a tooltip used with a React ref will be announced by the JAWS and NVDA screen readers.
|
|
117
99
|
|
|
118
100
|
```ts file="./TabsTooltipReactRef.tsx"
|
|
119
|
-
|
|
120
101
|
```
|
|
121
102
|
|
|
122
103
|
### Uncontrolled tabs
|
|
123
104
|
|
|
124
105
|
To allow the `<Tabs>` component to manage setting the active tab and displaying correct content itself, use uncontrolled tabs, as shown in the following example.
|
|
125
106
|
|
|
126
|
-
```ts file="./TabsUncontrolled.tsx"
|
|
127
107
|
|
|
108
|
+
```ts file="./TabsUncontrolled.tsx"
|
|
128
109
|
```
|
|
129
110
|
|
|
130
111
|
### With adjusted inset
|
|
@@ -132,7 +113,6 @@ To allow the `<Tabs>` component to manage setting the active tab and displaying
|
|
|
132
113
|
To adjust the inset of tabs and visually separate them more, use the `inset` property. You can set the inset to "insetNone", "insetSm", "insetMd", "insetLg", "insetXl", or "inset2xl" at "default", "sm", "md", "lg, "xl, and "2xl" breakpoints.
|
|
133
114
|
|
|
134
115
|
```ts file="./TabsInset.tsx"
|
|
135
|
-
|
|
136
116
|
```
|
|
137
117
|
|
|
138
118
|
### With page insets
|
|
@@ -140,7 +120,6 @@ To adjust the inset of tabs and visually separate them more, use the `inset` pro
|
|
|
140
120
|
To adjust the left padding of tabs, use the `usePageInsets` property. This property aligns the tabs padding with the default padding of the page section, which makes it easier to align tabs with page section content.
|
|
141
121
|
|
|
142
122
|
```ts file="./TabsPageInsets.tsx"
|
|
143
|
-
|
|
144
123
|
```
|
|
145
124
|
|
|
146
125
|
### With icons and text
|
|
@@ -150,7 +129,6 @@ You can render different content in the `title` property of a tab to add icons a
|
|
|
150
129
|
To add an icon to a tab, pass a `<TabTitleIcon>` component that contains the icon of your choice into the `title`. To use an icon alongside styled text, keep the text in the `<TabTitleText>` component.
|
|
151
130
|
|
|
152
131
|
```ts file="./TabsIconAndText.tsx"
|
|
153
|
-
|
|
154
132
|
```
|
|
155
133
|
|
|
156
134
|
### Subtabs
|
|
@@ -160,7 +138,6 @@ Use subtabs within other components, like modals. Subtabs have less visually pro
|
|
|
160
138
|
To apply subtab styling to tabs, use the `isSubtab` property.
|
|
161
139
|
|
|
162
140
|
```ts file="./TabsSubtabs.tsx"
|
|
163
|
-
|
|
164
141
|
```
|
|
165
142
|
|
|
166
143
|
### Filled tabs with icons
|
|
@@ -168,7 +145,6 @@ To apply subtab styling to tabs, use the `isSubtab` property.
|
|
|
168
145
|
To allow tabs to fill the available width of the page section, use the `isFilled` property.
|
|
169
146
|
|
|
170
147
|
```ts file="./TabsFilledWithIcons.tsx"
|
|
171
|
-
|
|
172
148
|
```
|
|
173
149
|
|
|
174
150
|
### Tabs linked to nav elements
|
|
@@ -178,7 +154,6 @@ To let tabs link to nav elements, pass `{TabsComponent.nav}` into the `component
|
|
|
178
154
|
Nav tabs should use the `href` property to link the tab to the URL of another page or page section. A tab with an `href` will render as an `<a>` instead of a `<button>`.
|
|
179
155
|
|
|
180
156
|
```ts file="./TabsNav.tsx"
|
|
181
|
-
|
|
182
157
|
```
|
|
183
158
|
|
|
184
159
|
### Subtabs linked to nav elements
|
|
@@ -186,15 +161,13 @@ Nav tabs should use the `href` property to link the tab to the URL of another pa
|
|
|
186
161
|
Subtabs can also link to nav elements.
|
|
187
162
|
|
|
188
163
|
```ts file="./TabsNavSubtab.tsx"
|
|
189
|
-
|
|
190
164
|
```
|
|
191
165
|
|
|
192
166
|
### With separate content
|
|
193
167
|
|
|
194
|
-
If a `<TabContent>` component is defined outside of a `<Tabs>` component, use the `tabContentRef` and `tabContentId` properties
|
|
168
|
+
If a `<TabContent>` component is defined outside of a `<Tabs>` component, use the `tabContentRef` and `tabContentId` properties
|
|
195
169
|
|
|
196
170
|
```ts file="./TabsSeparateContent.tsx"
|
|
197
|
-
|
|
198
171
|
```
|
|
199
172
|
|
|
200
173
|
### With tab content with body and padding
|
|
@@ -202,7 +175,6 @@ If a `<TabContent>` component is defined outside of a `<Tabs>` component, use th
|
|
|
202
175
|
To add a content body to a `<TabContent>` component, pass a `<TabContentBody>`. To add padding to the body section, use the `hasPadding` property.
|
|
203
176
|
|
|
204
177
|
```ts file="./TabsContentWithBodyPadding.tsx"
|
|
205
|
-
|
|
206
178
|
```
|
|
207
179
|
|
|
208
180
|
### Children mounting on click
|
|
@@ -212,7 +184,6 @@ To mount tab children (add to the DOM) when a tab is clicked, use the `mountOnEn
|
|
|
212
184
|
Note that this property does not create the tab children until the tab is clicked, so they are not preloaded into the DOM.
|
|
213
185
|
|
|
214
186
|
```ts file="./TabsChildrenMounting.tsx"
|
|
215
|
-
|
|
216
187
|
```
|
|
217
188
|
|
|
218
189
|
### Unmounting invisible children
|
|
@@ -220,17 +191,15 @@ Note that this property does not create the tab children until the tab is clicke
|
|
|
220
191
|
To unmount tab children (remove from the DOM) when they are no longer visible, use the `unmountOnExit` property.
|
|
221
192
|
|
|
222
193
|
```ts file="./TabsUnmountingInvisibleChildren.tsx"
|
|
223
|
-
|
|
224
194
|
```
|
|
225
195
|
|
|
226
196
|
### Toggled tab content
|
|
227
197
|
|
|
228
|
-
You may control tabs from outside of the tabs component. For example, select the "Hide tab 2" button below to make "Tab item
|
|
198
|
+
You may control tabs from outside of the tabs component. For example, select the "Hide tab 2" button below to make "Tab item 2" invisible.
|
|
229
199
|
|
|
230
200
|
The tab its content should only be mounted when the tab is visible.
|
|
231
201
|
|
|
232
202
|
```ts file="./TabsToggledSeparateContent.tsx"
|
|
233
|
-
|
|
234
203
|
```
|
|
235
204
|
|
|
236
205
|
### Dynamic tabs
|
|
@@ -238,7 +207,6 @@ The tab its content should only be mounted when the tab is visible.
|
|
|
238
207
|
To enable closeable tabs, pass the `onClose` property to the `<Tabs>` component. To enable a button that adds new tabs, pass the `onAdd` property to `<Tabs>`.
|
|
239
208
|
|
|
240
209
|
```ts file="./TabsDynamic.tsx"
|
|
241
|
-
|
|
242
210
|
```
|
|
243
211
|
|
|
244
212
|
### With help action popover
|
|
@@ -248,7 +216,6 @@ You may add a help action to a tab to provide users with additional context in a
|
|
|
248
216
|
To render an action beside the tab content, use the `actions` property of a `<Tab>`. Pass a popover and a `<TabsAction>` component into the `actions` property.
|
|
249
217
|
|
|
250
218
|
```ts file="./TabsHelp.tsx"
|
|
251
|
-
|
|
252
219
|
```
|
|
253
220
|
|
|
254
221
|
### With help and close actions
|
|
@@ -258,5 +225,4 @@ To add multiple actions to a tab, create a `<TabAction>` component for each acti
|
|
|
258
225
|
The following example passes in both help popover and close actions.
|
|
259
226
|
|
|
260
227
|
```ts file="./TabsHelpAndClose.tsx"
|
|
261
|
-
|
|
262
228
|
```
|
|
@@ -48,7 +48,6 @@ export const TabsSeparateContent: React.FunctionComponent = () => {
|
|
|
48
48
|
id="refTab1Section"
|
|
49
49
|
ref={contentRef1}
|
|
50
50
|
aria-label="This is content for the first separate content tab"
|
|
51
|
-
hidden={activeTabKey !== 0}
|
|
52
51
|
>
|
|
53
52
|
Tab 1 section
|
|
54
53
|
</TabContent>
|
|
@@ -57,7 +56,7 @@ export const TabsSeparateContent: React.FunctionComponent = () => {
|
|
|
57
56
|
id="refTab2Section"
|
|
58
57
|
ref={contentRef2}
|
|
59
58
|
aria-label="This is content for the second separate content tab"
|
|
60
|
-
hidden
|
|
59
|
+
hidden
|
|
61
60
|
>
|
|
62
61
|
Tab 2 section
|
|
63
62
|
</TabContent>
|
|
@@ -66,7 +65,7 @@ export const TabsSeparateContent: React.FunctionComponent = () => {
|
|
|
66
65
|
id="refTab3Section"
|
|
67
66
|
ref={contentRef3}
|
|
68
67
|
aria-label="This is content for the third separate content tab"
|
|
69
|
-
hidden
|
|
68
|
+
hidden
|
|
70
69
|
>
|
|
71
70
|
Tab 3 section
|
|
72
71
|
</TabContent>
|
|
@@ -48,7 +48,7 @@ export const WizardNavInternal = ({
|
|
|
48
48
|
let firstSubStepIndex: number;
|
|
49
49
|
let hasActiveChild = false;
|
|
50
50
|
|
|
51
|
-
const subNavItems = step.subStepIds?.map((subStepId,
|
|
51
|
+
const subNavItems = step.subStepIds?.map((subStepId, _subStepIndex) => {
|
|
52
52
|
const subStep = steps.find((step) => step.id === subStepId);
|
|
53
53
|
const hasVisitedNextStep = steps.some((step) => step.index > subStep.index && step.isVisited);
|
|
54
54
|
const isSubStepDisabled =
|
|
@@ -66,8 +66,8 @@ export const WizardNavInternal = ({
|
|
|
66
66
|
return;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
// Store the first sub-step index so that when its parent is clicked, the first sub-step is focused
|
|
70
|
-
if (
|
|
69
|
+
// Store the first visible sub-step index so that when its parent is clicked, the first sub-step is focused
|
|
70
|
+
if (firstSubStepIndex === undefined) {
|
|
71
71
|
firstSubStepIndex = subStep.index;
|
|
72
72
|
}
|
|
73
73
|
|
|
@@ -4,7 +4,6 @@ import styles from '@patternfly/react-styles/css/components/Wizard/wizard';
|
|
|
4
4
|
import AngleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-right-icon';
|
|
5
5
|
import ExclamationCircleIcon from '@patternfly/react-icons/dist/esm/icons/exclamation-circle-icon';
|
|
6
6
|
import CheckCircleIcon from '@patternfly/react-icons/dist/esm/icons/check-circle-icon';
|
|
7
|
-
import ExclamationTriangleIcon from '@patternfly/react-icons/dist/esm/icons/exclamation-triangle-icon';
|
|
8
7
|
|
|
9
8
|
import { OUIAProps, useOUIAProps } from '../../helpers';
|
|
10
9
|
import { WizardNavItemStatus } from './types';
|
|
@@ -39,7 +38,7 @@ export interface WizardNavItemProps
|
|
|
39
38
|
/** The id for the navigation item */
|
|
40
39
|
id?: string | number;
|
|
41
40
|
/** Used to determine the icon displayed next to content. Default has no icon. */
|
|
42
|
-
status?: 'default' | 'error' | 'success'
|
|
41
|
+
status?: 'default' | 'error' | 'success';
|
|
43
42
|
}
|
|
44
43
|
|
|
45
44
|
export const WizardNavItem = ({
|
|
@@ -98,8 +97,7 @@ export const WizardNavItem = ({
|
|
|
98
97
|
isCurrent && styles.modifiers.current,
|
|
99
98
|
isDisabled && styles.modifiers.disabled,
|
|
100
99
|
status === WizardNavItemStatus.Error && styles.modifiers.danger,
|
|
101
|
-
status === WizardNavItemStatus.Success && styles.modifiers.success
|
|
102
|
-
status === WizardNavItemStatus.Warning && styles.modifiers.warning
|
|
100
|
+
status === WizardNavItemStatus.Success && styles.modifiers.success
|
|
103
101
|
)}
|
|
104
102
|
aria-disabled={isDisabled ? true : null}
|
|
105
103
|
aria-current={isCurrent && !children ? 'step' : false}
|
|
@@ -112,7 +110,6 @@ export const WizardNavItem = ({
|
|
|
112
110
|
<span className={css(styles.wizardNavLinkStatusIcon)}>
|
|
113
111
|
{status === WizardNavItemStatus.Error && <ExclamationCircleIcon />}
|
|
114
112
|
{status === WizardNavItemStatus.Success && <CheckCircleIcon />}
|
|
115
|
-
{status === WizardNavItemStatus.Warning && <ExclamationTriangleIcon />}
|
|
116
113
|
</span>
|
|
117
114
|
</>
|
|
118
115
|
)}
|
|
@@ -28,7 +28,7 @@ export interface WizardStepProps {
|
|
|
28
28
|
/** Replaces the step's footer. The step's footer takes precedence over the wizard's footer. */
|
|
29
29
|
footer?: React.ReactElement<any> | Partial<WizardFooterProps>;
|
|
30
30
|
/** Used to determine icon next to the step's navigation item */
|
|
31
|
-
status?: 'default' | 'error' | 'success'
|
|
31
|
+
status?: 'default' | 'error' | 'success';
|
|
32
32
|
/** Flag to determine whether parent steps can expand or not. Defaults to false. */
|
|
33
33
|
isExpandable?: boolean;
|
|
34
34
|
}
|
|
@@ -627,3 +627,42 @@ test('onStepChange skips over disabled or hidden steps and substeps', async () =
|
|
|
627
627
|
WizardStepChangeScope.Back
|
|
628
628
|
);
|
|
629
629
|
});
|
|
630
|
+
|
|
631
|
+
test('clicking parent step navigates to first visible sub-step when first sub-step is hidden', async () => {
|
|
632
|
+
const user = userEvent.setup();
|
|
633
|
+
const onStepChange = jest.fn();
|
|
634
|
+
|
|
635
|
+
render(
|
|
636
|
+
<Wizard onStepChange={onStepChange}>
|
|
637
|
+
<WizardStep id="step-1" name="Test step 1" />
|
|
638
|
+
<WizardStep
|
|
639
|
+
id="step-2"
|
|
640
|
+
name="Test step 2"
|
|
641
|
+
steps={[
|
|
642
|
+
<WizardStep id="step2-sub1" name="Hidden sub step" isHidden />,
|
|
643
|
+
<WizardStep id="step2-sub2" name="Visible sub step 1" />,
|
|
644
|
+
<WizardStep id="step2-sub3" name="Visible sub step 2" />
|
|
645
|
+
]}
|
|
646
|
+
/>
|
|
647
|
+
<WizardStep id="step-3" name="Test step 3" />
|
|
648
|
+
</Wizard>
|
|
649
|
+
);
|
|
650
|
+
|
|
651
|
+
// Navigate to step 3 first
|
|
652
|
+
await user.click(screen.getByRole('button', { name: 'Test step 3' }));
|
|
653
|
+
expect(onStepChange).toHaveBeenCalledWith(
|
|
654
|
+
null,
|
|
655
|
+
expect.objectContaining({ id: 'step-3' }),
|
|
656
|
+
expect.objectContaining({ id: 'step-1' }),
|
|
657
|
+
WizardStepChangeScope.Nav
|
|
658
|
+
);
|
|
659
|
+
|
|
660
|
+
// Click on parent step 2 - should navigate to the first VISIBLE sub-step (step2-sub2), not crash
|
|
661
|
+
await user.click(screen.getByRole('button', { name: 'Test step 2' }));
|
|
662
|
+
expect(onStepChange).toHaveBeenCalledWith(
|
|
663
|
+
null,
|
|
664
|
+
expect.objectContaining({ id: 'step2-sub2' }),
|
|
665
|
+
expect.objectContaining({ id: 'step-3' }),
|
|
666
|
+
WizardStepChangeScope.Nav
|
|
667
|
+
);
|
|
668
|
+
});
|
|
@@ -63,9 +63,3 @@ test(`Renders screen reader text and success icon when status is success`, () =>
|
|
|
63
63
|
expect(screen.getByRole('button')).toHaveClass(styles.modifiers.success);
|
|
64
64
|
expect(screen.getByText(', success')).toBeInTheDocument();
|
|
65
65
|
});
|
|
66
|
-
|
|
67
|
-
test(`Renders screen reader text and warning icon when status is warning`, () => {
|
|
68
|
-
render(<WizardNavItem status="warning" />);
|
|
69
|
-
expect(screen.getByRole('button')).toHaveClass(styles.modifiers.warning);
|
|
70
|
-
expect(screen.getByText(', warning')).toBeInTheDocument();
|
|
71
|
-
});
|
|
@@ -70,6 +70,4 @@ test('updates "status" in context when the value changes', () => {
|
|
|
70
70
|
expect(setStep).toHaveBeenCalledWith({ ...testStepProps, status: 'error', isVisited: true });
|
|
71
71
|
render(<WizardStep {...testStep} status="success" />);
|
|
72
72
|
expect(setStep).toHaveBeenCalledWith({ ...testStepProps, status: 'success', isVisited: true });
|
|
73
|
-
render(<WizardStep {...testStep} status="warning" />);
|
|
74
|
-
expect(setStep).toHaveBeenCalledWith({ ...testStepProps, status: 'warning', isVisited: true });
|
|
75
73
|
});
|
|
@@ -6,10 +6,8 @@ interface SomeContextProps {
|
|
|
6
6
|
setErrorMessage(error: string | undefined): void;
|
|
7
7
|
successMessage: string | undefined;
|
|
8
8
|
setSuccessMessage(error: string | undefined): void;
|
|
9
|
-
warningMessage: string | undefined;
|
|
10
|
-
setWarningMessage(error: string | undefined): void;
|
|
11
9
|
}
|
|
12
|
-
type SomeContextRenderProps = Pick<SomeContextProps, 'successMessage', 'errorMessage'
|
|
10
|
+
type SomeContextRenderProps = Pick<SomeContextProps, 'successMessage', 'errorMessage'>;
|
|
13
11
|
interface SomeContextProviderProps {
|
|
14
12
|
children: (context: SomeContextRenderProps) => React.ReactElement<any>;
|
|
15
13
|
}
|
|
@@ -19,20 +17,16 @@ const SomeContext: React.Context<SomeContextProps> = createContext({} as SomeCon
|
|
|
19
17
|
const SomeContextProvider = ({ children }: SomeContextProviderProps) => {
|
|
20
18
|
const [errorMessage, setErrorMessage] = useState<string>();
|
|
21
19
|
const [successMessage, setSuccessMessage] = useState<string>();
|
|
22
|
-
const [warningMessage, setWarningMessage] = useState<string>();
|
|
23
20
|
|
|
24
21
|
return (
|
|
25
|
-
<SomeContext.Provider
|
|
26
|
-
|
|
27
|
-
>
|
|
28
|
-
{children({ errorMessage, successMessage, warningMessage })}
|
|
22
|
+
<SomeContext.Provider value={{ errorMessage, setErrorMessage, successMessage, setSuccessMessage }}>
|
|
23
|
+
{children({ errorMessage, successMessage })}
|
|
29
24
|
</SomeContext.Provider>
|
|
30
25
|
);
|
|
31
26
|
};
|
|
32
27
|
|
|
33
28
|
const StepContentWithAction = () => {
|
|
34
|
-
const { errorMessage, setErrorMessage, successMessage, setSuccessMessage
|
|
35
|
-
useContext(SomeContext);
|
|
29
|
+
const { errorMessage, setErrorMessage, successMessage, setSuccessMessage } = useContext(SomeContext);
|
|
36
30
|
|
|
37
31
|
return (
|
|
38
32
|
<>
|
|
@@ -41,8 +35,7 @@ const StepContentWithAction = () => {
|
|
|
41
35
|
isChecked={!!errorMessage}
|
|
42
36
|
onChange={(_event, checked) => {
|
|
43
37
|
setErrorMessage(checked ? 'Some error message' : undefined);
|
|
44
|
-
setSuccessMessage(checked ?
|
|
45
|
-
setWarningMessage(checked ? undefined : warningMessage);
|
|
38
|
+
setSuccessMessage(!checked ? 'Some error message' : undefined);
|
|
46
39
|
}}
|
|
47
40
|
id="toggle-error-checkbox"
|
|
48
41
|
name="Toggle Status"
|
|
@@ -52,37 +45,23 @@ const StepContentWithAction = () => {
|
|
|
52
45
|
isChecked={!!successMessage}
|
|
53
46
|
onChange={(_event, checked) => {
|
|
54
47
|
setSuccessMessage(checked ? 'Some success message' : undefined);
|
|
55
|
-
setErrorMessage(checked ?
|
|
56
|
-
setWarningMessage(checked ? undefined : warningMessage);
|
|
48
|
+
setErrorMessage(!checked ? 'Some success message' : undefined);
|
|
57
49
|
}}
|
|
58
50
|
id="toggle-success-checkbox"
|
|
59
51
|
name="Toggle Status"
|
|
60
52
|
/>
|
|
61
|
-
<Radio
|
|
62
|
-
label="Give step 1 a warning status"
|
|
63
|
-
isChecked={!!warningMessage}
|
|
64
|
-
onChange={(_event, checked) => {
|
|
65
|
-
setWarningMessage(checked ? 'Some warning message' : undefined);
|
|
66
|
-
setErrorMessage(checked ? undefined : errorMessage);
|
|
67
|
-
setSuccessMessage(checked ? undefined : successMessage);
|
|
68
|
-
}}
|
|
69
|
-
id="toggle-warning-checkbox"
|
|
70
|
-
name="Toggle Status"
|
|
71
|
-
/>
|
|
72
53
|
</>
|
|
73
54
|
);
|
|
74
55
|
};
|
|
75
56
|
|
|
76
57
|
export const WizardStepStatus: React.FunctionComponent = () => (
|
|
77
58
|
<SomeContextProvider>
|
|
78
|
-
{({ errorMessage, successMessage
|
|
59
|
+
{({ errorMessage, successMessage }) => {
|
|
79
60
|
let status = 'default';
|
|
80
61
|
if (errorMessage) {
|
|
81
62
|
status = 'error';
|
|
82
63
|
} else if (successMessage) {
|
|
83
64
|
status = 'success';
|
|
84
|
-
} else if (warningMessage) {
|
|
85
|
-
status = 'warning';
|
|
86
65
|
}
|
|
87
66
|
return (
|
|
88
67
|
<Wizard height={400} title="Step status wizard">
|
|
@@ -23,14 +23,13 @@ export interface WizardBasicStep {
|
|
|
23
23
|
/** Replaces the step's footer. The step's footer takes precedence over the wizard's footer. */
|
|
24
24
|
footer?: React.ReactElement<any> | Partial<WizardFooterProps>;
|
|
25
25
|
/** Used to determine icon next to the step's navItem */
|
|
26
|
-
status?: 'default' | 'error' | 'success'
|
|
26
|
+
status?: 'default' | 'error' | 'success';
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
export enum WizardNavItemStatus {
|
|
30
30
|
Default = 'default',
|
|
31
31
|
Error = 'error',
|
|
32
|
-
Success = 'success'
|
|
33
|
-
Warning = 'warning'
|
|
32
|
+
Success = 'success'
|
|
34
33
|
}
|
|
35
34
|
|
|
36
35
|
/** Type for customizing a button (next, back or cancel) in a Wizard footer. It omits some props which either have a default value or are passed directly via WizardFooterProps. */
|
package/src/demos/AlertGroup.md
CHANGED
|
@@ -15,6 +15,6 @@ This demonstrates how you can assemble a full page view including the use of ale
|
|
|
15
15
|
|
|
16
16
|
### Alert group toast with notification drawer
|
|
17
17
|
|
|
18
|
-
```
|
|
18
|
+
```js file='./examples/AlertGroup/AlertGroupToastWithNotificationDrawer.tsx' isFullscreen
|
|
19
19
|
|
|
20
20
|
```
|
package/src/demos/BackToTop.md
CHANGED
|
@@ -11,5 +11,5 @@ import { DashboardWrapper } from '@patternfly/react-core/dist/js/demos/Dashboard
|
|
|
11
11
|
|
|
12
12
|
Note that `tabIndex={0}` is added to the scrolling `PageSection` of the page to allow keyboard users the ability to focus and scroll.
|
|
13
13
|
|
|
14
|
-
```
|
|
14
|
+
```js isFullscreen file="./examples/BackToTop/BackToTopNameDemo.tsx"
|
|
15
15
|
```
|
|
@@ -1,8 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: Button
|
|
3
|
+
section: components
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
import { useState } from 'react';
|
|
7
|
+
import CheckCircleIcon from '@patternfly/react-icons/dist/esm/icons/check-circle-icon';
|
|
8
|
+
|
|
9
|
+
## Demos
|
|
10
|
+
|
|
11
|
+
### Progress button
|
|
12
|
+
|
|
13
|
+
The following demo shows the intended flow for a button that visually indicates progress. This example demonstrates a login process, which updates the button label based on the `loginState`.
|
|
14
|
+
|
|
15
|
+
Please note that only the button can be interacted with in this example. The username and password input fields cannot be edited as the focus is on the button behavior.
|
|
16
|
+
|
|
17
|
+
```ts
|
|
1
18
|
import { useState } from 'react';
|
|
2
19
|
import { Form, FormGroup, ActionGroup, TextInput, Button } from '@patternfly/react-core';
|
|
3
20
|
import CheckCircleIcon from '@patternfly/react-icons/dist/esm/icons/check-circle-icon';
|
|
4
21
|
|
|
5
|
-
|
|
22
|
+
const ProgressButton: React.FunctionComponent = () => {
|
|
6
23
|
const [loginState, setLoginState] = useState<'notLoggedIn' | 'loading' | 'loggedIn'>('notLoggedIn');
|
|
7
24
|
|
|
8
25
|
return (
|
|
@@ -52,3 +69,4 @@ export const ButtonProgress: React.FunctionComponent = () => {
|
|
|
52
69
|
</Form>
|
|
53
70
|
);
|
|
54
71
|
};
|
|
72
|
+
```
|
|
@@ -23,24 +23,24 @@ import { rows } from '@patternfly/react-core/dist/esm/demos/sampleData';
|
|
|
23
23
|
|
|
24
24
|
### Basic
|
|
25
25
|
|
|
26
|
-
```
|
|
26
|
+
```js file="./DataList/examples/DataListBasic.tsx" isFullscreen
|
|
27
27
|
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
### Expandable control in toolbar
|
|
31
31
|
|
|
32
|
-
```
|
|
32
|
+
```js file="./DataList/examples/DataListExpandableControlInToolbar.tsx" isFullscreen
|
|
33
33
|
|
|
34
34
|
```
|
|
35
35
|
|
|
36
36
|
### Actionable
|
|
37
37
|
|
|
38
|
-
```
|
|
38
|
+
```js file="./DataList/examples/DataListActionable.tsx" isFullscreen
|
|
39
39
|
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
### Static bottom pagination
|
|
43
43
|
|
|
44
|
-
```
|
|
44
|
+
```js file="./DataList/examples/DataListStaticBottomPagination.tsx" isFullscreen
|
|
45
45
|
|
|
46
46
|
```
|
|
@@ -12,10 +12,10 @@ import { DashboardWrapper } from '@patternfly/react-core/dist/js/demos/Dashboard
|
|
|
12
12
|
|
|
13
13
|
### Basic
|
|
14
14
|
|
|
15
|
-
```
|
|
15
|
+
```js file='./examples/DescriptionListBasic.tsx' isFullscreen
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
### In drawer
|
|
19
19
|
|
|
20
|
-
```
|
|
20
|
+
```js file='./examples/DescriptionListInDrawer.tsx' isFullscreen
|
|
21
21
|
```
|
package/src/demos/Nav.md
CHANGED
|
@@ -19,45 +19,45 @@ import { DashboardHeader } from '@patternfly/react-core/dist/js/demos/DashboardH
|
|
|
19
19
|
|
|
20
20
|
### Default nav
|
|
21
21
|
|
|
22
|
-
```
|
|
22
|
+
```js file='./examples/Nav/NavDefault.tsx' isFullscreen
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
### Grouped nav
|
|
26
26
|
|
|
27
|
-
```
|
|
27
|
+
```js file='./examples/Nav/NavGrouped.tsx' isFullscreen
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
### Expandable nav
|
|
31
31
|
|
|
32
|
-
```
|
|
32
|
+
```js file='./examples/Nav/NavExpandable.tsx' isFullscreen
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
### Horizontal nav
|
|
36
36
|
|
|
37
|
-
```
|
|
37
|
+
```js file='./examples/Nav/NavHorizontal.tsx' isFullscreen
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
### Horizontal subnav
|
|
41
41
|
|
|
42
|
-
```
|
|
42
|
+
```js file='./examples/Nav/NavWithSubnav.tsx' isFullscreen
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
### Horizontal nav with horizontal subnav
|
|
46
46
|
|
|
47
|
-
```
|
|
47
|
+
```js file='./examples/Nav/NavHorizontalWithSubnav.tsx' isFullscreen
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
### Manual nav
|
|
51
51
|
|
|
52
|
-
```
|
|
52
|
+
```js file='./examples/Nav/NavManual.tsx' isFullscreen
|
|
53
53
|
```
|
|
54
54
|
|
|
55
55
|
### Flyout nav
|
|
56
56
|
|
|
57
|
-
```
|
|
57
|
+
```js file='./examples/Nav/NavFlyout.tsx' isFullscreen
|
|
58
58
|
```
|
|
59
59
|
|
|
60
60
|
### Drilldown nav
|
|
61
61
|
|
|
62
|
-
```
|
|
62
|
+
```js isFullscreen file="./examples/Nav/NavDrilldown.tsx"
|
|
63
63
|
```
|