@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
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
DataListItemCells,
|
|
10
10
|
Flex,
|
|
11
11
|
FlexItem,
|
|
12
|
+
Icon,
|
|
12
13
|
MenuToggle,
|
|
13
14
|
MenuToggleCheckbox,
|
|
14
15
|
OverflowMenu,
|
|
@@ -28,7 +29,7 @@ import CodeIcon from '@patternfly/react-icons/dist/esm/icons/code-icon';
|
|
|
28
29
|
import CubeIcon from '@patternfly/react-icons/dist/esm/icons/cube-icon';
|
|
29
30
|
import ExclamationTriangleIcon from '@patternfly/react-icons/dist/esm/icons/exclamation-triangle-icon';
|
|
30
31
|
import CheckCircleIcon from '@patternfly/react-icons/dist/esm/icons/check-circle-icon';
|
|
31
|
-
import
|
|
32
|
+
import ExclamationCircleIcon from '@patternfly/react-icons/dist/esm/icons/exclamation-circle-icon';
|
|
32
33
|
|
|
33
34
|
export const DataListBasic: React.FunctionComponent = () => {
|
|
34
35
|
const renderPagination = () => <Pagination itemCount={5} page={1} variant="top" isCompact />;
|
|
@@ -98,13 +99,22 @@ export const DataListBasic: React.FunctionComponent = () => {
|
|
|
98
99
|
<FlexItem>
|
|
99
100
|
<Flex spaceItems={{ default: 'spaceItemsSm' }}>
|
|
100
101
|
<FlexItem>
|
|
101
|
-
<
|
|
102
|
+
<Icon>
|
|
103
|
+
<CodeBranchIcon />
|
|
104
|
+
</Icon>
|
|
105
|
+
10 <span className="pf-v6-screen-reader">Branches</span>
|
|
102
106
|
</FlexItem>
|
|
103
107
|
<FlexItem>
|
|
104
|
-
<
|
|
108
|
+
<Icon>
|
|
109
|
+
<CodeIcon />
|
|
110
|
+
</Icon>
|
|
111
|
+
4 <span className="pf-v6-screen-reader">Code blocks</span>
|
|
105
112
|
</FlexItem>
|
|
106
113
|
<FlexItem>
|
|
107
|
-
<
|
|
114
|
+
<Icon>
|
|
115
|
+
<CubeIcon />
|
|
116
|
+
</Icon>
|
|
117
|
+
5 <span className="pf-v6-screen-reader">Workspaces</span>
|
|
108
118
|
</FlexItem>
|
|
109
119
|
<FlexItem> Updated 2 days ago</FlexItem>
|
|
110
120
|
</Flex>
|
|
@@ -140,23 +150,41 @@ export const DataListBasic: React.FunctionComponent = () => {
|
|
|
140
150
|
<FlexItem>
|
|
141
151
|
<Flex spaceItems={{ default: 'spaceItemsSm' }}>
|
|
142
152
|
<FlexItem>
|
|
143
|
-
<
|
|
153
|
+
<Icon>
|
|
154
|
+
<CodeBranchIcon />
|
|
155
|
+
</Icon>
|
|
156
|
+
5 <span className="pf-v6-screen-reader">Branches</span>
|
|
144
157
|
</FlexItem>
|
|
145
158
|
<FlexItem>
|
|
146
|
-
<
|
|
159
|
+
<Icon>
|
|
160
|
+
<CodeIcon />
|
|
161
|
+
</Icon>
|
|
162
|
+
9 <span className="pf-v6-screen-reader">Code blocks</span>
|
|
147
163
|
</FlexItem>
|
|
148
164
|
<FlexItem>
|
|
149
|
-
<
|
|
165
|
+
<Icon>
|
|
166
|
+
<CubeIcon />
|
|
167
|
+
</Icon>
|
|
168
|
+
2 <span className="pf-v6-screen-reader">Workspaces</span>
|
|
150
169
|
</FlexItem>
|
|
151
170
|
<FlexItem>
|
|
152
|
-
<
|
|
171
|
+
<Icon status="success">
|
|
172
|
+
<CheckCircleIcon />
|
|
173
|
+
</Icon>
|
|
153
174
|
11
|
|
175
|
+
<span className="pf-v6-screen-reader">Completed</span>
|
|
154
176
|
</FlexItem>
|
|
155
177
|
<FlexItem>
|
|
156
|
-
<
|
|
178
|
+
<Icon status="warning">
|
|
179
|
+
<ExclamationTriangleIcon />
|
|
180
|
+
</Icon>
|
|
181
|
+
4 <span className="pf-v6-screen-reader">Warnings</span>
|
|
157
182
|
</FlexItem>
|
|
158
183
|
<FlexItem>
|
|
159
|
-
<
|
|
184
|
+
<Icon status="danger">
|
|
185
|
+
<ExclamationCircleIcon />
|
|
186
|
+
</Icon>
|
|
187
|
+
1 <span className="pf-v6-screen-reader">Error</span>
|
|
160
188
|
</FlexItem>
|
|
161
189
|
<FlexItem> Updated 2 days ago</FlexItem>
|
|
162
190
|
</Flex>
|
|
@@ -220,14 +248,23 @@ export const DataListBasic: React.FunctionComponent = () => {
|
|
|
220
248
|
<FlexItem>
|
|
221
249
|
<Flex spaceItems={{ default: 'spaceItemsSm' }}>
|
|
222
250
|
<FlexItem>
|
|
223
|
-
<
|
|
251
|
+
<Icon>
|
|
252
|
+
<CodeBranchIcon />
|
|
253
|
+
</Icon>
|
|
224
254
|
10
|
|
255
|
+
<span className="pf-v6-screen-reader">Branches</span>
|
|
225
256
|
</FlexItem>
|
|
226
257
|
<FlexItem>
|
|
227
|
-
<
|
|
258
|
+
<Icon>
|
|
259
|
+
<CodeIcon />
|
|
260
|
+
</Icon>
|
|
261
|
+
4 <span className="pf-v6-screen-reader">Code blocks</span>
|
|
228
262
|
</FlexItem>
|
|
229
263
|
<FlexItem>
|
|
230
|
-
<
|
|
264
|
+
<Icon>
|
|
265
|
+
<CubeIcon />
|
|
266
|
+
</Icon>
|
|
267
|
+
5 <span className="pf-v6-screen-reader">Workspaces</span>
|
|
231
268
|
</FlexItem>
|
|
232
269
|
<FlexItem> Updated 2 days ago</FlexItem>
|
|
233
270
|
</Flex>
|
|
@@ -263,22 +300,40 @@ export const DataListBasic: React.FunctionComponent = () => {
|
|
|
263
300
|
<FlexItem>
|
|
264
301
|
<Flex spaceItems={{ default: 'spaceItemsSm' }}>
|
|
265
302
|
<FlexItem>
|
|
266
|
-
<
|
|
303
|
+
<Icon>
|
|
304
|
+
<CodeBranchIcon />
|
|
305
|
+
</Icon>
|
|
306
|
+
5 <span className="pf-v6-screen-reader">Branches</span>
|
|
267
307
|
</FlexItem>
|
|
268
308
|
<FlexItem>
|
|
269
|
-
<
|
|
309
|
+
<Icon>
|
|
310
|
+
<CodeIcon />
|
|
311
|
+
</Icon>
|
|
312
|
+
9 <span className="pf-v6-screen-reader">Code blocks</span>
|
|
270
313
|
</FlexItem>
|
|
271
314
|
<FlexItem>
|
|
272
|
-
<
|
|
315
|
+
<Icon>
|
|
316
|
+
<CubeIcon />
|
|
317
|
+
</Icon>
|
|
318
|
+
2 <span className="pf-v6-screen-reader">Workspaces</span>
|
|
273
319
|
</FlexItem>
|
|
274
320
|
<FlexItem>
|
|
275
|
-
<
|
|
321
|
+
<Icon status="success">
|
|
322
|
+
<CheckCircleIcon />
|
|
323
|
+
</Icon>
|
|
324
|
+
11 <span className="pf-v6-screen-reader">Completed</span>
|
|
276
325
|
</FlexItem>
|
|
277
326
|
<FlexItem>
|
|
278
|
-
<
|
|
327
|
+
<Icon status="warning">
|
|
328
|
+
<ExclamationTriangleIcon />
|
|
329
|
+
</Icon>
|
|
330
|
+
4 <span className="pf-v6-screen-reader">Warnings</span>
|
|
279
331
|
</FlexItem>
|
|
280
332
|
<FlexItem>
|
|
281
|
-
<
|
|
333
|
+
<Icon status="danger">
|
|
334
|
+
<ExclamationCircleIcon />
|
|
335
|
+
</Icon>
|
|
336
|
+
1 <span className="pf-v6-screen-reader">Error</span>
|
|
282
337
|
</FlexItem>
|
|
283
338
|
<FlexItem> Updated 2 days ago</FlexItem>
|
|
284
339
|
</Flex>
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
DataListItemCells,
|
|
11
11
|
Flex,
|
|
12
12
|
FlexItem,
|
|
13
|
+
Icon,
|
|
13
14
|
MenuToggle,
|
|
14
15
|
MenuToggleCheckbox,
|
|
15
16
|
OverflowMenu,
|
|
@@ -151,17 +152,29 @@ export const DataListStaticBottomPagination: React.FunctionComponent = () => {
|
|
|
151
152
|
<Flex flexWrap={{ default: 'wrap' }}>
|
|
152
153
|
<Flex spaceItems={{ default: 'spaceItemsSm' }}>
|
|
153
154
|
<FlexItem>
|
|
154
|
-
<
|
|
155
|
+
<Icon>
|
|
156
|
+
<CodeBranchIcon />
|
|
157
|
+
</Icon>{' '}
|
|
158
|
+
{threads}
|
|
159
|
+
<span className="pf-v6-screen-reader">Branches</span>
|
|
155
160
|
</FlexItem>
|
|
156
161
|
</Flex>
|
|
157
162
|
<Flex spaceItems={{ default: 'spaceItemsSm' }}>
|
|
158
163
|
<FlexItem>
|
|
159
|
-
<
|
|
164
|
+
<Icon>
|
|
165
|
+
<CodeIcon />
|
|
166
|
+
</Icon>{' '}
|
|
167
|
+
{applications}
|
|
168
|
+
<span className="pf-v6-screen-reader">Code blocks</span>
|
|
160
169
|
</FlexItem>
|
|
161
170
|
</Flex>
|
|
162
171
|
<Flex spaceItems={{ default: 'spaceItemsSm' }}>
|
|
163
172
|
<FlexItem>
|
|
164
|
-
<
|
|
173
|
+
<Icon>
|
|
174
|
+
<CubeIcon />
|
|
175
|
+
</Icon>{' '}
|
|
176
|
+
{workspaces}
|
|
177
|
+
<span className="pf-v6-screen-reader">Workspaces</span>
|
|
165
178
|
</FlexItem>
|
|
166
179
|
</Flex>
|
|
167
180
|
<FlexItem> Updated {lastModified}</FlexItem>
|
|
@@ -15,7 +15,7 @@ import CodeIcon from '@patternfly/react-icons/dist/esm/icons/code-icon';
|
|
|
15
15
|
import CubeIcon from '@patternfly/react-icons/dist/esm/icons/cube-icon';
|
|
16
16
|
import ExclamationTriangleIcon from '@patternfly/react-icons/dist/esm/icons/exclamation-triangle-icon';
|
|
17
17
|
import CheckCircleIcon from '@patternfly/react-icons/dist/esm/icons/check-circle-icon';
|
|
18
|
-
import
|
|
18
|
+
import ExclamationCircleIcon from '@patternfly/react-icons/dist/esm/icons/exclamation-circle-icon';
|
|
19
19
|
import { DashboardWrapper } from '@patternfly/react-core/dist/js/demos/DashboardWrapper';
|
|
20
20
|
import { rows } from '@patternfly/react-core/dist/esm/demos/sampleData';
|
|
21
21
|
|
|
@@ -30,14 +30,17 @@ import { rows } from '@patternfly/react-core/dist/esm/demos/sampleData';
|
|
|
30
30
|
### Expandable control in toolbar
|
|
31
31
|
|
|
32
32
|
```js file="./DataList/examples/DataListExpandableControlInToolbar.tsx" isFullscreen
|
|
33
|
+
|
|
33
34
|
```
|
|
34
35
|
|
|
35
36
|
### Actionable
|
|
36
37
|
|
|
37
38
|
```js file="./DataList/examples/DataListActionable.tsx" isFullscreen
|
|
39
|
+
|
|
38
40
|
```
|
|
39
41
|
|
|
40
42
|
### Static bottom pagination
|
|
41
43
|
|
|
42
44
|
```js file="./DataList/examples/DataListStaticBottomPagination.tsx" isFullscreen
|
|
43
|
-
|
|
45
|
+
|
|
46
|
+
```
|
|
@@ -618,7 +618,7 @@ export const PrimaryDetailCardView: React.FunctionComponent = () => {
|
|
|
618
618
|
<p>This is a demo that showcases Patternfly cards.</p>
|
|
619
619
|
</Content>
|
|
620
620
|
</PageSection>
|
|
621
|
-
<PageSection isFilled padding={{
|
|
621
|
+
<PageSection isFilled padding={{ md: 'padding' }} aria-label="Card filtering toolbar">
|
|
622
622
|
<Toolbar id="card-view-data-toolbar-group-types" clearAllFilters={onDelete}>
|
|
623
623
|
<ToolbarContent>{toolbarItems}</ToolbarContent>
|
|
624
624
|
</Toolbar>
|
|
@@ -92,7 +92,7 @@ export const WizardNavItem: React.FunctionComponent<WizardNavItemProps> = ({
|
|
|
92
92
|
<span className={css(styles.wizardNavLinkMain)}>
|
|
93
93
|
{isExpandable ? (
|
|
94
94
|
<>
|
|
95
|
-
<span className=
|
|
95
|
+
<span className="pf-v6-c-wizard__nav-link-text">{content}</span>
|
|
96
96
|
<span className={css(styles.wizardNavLinkToggle)}>
|
|
97
97
|
<span className={css(styles.wizardNavLinkToggleIcon)}>
|
|
98
98
|
<AngleRightIcon />
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { createContext, useContext, FunctionComponent, ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
/** Configuration for animations throughout PatternFly components */
|
|
4
|
+
export interface AnimationsConfig {
|
|
5
|
+
/** Whether animations are enabled globally */
|
|
6
|
+
hasAnimations?: boolean;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/** Props for the AnimationsProvider component */
|
|
10
|
+
export interface AnimationsProviderProps {
|
|
11
|
+
/** Animation configuration settings */
|
|
12
|
+
config: AnimationsConfig;
|
|
13
|
+
/** Child components that will have access to the animations context */
|
|
14
|
+
children: ReactNode;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/** Context to provide animations configuration to child components */
|
|
18
|
+
const AnimationsContext = createContext<AnimationsConfig>({
|
|
19
|
+
hasAnimations: false
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* AnimationsProvider is an application-level provider that provides uniform
|
|
24
|
+
* animation configuration for all PatternFly React components via the React context API.
|
|
25
|
+
*
|
|
26
|
+
* **Usage**: Place this provider at the root of your application to enable global
|
|
27
|
+
* animation control without requiring manual prop drilling throughout your component tree.
|
|
28
|
+
*
|
|
29
|
+
* **Benefits**:
|
|
30
|
+
* - Centralized animation control for the entire application
|
|
31
|
+
* - Respects user accessibility preferences (reduced motion)
|
|
32
|
+
* - Components can still override the global setting when needed
|
|
33
|
+
* - Works with all PatternFly components that support animations
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```tsx
|
|
37
|
+
* // App.tsx - Place at your application root
|
|
38
|
+
* import { AnimationsProvider } from '@patternfly/react-core';
|
|
39
|
+
*
|
|
40
|
+
* const App = () => (
|
|
41
|
+
* <AnimationsProvider config={{ hasAnimations: true }}>
|
|
42
|
+
* <MyApplication />
|
|
43
|
+
* </AnimationsProvider>
|
|
44
|
+
* );
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export const AnimationsProvider: FunctionComponent<AnimationsProviderProps> = ({ config, children }) => (
|
|
48
|
+
<AnimationsContext.Provider value={config}>{children}</AnimationsContext.Provider>
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Hook to access the animations configuration from the nearest AnimationsProvider.
|
|
53
|
+
*
|
|
54
|
+
* This hook allows components to check if animations are enabled and override
|
|
55
|
+
* their local hasAnimations prop accordingly.
|
|
56
|
+
*
|
|
57
|
+
* @returns The animations configuration object
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```tsx
|
|
61
|
+
* const MyComponent = ({ hasAnimations: hasAnimationsProp, ...props }) => {
|
|
62
|
+
* const { hasAnimations: contextHasAnimations } = useAnimationsConfig();
|
|
63
|
+
* const hasAnimations = hasAnimationsProp ?? contextHasAnimations;
|
|
64
|
+
*
|
|
65
|
+
* return <div className={hasAnimations ? 'with-animations' : ''} {...props} />;
|
|
66
|
+
* };
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
export const useAnimationsConfig = (): AnimationsConfig => {
|
|
70
|
+
const context = useContext(AnimationsContext);
|
|
71
|
+
|
|
72
|
+
if (context === undefined) {
|
|
73
|
+
// Return default config if no provider is found
|
|
74
|
+
return { hasAnimations: false };
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return context;
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Utility hook that combines local hasAnimations prop with context configuration.
|
|
82
|
+
* The local prop takes precedence when explicitly set, otherwise falls back to context.
|
|
83
|
+
*
|
|
84
|
+
* @param hasAnimationsProp - The hasAnimations prop passed directly to the component
|
|
85
|
+
* @returns The resolved hasAnimations value
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```tsx
|
|
89
|
+
* const MyComponent = ({ hasAnimations: hasAnimationsProp, ...props }) => {
|
|
90
|
+
* const hasAnimations = useHasAnimations(hasAnimationsProp);
|
|
91
|
+
*
|
|
92
|
+
* return <div className={hasAnimations ? 'animated' : 'static'} {...props} />;
|
|
93
|
+
* };
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
export const useHasAnimations = (hasAnimationsProp?: boolean): boolean => {
|
|
97
|
+
const { hasAnimations: contextHasAnimations } = useAnimationsConfig();
|
|
98
|
+
|
|
99
|
+
// Local prop takes precedence when explicitly set (including false)
|
|
100
|
+
// If local prop is undefined, fall back to context
|
|
101
|
+
return hasAnimationsProp ?? contextHasAnimations ?? false;
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
AnimationsProvider.displayName = 'AnimationsProvider';
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { render, screen } from '@testing-library/react';
|
|
2
|
+
import '@testing-library/jest-dom';
|
|
3
|
+
import { AnimationsProvider, useAnimationsConfig, useHasAnimations } from '../AnimationsProvider';
|
|
4
|
+
|
|
5
|
+
// Test component that uses the useAnimationsConfig hook
|
|
6
|
+
const TestConfigComponent = () => {
|
|
7
|
+
const { hasAnimations } = useAnimationsConfig();
|
|
8
|
+
return <div data-testid="config">{hasAnimations ? 'animations-enabled' : 'animations-disabled'}</div>;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
// Test component that uses the useHasAnimations hook with a local prop
|
|
12
|
+
const TestHasAnimationsComponent = ({ hasAnimations: hasAnimationsProp }: { hasAnimations?: boolean }) => {
|
|
13
|
+
const hasAnimations = useHasAnimations(hasAnimationsProp);
|
|
14
|
+
return <div data-testid="has-animations">{hasAnimations ? 'animations-enabled' : 'animations-disabled'}</div>;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
test('renders children correctly', () => {
|
|
18
|
+
render(
|
|
19
|
+
<AnimationsProvider config={{ hasAnimations: true }}>
|
|
20
|
+
<div data-testid="child">Test Child</div>
|
|
21
|
+
</AnimationsProvider>
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
expect(screen.getByTestId('child')).toBeInTheDocument();
|
|
25
|
+
expect(screen.getByTestId('child')).toHaveTextContent('Test Child');
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
test('provides explicit config', () => {
|
|
29
|
+
render(
|
|
30
|
+
<AnimationsProvider config={{ hasAnimations: false }}>
|
|
31
|
+
<TestConfigComponent />
|
|
32
|
+
</AnimationsProvider>
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
expect(screen.getByTestId('config')).toHaveTextContent('animations-disabled');
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
test('provides animations enabled config', () => {
|
|
39
|
+
render(
|
|
40
|
+
<AnimationsProvider config={{ hasAnimations: true }}>
|
|
41
|
+
<TestConfigComponent />
|
|
42
|
+
</AnimationsProvider>
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
expect(screen.getByTestId('config')).toHaveTextContent('animations-enabled');
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
test('provides animations disabled config', () => {
|
|
49
|
+
render(
|
|
50
|
+
<AnimationsProvider config={{ hasAnimations: false }}>
|
|
51
|
+
<TestConfigComponent />
|
|
52
|
+
</AnimationsProvider>
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
expect(screen.getByTestId('config')).toHaveTextContent('animations-disabled');
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
test('useAnimationsConfig returns default config when no provider', () => {
|
|
59
|
+
render(<TestConfigComponent />);
|
|
60
|
+
|
|
61
|
+
expect(screen.getByTestId('config')).toHaveTextContent('animations-disabled');
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
test('useHasAnimations uses context when no local prop provided', () => {
|
|
65
|
+
render(
|
|
66
|
+
<AnimationsProvider config={{ hasAnimations: true }}>
|
|
67
|
+
<TestHasAnimationsComponent />
|
|
68
|
+
</AnimationsProvider>
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
expect(screen.getByTestId('has-animations')).toHaveTextContent('animations-enabled');
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
test('useHasAnimations uses local prop when provided (true)', () => {
|
|
75
|
+
render(
|
|
76
|
+
<AnimationsProvider config={{ hasAnimations: false }}>
|
|
77
|
+
<TestHasAnimationsComponent hasAnimations={true} />
|
|
78
|
+
</AnimationsProvider>
|
|
79
|
+
);
|
|
80
|
+
|
|
81
|
+
expect(screen.getByTestId('has-animations')).toHaveTextContent('animations-enabled');
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
test('useHasAnimations uses local prop when provided (false)', () => {
|
|
85
|
+
render(
|
|
86
|
+
<AnimationsProvider config={{ hasAnimations: true }}>
|
|
87
|
+
<TestHasAnimationsComponent hasAnimations={false} />
|
|
88
|
+
</AnimationsProvider>
|
|
89
|
+
);
|
|
90
|
+
|
|
91
|
+
expect(screen.getByTestId('has-animations')).toHaveTextContent('animations-disabled');
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
test('useHasAnimations works without provider', () => {
|
|
95
|
+
render(<TestHasAnimationsComponent />);
|
|
96
|
+
|
|
97
|
+
expect(screen.getByTestId('has-animations')).toHaveTextContent('animations-disabled');
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
test('useHasAnimations with local prop and no provider', () => {
|
|
101
|
+
render(<TestHasAnimationsComponent hasAnimations={true} />);
|
|
102
|
+
|
|
103
|
+
expect(screen.getByTestId('has-animations')).toHaveTextContent('animations-enabled');
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
test('works in app-level scenario with multiple components', () => {
|
|
107
|
+
// Simulate realistic app-level usage
|
|
108
|
+
const MockApp = () => (
|
|
109
|
+
<div>
|
|
110
|
+
<header>
|
|
111
|
+
<TestConfigComponent />
|
|
112
|
+
</header>
|
|
113
|
+
<main>
|
|
114
|
+
<TestHasAnimationsComponent />
|
|
115
|
+
<TestHasAnimationsComponent hasAnimations={false} /> {/* Component override */}
|
|
116
|
+
</main>
|
|
117
|
+
</div>
|
|
118
|
+
);
|
|
119
|
+
|
|
120
|
+
render(
|
|
121
|
+
<AnimationsProvider config={{ hasAnimations: true }}>
|
|
122
|
+
<MockApp />
|
|
123
|
+
</AnimationsProvider>
|
|
124
|
+
);
|
|
125
|
+
|
|
126
|
+
const configs = screen.getAllByTestId('config');
|
|
127
|
+
const hasAnimationsComponents = screen.getAllByTestId('has-animations');
|
|
128
|
+
|
|
129
|
+
expect(configs[0]).toHaveTextContent('animations-enabled'); // Header uses provider
|
|
130
|
+
expect(hasAnimationsComponents[0]).toHaveTextContent('animations-enabled'); // Main uses provider
|
|
131
|
+
expect(hasAnimationsComponents[1]).toHaveTextContent('animations-disabled'); // Component override
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
test('handles dynamic context changes', () => {
|
|
135
|
+
const TestComponent = ({ hasAnimations }: { hasAnimations: boolean }) => (
|
|
136
|
+
<AnimationsProvider config={{ hasAnimations }}>
|
|
137
|
+
<TestConfigComponent />
|
|
138
|
+
<TestHasAnimationsComponent />
|
|
139
|
+
</AnimationsProvider>
|
|
140
|
+
);
|
|
141
|
+
|
|
142
|
+
const { rerender } = render(<TestComponent hasAnimations={true} />);
|
|
143
|
+
|
|
144
|
+
// Initially animations enabled
|
|
145
|
+
expect(screen.getByTestId('config')).toHaveTextContent('animations-enabled');
|
|
146
|
+
expect(screen.getByTestId('has-animations')).toHaveTextContent('animations-enabled');
|
|
147
|
+
|
|
148
|
+
// Change to disabled
|
|
149
|
+
rerender(<TestComponent hasAnimations={false} />);
|
|
150
|
+
expect(screen.getByTestId('config')).toHaveTextContent('animations-disabled');
|
|
151
|
+
expect(screen.getByTestId('has-animations')).toHaveTextContent('animations-disabled');
|
|
152
|
+
|
|
153
|
+
// Change back to enabled
|
|
154
|
+
rerender(<TestComponent hasAnimations={true} />);
|
|
155
|
+
expect(screen.getByTestId('config')).toHaveTextContent('animations-enabled');
|
|
156
|
+
expect(screen.getByTestId('has-animations')).toHaveTextContent('animations-enabled');
|
|
157
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './AnimationsProvider';
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { cloneElement, isValidElement, useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
2
2
|
import * as ReactDOM from 'react-dom';
|
|
3
3
|
import { usePopper } from './thirdparty/react-popper/usePopper';
|
|
4
|
+
import { Options as OffsetOptions } from './thirdparty/popper-core/modifiers/offset';
|
|
4
5
|
import { Placement, Modifier } from './thirdparty/popper-core';
|
|
5
6
|
import { clearTimeouts } from '../util';
|
|
6
7
|
import { css } from '@patternfly/react-styles';
|
|
@@ -46,27 +47,11 @@ const getOppositePlacement = (placement: Placement): any =>
|
|
|
46
47
|
export const getOpacityTransition = (animationDuration: number) =>
|
|
47
48
|
`opacity ${animationDuration}ms cubic-bezier(.54, 1.5, .38, 1.11)`;
|
|
48
49
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
* Trigger reference element to which the popper is relatively placed to.
|
|
52
|
-
*/
|
|
53
|
-
trigger?: React.ReactNode;
|
|
54
|
-
/**
|
|
55
|
-
* A reference to the trigger reference element that can be passed instead of or along
|
|
56
|
-
* with the trigger prop. When passed along with the trigger prop, the div element that
|
|
57
|
-
* wraps the trigger will be removed.
|
|
58
|
-
*/
|
|
59
|
-
triggerRef?: HTMLElement | (() => HTMLElement) | React.RefObject<any>;
|
|
60
|
-
/** The popper (menu/tooltip/popover) element */
|
|
61
|
-
popper: React.ReactElement<any>;
|
|
62
|
-
/**
|
|
63
|
-
* Reference to the popper (menu/tooltip/popover) element.
|
|
64
|
-
* Passing this prop will remove the wrapper div element from the popper.
|
|
65
|
-
*/
|
|
66
|
-
popperRef?: HTMLElement | (() => HTMLElement) | React.RefObject<any>;
|
|
50
|
+
/** Properties of Popper that can be used to customize its behavior. */
|
|
51
|
+
export interface PopperOptions {
|
|
67
52
|
/** popper direction */
|
|
68
53
|
direction?: 'up' | 'down';
|
|
69
|
-
/**
|
|
54
|
+
/** Horizontal position of the popper. Use the additional prop preventOverflow if seeing clipping. */
|
|
70
55
|
position?: 'right' | 'left' | 'center' | 'start' | 'end';
|
|
71
56
|
/** Instead of direction and position can set the placement of the popper */
|
|
72
57
|
placement?: Placement;
|
|
@@ -80,8 +65,6 @@ export interface PopperProps {
|
|
|
80
65
|
appendTo?: HTMLElement | (() => HTMLElement) | 'inline';
|
|
81
66
|
/** z-index of the popper element */
|
|
82
67
|
zIndex?: number;
|
|
83
|
-
/** True to make the popper visible */
|
|
84
|
-
isVisible?: boolean;
|
|
85
68
|
/**
|
|
86
69
|
* Map class names to positions, for example:
|
|
87
70
|
* {
|
|
@@ -107,6 +90,8 @@ export interface PopperProps {
|
|
|
107
90
|
};
|
|
108
91
|
/** Distance of the popper to the trigger */
|
|
109
92
|
distance?: number;
|
|
93
|
+
/** Override for the popper's offset */
|
|
94
|
+
offset?: OffsetOptions['offset'];
|
|
110
95
|
/** Callback function when mouse enters trigger */
|
|
111
96
|
onMouseEnter?: (event?: MouseEvent) => void;
|
|
112
97
|
/** Callback function when mouse leaves trigger */
|
|
@@ -176,6 +161,29 @@ export interface PopperProps {
|
|
|
176
161
|
preventOverflow?: boolean;
|
|
177
162
|
}
|
|
178
163
|
|
|
164
|
+
/** Extends PopperOptions */
|
|
165
|
+
export interface PopperProps extends PopperOptions {
|
|
166
|
+
/**
|
|
167
|
+
* Trigger reference element to which the popper is relatively placed to.
|
|
168
|
+
*/
|
|
169
|
+
trigger?: React.ReactNode;
|
|
170
|
+
/**
|
|
171
|
+
* A reference to the trigger reference element that can be passed instead of or along
|
|
172
|
+
* with the trigger prop. When passed along with the trigger prop, the div element that
|
|
173
|
+
* wraps the trigger will be removed.
|
|
174
|
+
*/
|
|
175
|
+
triggerRef?: HTMLElement | (() => HTMLElement) | React.RefObject<any>;
|
|
176
|
+
/** The popper (menu/tooltip/popover) element */
|
|
177
|
+
popper: React.ReactElement<any>;
|
|
178
|
+
/**
|
|
179
|
+
* Reference to the popper (menu/tooltip/popover) element.
|
|
180
|
+
* Passing this prop will remove the wrapper div element from the popper.
|
|
181
|
+
*/
|
|
182
|
+
popperRef?: HTMLElement | (() => HTMLElement) | React.RefObject<any>;
|
|
183
|
+
/** True to make the popper visible */
|
|
184
|
+
isVisible?: boolean;
|
|
185
|
+
}
|
|
186
|
+
|
|
179
187
|
export const Popper: React.FunctionComponent<PopperProps> = ({
|
|
180
188
|
trigger,
|
|
181
189
|
popper,
|
|
@@ -190,6 +198,7 @@ export const Popper: React.FunctionComponent<PopperProps> = ({
|
|
|
190
198
|
isVisible = true,
|
|
191
199
|
positionModifiers,
|
|
192
200
|
distance = 0,
|
|
201
|
+
offset,
|
|
193
202
|
onMouseEnter,
|
|
194
203
|
onMouseLeave,
|
|
195
204
|
onFocus,
|
|
@@ -420,7 +429,7 @@ export const Popper: React.FunctionComponent<PopperProps> = ({
|
|
|
420
429
|
{
|
|
421
430
|
name: 'offset',
|
|
422
431
|
options: {
|
|
423
|
-
offset: [0, distance]
|
|
432
|
+
offset: offset || [0, distance]
|
|
424
433
|
}
|
|
425
434
|
},
|
|
426
435
|
{
|
package/src/helpers/index.ts
CHANGED