@patternfly/react-core 6.3.1-prerelease.2 → 6.3.1-prerelease.21
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 +110 -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/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 -0
- package/dist/dynamic/helpers/AnimationsProvider/package.json +1 -0
- 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 +6 -0
- package/dist/esm/components/Alert/AlertGroup.d.ts +2 -13
- package/dist/esm/components/Alert/AlertGroup.d.ts.map +1 -1
- package/dist/esm/components/Alert/AlertGroup.js +33 -38
- package/dist/esm/components/Alert/AlertGroup.js.map +1 -1
- package/dist/esm/components/Alert/AlertGroupInline.d.ts.map +1 -1
- package/dist/esm/components/Alert/AlertGroupInline.js +3 -1
- package/dist/esm/components/Alert/AlertGroupInline.js.map +1 -1
- package/dist/esm/components/ClipboardCopy/ClipboardCopy.d.ts +2 -0
- package/dist/esm/components/ClipboardCopy/ClipboardCopy.d.ts.map +1 -1
- package/dist/esm/components/ClipboardCopy/ClipboardCopy.js +3 -3
- package/dist/esm/components/ClipboardCopy/ClipboardCopy.js.map +1 -1
- package/dist/esm/components/ClipboardCopy/ClipboardCopyButton.d.ts +2 -2
- package/dist/esm/components/ClipboardCopy/ClipboardCopyButton.d.ts.map +1 -1
- package/dist/esm/components/ClipboardCopy/ClipboardCopyButton.js +2 -2
- package/dist/esm/components/ClipboardCopy/ClipboardCopyButton.js.map +1 -1
- package/dist/esm/components/ClipboardCopy/ClipboardCopyToggle.d.ts +0 -1
- package/dist/esm/components/ClipboardCopy/ClipboardCopyToggle.d.ts.map +1 -1
- package/dist/esm/components/ClipboardCopy/ClipboardCopyToggle.js +2 -2
- package/dist/esm/components/ClipboardCopy/ClipboardCopyToggle.js.map +1 -1
- package/dist/esm/components/DataList/DataListItem.d.ts.map +1 -1
- package/dist/esm/components/DataList/DataListItem.js +8 -0
- package/dist/esm/components/DataList/DataListItem.js.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.d.ts +6 -20
- package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/components/DualListSelector/DualListSelector.d.ts +2 -9
- package/dist/esm/components/DualListSelector/DualListSelector.d.ts.map +1 -1
- package/dist/esm/components/DualListSelector/DualListSelector.js +6 -16
- package/dist/esm/components/DualListSelector/DualListSelector.js.map +1 -1
- package/dist/esm/components/DualListSelector/DualListSelectorTreeItem.d.ts.map +1 -1
- package/dist/esm/components/DualListSelector/DualListSelectorTreeItem.js +3 -1
- package/dist/esm/components/DualListSelector/DualListSelectorTreeItem.js.map +1 -1
- package/dist/esm/components/Form/FormFieldGroupExpandable.d.ts.map +1 -1
- package/dist/esm/components/Form/FormFieldGroupExpandable.js +3 -1
- package/dist/esm/components/Form/FormFieldGroupExpandable.js.map +1 -1
- package/dist/esm/components/Form/InternalFormFieldGroup.d.ts.map +1 -1
- package/dist/esm/components/Form/InternalFormFieldGroup.js +3 -1
- package/dist/esm/components/Form/InternalFormFieldGroup.js.map +1 -1
- package/dist/esm/components/JumpLinks/JumpLinks.d.ts +2 -0
- package/dist/esm/components/JumpLinks/JumpLinks.d.ts.map +1 -1
- package/dist/esm/components/JumpLinks/JumpLinks.js +15 -3
- package/dist/esm/components/JumpLinks/JumpLinks.js.map +1 -1
- package/dist/esm/components/Menu/Menu.d.ts +2 -1
- package/dist/esm/components/Menu/Menu.d.ts.map +1 -1
- package/dist/esm/components/Menu/Menu.js +0 -1
- package/dist/esm/components/Menu/Menu.js.map +1 -1
- package/dist/esm/components/Menu/MenuContainer.d.ts +4 -17
- package/dist/esm/components/Menu/MenuContainer.d.ts.map +1 -1
- package/dist/esm/components/Menu/MenuContainer.js.map +1 -1
- package/dist/esm/components/Menu/MenuGroup.d.ts.map +1 -1
- package/dist/esm/components/Menu/MenuGroup.js +3 -2
- package/dist/esm/components/Menu/MenuGroup.js.map +1 -1
- package/dist/esm/components/Menu/MenuItem.js +3 -2
- package/dist/esm/components/Menu/MenuItem.js.map +1 -1
- package/dist/esm/components/Menu/MenuItemAction.d.ts.map +1 -1
- package/dist/esm/components/Menu/MenuItemAction.js +1 -2
- package/dist/esm/components/Menu/MenuItemAction.js.map +1 -1
- package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatusItem.d.ts +2 -0
- package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatusItem.d.ts.map +1 -1
- package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatusItem.js +2 -2
- package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatusItem.js.map +1 -1
- package/dist/esm/components/Progress/Progress.d.ts +2 -0
- package/dist/esm/components/Progress/Progress.d.ts.map +1 -1
- package/dist/esm/components/Progress/Progress.js +6 -2
- package/dist/esm/components/Progress/Progress.js.map +1 -1
- package/dist/esm/components/Progress/ProgressBar.d.ts +1 -0
- package/dist/esm/components/Progress/ProgressBar.d.ts.map +1 -1
- package/dist/esm/components/Progress/ProgressBar.js +1 -1
- package/dist/esm/components/Progress/ProgressBar.js.map +1 -1
- package/dist/esm/components/Progress/ProgressContainer.js +1 -1
- package/dist/esm/components/Progress/ProgressContainer.js.map +1 -1
- package/dist/esm/components/SearchInput/SearchInput.d.ts.map +1 -1
- package/dist/esm/components/SearchInput/SearchInput.js +3 -1
- package/dist/esm/components/SearchInput/SearchInput.js.map +1 -1
- package/dist/esm/components/Select/Select.d.ts +6 -26
- package/dist/esm/components/Select/Select.d.ts.map +1 -1
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/esm/components/Tabs/OverflowTab.d.ts +4 -25
- package/dist/esm/components/Tabs/OverflowTab.d.ts.map +1 -1
- package/dist/esm/components/Tabs/OverflowTab.js.map +1 -1
- package/dist/esm/components/Tabs/Tabs.d.ts +2 -2
- package/dist/esm/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/esm/components/Tabs/Tabs.js +4 -1
- package/dist/esm/components/Tabs/Tabs.js.map +1 -1
- package/dist/esm/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/esm/components/Tooltip/Tooltip.js +68 -3
- package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/esm/components/TreeView/TreeView.d.ts.map +1 -1
- package/dist/esm/components/TreeView/TreeView.js +3 -1
- package/dist/esm/components/TreeView/TreeView.js.map +1 -1
- package/dist/esm/components/TreeView/TreeViewListItem.d.ts.map +1 -1
- package/dist/esm/components/TreeView/TreeViewListItem.js +3 -1
- package/dist/esm/components/TreeView/TreeViewListItem.js.map +1 -1
- package/dist/esm/components/Truncate/Truncate.d.ts.map +1 -1
- package/dist/esm/components/Truncate/Truncate.js +3 -2
- package/dist/esm/components/Truncate/Truncate.js.map +1 -1
- package/dist/esm/components/Wizard/WizardNavItem.js +1 -1
- package/dist/esm/components/Wizard/WizardNavItem.js.map +1 -1
- package/dist/esm/deprecated/components/Wizard/WizardNavItem.js +1 -1
- package/dist/esm/deprecated/components/Wizard/WizardNavItem.js.map +1 -1
- package/dist/esm/helpers/AnimationsProvider/AnimationsProvider.d.ts +76 -0
- package/dist/esm/helpers/AnimationsProvider/AnimationsProvider.d.ts.map +1 -0
- package/dist/esm/helpers/AnimationsProvider/AnimationsProvider.js +83 -0
- package/dist/esm/helpers/AnimationsProvider/AnimationsProvider.js.map +1 -0
- package/dist/esm/helpers/AnimationsProvider/index.d.ts +2 -0
- package/dist/esm/helpers/AnimationsProvider/index.d.ts.map +1 -0
- package/dist/esm/helpers/AnimationsProvider/index.js +2 -0
- package/dist/esm/helpers/AnimationsProvider/index.js.map +1 -0
- package/dist/esm/helpers/Popper/Popper.d.ts +28 -21
- package/dist/esm/helpers/Popper/Popper.d.ts.map +1 -1
- package/dist/esm/helpers/Popper/Popper.js +2 -2
- package/dist/esm/helpers/Popper/Popper.js.map +1 -1
- package/dist/esm/helpers/index.d.ts +1 -0
- package/dist/esm/helpers/index.d.ts.map +1 -1
- package/dist/esm/helpers/index.js +1 -0
- package/dist/esm/helpers/index.js.map +1 -1
- package/dist/js/components/Alert/AlertGroup.d.ts +2 -13
- package/dist/js/components/Alert/AlertGroup.d.ts.map +1 -1
- package/dist/js/components/Alert/AlertGroup.js +33 -37
- package/dist/js/components/Alert/AlertGroup.js.map +1 -1
- package/dist/js/components/Alert/AlertGroupInline.d.ts.map +1 -1
- package/dist/js/components/Alert/AlertGroupInline.js +3 -1
- package/dist/js/components/Alert/AlertGroupInline.js.map +1 -1
- package/dist/js/components/ClipboardCopy/ClipboardCopy.d.ts +2 -0
- package/dist/js/components/ClipboardCopy/ClipboardCopy.d.ts.map +1 -1
- package/dist/js/components/ClipboardCopy/ClipboardCopy.js +3 -3
- package/dist/js/components/ClipboardCopy/ClipboardCopy.js.map +1 -1
- package/dist/js/components/ClipboardCopy/ClipboardCopyButton.d.ts +2 -2
- package/dist/js/components/ClipboardCopy/ClipboardCopyButton.d.ts.map +1 -1
- package/dist/js/components/ClipboardCopy/ClipboardCopyButton.js +2 -2
- package/dist/js/components/ClipboardCopy/ClipboardCopyButton.js.map +1 -1
- package/dist/js/components/ClipboardCopy/ClipboardCopyToggle.d.ts +0 -1
- package/dist/js/components/ClipboardCopy/ClipboardCopyToggle.d.ts.map +1 -1
- package/dist/js/components/ClipboardCopy/ClipboardCopyToggle.js +2 -2
- package/dist/js/components/ClipboardCopy/ClipboardCopyToggle.js.map +1 -1
- package/dist/js/components/DataList/DataListItem.d.ts.map +1 -1
- package/dist/js/components/DataList/DataListItem.js +8 -0
- package/dist/js/components/DataList/DataListItem.js.map +1 -1
- package/dist/js/components/Dropdown/Dropdown.d.ts +6 -20
- package/dist/js/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/js/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/js/components/DualListSelector/DualListSelector.d.ts +2 -9
- package/dist/js/components/DualListSelector/DualListSelector.d.ts.map +1 -1
- package/dist/js/components/DualListSelector/DualListSelector.js +7 -16
- package/dist/js/components/DualListSelector/DualListSelector.js.map +1 -1
- package/dist/js/components/DualListSelector/DualListSelectorTreeItem.d.ts.map +1 -1
- package/dist/js/components/DualListSelector/DualListSelectorTreeItem.js +3 -1
- package/dist/js/components/DualListSelector/DualListSelectorTreeItem.js.map +1 -1
- package/dist/js/components/Form/FormFieldGroupExpandable.d.ts.map +1 -1
- package/dist/js/components/Form/FormFieldGroupExpandable.js +3 -1
- package/dist/js/components/Form/FormFieldGroupExpandable.js.map +1 -1
- package/dist/js/components/Form/InternalFormFieldGroup.d.ts.map +1 -1
- package/dist/js/components/Form/InternalFormFieldGroup.js +3 -1
- package/dist/js/components/Form/InternalFormFieldGroup.js.map +1 -1
- package/dist/js/components/JumpLinks/JumpLinks.d.ts +2 -0
- package/dist/js/components/JumpLinks/JumpLinks.d.ts.map +1 -1
- package/dist/js/components/JumpLinks/JumpLinks.js +14 -2
- package/dist/js/components/JumpLinks/JumpLinks.js.map +1 -1
- package/dist/js/components/Menu/Menu.d.ts +2 -1
- package/dist/js/components/Menu/Menu.d.ts.map +1 -1
- package/dist/js/components/Menu/Menu.js +0 -1
- package/dist/js/components/Menu/Menu.js.map +1 -1
- package/dist/js/components/Menu/MenuContainer.d.ts +4 -17
- package/dist/js/components/Menu/MenuContainer.d.ts.map +1 -1
- package/dist/js/components/Menu/MenuContainer.js.map +1 -1
- package/dist/js/components/Menu/MenuGroup.d.ts.map +1 -1
- package/dist/js/components/Menu/MenuGroup.js +3 -2
- package/dist/js/components/Menu/MenuGroup.js.map +1 -1
- package/dist/js/components/Menu/MenuItem.js +3 -2
- package/dist/js/components/Menu/MenuItem.js.map +1 -1
- package/dist/js/components/Menu/MenuItemAction.d.ts.map +1 -1
- package/dist/js/components/Menu/MenuItemAction.js +1 -2
- package/dist/js/components/Menu/MenuItemAction.js.map +1 -1
- package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatusItem.d.ts +2 -0
- package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatusItem.d.ts.map +1 -1
- package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatusItem.js +2 -2
- package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatusItem.js.map +1 -1
- package/dist/js/components/Progress/Progress.d.ts +2 -0
- package/dist/js/components/Progress/Progress.d.ts.map +1 -1
- package/dist/js/components/Progress/Progress.js +6 -2
- package/dist/js/components/Progress/Progress.js.map +1 -1
- package/dist/js/components/Progress/ProgressBar.d.ts +1 -0
- package/dist/js/components/Progress/ProgressBar.d.ts.map +1 -1
- package/dist/js/components/Progress/ProgressBar.js +1 -1
- package/dist/js/components/Progress/ProgressBar.js.map +1 -1
- package/dist/js/components/Progress/ProgressContainer.js +1 -1
- package/dist/js/components/Progress/ProgressContainer.js.map +1 -1
- package/dist/js/components/SearchInput/SearchInput.d.ts.map +1 -1
- package/dist/js/components/SearchInput/SearchInput.js +3 -1
- package/dist/js/components/SearchInput/SearchInput.js.map +1 -1
- package/dist/js/components/Select/Select.d.ts +6 -26
- package/dist/js/components/Select/Select.d.ts.map +1 -1
- package/dist/js/components/Select/Select.js.map +1 -1
- package/dist/js/components/Tabs/OverflowTab.d.ts +4 -25
- package/dist/js/components/Tabs/OverflowTab.d.ts.map +1 -1
- package/dist/js/components/Tabs/OverflowTab.js.map +1 -1
- package/dist/js/components/Tabs/Tabs.d.ts +2 -2
- package/dist/js/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/js/components/Tabs/Tabs.js +4 -1
- package/dist/js/components/Tabs/Tabs.js.map +1 -1
- package/dist/js/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/js/components/Tooltip/Tooltip.js +68 -3
- package/dist/js/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/js/components/TreeView/TreeView.d.ts.map +1 -1
- package/dist/js/components/TreeView/TreeView.js +3 -1
- package/dist/js/components/TreeView/TreeView.js.map +1 -1
- package/dist/js/components/TreeView/TreeViewListItem.d.ts.map +1 -1
- package/dist/js/components/TreeView/TreeViewListItem.js +3 -1
- package/dist/js/components/TreeView/TreeViewListItem.js.map +1 -1
- package/dist/js/components/Truncate/Truncate.d.ts.map +1 -1
- package/dist/js/components/Truncate/Truncate.js +2 -1
- package/dist/js/components/Truncate/Truncate.js.map +1 -1
- package/dist/js/components/Wizard/WizardNavItem.js +1 -1
- package/dist/js/components/Wizard/WizardNavItem.js.map +1 -1
- package/dist/js/deprecated/components/Wizard/WizardNavItem.js +1 -1
- package/dist/js/deprecated/components/Wizard/WizardNavItem.js.map +1 -1
- package/dist/js/helpers/AnimationsProvider/AnimationsProvider.d.ts +76 -0
- package/dist/js/helpers/AnimationsProvider/AnimationsProvider.d.ts.map +1 -0
- package/dist/js/helpers/AnimationsProvider/AnimationsProvider.js +89 -0
- package/dist/js/helpers/AnimationsProvider/AnimationsProvider.js.map +1 -0
- package/dist/js/helpers/AnimationsProvider/index.d.ts +2 -0
- package/dist/js/helpers/AnimationsProvider/index.d.ts.map +1 -0
- package/dist/js/helpers/AnimationsProvider/index.js +5 -0
- package/dist/js/helpers/AnimationsProvider/index.js.map +1 -0
- package/dist/js/helpers/Popper/Popper.d.ts +28 -21
- package/dist/js/helpers/Popper/Popper.d.ts.map +1 -1
- package/dist/js/helpers/Popper/Popper.js +2 -2
- package/dist/js/helpers/Popper/Popper.js.map +1 -1
- package/dist/js/helpers/index.d.ts +1 -0
- package/dist/js/helpers/index.d.ts.map +1 -1
- package/dist/js/helpers/index.js +1 -0
- package/dist/js/helpers/index.js.map +1 -1
- package/dist/styles/base-no-reset.css +1172 -1
- package/dist/styles/base.css +1176 -1
- package/dist/umd/assets/{output-mLkegqf5.css → output-DXwwe2L-.css} +20464 -20049
- package/dist/umd/react-core.min.js +3 -3
- 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/Alert/AlertGroup.tsx +59 -63
- package/src/components/Alert/AlertGroupInline.tsx +3 -1
- package/src/components/Alert/__tests__/AlertGroup.test.tsx +55 -4
- package/src/components/ClipboardCopy/ClipboardCopy.tsx +5 -5
- package/src/components/ClipboardCopy/ClipboardCopyButton.tsx +2 -4
- package/src/components/ClipboardCopy/ClipboardCopyToggle.tsx +0 -3
- package/src/components/ClipboardCopy/__tests__/ClipboardCopy.test.tsx +16 -0
- package/src/components/ClipboardCopy/__tests__/ClipboardCopyButton.test.tsx +5 -28
- package/src/components/ClipboardCopy/__tests__/ClipboardCopyToggle.test.tsx +3 -4
- package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopy.test.tsx.snap +1 -1
- package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopyButton.test.tsx.snap +0 -1
- package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopyToggle.test.tsx.snap +0 -1
- package/src/components/ClipboardCopy/examples/ClipboardCopyBasic.tsx +1 -1
- package/src/components/ClipboardCopy/examples/ClipboardCopyExpanded.tsx +7 -1
- package/src/components/ClipboardCopy/examples/ClipboardCopyExpandedWithArray.tsx +7 -1
- package/src/components/ClipboardCopy/examples/ClipboardCopyInlineCompact.tsx +1 -1
- package/src/components/ClipboardCopy/examples/ClipboardCopyInlineCompactCode.tsx +7 -1
- package/src/components/ClipboardCopy/examples/ClipboardCopyInlineCompactInSentence.tsx +19 -3
- package/src/components/ClipboardCopy/examples/ClipboardCopyInlineCompactTruncation.tsx +14 -2
- package/src/components/ClipboardCopy/examples/ClipboardCopyInlineCompactWithAdditionalAction.tsx +1 -0
- package/src/components/ClipboardCopy/examples/ClipboardCopyJSONObject.tsx +8 -1
- package/src/components/ClipboardCopy/examples/ClipboardCopyReadOnly.tsx +1 -1
- package/src/components/ClipboardCopy/examples/ClipboardCopyReadOnlyExpanded.tsx +8 -1
- package/src/components/ClipboardCopy/examples/ClipboardCopyReadOnlyExpandedByDefault.tsx +9 -1
- package/src/components/DataList/DataListItem.tsx +12 -0
- package/src/components/Dropdown/Dropdown.tsx +6 -21
- package/src/components/Dropdown/examples/Dropdown.md +2 -2
- package/src/components/DualListSelector/DualListSelector.tsx +32 -39
- package/src/components/DualListSelector/DualListSelectorTreeItem.tsx +3 -1
- package/src/components/DualListSelector/__tests__/DualListSelector.test.tsx +28 -0
- package/src/components/Form/FormFieldGroupExpandable.tsx +3 -1
- package/src/components/Form/InternalFormFieldGroup.tsx +3 -1
- package/src/components/Form/__tests__/FormFieldGroupExpandable.test.tsx +30 -0
- package/src/components/JumpLinks/JumpLinks.tsx +33 -5
- package/src/components/JumpLinks/__tests__/JumpLinks.test.tsx +196 -1
- package/src/components/JumpLinks/__tests__/__snapshots__/JumpLinks.test.tsx.snap +9 -9
- package/src/components/JumpLinks/examples/JumpLinksBasic.tsx +1 -1
- package/src/components/JumpLinks/examples/JumpLinksExpandableVerticalWithSubsection.tsx +2 -2
- package/src/components/JumpLinks/examples/JumpLinksVertical.tsx +1 -1
- package/src/components/JumpLinks/examples/JumpLinksVerticalWithLabel.tsx +1 -1
- package/src/components/JumpLinks/examples/JumpLinksWithCenteredList.tsx +1 -1
- package/src/components/JumpLinks/examples/JumpLinksWithLabel.tsx +2 -2
- package/src/components/Menu/Menu.tsx +2 -2
- package/src/components/Menu/MenuContainer.tsx +4 -17
- package/src/components/Menu/MenuGroup.tsx +13 -7
- package/src/components/Menu/MenuItem.tsx +2 -2
- package/src/components/Menu/MenuItemAction.tsx +3 -2
- package/src/components/Menu/__tests__/Menu.test.tsx +39 -1
- package/src/components/Menu/examples/Menu.md +3 -3
- package/src/components/MultipleFileUpload/MultipleFileUploadStatusItem.tsx +4 -0
- package/src/components/MultipleFileUpload/examples/MultipleFileUploadBasic.tsx +5 -4
- package/src/components/Progress/Progress.tsx +9 -1
- package/src/components/Progress/ProgressBar.tsx +2 -1
- package/src/components/Progress/ProgressContainer.tsx +1 -1
- package/src/components/Progress/__tests__/Generated/__snapshots__/ProgressBar.test.tsx.snap +1 -0
- package/src/components/Progress/__tests__/ProgressBar.test.tsx +19 -0
- package/src/components/Progress/examples/Progress.md +67 -23
- package/src/components/Progress/examples/ProgressHelperText.tsx +8 -2
- package/src/components/SearchInput/SearchInput.tsx +3 -1
- package/src/components/SearchInput/__tests__/SearchInput.test.tsx +52 -0
- package/src/components/Select/Select.tsx +6 -27
- package/src/components/Select/examples/Select.md +1 -1
- package/src/components/Tabs/OverflowTab.tsx +4 -26
- package/src/components/Tabs/Tabs.tsx +11 -3
- package/src/components/Tabs/__tests__/Tabs.test.tsx +60 -0
- package/src/components/Tabs/__tests__/__snapshots__/Tabs.test.tsx.snap +14 -14
- package/src/components/Tabs/examples/Tabs.md +27 -27
- package/src/components/Tooltip/Tooltip.tsx +76 -3
- package/src/components/Tooltip/__tests__/Tooltip.test.tsx +126 -0
- package/src/components/TreeView/TreeView.tsx +3 -1
- package/src/components/TreeView/TreeViewListItem.tsx +3 -1
- package/src/components/TreeView/__tests__/TreeView.test.tsx +28 -0
- package/src/components/TreeView/__tests__/__snapshots__/TreeView.test.tsx.snap +1 -1
- package/src/components/Truncate/Truncate.tsx +3 -1
- package/src/components/Truncate/examples/TruncateExamples.css +2 -2
- package/src/components/Wizard/WizardNavItem.tsx +1 -1
- package/src/demos/DataList/examples/DataListBasic.tsx +74 -19
- package/src/demos/DataList/examples/DataListStaticBottomPagination.tsx +16 -3
- package/src/demos/DataListDemo.md +5 -2
- package/src/demos/examples/PrimaryDetail/PrimaryDetailCardView.tsx +1 -1
- package/src/deprecated/components/Wizard/WizardNavItem.tsx +1 -1
- package/src/helpers/AnimationsProvider/AnimationsProvider.tsx +104 -0
- package/src/helpers/AnimationsProvider/__tests__/AnimationsProvider.test.tsx +157 -0
- package/src/helpers/AnimationsProvider/index.ts +1 -0
- package/src/helpers/Popper/Popper.tsx +31 -22
- package/src/helpers/index.ts +1 -0
|
@@ -4,6 +4,7 @@ import { css } from '@patternfly/react-styles';
|
|
|
4
4
|
export interface AriaProps {
|
|
5
5
|
'aria-labelledby'?: string;
|
|
6
6
|
'aria-label'?: string;
|
|
7
|
+
'aria-describedby'?: string;
|
|
7
8
|
'aria-valuemin'?: number;
|
|
8
9
|
'aria-valuenow'?: number;
|
|
9
10
|
'aria-valuemax'?: number;
|
|
@@ -28,7 +29,7 @@ export const ProgressBar: React.FunctionComponent<ProgressBarProps> = ({
|
|
|
28
29
|
value,
|
|
29
30
|
...props
|
|
30
31
|
}: ProgressBarProps) => (
|
|
31
|
-
<div {...props} className={css(styles.progressBar, className)} {...progressBarAriaProps}>
|
|
32
|
+
<div role="progressbar" {...props} className={css(styles.progressBar, className)} {...progressBarAriaProps}>
|
|
32
33
|
<div className={css(styles.progressIndicator)} style={{ width: `${value}%` }}>
|
|
33
34
|
<span className={css(styles.progressMeasure)}>{children}</span>
|
|
34
35
|
</div>
|
|
@@ -130,7 +130,7 @@ export const ProgressContainer: React.FunctionComponent<ProgressContainerProps>
|
|
|
130
130
|
)}
|
|
131
131
|
</div>
|
|
132
132
|
)}
|
|
133
|
-
<ProgressBar
|
|
133
|
+
<ProgressBar progressBarAriaProps={progressBarAriaProps} value={value}>
|
|
134
134
|
{measureLocation === ProgressMeasureLocation.inside && `${value}%`}
|
|
135
135
|
</ProgressBar>
|
|
136
136
|
{helperText && <ProgressHelperText>{helperText}</ProgressHelperText>}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { render, screen } from '@testing-library/react';
|
|
2
|
+
import { ProgressBar } from '../ProgressBar';
|
|
3
|
+
|
|
4
|
+
test('Does not render with aria-describedby by default', () => {
|
|
5
|
+
render(<ProgressBar value={33} />);
|
|
6
|
+
|
|
7
|
+
expect(screen.getByRole('progressbar')).not.toHaveAccessibleDescription();
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
test('Renders with aria-describedby when progressBarAriaProps is passed in', () => {
|
|
11
|
+
render(
|
|
12
|
+
<>
|
|
13
|
+
<div id="test-id">Test description</div>
|
|
14
|
+
<ProgressBar value={33} progressBarAriaProps={{ 'aria-describedby': 'test-id' }} />
|
|
15
|
+
</>
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
expect(screen.getByRole('progressbar')).toHaveAccessibleDescription('Test description');
|
|
19
|
+
});
|
|
@@ -8,75 +8,119 @@ propComponents: ['Progress']
|
|
|
8
8
|
import { useState } from 'react';
|
|
9
9
|
|
|
10
10
|
## Examples
|
|
11
|
+
|
|
11
12
|
### Basic
|
|
13
|
+
|
|
12
14
|
```ts file="./ProgressBasic.tsx"
|
|
15
|
+
|
|
13
16
|
```
|
|
14
17
|
|
|
15
18
|
### Small
|
|
19
|
+
|
|
16
20
|
```ts file="./ProgressSmall.tsx"
|
|
21
|
+
|
|
17
22
|
```
|
|
18
23
|
|
|
19
24
|
### Large
|
|
25
|
+
|
|
20
26
|
```ts file="./ProgressLarge.tsx"
|
|
21
|
-
```
|
|
22
27
|
|
|
23
|
-
### Outside
|
|
24
|
-
```ts file="./ProgressOutside.tsx"
|
|
25
28
|
```
|
|
26
29
|
|
|
27
|
-
###
|
|
28
|
-
```ts file="./ProgressInside.tsx"
|
|
29
|
-
```
|
|
30
|
+
### Outside
|
|
30
31
|
|
|
31
|
-
|
|
32
|
-
```ts file="./ProgressSuccess.tsx"
|
|
33
|
-
```
|
|
32
|
+
```ts file="./ProgressOutside.tsx"
|
|
34
33
|
|
|
35
|
-
### Failure
|
|
36
|
-
```ts file="./ProgressFailure.tsx"
|
|
37
34
|
```
|
|
38
35
|
|
|
39
|
-
###
|
|
40
|
-
```ts file="./ProgressWarning.tsx"
|
|
41
|
-
```
|
|
36
|
+
### Inside
|
|
42
37
|
|
|
43
|
-
|
|
44
|
-
```ts file="./ProgressInsideSuccess.tsx"
|
|
45
|
-
```
|
|
38
|
+
```ts file="./ProgressInside.tsx"
|
|
46
39
|
|
|
47
|
-
### Outside failure
|
|
48
|
-
```ts file="./ProgressOutsideFailure.tsx"
|
|
49
40
|
```
|
|
50
41
|
|
|
51
42
|
### Single line
|
|
43
|
+
|
|
52
44
|
```ts file="./ProgressSingleLine.tsx"
|
|
45
|
+
|
|
53
46
|
```
|
|
54
47
|
|
|
55
48
|
### Without measure
|
|
49
|
+
|
|
56
50
|
```ts file="./ProgressWithoutMeasure.tsx"
|
|
57
|
-
```
|
|
58
51
|
|
|
59
|
-
### Failure without measure
|
|
60
|
-
```ts file="./ProgressFailureWithoutMeasure.tsx"
|
|
61
52
|
```
|
|
62
53
|
|
|
63
|
-
|
|
64
54
|
### Finite step
|
|
55
|
+
|
|
65
56
|
```ts file="./ProgressFiniteStep.tsx"
|
|
57
|
+
|
|
66
58
|
```
|
|
67
59
|
|
|
68
60
|
### Progress with step instructions
|
|
61
|
+
|
|
69
62
|
```ts file="./ProgressStepInstruction.tsx"
|
|
63
|
+
|
|
70
64
|
```
|
|
71
65
|
|
|
72
66
|
### Truncate title
|
|
67
|
+
|
|
73
68
|
```ts file="./ProgressTruncateTitle.tsx"
|
|
69
|
+
|
|
74
70
|
```
|
|
75
71
|
|
|
76
72
|
### Title outside of progress bar
|
|
73
|
+
|
|
77
74
|
```ts file="./ProgressTitleOutsideOfProgressBar.tsx"
|
|
75
|
+
|
|
78
76
|
```
|
|
79
77
|
|
|
80
78
|
### Helper text
|
|
79
|
+
|
|
81
80
|
```ts file="./ProgressHelperText.tsx"
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Status examples
|
|
85
|
+
|
|
86
|
+
When conveying status, you should ensure:
|
|
87
|
+
|
|
88
|
+
- There is visible helper text that explains the status.
|
|
89
|
+
- The helper text includes the status icon, as seen in our [basic helper text example](/components/helper-text#basic).
|
|
90
|
+
- The helper text is linked to the `<Progress>` component via the `aria-describedby` property, as seen in the [progress helper text example](#helper-text).
|
|
91
|
+
|
|
92
|
+
### Success
|
|
93
|
+
|
|
94
|
+
```ts file="./ProgressSuccess.tsx"
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Failure
|
|
99
|
+
|
|
100
|
+
```ts file="./ProgressFailure.tsx"
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Warning
|
|
105
|
+
|
|
106
|
+
```ts file="./ProgressWarning.tsx"
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Inside success
|
|
111
|
+
|
|
112
|
+
```ts file="./ProgressInsideSuccess.tsx"
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Outside failure
|
|
117
|
+
|
|
118
|
+
```ts file="./ProgressOutsideFailure.tsx"
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Failure without measure
|
|
123
|
+
|
|
124
|
+
```ts file="./ProgressFailureWithoutMeasure.tsx"
|
|
125
|
+
|
|
82
126
|
```
|
|
@@ -25,7 +25,7 @@ export const ProgressHelperText: React.FunctionComponent = () => {
|
|
|
25
25
|
const helperTextVariant = selectedVariant === 'danger' ? 'error' : selectedVariant;
|
|
26
26
|
|
|
27
27
|
const helperText = (
|
|
28
|
-
<HelperText>
|
|
28
|
+
<HelperText id="progress-helper-text-example-help-text">
|
|
29
29
|
<HelperTextItem variant={helperTextVariant}>
|
|
30
30
|
{`${formatVariantName(selectedVariant)} variant is being displayed`}
|
|
31
31
|
</HelperTextItem>
|
|
@@ -36,7 +36,13 @@ export const ProgressHelperText: React.FunctionComponent = () => {
|
|
|
36
36
|
<>
|
|
37
37
|
{variantOptions}
|
|
38
38
|
<br />
|
|
39
|
-
<Progress
|
|
39
|
+
<Progress
|
|
40
|
+
aria-describedby="progress-helper-text-example-help-text"
|
|
41
|
+
value={33}
|
|
42
|
+
title="Title"
|
|
43
|
+
helperText={helperText}
|
|
44
|
+
variant={selectedVariant}
|
|
45
|
+
/>
|
|
40
46
|
</>
|
|
41
47
|
);
|
|
42
48
|
};
|
|
@@ -13,6 +13,7 @@ import { AdvancedSearchMenu } from './AdvancedSearchMenu';
|
|
|
13
13
|
import { TextInputGroup, TextInputGroupMain, TextInputGroupUtilities } from '../TextInputGroup';
|
|
14
14
|
import { InputGroup, InputGroupItem } from '../InputGroup';
|
|
15
15
|
import { Popper } from '../../helpers';
|
|
16
|
+
import { useHasAnimations } from '../../helpers';
|
|
16
17
|
import textInputGroupStyles from '@patternfly/react-styles/css/components/TextInputGroup/text-input-group';
|
|
17
18
|
import inputGroupStyles from '@patternfly/react-styles/css/components/InputGroup/input-group';
|
|
18
19
|
|
|
@@ -180,7 +181,8 @@ const SearchInputBase: React.FunctionComponent<SearchInputProps> = ({
|
|
|
180
181
|
const popperRef = useRef(null);
|
|
181
182
|
const [focusAfterExpandChange, setFocusAfterExpandChange] = useState(false);
|
|
182
183
|
|
|
183
|
-
const { isExpanded, onToggleExpand, toggleAriaLabel, hasAnimations } = expandableInput || {};
|
|
184
|
+
const { isExpanded, onToggleExpand, toggleAriaLabel, hasAnimations: hasAnimationsProp } = expandableInput || {};
|
|
185
|
+
const hasAnimations = useHasAnimations(hasAnimationsProp);
|
|
184
186
|
|
|
185
187
|
useEffect(() => {
|
|
186
188
|
// this effect and the focusAfterExpandChange variable are needed to focus the input/toggle as needed when the
|
|
@@ -5,6 +5,7 @@ import userEvent from '@testing-library/user-event';
|
|
|
5
5
|
import { SearchInput } from '../SearchInput';
|
|
6
6
|
import { FormGroup } from '../../Form';
|
|
7
7
|
import { Button } from '../../Button';
|
|
8
|
+
import { AnimationsProvider } from '../../../helpers/AnimationsProvider';
|
|
8
9
|
import ExternalLinkSquareAltIcon from '@patternfly/react-icons/dist/esm/icons/external-link-square-alt-icon';
|
|
9
10
|
import badgeStyles from '@patternfly/react-styles/css/components/Badge/badge';
|
|
10
11
|
import textInputGroupStyles from '@patternfly/react-styles/css/components/TextInputGroup/text-input-group';
|
|
@@ -363,3 +364,54 @@ test('Additional props are spread when inputProps prop is passed', () => {
|
|
|
363
364
|
render(<SearchInput aria-label="Test input" inputProps={{ autofocus: 'true' }} />);
|
|
364
365
|
expect(screen.getByLabelText('Test input')).toHaveAttribute('autofocus', 'true');
|
|
365
366
|
});
|
|
367
|
+
|
|
368
|
+
// Animation context tests
|
|
369
|
+
test('respects AnimationsProvider context when no local hasAnimations prop for expandable input', () => {
|
|
370
|
+
render(
|
|
371
|
+
<AnimationsProvider config={{ hasAnimations: true }}>
|
|
372
|
+
<SearchInput
|
|
373
|
+
data-testid="test-id"
|
|
374
|
+
expandableInput={{
|
|
375
|
+
isExpanded: false,
|
|
376
|
+
onToggleExpand: () => {},
|
|
377
|
+
toggleAriaLabel: 'Test label'
|
|
378
|
+
}}
|
|
379
|
+
/>
|
|
380
|
+
</AnimationsProvider>
|
|
381
|
+
);
|
|
382
|
+
|
|
383
|
+
expect(screen.getByTestId('test-id')).toHaveClass(`${inputGroupStyles.modifiers.searchExpandable}`);
|
|
384
|
+
});
|
|
385
|
+
|
|
386
|
+
test('local hasAnimations prop takes precedence over context for expandable input', () => {
|
|
387
|
+
render(
|
|
388
|
+
<AnimationsProvider config={{ hasAnimations: true }}>
|
|
389
|
+
<SearchInput
|
|
390
|
+
data-testid="test-id"
|
|
391
|
+
expandableInput={{
|
|
392
|
+
hasAnimations: false,
|
|
393
|
+
isExpanded: false,
|
|
394
|
+
onToggleExpand: () => {},
|
|
395
|
+
toggleAriaLabel: 'Test label'
|
|
396
|
+
}}
|
|
397
|
+
/>
|
|
398
|
+
</AnimationsProvider>
|
|
399
|
+
);
|
|
400
|
+
|
|
401
|
+
expect(screen.getByTestId('test-id')).not.toHaveClass(`${inputGroupStyles.modifiers.searchExpandable}`);
|
|
402
|
+
});
|
|
403
|
+
|
|
404
|
+
test('works without AnimationsProvider for expandable input (backward compatibility)', () => {
|
|
405
|
+
render(
|
|
406
|
+
<SearchInput
|
|
407
|
+
data-testid="test-id"
|
|
408
|
+
expandableInput={{
|
|
409
|
+
isExpanded: false,
|
|
410
|
+
onToggleExpand: () => {},
|
|
411
|
+
toggleAriaLabel: 'Test label'
|
|
412
|
+
}}
|
|
413
|
+
/>
|
|
414
|
+
);
|
|
415
|
+
|
|
416
|
+
expect(screen.getByTestId('test-id')).not.toHaveClass(`${inputGroupStyles.modifiers.searchExpandable}`);
|
|
417
|
+
});
|
|
@@ -1,33 +1,12 @@
|
|
|
1
1
|
import { forwardRef, useEffect, useRef } from 'react';
|
|
2
2
|
import { css } from '@patternfly/react-styles';
|
|
3
3
|
import { Menu, MenuContent, MenuProps } from '../Menu';
|
|
4
|
-
import { Popper } from '../../helpers/Popper/Popper';
|
|
4
|
+
import { Popper, PopperOptions } from '../../helpers/Popper/Popper';
|
|
5
5
|
import { getOUIAProps, OUIAProps, getDefaultOUIAId, onToggleArrowKeydownDefault } from '../../helpers';
|
|
6
|
+
import type { SelectOptionProps } from './SelectOption';
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
direction?: 'up' | 'down';
|
|
10
|
-
/** Horizontal position of the popper */
|
|
11
|
-
position?: 'right' | 'left' | 'center' | 'start' | 'end';
|
|
12
|
-
/** Custom width of the popper. If the value is "trigger", it will set the width to the select toggle's width */
|
|
13
|
-
width?: string | 'trigger';
|
|
14
|
-
/** Minimum width of the popper. If the value is "trigger", it will set the min width to the select toggle's width */
|
|
15
|
-
minWidth?: string | 'trigger';
|
|
16
|
-
/** Maximum width of the popper. If the value is "trigger", it will set the max width to the select toggle's width */
|
|
17
|
-
maxWidth?: string | 'trigger';
|
|
18
|
-
/** Enable to flip the popper when it reaches the boundary */
|
|
19
|
-
enableFlip?: boolean;
|
|
20
|
-
/** The container to append the select to. Defaults to document.body.
|
|
21
|
-
* If your select is being cut off you can append it to an element higher up the DOM tree.
|
|
22
|
-
* Some examples:
|
|
23
|
-
* appendTo="inline"
|
|
24
|
-
* appendTo={() => document.body}
|
|
25
|
-
* appendTo={document.getElementById('target')}
|
|
26
|
-
*/
|
|
27
|
-
appendTo?: HTMLElement | (() => HTMLElement) | 'inline';
|
|
28
|
-
/** Flag to prevent the popper from overflowing its container and becoming partially obscured. */
|
|
29
|
-
preventOverflow?: boolean;
|
|
30
|
-
}
|
|
8
|
+
/** @deprecated Use PopperOptions instead */
|
|
9
|
+
export type SelectPopperProps = PopperOptions;
|
|
31
10
|
|
|
32
11
|
export interface SelectToggleProps {
|
|
33
12
|
/** Select toggle node. */
|
|
@@ -56,7 +35,7 @@ export interface SelectProps extends MenuProps, OUIAProps {
|
|
|
56
35
|
/** @beta Flag indicating the first menu item should be focused after opening the menu. */
|
|
57
36
|
shouldFocusFirstItemOnOpen?: boolean;
|
|
58
37
|
/** Function callback when user selects an option. */
|
|
59
|
-
onSelect?: (event?: React.MouseEvent<Element, MouseEvent>, value?:
|
|
38
|
+
onSelect?: (event?: React.MouseEvent<Element, MouseEvent>, value?: SelectOptionProps['value']) => void;
|
|
60
39
|
/** Callback to allow the select component to change the open state of the menu.
|
|
61
40
|
* Triggered by clicking outside of the menu, or by pressing any keys specified in onOpenChangeKeys. */
|
|
62
41
|
onOpenChange?: (isOpen: boolean) => void;
|
|
@@ -75,7 +54,7 @@ export interface SelectProps extends MenuProps, OUIAProps {
|
|
|
75
54
|
/** Determines the accessible role of the select. For a checkbox select pass in "menu". */
|
|
76
55
|
role?: string;
|
|
77
56
|
/** Additional properties to pass to the popper */
|
|
78
|
-
popperProps?:
|
|
57
|
+
popperProps?: PopperOptions;
|
|
79
58
|
/** Height of the select menu */
|
|
80
59
|
menuHeight?: string;
|
|
81
60
|
/** Maximum height of select menu */
|
|
@@ -4,7 +4,7 @@ section: components
|
|
|
4
4
|
subsection: menus
|
|
5
5
|
cssPrefix: pf-v6-c-select
|
|
6
6
|
propComponents:
|
|
7
|
-
['Select', 'SelectOption', 'SelectGroup', 'SelectList', 'MenuToggle', 'SelectToggleProps', '
|
|
7
|
+
['Select', 'SelectOption', 'SelectGroup', 'SelectList', 'MenuToggle', 'SelectToggleProps', 'PopperOptions']
|
|
8
8
|
ouia: true
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -2,36 +2,14 @@ import { Fragment, useContext, useEffect, useRef, useState } from 'react';
|
|
|
2
2
|
import styles from '@patternfly/react-styles/css/components/Tabs/tabs';
|
|
3
3
|
import { css } from '@patternfly/react-styles';
|
|
4
4
|
import AngleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-right-icon';
|
|
5
|
-
import { Popper } from '../../helpers';
|
|
5
|
+
import { Popper, PopperOptions } from '../../helpers';
|
|
6
6
|
import { Menu, MenuContent, MenuList, MenuItem } from '../Menu';
|
|
7
7
|
import { TabsContext } from './TabsContext';
|
|
8
8
|
import { TabProps } from './Tab';
|
|
9
9
|
import { TabTitleText } from './TabTitleText';
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
direction?: 'up' | 'down';
|
|
14
|
-
/** Horizontal position of the popper */
|
|
15
|
-
position?: 'right' | 'left' | 'center' | 'start' | 'end';
|
|
16
|
-
/** Custom width of the popper. If the value is "trigger", it will set the width to the select toggle's width */
|
|
17
|
-
width?: string | 'trigger';
|
|
18
|
-
/** Minimum width of the popper. If the value is "trigger", it will set the min width to the select toggle's width */
|
|
19
|
-
minWidth?: string | 'trigger';
|
|
20
|
-
/** Maximum width of the popper. If the value is "trigger", it will set the max width to the select toggle's width */
|
|
21
|
-
maxWidth?: string | 'trigger';
|
|
22
|
-
/** Enable to flip the popper when it reaches the boundary */
|
|
23
|
-
enableFlip?: boolean;
|
|
24
|
-
/** The container to append the select to. Defaults to document.body.
|
|
25
|
-
* If your select is being cut off you can append it to an element higher up the DOM tree.
|
|
26
|
-
* Some examples:
|
|
27
|
-
* appendTo="inline"
|
|
28
|
-
* appendTo={() => document.body}
|
|
29
|
-
* appendTo={document.getElementById('target')}
|
|
30
|
-
*/
|
|
31
|
-
appendTo?: HTMLElement | (() => HTMLElement) | 'inline';
|
|
32
|
-
/** Flag to prevent the popper from overflowing its container and becoming partially obscured. */
|
|
33
|
-
preventOverflow?: boolean;
|
|
34
|
-
}
|
|
11
|
+
/** @deprecated Use PopperOptions instead */
|
|
12
|
+
export type HorizontalOverflowPopperProps = PopperOptions;
|
|
35
13
|
|
|
36
14
|
export interface OverflowTabProps extends React.HTMLProps<HTMLLIElement> {
|
|
37
15
|
/** Additional classes added to the overflow tab */
|
|
@@ -51,7 +29,7 @@ export interface OverflowTabProps extends React.HTMLProps<HTMLLIElement> {
|
|
|
51
29
|
/** Time in ms to wait before firing the toggles' focus event. Defaults to 0 */
|
|
52
30
|
focusTimeoutDelay?: number;
|
|
53
31
|
/** Additional props to spread to the popper menu. */
|
|
54
|
-
popperProps?:
|
|
32
|
+
popperProps?: PopperOptions;
|
|
55
33
|
}
|
|
56
34
|
|
|
57
35
|
export const OverflowTab: React.FunctionComponent<OverflowTabProps> = ({
|
|
@@ -54,9 +54,9 @@ export interface TabsProps
|
|
|
54
54
|
/** The index of the default active tab. Set this for uncontrolled Tabs */
|
|
55
55
|
defaultActiveKey?: number | string;
|
|
56
56
|
/** Callback to handle tab selection */
|
|
57
|
-
onSelect?: (event: React.MouseEvent<HTMLElement, MouseEvent>, eventKey:
|
|
57
|
+
onSelect?: (event: React.MouseEvent<HTMLElement, MouseEvent>, eventKey: TabProps['eventKey']) => void;
|
|
58
58
|
/** Callback to handle tab closing and adds a basic close button to all tabs. This is overridden by the tab actions property. */
|
|
59
|
-
onClose?: (event: React.MouseEvent<HTMLElement, MouseEvent>, eventKey:
|
|
59
|
+
onClose?: (event: React.MouseEvent<HTMLElement, MouseEvent>, eventKey: TabProps['eventKey']) => void;
|
|
60
60
|
/** Callback for the add button. Passing this property inserts the add button */
|
|
61
61
|
onAdd?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;
|
|
62
62
|
/** Aria-label for the add button */
|
|
@@ -438,6 +438,10 @@ class Tabs extends Component<TabsProps, TabsState> {
|
|
|
438
438
|
} else if (prevState.enableScrollButtons && !enableScrollButtons) {
|
|
439
439
|
this.setState({ showScrollButtons: false });
|
|
440
440
|
}
|
|
441
|
+
|
|
442
|
+
if (prevState.uncontrolledIsExpandedLocal !== this.state.uncontrolledIsExpandedLocal) {
|
|
443
|
+
this.setAccentStyles(true);
|
|
444
|
+
}
|
|
441
445
|
}
|
|
442
446
|
|
|
443
447
|
static getDerivedStateFromProps(nextProps: TabsProps, prevState: TabsState) {
|
|
@@ -572,8 +576,12 @@ class Tabs extends Component<TabsProps, TabsState> {
|
|
|
572
576
|
)}
|
|
573
577
|
{...getOUIAProps(Tabs.displayName, ouiaId !== undefined ? ouiaId : this.state.ouiaStateId, ouiaSafe)}
|
|
574
578
|
id={id && id}
|
|
575
|
-
style={{ [linkAccentLength.name]: currentLinkAccentLength, [linkAccentStart.name]: currentLinkAccentStart }}
|
|
576
579
|
{...props}
|
|
580
|
+
style={{
|
|
581
|
+
[linkAccentLength.name]: currentLinkAccentLength,
|
|
582
|
+
[linkAccentStart.name]: currentLinkAccentStart,
|
|
583
|
+
...props.style
|
|
584
|
+
}}
|
|
577
585
|
>
|
|
578
586
|
{expandable && isVertical && (
|
|
579
587
|
<GenerateId>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { render, screen, act } from '@testing-library/react';
|
|
2
|
+
import userEvent from '@testing-library/user-event';
|
|
2
3
|
import { Tabs } from '../Tabs';
|
|
3
4
|
import styles from '@patternfly/react-styles/css/components/Tabs/tabs';
|
|
4
5
|
import { Tab } from '../Tab';
|
|
@@ -50,6 +51,53 @@ test(`Does not render with class ${styles.modifiers.initializingAccent} when com
|
|
|
50
51
|
jest.useRealTimers();
|
|
51
52
|
});
|
|
52
53
|
|
|
54
|
+
test(`Renders with class ${styles.modifiers.initializingAccent} when uncontrolled expandable component initially mounts`, async () => {
|
|
55
|
+
const user = userEvent.setup({ advanceTimers: jest.advanceTimersByTime });
|
|
56
|
+
|
|
57
|
+
render(
|
|
58
|
+
<Tabs
|
|
59
|
+
isVertical
|
|
60
|
+
expandable={{ default: 'expandable' }}
|
|
61
|
+
toggleText="Jump to section"
|
|
62
|
+
defaultIsExpanded={false}
|
|
63
|
+
role="region"
|
|
64
|
+
>
|
|
65
|
+
<Tab title="Test title" eventKey={0}>
|
|
66
|
+
Tab Content
|
|
67
|
+
</Tab>
|
|
68
|
+
</Tabs>
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
jest.useFakeTimers();
|
|
72
|
+
await user.click(screen.getByRole('button', { name: 'Jump to section' }));
|
|
73
|
+
act(() => {
|
|
74
|
+
jest.advanceTimersByTime(100);
|
|
75
|
+
});
|
|
76
|
+
expect(screen.getByRole('region')).toHaveClass(styles.modifiers.initializingAccent);
|
|
77
|
+
jest.useRealTimers();
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
test(`Does not render with class ${styles.modifiers.initializingAccent} when uncontrolled expandable component is finished mounting`, async () => {
|
|
81
|
+
const user = userEvent.setup();
|
|
82
|
+
|
|
83
|
+
render(
|
|
84
|
+
<Tabs
|
|
85
|
+
isVertical
|
|
86
|
+
expandable={{ default: 'expandable' }}
|
|
87
|
+
toggleText="Jump to section"
|
|
88
|
+
defaultIsExpanded={false}
|
|
89
|
+
role="region"
|
|
90
|
+
>
|
|
91
|
+
<Tab title="Test title" eventKey={0}>
|
|
92
|
+
Tab Content
|
|
93
|
+
</Tab>
|
|
94
|
+
</Tabs>
|
|
95
|
+
);
|
|
96
|
+
|
|
97
|
+
await user.click(screen.getByRole('button', { name: 'Jump to section' }));
|
|
98
|
+
expect(screen.getByRole('region')).not.toHaveClass(styles.modifiers.initializingAccent);
|
|
99
|
+
});
|
|
100
|
+
|
|
53
101
|
test('should render simple tabs', () => {
|
|
54
102
|
const { asFragment } = render(
|
|
55
103
|
<Tabs id="simpleTabs">
|
|
@@ -514,3 +562,15 @@ test('should render an enabled add button', () => {
|
|
|
514
562
|
const addButton = screen.getByLabelText('add-label');
|
|
515
563
|
expect(addButton).not.toBeDisabled();
|
|
516
564
|
});
|
|
565
|
+
|
|
566
|
+
test(`should render with custom inline style and accent position inline style`, () => {
|
|
567
|
+
render(
|
|
568
|
+
<Tabs role="region" style="background-color: #12345;">
|
|
569
|
+
<Tab title="Test title" eventKey={0}>
|
|
570
|
+
Tab Content
|
|
571
|
+
</Tab>
|
|
572
|
+
</Tabs>
|
|
573
|
+
);
|
|
574
|
+
|
|
575
|
+
expect(screen.getByRole('region')).toHaveStyle(`background-color: #12345;--pf-v6-c-tabs--link-accent--start: 0px;`);
|
|
576
|
+
});
|
|
@@ -5,7 +5,7 @@ exports[`should render accessible tabs 1`] = `
|
|
|
5
5
|
<nav
|
|
6
6
|
aria-label="accessible Tabs example"
|
|
7
7
|
class="pf-v6-c-tabs pf-m-animate-current pf-m-initializing-accent"
|
|
8
|
-
data-ouia-component-id="OUIA-Generated-Tabs-
|
|
8
|
+
data-ouia-component-id="OUIA-Generated-Tabs-14"
|
|
9
9
|
data-ouia-component-type="PF6/Tabs"
|
|
10
10
|
data-ouia-safe="true"
|
|
11
11
|
id="accessibleTabs"
|
|
@@ -122,7 +122,7 @@ exports[`should render box tabs 1`] = `
|
|
|
122
122
|
<DocumentFragment>
|
|
123
123
|
<div
|
|
124
124
|
class="pf-v6-c-tabs pf-m-animate-current pf-m-box pf-m-initializing-accent"
|
|
125
|
-
data-ouia-component-id="OUIA-Generated-Tabs-
|
|
125
|
+
data-ouia-component-id="OUIA-Generated-Tabs-13"
|
|
126
126
|
data-ouia-component-type="PF6/Tabs"
|
|
127
127
|
data-ouia-safe="true"
|
|
128
128
|
id="boxTabs"
|
|
@@ -281,7 +281,7 @@ exports[`should render box tabs of secondary variant 1`] = `
|
|
|
281
281
|
<DocumentFragment>
|
|
282
282
|
<div
|
|
283
283
|
class="pf-v6-c-tabs pf-m-animate-current pf-m-box pf-m-secondary pf-m-initializing-accent"
|
|
284
|
-
data-ouia-component-id="OUIA-Generated-Tabs-
|
|
284
|
+
data-ouia-component-id="OUIA-Generated-Tabs-20"
|
|
285
285
|
data-ouia-component-type="PF6/Tabs"
|
|
286
286
|
data-ouia-safe="true"
|
|
287
287
|
id="boxSecondaryVariantTabs"
|
|
@@ -398,7 +398,7 @@ exports[`should render expandable vertical tabs 1`] = `
|
|
|
398
398
|
<DocumentFragment>
|
|
399
399
|
<div
|
|
400
400
|
class="pf-v6-c-tabs pf-m-animate-current pf-m-vertical pf-m-expandable pf-m-initializing-accent"
|
|
401
|
-
data-ouia-component-id="OUIA-Generated-Tabs-
|
|
401
|
+
data-ouia-component-id="OUIA-Generated-Tabs-11"
|
|
402
402
|
data-ouia-component-type="PF6/Tabs"
|
|
403
403
|
data-ouia-safe="true"
|
|
404
404
|
id="verticalTabs"
|
|
@@ -413,7 +413,7 @@ exports[`should render expandable vertical tabs 1`] = `
|
|
|
413
413
|
<button
|
|
414
414
|
aria-labelledby="generated-id-text generated-id-button"
|
|
415
415
|
class="pf-v6-c-button pf-m-plain"
|
|
416
|
-
data-ouia-component-id="OUIA-Generated-Button-plain-
|
|
416
|
+
data-ouia-component-id="OUIA-Generated-Button-plain-5"
|
|
417
417
|
data-ouia-component-type="PF6/Button"
|
|
418
418
|
data-ouia-safe="true"
|
|
419
419
|
id="generated-id-button"
|
|
@@ -605,7 +605,7 @@ exports[`should render filled tabs 1`] = `
|
|
|
605
605
|
<DocumentFragment>
|
|
606
606
|
<div
|
|
607
607
|
class="pf-v6-c-tabs pf-m-animate-current pf-m-fill pf-m-initializing-accent"
|
|
608
|
-
data-ouia-component-id="OUIA-Generated-Tabs-
|
|
608
|
+
data-ouia-component-id="OUIA-Generated-Tabs-15"
|
|
609
609
|
data-ouia-component-type="PF6/Tabs"
|
|
610
610
|
data-ouia-safe="true"
|
|
611
611
|
id="filledTabs"
|
|
@@ -722,7 +722,7 @@ exports[`should render simple tabs 1`] = `
|
|
|
722
722
|
<DocumentFragment>
|
|
723
723
|
<div
|
|
724
724
|
class="pf-v6-c-tabs pf-m-animate-current pf-m-initializing-accent"
|
|
725
|
-
data-ouia-component-id="OUIA-Generated-Tabs-
|
|
725
|
+
data-ouia-component-id="OUIA-Generated-Tabs-6"
|
|
726
726
|
data-ouia-component-type="PF6/Tabs"
|
|
727
727
|
data-ouia-safe="true"
|
|
728
728
|
id="simpleTabs"
|
|
@@ -881,7 +881,7 @@ exports[`should render subtabs 1`] = `
|
|
|
881
881
|
<DocumentFragment>
|
|
882
882
|
<div
|
|
883
883
|
class="pf-v6-c-tabs pf-m-animate-current pf-m-initializing-accent"
|
|
884
|
-
data-ouia-component-id="OUIA-Generated-Tabs-
|
|
884
|
+
data-ouia-component-id="OUIA-Generated-Tabs-16"
|
|
885
885
|
data-ouia-component-type="PF6/Tabs"
|
|
886
886
|
data-ouia-safe="true"
|
|
887
887
|
id="primarieTabs"
|
|
@@ -967,7 +967,7 @@ exports[`should render subtabs 1`] = `
|
|
|
967
967
|
>
|
|
968
968
|
<div
|
|
969
969
|
class="pf-v6-c-tabs pf-m-animate-current pf-m-subtab pf-m-initializing-accent"
|
|
970
|
-
data-ouia-component-id="OUIA-Generated-Tabs-
|
|
970
|
+
data-ouia-component-id="OUIA-Generated-Tabs-17"
|
|
971
971
|
data-ouia-component-type="PF6/Tabs"
|
|
972
972
|
data-ouia-safe="true"
|
|
973
973
|
id="subtabs"
|
|
@@ -1110,7 +1110,7 @@ exports[`should render tabs with eventKey Strings 1`] = `
|
|
|
1110
1110
|
<DocumentFragment>
|
|
1111
1111
|
<div
|
|
1112
1112
|
class="pf-v6-c-tabs pf-m-animate-current pf-m-initializing-accent"
|
|
1113
|
-
data-ouia-component-id="OUIA-Generated-Tabs-
|
|
1113
|
+
data-ouia-component-id="OUIA-Generated-Tabs-18"
|
|
1114
1114
|
data-ouia-component-type="PF6/Tabs"
|
|
1115
1115
|
data-ouia-safe="true"
|
|
1116
1116
|
id="eventKeyTabs"
|
|
@@ -1228,7 +1228,7 @@ exports[`should render tabs with no bottom border 1`] = `
|
|
|
1228
1228
|
<DocumentFragment>
|
|
1229
1229
|
<div
|
|
1230
1230
|
class="pf-v6-c-tabs pf-m-animate-current pf-m-no-border-bottom pf-m-initializing-accent"
|
|
1231
|
-
data-ouia-component-id="OUIA-Generated-Tabs-
|
|
1231
|
+
data-ouia-component-id="OUIA-Generated-Tabs-21"
|
|
1232
1232
|
data-ouia-component-type="PF6/Tabs"
|
|
1233
1233
|
data-ouia-safe="true"
|
|
1234
1234
|
id="noBottomBorderTabs"
|
|
@@ -1345,7 +1345,7 @@ exports[`should render tabs with separate content 1`] = `
|
|
|
1345
1345
|
<DocumentFragment>
|
|
1346
1346
|
<div
|
|
1347
1347
|
class="pf-v6-c-tabs pf-m-animate-current pf-m-initializing-accent"
|
|
1348
|
-
data-ouia-component-id="OUIA-Generated-Tabs-
|
|
1348
|
+
data-ouia-component-id="OUIA-Generated-Tabs-19"
|
|
1349
1349
|
data-ouia-component-type="PF6/Tabs"
|
|
1350
1350
|
data-ouia-safe="true"
|
|
1351
1351
|
id="separateTabs"
|
|
@@ -1472,7 +1472,7 @@ exports[`should render uncontrolled tabs 1`] = `
|
|
|
1472
1472
|
<DocumentFragment>
|
|
1473
1473
|
<div
|
|
1474
1474
|
class="pf-v6-c-tabs pf-m-animate-current pf-m-initializing-accent"
|
|
1475
|
-
data-ouia-component-id="OUIA-Generated-Tabs-
|
|
1475
|
+
data-ouia-component-id="OUIA-Generated-Tabs-9"
|
|
1476
1476
|
data-ouia-component-type="PF6/Tabs"
|
|
1477
1477
|
data-ouia-safe="true"
|
|
1478
1478
|
style="--pf-v6-c-tabs--link-accent--length: 0px; --pf-v6-c-tabs--link-accent--start: 0px;"
|
|
@@ -1630,7 +1630,7 @@ exports[`should render vertical tabs 1`] = `
|
|
|
1630
1630
|
<DocumentFragment>
|
|
1631
1631
|
<div
|
|
1632
1632
|
class="pf-v6-c-tabs pf-m-animate-current pf-m-vertical pf-m-initializing-accent"
|
|
1633
|
-
data-ouia-component-id="OUIA-Generated-Tabs-
|
|
1633
|
+
data-ouia-component-id="OUIA-Generated-Tabs-10"
|
|
1634
1634
|
data-ouia-component-type="PF6/Tabs"
|
|
1635
1635
|
data-ouia-safe="true"
|
|
1636
1636
|
id="verticalTabs"
|