@patternfly/react-core 6.3.0-prerelease.8 → 6.3.0
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 +151 -0
- package/CONTRIBUTING.md +3 -5
- 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/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 +2 -0
- package/dist/esm/components/Alert/AlertGroupInline.d.ts.map +1 -1
- package/dist/esm/components/Alert/AlertGroupInline.js +7 -1
- package/dist/esm/components/Alert/AlertGroupInline.js.map +1 -1
- package/dist/esm/components/Button/Button.d.ts +12 -0
- package/dist/esm/components/Button/Button.d.ts.map +1 -1
- package/dist/esm/components/Button/Button.js +33 -3
- package/dist/esm/components/Button/Button.js.map +1 -1
- package/dist/esm/components/Button/hamburgerIcon.d.ts +2 -0
- package/dist/esm/components/Button/hamburgerIcon.d.ts.map +1 -0
- package/dist/esm/components/Button/hamburgerIcon.js +7 -0
- package/dist/esm/components/Button/hamburgerIcon.js.map +1 -0
- package/dist/esm/components/ClipboardCopy/ClipboardCopy.d.ts.map +1 -1
- package/dist/esm/components/ClipboardCopy/ClipboardCopy.js +2 -2
- package/dist/esm/components/ClipboardCopy/ClipboardCopy.js.map +1 -1
- package/dist/esm/components/ClipboardCopy/ClipboardCopyToggle.js +1 -1
- package/dist/esm/components/ClipboardCopy/ClipboardCopyToggle.js.map +1 -1
- package/dist/esm/components/DualListSelector/DualListSelector.d.ts +5 -0
- package/dist/esm/components/DualListSelector/DualListSelector.d.ts.map +1 -1
- package/dist/esm/components/DualListSelector/DualListSelector.js +4 -3
- package/dist/esm/components/DualListSelector/DualListSelector.js.map +1 -1
- package/dist/esm/components/DualListSelector/DualListSelectorContext.d.ts +1 -0
- package/dist/esm/components/DualListSelector/DualListSelectorContext.d.ts.map +1 -1
- package/dist/esm/components/DualListSelector/DualListSelectorContext.js +1 -1
- package/dist/esm/components/DualListSelector/DualListSelectorContext.js.map +1 -1
- package/dist/esm/components/DualListSelector/DualListSelectorListWrapper.d.ts.map +1 -1
- package/dist/esm/components/DualListSelector/DualListSelectorListWrapper.js +1 -1
- package/dist/esm/components/DualListSelector/DualListSelectorListWrapper.js.map +1 -1
- package/dist/esm/components/DualListSelector/DualListSelectorTree.d.ts.map +1 -1
- package/dist/esm/components/DualListSelector/DualListSelectorTree.js +4 -1
- package/dist/esm/components/DualListSelector/DualListSelectorTree.js.map +1 -1
- package/dist/esm/components/DualListSelector/DualListSelectorTreeItem.d.ts +5 -0
- package/dist/esm/components/DualListSelector/DualListSelectorTreeItem.d.ts.map +1 -1
- package/dist/esm/components/DualListSelector/DualListSelectorTreeItem.js +8 -4
- package/dist/esm/components/DualListSelector/DualListSelectorTreeItem.js.map +1 -1
- package/dist/esm/components/ExpandableSection/ExpandableSection.d.ts +5 -1
- package/dist/esm/components/ExpandableSection/ExpandableSection.d.ts.map +1 -1
- package/dist/esm/components/ExpandableSection/ExpandableSection.js +6 -2
- package/dist/esm/components/ExpandableSection/ExpandableSection.js.map +1 -1
- package/dist/esm/components/ExpandableSection/ExpandableSectionToggle.d.ts +2 -0
- package/dist/esm/components/ExpandableSection/ExpandableSectionToggle.d.ts.map +1 -1
- package/dist/esm/components/ExpandableSection/ExpandableSectionToggle.js +4 -3
- package/dist/esm/components/ExpandableSection/ExpandableSectionToggle.js.map +1 -1
- package/dist/esm/components/Form/FormFieldGroupExpandable.d.ts +5 -0
- package/dist/esm/components/Form/FormFieldGroupExpandable.d.ts.map +1 -1
- package/dist/esm/components/Form/FormFieldGroupExpandable.js +2 -2
- package/dist/esm/components/Form/FormFieldGroupExpandable.js.map +1 -1
- package/dist/esm/components/Form/InternalFormFieldGroup.d.ts +5 -0
- package/dist/esm/components/Form/InternalFormFieldGroup.d.ts.map +1 -1
- package/dist/esm/components/Form/InternalFormFieldGroup.js +2 -2
- package/dist/esm/components/Form/InternalFormFieldGroup.js.map +1 -1
- package/dist/esm/components/Label/Label.js +57 -57
- package/dist/esm/components/Label/Label.js.map +1 -1
- package/dist/esm/components/Menu/Menu.js +3 -3
- package/dist/esm/components/Menu/Menu.js.map +1 -1
- package/dist/esm/components/MenuToggle/MenuToggle.d.ts +2 -0
- package/dist/esm/components/MenuToggle/MenuToggle.d.ts.map +1 -1
- package/dist/esm/components/MenuToggle/MenuToggle.js +4 -3
- package/dist/esm/components/MenuToggle/MenuToggle.js.map +1 -1
- package/dist/esm/components/Nav/NavExpandable.d.ts.map +1 -1
- package/dist/esm/components/Nav/NavExpandable.js +1 -1
- package/dist/esm/components/Nav/NavExpandable.js.map +1 -1
- package/dist/esm/components/Page/PageToggleButton.d.ts +4 -0
- package/dist/esm/components/Page/PageToggleButton.d.ts.map +1 -1
- package/dist/esm/components/Page/PageToggleButton.js +2 -2
- package/dist/esm/components/Page/PageToggleButton.js.map +1 -1
- package/dist/esm/components/Popover/Popover.d.ts.map +1 -1
- package/dist/esm/components/Popover/Popover.js +11 -1
- package/dist/esm/components/Popover/Popover.js.map +1 -1
- package/dist/esm/components/SearchInput/AdvancedSearchMenu.d.ts.map +1 -1
- package/dist/esm/components/SearchInput/AdvancedSearchMenu.js +13 -19
- package/dist/esm/components/SearchInput/AdvancedSearchMenu.js.map +1 -1
- package/dist/esm/components/SearchInput/SearchInput.d.ts +4 -0
- package/dist/esm/components/SearchInput/SearchInput.d.ts.map +1 -1
- package/dist/esm/components/SearchInput/SearchInput.js +37 -13
- package/dist/esm/components/SearchInput/SearchInput.js.map +1 -1
- package/dist/esm/components/Tabs/OverflowTab.d.ts +26 -0
- package/dist/esm/components/Tabs/OverflowTab.d.ts.map +1 -1
- package/dist/esm/components/Tabs/OverflowTab.js +2 -2
- package/dist/esm/components/Tabs/OverflowTab.js.map +1 -1
- package/dist/esm/components/Tabs/Tab.d.ts.map +1 -1
- package/dist/esm/components/Tabs/Tab.js +5 -2
- package/dist/esm/components/Tabs/Tab.js.map +1 -1
- package/dist/esm/components/Tabs/Tabs.d.ts +10 -0
- package/dist/esm/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/esm/components/Tabs/Tabs.js +46 -12
- package/dist/esm/components/Tabs/Tabs.js.map +1 -1
- package/dist/esm/components/Tabs/TabsContext.d.ts +1 -0
- package/dist/esm/components/Tabs/TabsContext.d.ts.map +1 -1
- package/dist/esm/components/Tabs/TabsContext.js +1 -0
- package/dist/esm/components/Tabs/TabsContext.js.map +1 -1
- package/dist/esm/components/TreeView/TreeView.d.ts +5 -0
- package/dist/esm/components/TreeView/TreeView.d.ts.map +1 -1
- package/dist/esm/components/TreeView/TreeView.js +5 -5
- package/dist/esm/components/TreeView/TreeView.js.map +1 -1
- package/dist/esm/components/TreeView/TreeViewListItem.d.ts +5 -0
- package/dist/esm/components/TreeView/TreeViewListItem.d.ts.map +1 -1
- package/dist/esm/components/TreeView/TreeViewListItem.js +8 -4
- package/dist/esm/components/TreeView/TreeViewListItem.js.map +1 -1
- package/dist/esm/components/TreeView/TreeViewRoot.d.ts.map +1 -1
- package/dist/esm/components/TreeView/TreeViewRoot.js +2 -2
- package/dist/esm/components/TreeView/TreeViewRoot.js.map +1 -1
- package/dist/esm/components/Truncate/Truncate.d.ts +11 -8
- package/dist/esm/components/Truncate/Truncate.d.ts.map +1 -1
- package/dist/esm/components/Truncate/Truncate.js +16 -9
- package/dist/esm/components/Truncate/Truncate.js.map +1 -1
- package/dist/esm/demos/DashboardHeader.d.ts.map +1 -1
- package/dist/esm/demos/DashboardHeader.js +1 -2
- package/dist/esm/demos/DashboardHeader.js.map +1 -1
- package/dist/esm/demos/sampleData.d.ts.map +1 -1
- package/dist/esm/demos/sampleData.js +225 -226
- package/dist/esm/demos/sampleData.js.map +1 -1
- package/dist/esm/demos/sampleDataRTL.d.ts +7 -0
- package/dist/esm/demos/sampleDataRTL.d.ts.map +1 -0
- package/dist/esm/demos/sampleDataRTL.js +128 -0
- package/dist/esm/demos/sampleDataRTL.js.map +1 -0
- package/dist/esm/helpers/KeyboardHandler.js +3 -2
- package/dist/esm/helpers/KeyboardHandler.js.map +1 -1
- package/dist/esm/helpers/Popper/Popper.d.ts.map +1 -1
- package/dist/esm/helpers/Popper/Popper.js +1 -0
- package/dist/esm/helpers/Popper/Popper.js.map +1 -1
- package/dist/esm/helpers/util.d.ts +17 -0
- package/dist/esm/helpers/util.d.ts.map +1 -1
- package/dist/esm/helpers/util.js +36 -0
- package/dist/esm/helpers/util.js.map +1 -1
- package/dist/js/components/Alert/AlertGroupInline.d.ts.map +1 -1
- package/dist/js/components/Alert/AlertGroupInline.js +6 -0
- package/dist/js/components/Alert/AlertGroupInline.js.map +1 -1
- package/dist/js/components/Button/Button.d.ts +12 -0
- package/dist/js/components/Button/Button.d.ts.map +1 -1
- package/dist/js/components/Button/Button.js +33 -3
- package/dist/js/components/Button/Button.js.map +1 -1
- package/dist/js/components/Button/hamburgerIcon.d.ts +2 -0
- package/dist/js/components/Button/hamburgerIcon.d.ts.map +1 -0
- package/dist/js/components/Button/hamburgerIcon.js +11 -0
- package/dist/js/components/Button/hamburgerIcon.js.map +1 -0
- package/dist/js/components/ClipboardCopy/ClipboardCopy.d.ts.map +1 -1
- package/dist/js/components/ClipboardCopy/ClipboardCopy.js +2 -2
- package/dist/js/components/ClipboardCopy/ClipboardCopy.js.map +1 -1
- package/dist/js/components/ClipboardCopy/ClipboardCopyToggle.js +1 -1
- package/dist/js/components/ClipboardCopy/ClipboardCopyToggle.js.map +1 -1
- package/dist/js/components/DualListSelector/DualListSelector.d.ts +5 -0
- package/dist/js/components/DualListSelector/DualListSelector.d.ts.map +1 -1
- package/dist/js/components/DualListSelector/DualListSelector.js +4 -3
- package/dist/js/components/DualListSelector/DualListSelector.js.map +1 -1
- package/dist/js/components/DualListSelector/DualListSelectorContext.d.ts +1 -0
- package/dist/js/components/DualListSelector/DualListSelectorContext.d.ts.map +1 -1
- package/dist/js/components/DualListSelector/DualListSelectorContext.js +1 -1
- package/dist/js/components/DualListSelector/DualListSelectorContext.js.map +1 -1
- package/dist/js/components/DualListSelector/DualListSelectorListWrapper.d.ts.map +1 -1
- package/dist/js/components/DualListSelector/DualListSelectorListWrapper.js +1 -1
- package/dist/js/components/DualListSelector/DualListSelectorListWrapper.js.map +1 -1
- package/dist/js/components/DualListSelector/DualListSelectorTree.d.ts.map +1 -1
- package/dist/js/components/DualListSelector/DualListSelectorTree.js +4 -1
- package/dist/js/components/DualListSelector/DualListSelectorTree.js.map +1 -1
- package/dist/js/components/DualListSelector/DualListSelectorTreeItem.d.ts +5 -0
- package/dist/js/components/DualListSelector/DualListSelectorTreeItem.d.ts.map +1 -1
- package/dist/js/components/DualListSelector/DualListSelectorTreeItem.js +7 -3
- package/dist/js/components/DualListSelector/DualListSelectorTreeItem.js.map +1 -1
- package/dist/js/components/ExpandableSection/ExpandableSection.d.ts +5 -1
- package/dist/js/components/ExpandableSection/ExpandableSection.d.ts.map +1 -1
- package/dist/js/components/ExpandableSection/ExpandableSection.js +6 -2
- package/dist/js/components/ExpandableSection/ExpandableSection.js.map +1 -1
- package/dist/js/components/ExpandableSection/ExpandableSectionToggle.d.ts +2 -0
- package/dist/js/components/ExpandableSection/ExpandableSectionToggle.d.ts.map +1 -1
- package/dist/js/components/ExpandableSection/ExpandableSectionToggle.js +4 -3
- package/dist/js/components/ExpandableSection/ExpandableSectionToggle.js.map +1 -1
- package/dist/js/components/Form/FormFieldGroupExpandable.d.ts +5 -0
- package/dist/js/components/Form/FormFieldGroupExpandable.d.ts.map +1 -1
- package/dist/js/components/Form/FormFieldGroupExpandable.js +2 -2
- package/dist/js/components/Form/FormFieldGroupExpandable.js.map +1 -1
- package/dist/js/components/Form/InternalFormFieldGroup.d.ts +5 -0
- package/dist/js/components/Form/InternalFormFieldGroup.d.ts.map +1 -1
- package/dist/js/components/Form/InternalFormFieldGroup.js +2 -2
- package/dist/js/components/Form/InternalFormFieldGroup.js.map +1 -1
- package/dist/js/components/Label/Label.js +57 -57
- package/dist/js/components/Label/Label.js.map +1 -1
- package/dist/js/components/Menu/Menu.js +3 -3
- package/dist/js/components/Menu/Menu.js.map +1 -1
- package/dist/js/components/MenuToggle/MenuToggle.d.ts +2 -0
- package/dist/js/components/MenuToggle/MenuToggle.d.ts.map +1 -1
- package/dist/js/components/MenuToggle/MenuToggle.js +4 -3
- package/dist/js/components/MenuToggle/MenuToggle.js.map +1 -1
- package/dist/js/components/Nav/NavExpandable.d.ts.map +1 -1
- package/dist/js/components/Nav/NavExpandable.js +1 -1
- package/dist/js/components/Nav/NavExpandable.js.map +1 -1
- package/dist/js/components/Page/PageToggleButton.d.ts +4 -0
- package/dist/js/components/Page/PageToggleButton.d.ts.map +1 -1
- package/dist/js/components/Page/PageToggleButton.js +2 -2
- package/dist/js/components/Page/PageToggleButton.js.map +1 -1
- package/dist/js/components/Popover/Popover.d.ts.map +1 -1
- package/dist/js/components/Popover/Popover.js +11 -1
- package/dist/js/components/Popover/Popover.js.map +1 -1
- package/dist/js/components/SearchInput/AdvancedSearchMenu.d.ts.map +1 -1
- package/dist/js/components/SearchInput/AdvancedSearchMenu.js +12 -18
- package/dist/js/components/SearchInput/AdvancedSearchMenu.js.map +1 -1
- package/dist/js/components/SearchInput/SearchInput.d.ts +4 -0
- package/dist/js/components/SearchInput/SearchInput.d.ts.map +1 -1
- package/dist/js/components/SearchInput/SearchInput.js +36 -12
- package/dist/js/components/SearchInput/SearchInput.js.map +1 -1
- package/dist/js/components/Tabs/OverflowTab.d.ts +26 -0
- package/dist/js/components/Tabs/OverflowTab.d.ts.map +1 -1
- package/dist/js/components/Tabs/OverflowTab.js +2 -2
- package/dist/js/components/Tabs/OverflowTab.js.map +1 -1
- package/dist/js/components/Tabs/Tab.d.ts.map +1 -1
- package/dist/js/components/Tabs/Tab.js +4 -1
- package/dist/js/components/Tabs/Tab.js.map +1 -1
- package/dist/js/components/Tabs/Tabs.d.ts +10 -0
- package/dist/js/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/js/components/Tabs/Tabs.js +45 -11
- package/dist/js/components/Tabs/Tabs.js.map +1 -1
- package/dist/js/components/Tabs/TabsContext.d.ts +1 -0
- package/dist/js/components/Tabs/TabsContext.d.ts.map +1 -1
- package/dist/js/components/Tabs/TabsContext.js +1 -0
- package/dist/js/components/Tabs/TabsContext.js.map +1 -1
- package/dist/js/components/TreeView/TreeView.d.ts +5 -0
- package/dist/js/components/TreeView/TreeView.d.ts.map +1 -1
- package/dist/js/components/TreeView/TreeView.js +5 -5
- package/dist/js/components/TreeView/TreeView.js.map +1 -1
- package/dist/js/components/TreeView/TreeViewListItem.d.ts +5 -0
- package/dist/js/components/TreeView/TreeViewListItem.d.ts.map +1 -1
- package/dist/js/components/TreeView/TreeViewListItem.js +7 -3
- package/dist/js/components/TreeView/TreeViewListItem.js.map +1 -1
- package/dist/js/components/TreeView/TreeViewRoot.d.ts.map +1 -1
- package/dist/js/components/TreeView/TreeViewRoot.js +2 -2
- package/dist/js/components/TreeView/TreeViewRoot.js.map +1 -1
- package/dist/js/components/Truncate/Truncate.d.ts +11 -8
- package/dist/js/components/Truncate/Truncate.d.ts.map +1 -1
- package/dist/js/components/Truncate/Truncate.js +15 -9
- package/dist/js/components/Truncate/Truncate.js.map +1 -1
- package/dist/js/demos/DashboardHeader.d.ts.map +1 -1
- package/dist/js/demos/DashboardHeader.js +1 -2
- package/dist/js/demos/DashboardHeader.js.map +1 -1
- package/dist/js/demos/sampleData.d.ts.map +1 -1
- package/dist/js/demos/sampleData.js +225 -226
- package/dist/js/demos/sampleData.js.map +1 -1
- package/dist/js/demos/sampleDataRTL.d.ts +7 -0
- package/dist/js/demos/sampleDataRTL.d.ts.map +1 -0
- package/dist/js/demos/sampleDataRTL.js +131 -0
- package/dist/js/demos/sampleDataRTL.js.map +1 -0
- package/dist/js/helpers/KeyboardHandler.js +3 -2
- package/dist/js/helpers/KeyboardHandler.js.map +1 -1
- package/dist/js/helpers/Popper/Popper.d.ts.map +1 -1
- package/dist/js/helpers/Popper/Popper.js +1 -0
- package/dist/js/helpers/Popper/Popper.js.map +1 -1
- package/dist/js/helpers/util.d.ts +17 -0
- package/dist/js/helpers/util.d.ts.map +1 -1
- package/dist/js/helpers/util.js +39 -1
- package/dist/js/helpers/util.js.map +1 -1
- package/dist/styles/assets/images/icon-help.hbs +3 -0
- package/dist/styles/assets/images/icon-outlined-star.hbs +3 -0
- package/dist/styles/assets/images/icon-star.hbs +3 -0
- package/dist/styles/base-no-reset.css +52 -11
- package/dist/styles/base.css +52 -11
- package/dist/umd/assets/{output-B5tbNQwm.css → output-BvTy70LD.css} +15500 -14758
- 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/AlertGroupInline.tsx +13 -2
- package/src/components/Button/Button.tsx +78 -5
- package/src/components/Button/__tests__/Button.test.tsx +380 -74
- package/src/components/Button/__tests__/__snapshots__/Button.test.tsx.snap +1 -1
- package/src/components/Button/examples/Button.md +57 -14
- package/src/components/Button/examples/ButtonFavorite.tsx +18 -0
- package/src/components/Button/examples/ButtonHamburger.tsx +9 -0
- package/src/components/Button/examples/ButtonSettings.tsx +10 -0
- package/src/components/Button/hamburgerIcon.tsx +13 -0
- package/src/components/Card/examples/Card.md +1 -1
- package/src/components/Card/examples/CardSelectable.tsx +73 -60
- package/src/components/Card/examples/CardSingleSelectable.tsx +65 -48
- package/src/components/ClipboardCopy/ClipboardCopy.tsx +2 -1
- package/src/components/ClipboardCopy/ClipboardCopyToggle.tsx +1 -1
- package/src/components/ClipboardCopy/__tests__/ClipboardCopyToggle.test.tsx +7 -1
- package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopyToggle.test.tsx.snap +0 -1
- package/src/components/DualListSelector/DualListSelector.tsx +18 -4
- package/src/components/DualListSelector/DualListSelectorContext.ts +2 -1
- package/src/components/DualListSelector/DualListSelectorListWrapper.tsx +8 -5
- package/src/components/DualListSelector/DualListSelectorTree.tsx +4 -0
- package/src/components/DualListSelector/DualListSelectorTreeItem.tsx +17 -2
- package/src/components/DualListSelector/__tests__/DualListSelector.test.tsx +32 -1
- package/src/components/DualListSelector/__tests__/DualListSelectorTreeItem.test.tsx +55 -0
- package/src/components/DualListSelector/examples/DualListSelectorTree.tsx +1 -1
- package/src/components/ExpandableSection/ExpandableSection.tsx +13 -1
- package/src/components/ExpandableSection/ExpandableSectionToggle.tsx +5 -1
- package/src/components/ExpandableSection/__tests__/ExpandableSection.test.tsx +85 -23
- package/src/components/ExpandableSection/__tests__/ExpandableSectionToggle.test.tsx +32 -0
- package/src/components/ExpandableSection/__tests__/__snapshots__/ExpandableSection.test.tsx.snap +1 -63
- package/src/components/ExpandableSection/examples/ExpandableSection.md +2 -0
- package/src/components/ExpandableSection/examples/ExpandableSectionDetached.tsx +1 -1
- package/src/components/Form/FormFieldGroupExpandable.tsx +7 -0
- package/src/components/Form/InternalFormFieldGroup.tsx +19 -3
- package/src/components/Form/__tests__/FormFieldGroupExpandable.test.tsx +55 -0
- package/src/components/Form/examples/FormFieldGroups.tsx +7 -1
- package/src/components/Label/Label.tsx +63 -63
- package/src/components/Masthead/examples/MastheadBasic.tsx +1 -2
- package/src/components/Masthead/examples/MastheadBasicMixedContent.tsx +1 -2
- package/src/components/Masthead/examples/MastheadDisplayInline.tsx +1 -2
- package/src/components/Masthead/examples/MastheadDisplayStack.tsx +1 -2
- package/src/components/Masthead/examples/MastheadDisplayStackInlineResponsive.tsx +1 -2
- package/src/components/Masthead/examples/MastheadInsets.tsx +1 -2
- package/src/components/Masthead/examples/MastheadLogoCustomComponent.tsx +1 -2
- package/src/components/Menu/Menu.tsx +3 -3
- package/src/components/MenuToggle/MenuToggle.tsx +6 -1
- package/src/components/MenuToggle/__tests__/MenuToggle.test.tsx +59 -45
- package/src/components/MenuToggle/__tests__/__snapshots__/MenuToggle.test.tsx.snap +9 -9
- package/src/components/MenuToggle/examples/MenuToggle.md +14 -30
- package/src/components/MenuToggle/examples/MenuToggleCustomIcon.tsx +17 -0
- package/src/components/MenuToggle/examples/MenuToggleSettings.tsx +8 -0
- package/src/components/Nav/NavExpandable.tsx +6 -1
- package/src/components/Nav/__tests__/Generated/__snapshots__/NavExpandable.test.tsx.snap +1 -0
- package/src/components/Nav/__tests__/NavExpandable.test.tsx +15 -0
- package/src/components/Nav/__tests__/__snapshots__/Nav.test.tsx.snap +3 -0
- package/src/components/Page/PageToggleButton.tsx +9 -2
- package/src/components/Page/examples/Page.md +1 -1
- package/src/components/Page/examples/PageCenteredSection.tsx +4 -8
- package/src/components/Page/examples/PageGroupSection.tsx +2 -5
- package/src/components/Page/examples/PageMainSectionPadding.tsx +2 -5
- package/src/components/Page/examples/PageMainSectionVariations.tsx +2 -5
- package/src/components/Page/examples/PageMultipleSidebarBody.tsx +2 -5
- package/src/components/Page/examples/PageUncontrolledNav.tsx +1 -4
- package/src/components/Page/examples/PageVerticalNav.tsx +2 -5
- package/src/components/Page/examples/PageWithOrWithoutFill.tsx +2 -5
- package/src/components/Popover/Popover.tsx +13 -1
- package/src/components/SearchInput/AdvancedSearchMenu.tsx +15 -23
- package/src/components/SearchInput/SearchInput.tsx +111 -15
- package/src/components/SearchInput/__tests__/SearchInput.test.tsx +84 -0
- package/src/components/SearchInput/examples/SearchInput.md +11 -2
- package/src/components/SearchInput/examples/SearchInputWithExpandable.tsx +6 -1
- package/src/components/Skeleton/examples/SkeletonText.tsx +0 -1
- package/src/components/Tabs/OverflowTab.tsx +29 -0
- package/src/components/Tabs/Tab.tsx +6 -2
- package/src/components/Tabs/Tabs.tsx +76 -11
- package/src/components/Tabs/TabsContext.ts +2 -0
- package/src/components/Tabs/__tests__/Tabs.test.tsx +65 -1
- package/src/components/Tabs/__tests__/__snapshots__/Tabs.test.tsx.snap +39 -26
- package/src/components/Tabs/examples/Tabs.md +1 -1
- package/src/components/Timestamp/examples/TimestampBasicFormats.tsx +1 -1
- package/src/components/Timestamp/examples/TimestampDefaultTooltip.tsx +1 -1
- package/src/components/TreeView/TreeView.tsx +9 -0
- package/src/components/TreeView/TreeViewListItem.tsx +18 -5
- package/src/components/TreeView/TreeViewRoot.tsx +4 -2
- package/src/components/TreeView/__tests__/TreeView.test.tsx +8 -1
- package/src/components/TreeView/__tests__/TreeViewList.test.tsx +39 -0
- package/src/components/TreeView/__tests__/TreeViewListItem.test.tsx +17 -3
- package/src/components/TreeView/__tests__/__snapshots__/TreeView.test.tsx.snap +3 -0
- package/src/components/TreeView/examples/TreeViewCompact.tsx +1 -1
- package/src/components/TreeView/examples/TreeViewCompactNoBackground.tsx +8 -1
- package/src/components/TreeView/examples/TreeViewGuides.tsx +1 -1
- package/src/components/TreeView/examples/TreeViewMultiselectable.tsx +1 -0
- package/src/components/TreeView/examples/TreeViewSelectionExpansion.tsx +1 -0
- package/src/components/TreeView/examples/TreeViewSingleSelectable.tsx +1 -0
- package/src/components/TreeView/examples/TreeViewWithActionItems.tsx +1 -0
- package/src/components/TreeView/examples/TreeViewWithBadges.tsx +1 -0
- package/src/components/TreeView/examples/TreeViewWithCheckboxes.tsx +9 -1
- package/src/components/TreeView/examples/TreeViewWithCustomBadges.tsx +1 -0
- package/src/components/TreeView/examples/TreeViewWithIconPerItem.tsx +1 -0
- package/src/components/TreeView/examples/TreeViewWithIcons.tsx +1 -0
- package/src/components/TreeView/examples/TreeViewWithMemoization.tsx +1 -0
- package/src/components/TreeView/examples/TreeViewWithSearch.tsx +1 -0
- package/src/components/Truncate/Truncate.tsx +40 -19
- package/src/components/Truncate/__tests__/Truncate.test.tsx +24 -0
- package/src/components/Truncate/examples/Truncate.md +8 -0
- package/src/components/Truncate/examples/TruncateLinks.tsx +22 -0
- package/src/demos/CardDemos.md +1 -1
- package/src/demos/DashboardHeader.tsx +2 -5
- package/src/demos/NotificationDrawer/examples/NotificationDrawerBasic.tsx +2 -5
- package/src/demos/NotificationDrawer/examples/NotificationDrawerGrouped.tsx +2 -5
- package/src/demos/RTL/RTL.md +1 -0
- package/src/demos/RTL/examples/PaginatedTable.tsx +18 -53
- package/src/demos/examples/Card/CardAggregateStatus.tsx +2 -6
- package/src/demos/examples/Card/CardDetails.tsx +2 -3
- package/src/demos/examples/Card/CardEventsView.tsx +2 -3
- package/src/demos/examples/Card/CardLogView.tsx +2 -3
- package/src/demos/examples/Card/CardStatus.tsx +0 -1
- package/src/demos/examples/Card/CardUtilizationDemo3.tsx +0 -1
- package/src/demos/examples/Masthead/MastheadWithHorizontalNav.tsx +1 -1
- package/src/demos/examples/Masthead/MastheadWithUtilitiesAndUserDropdownMenu.tsx +2 -5
- package/src/demos/examples/Nav/NavFlyout.tsx +3 -6
- package/src/demos/examples/Nav/NavHorizontal.tsx +1 -1
- package/src/demos/examples/Nav/NavHorizontalWithSubnav.tsx +2 -5
- package/src/demos/examples/Nav/NavManual.tsx +3 -6
- package/src/demos/examples/Page/PageContextSelector.tsx +3 -6
- package/src/demos/examples/Page/PageStickySectionBreadcrumb.tsx +2 -5
- package/src/demos/examples/Page/PageStickySectionGroup.tsx +2 -5
- package/src/demos/examples/Page/PageStickySectionGroupAlternate.tsx +2 -5
- package/src/demos/examples/Toolbar/ConsoleLogViewerToolbar.tsx +2 -3
- package/src/demos/examples/Wizard/InPageWithDrawer.tsx +1 -4
- package/src/demos/examples/Wizard/InPageWithDrawerInformationalStep.tsx +1 -4
- package/src/demos/sampleData.tsx +225 -227
- package/src/demos/sampleDataRTL.tsx +133 -0
- package/src/helpers/KeyboardHandler.tsx +2 -2
- package/src/helpers/Popper/Popper.tsx +1 -0
- package/src/helpers/util.ts +45 -0
- package/src/demos/RTL/examples/PaginatedTable.jsx +0 -504
|
@@ -14,6 +14,7 @@ import { TextInputGroup, TextInputGroupMain, TextInputGroupUtilities } from '../
|
|
|
14
14
|
import { InputGroup, InputGroupItem } from '../InputGroup';
|
|
15
15
|
import { Popper } from '../../helpers';
|
|
16
16
|
import textInputGroupStyles from '@patternfly/react-styles/css/components/TextInputGroup/text-input-group';
|
|
17
|
+
import inputGroupStyles from '@patternfly/react-styles/css/components/InputGroup/input-group';
|
|
17
18
|
|
|
18
19
|
/** Properties for adding search attributes to an advanced search input. These properties must
|
|
19
20
|
* be passed in as an object within an array to the search input component's attribute property.
|
|
@@ -41,6 +42,8 @@ export interface SearchInputExpandable {
|
|
|
41
42
|
onToggleExpand: (event: React.SyntheticEvent<HTMLButtonElement>, isExpanded: boolean) => void;
|
|
42
43
|
/** An accessible label for the expandable search input toggle. */
|
|
43
44
|
toggleAriaLabel: string;
|
|
45
|
+
/** Flag indicating animations should be enabled when the search input expands and collapses. Note: this will change the component's DOM structure. In a future breaking change release, this will become the default behavior and will no longer be needed. */
|
|
46
|
+
hasAnimations?: boolean;
|
|
44
47
|
}
|
|
45
48
|
|
|
46
49
|
/** The main search input component. */
|
|
@@ -118,6 +121,8 @@ export interface SearchInputProps extends Omit<React.HTMLProps<HTMLDivElement>,
|
|
|
118
121
|
/** The number of search results returned. Either a total number of results,
|
|
119
122
|
* or a string representing the current result over the total number of results. i.e. "1 / 5". */
|
|
120
123
|
resultsCount?: number | string;
|
|
124
|
+
/** Screenreader text that will appear after resultsCount to give context for what that value represents to assistive technologies. */
|
|
125
|
+
resultsCountContext?: string;
|
|
121
126
|
/** Label for the button which calls the onSearch event handler. */
|
|
122
127
|
submitSearchButtonLabel?: string;
|
|
123
128
|
/** Value of the search input. */
|
|
@@ -144,6 +149,7 @@ const SearchInputBase: React.FunctionComponent<SearchInputProps> = ({
|
|
|
144
149
|
onToggleAdvancedSearch,
|
|
145
150
|
isAdvancedSearchOpen = false,
|
|
146
151
|
resultsCount,
|
|
152
|
+
resultsCountContext = ' results',
|
|
147
153
|
onNextClick,
|
|
148
154
|
onPreviousClick,
|
|
149
155
|
innerRef,
|
|
@@ -174,7 +180,7 @@ const SearchInputBase: React.FunctionComponent<SearchInputProps> = ({
|
|
|
174
180
|
const popperRef = useRef(null);
|
|
175
181
|
const [focusAfterExpandChange, setFocusAfterExpandChange] = useState(false);
|
|
176
182
|
|
|
177
|
-
const { isExpanded, onToggleExpand, toggleAriaLabel } = expandableInput || {};
|
|
183
|
+
const { isExpanded, onToggleExpand, toggleAriaLabel, hasAnimations } = expandableInput || {};
|
|
178
184
|
|
|
179
185
|
useEffect(() => {
|
|
180
186
|
// this effect and the focusAfterExpandChange variable are needed to focus the input/toggle as needed when the
|
|
@@ -184,9 +190,13 @@ const SearchInputBase: React.FunctionComponent<SearchInputProps> = ({
|
|
|
184
190
|
} else if (isExpanded) {
|
|
185
191
|
searchInputInputRef?.current?.focus();
|
|
186
192
|
} else {
|
|
187
|
-
|
|
193
|
+
if (!hasAnimations) {
|
|
194
|
+
searchInputExpandableToggleRef?.current?.focus();
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
if (!hasAnimations) {
|
|
198
|
+
setFocusAfterExpandChange(false);
|
|
188
199
|
}
|
|
189
|
-
setFocusAfterExpandChange(false);
|
|
190
200
|
}, [focusAfterExpandChange, isExpanded, searchInputInputRef, searchInputExpandableToggleRef]);
|
|
191
201
|
|
|
192
202
|
useEffect(() => {
|
|
@@ -309,7 +319,11 @@ const SearchInputBase: React.FunctionComponent<SearchInputProps> = ({
|
|
|
309
319
|
/>
|
|
310
320
|
{(renderUtilities || areUtilitiesDisplayed) && (
|
|
311
321
|
<TextInputGroupUtilities>
|
|
312
|
-
{resultsCount &&
|
|
322
|
+
{resultsCount && (
|
|
323
|
+
<Badge isRead screenReaderText={resultsCountContext}>
|
|
324
|
+
{resultsCount}
|
|
325
|
+
</Badge>
|
|
326
|
+
)}
|
|
313
327
|
{!!onNextClick && !!onPreviousClick && (
|
|
314
328
|
<div className={textInputGroupStyles.textInputGroupGroup}>
|
|
315
329
|
<Button
|
|
@@ -342,7 +356,28 @@ const SearchInputBase: React.FunctionComponent<SearchInputProps> = ({
|
|
|
342
356
|
</TextInputGroup>
|
|
343
357
|
);
|
|
344
358
|
|
|
345
|
-
const
|
|
359
|
+
const expandToggleButton = (
|
|
360
|
+
<Button
|
|
361
|
+
variant={ButtonVariant.plain}
|
|
362
|
+
aria-label={toggleAriaLabel}
|
|
363
|
+
aria-expanded={isExpanded}
|
|
364
|
+
icon={<SearchIcon />}
|
|
365
|
+
onClick={onExpandHandler}
|
|
366
|
+
ref={searchInputExpandableToggleRef}
|
|
367
|
+
/>
|
|
368
|
+
);
|
|
369
|
+
|
|
370
|
+
const collapseToggleButton = (
|
|
371
|
+
<Button
|
|
372
|
+
variant={ButtonVariant.plain}
|
|
373
|
+
aria-label={toggleAriaLabel}
|
|
374
|
+
aria-expanded={isExpanded}
|
|
375
|
+
icon={<TimesIcon />}
|
|
376
|
+
onClick={onExpandHandler}
|
|
377
|
+
/>
|
|
378
|
+
);
|
|
379
|
+
|
|
380
|
+
const singleButtonToggle = (
|
|
346
381
|
<Button
|
|
347
382
|
variant={ButtonVariant.plain}
|
|
348
383
|
aria-label={toggleAriaLabel}
|
|
@@ -353,10 +388,48 @@ const SearchInputBase: React.FunctionComponent<SearchInputProps> = ({
|
|
|
353
388
|
/>
|
|
354
389
|
);
|
|
355
390
|
|
|
356
|
-
const
|
|
391
|
+
const onTransitionEnd = () => {
|
|
392
|
+
!isExpanded && focusAfterExpandChange && searchInputExpandableToggleRef?.current?.focus();
|
|
393
|
+
setFocusAfterExpandChange(false);
|
|
394
|
+
};
|
|
395
|
+
|
|
396
|
+
const expandableToggle = (
|
|
397
|
+
<>
|
|
398
|
+
{!hasAnimations && <InputGroupItem isPlain>{singleButtonToggle}</InputGroupItem>}
|
|
399
|
+
{hasAnimations && (
|
|
400
|
+
<>
|
|
401
|
+
<InputGroupItem
|
|
402
|
+
className={inputGroupStyles.modifiers.searchExpand}
|
|
403
|
+
isPlain
|
|
404
|
+
onTransitionEnd={onTransitionEnd}
|
|
405
|
+
{...(isExpanded && { inert: '' })}
|
|
406
|
+
>
|
|
407
|
+
{expandToggleButton}
|
|
408
|
+
</InputGroupItem>
|
|
409
|
+
<InputGroupItem
|
|
410
|
+
className={inputGroupStyles.modifiers.searchAction}
|
|
411
|
+
isPlain
|
|
412
|
+
{...(!isExpanded && { inert: '' })}
|
|
413
|
+
>
|
|
414
|
+
{collapseToggleButton}
|
|
415
|
+
</InputGroupItem>
|
|
416
|
+
</>
|
|
417
|
+
)}
|
|
418
|
+
</>
|
|
419
|
+
);
|
|
420
|
+
|
|
421
|
+
const buildExpandableSearchInput = ({ ...searchInputProps }: any = {}) => (
|
|
357
422
|
<InputGroup {...searchInputProps}>
|
|
358
|
-
<InputGroupItem
|
|
359
|
-
|
|
423
|
+
<InputGroupItem
|
|
424
|
+
{...(!hasAnimations && { isFill: true })}
|
|
425
|
+
{...(hasAnimations && { className: inputGroupStyles.modifiers.searchInput })}
|
|
426
|
+
{...(!isExpanded && {
|
|
427
|
+
inert: ''
|
|
428
|
+
})}
|
|
429
|
+
>
|
|
430
|
+
{buildTextInputGroup()}
|
|
431
|
+
</InputGroupItem>
|
|
432
|
+
{expandableToggle}
|
|
360
433
|
</InputGroup>
|
|
361
434
|
);
|
|
362
435
|
|
|
@@ -370,9 +443,19 @@ const SearchInputBase: React.FunctionComponent<SearchInputProps> = ({
|
|
|
370
443
|
|
|
371
444
|
const buildSearchTextInputGroupWithExtraButtons = ({ ...searchInputProps } = {}) => (
|
|
372
445
|
<InputGroup ref={triggerRef} {...searchInputProps}>
|
|
373
|
-
<InputGroupItem
|
|
446
|
+
<InputGroupItem
|
|
447
|
+
{...(!hasAnimations && { isFill: true })}
|
|
448
|
+
{...(expandableInput && hasAnimations && { className: inputGroupStyles.modifiers.searchInput })}
|
|
449
|
+
{...(expandableInput &&
|
|
450
|
+
hasAnimations &&
|
|
451
|
+
!isExpanded && {
|
|
452
|
+
inert: ''
|
|
453
|
+
})}
|
|
454
|
+
>
|
|
455
|
+
{buildTextInputGroup()}
|
|
456
|
+
</InputGroupItem>
|
|
374
457
|
{(attributes.length > 0 || onToggleAdvancedSearch) && (
|
|
375
|
-
<InputGroupItem isPlain>
|
|
458
|
+
<InputGroupItem isPlain {...(hasAnimations && { className: inputGroupStyles.modifiers.searchAction })}>
|
|
376
459
|
<Button
|
|
377
460
|
className={isSearchMenuOpen && 'pf-m-expanded'}
|
|
378
461
|
variant={ButtonVariant.control}
|
|
@@ -385,7 +468,7 @@ const SearchInputBase: React.FunctionComponent<SearchInputProps> = ({
|
|
|
385
468
|
</InputGroupItem>
|
|
386
469
|
)}
|
|
387
470
|
{!!onSearch && (
|
|
388
|
-
<InputGroupItem>
|
|
471
|
+
<InputGroupItem {...(hasAnimations && { className: inputGroupStyles.modifiers.searchAction })}>
|
|
389
472
|
<Button
|
|
390
473
|
type="submit"
|
|
391
474
|
variant={ButtonVariant.control}
|
|
@@ -406,11 +489,15 @@ const SearchInputBase: React.FunctionComponent<SearchInputProps> = ({
|
|
|
406
489
|
|
|
407
490
|
const searchInputProps = {
|
|
408
491
|
...props,
|
|
409
|
-
className:
|
|
492
|
+
className: css(
|
|
493
|
+
expandableInput && hasAnimations && inputGroupStyles.modifiers.searchExpandable,
|
|
494
|
+
expandableInput && hasAnimations && isExpanded && inputGroupStyles.modifiers.expanded,
|
|
495
|
+
className && css(className)
|
|
496
|
+
),
|
|
410
497
|
innerRef: searchInputRef
|
|
411
498
|
};
|
|
412
499
|
|
|
413
|
-
if (!!expandableInput && !isExpanded) {
|
|
500
|
+
if (!!expandableInput && !isExpanded && !hasAnimations) {
|
|
414
501
|
return (
|
|
415
502
|
<InputGroup {...searchInputProps}>
|
|
416
503
|
<InputGroupItem>{expandableToggle}</InputGroupItem>
|
|
@@ -442,10 +529,19 @@ const SearchInputBase: React.FunctionComponent<SearchInputProps> = ({
|
|
|
442
529
|
</div>
|
|
443
530
|
);
|
|
444
531
|
|
|
532
|
+
const advancedSearchInputProps = hasAnimations
|
|
533
|
+
? {
|
|
534
|
+
className: css(
|
|
535
|
+
expandableInput && inputGroupStyles.modifiers.searchExpandable,
|
|
536
|
+
expandableInput && isExpanded && inputGroupStyles.modifiers.expanded
|
|
537
|
+
)
|
|
538
|
+
}
|
|
539
|
+
: {};
|
|
540
|
+
|
|
445
541
|
const AdvancedSearchWithPopper = (
|
|
446
542
|
<div className={css(className)} ref={searchInputRef} {...props}>
|
|
447
543
|
<Popper
|
|
448
|
-
trigger={buildSearchTextInputGroupWithExtraButtons()}
|
|
544
|
+
trigger={buildSearchTextInputGroupWithExtraButtons(advancedSearchInputProps)}
|
|
449
545
|
triggerRef={triggerRef}
|
|
450
546
|
popper={AdvancedSearch}
|
|
451
547
|
popperRef={popperRef}
|
|
@@ -459,7 +555,7 @@ const SearchInputBase: React.FunctionComponent<SearchInputProps> = ({
|
|
|
459
555
|
|
|
460
556
|
const AdvancedSearchInline = (
|
|
461
557
|
<div className={css(className)} ref={searchInputRef} {...props}>
|
|
462
|
-
{buildSearchTextInputGroupWithExtraButtons()}
|
|
558
|
+
{buildSearchTextInputGroupWithExtraButtons(advancedSearchInputProps)}
|
|
463
559
|
{AdvancedSearch}
|
|
464
560
|
</div>
|
|
465
561
|
);
|
|
@@ -8,6 +8,7 @@ import { Button } from '../../Button';
|
|
|
8
8
|
import ExternalLinkSquareAltIcon from '@patternfly/react-icons/dist/esm/icons/external-link-square-alt-icon';
|
|
9
9
|
import badgeStyles from '@patternfly/react-styles/css/components/Badge/badge';
|
|
10
10
|
import textInputGroupStyles from '@patternfly/react-styles/css/components/TextInputGroup/text-input-group';
|
|
11
|
+
import inputGroupStyles from '@patternfly/react-styles/css/components/InputGroup/input-group';
|
|
11
12
|
|
|
12
13
|
jest.mock('../../../helpers/OUIA/ouia');
|
|
13
14
|
jest.mock('../../../helpers/GenerateId/GenerateId');
|
|
@@ -234,6 +235,89 @@ test('text input is rendered when isExpanded is true', () => {
|
|
|
234
235
|
expect(screen.getByRole('textbox')).toBeVisible();
|
|
235
236
|
});
|
|
236
237
|
|
|
238
|
+
test('animate classes & inert are not rendered when hasAnimations is false', () => {
|
|
239
|
+
render(
|
|
240
|
+
<SearchInput
|
|
241
|
+
data-testid="test-id"
|
|
242
|
+
expandableInput={{
|
|
243
|
+
hasAnimations: false,
|
|
244
|
+
isExpanded: true,
|
|
245
|
+
onToggleExpand: () => {},
|
|
246
|
+
toggleAriaLabel: 'Test label'
|
|
247
|
+
}}
|
|
248
|
+
/>
|
|
249
|
+
);
|
|
250
|
+
|
|
251
|
+
expect(screen.getByTestId('test-id')).not.toHaveClass(`${inputGroupStyles.modifiers.searchExpandable}`);
|
|
252
|
+
expect(screen.getByTestId('test-id')).not.toHaveClass(`${inputGroupStyles.modifiers.expanded}`);
|
|
253
|
+
|
|
254
|
+
expect(screen.getByTestId('test-id').children[0]).not.toHaveClass(`${inputGroupStyles.modifiers.searchInput}`);
|
|
255
|
+
expect(screen.getByTestId('test-id').children[0].parentElement).not.toHaveAttribute('inert', '');
|
|
256
|
+
|
|
257
|
+
expect(screen.getAllByRole('button')).toHaveLength(1);
|
|
258
|
+
expect(screen.getAllByRole('button')[0].parentElement).not.toHaveClass(`${inputGroupStyles.modifiers.searchExpand}`);
|
|
259
|
+
expect(screen.getAllByRole('button')[0].parentElement).not.toHaveClass(`${inputGroupStyles.modifiers.searchAction}`);
|
|
260
|
+
expect(screen.getAllByRole('button')[0].parentElement).not.toHaveAttribute('inert', '');
|
|
261
|
+
});
|
|
262
|
+
|
|
263
|
+
test('animate classes & inert are properly rendered when hasAnimations is true and isExpanded is false', () => {
|
|
264
|
+
render(
|
|
265
|
+
<SearchInput
|
|
266
|
+
data-testid="test-id"
|
|
267
|
+
expandableInput={{
|
|
268
|
+
hasAnimations: true,
|
|
269
|
+
isExpanded: false,
|
|
270
|
+
onToggleExpand: () => {},
|
|
271
|
+
toggleAriaLabel: 'Test label'
|
|
272
|
+
}}
|
|
273
|
+
/>
|
|
274
|
+
);
|
|
275
|
+
|
|
276
|
+
expect(screen.getByTestId('test-id')).toHaveClass(`${inputGroupStyles.modifiers.searchExpandable}`);
|
|
277
|
+
expect(screen.getByTestId('test-id')).not.toHaveClass(`${inputGroupStyles.modifiers.expanded}`);
|
|
278
|
+
|
|
279
|
+
expect(screen.getByTestId('test-id').querySelector(`.${inputGroupStyles.modifiers.searchInput}`)).toBeInTheDocument();
|
|
280
|
+
expect(screen.getByTestId('test-id').querySelector(`.${inputGroupStyles.modifiers.searchInput}`)).toHaveAttribute(
|
|
281
|
+
'inert',
|
|
282
|
+
''
|
|
283
|
+
);
|
|
284
|
+
expect(screen.getAllByRole('button')).toHaveLength(2);
|
|
285
|
+
expect(screen.getAllByRole('button')[0].parentElement).toHaveClass(`${inputGroupStyles.modifiers.searchExpand}`);
|
|
286
|
+
expect(screen.getAllByRole('button')[0].parentElement).not.toHaveAttribute('inert', '');
|
|
287
|
+
|
|
288
|
+
expect(screen.getAllByRole('button')[1].parentElement).toHaveClass(`${inputGroupStyles.modifiers.searchAction}`);
|
|
289
|
+
expect(screen.getAllByRole('button')[1].parentElement).toHaveAttribute('inert', '');
|
|
290
|
+
});
|
|
291
|
+
|
|
292
|
+
test('animate classes and inert are properly rendered when hasAnimations and isExpanded are true', () => {
|
|
293
|
+
render(
|
|
294
|
+
<SearchInput
|
|
295
|
+
data-testid="test-id"
|
|
296
|
+
expandableInput={{
|
|
297
|
+
hasAnimations: true,
|
|
298
|
+
isExpanded: true,
|
|
299
|
+
onToggleExpand: () => {},
|
|
300
|
+
toggleAriaLabel: 'Test label'
|
|
301
|
+
}}
|
|
302
|
+
/>
|
|
303
|
+
);
|
|
304
|
+
|
|
305
|
+
expect(screen.getByTestId('test-id')).toHaveClass(`${inputGroupStyles.modifiers.searchExpandable}`);
|
|
306
|
+
expect(screen.getByTestId('test-id')).toHaveClass(`${inputGroupStyles.modifiers.expanded}`);
|
|
307
|
+
|
|
308
|
+
expect(screen.getByTestId('test-id').querySelector(`.${inputGroupStyles.modifiers.searchInput}`)).toBeInTheDocument();
|
|
309
|
+
expect(screen.getByTestId('test-id').querySelector(`.${inputGroupStyles.modifiers.searchInput}`)).not.toHaveAttribute(
|
|
310
|
+
'inert',
|
|
311
|
+
''
|
|
312
|
+
);
|
|
313
|
+
expect(screen.getAllByRole('button')).toHaveLength(2);
|
|
314
|
+
expect(screen.getAllByRole('button')[0].parentElement).toHaveClass(`${inputGroupStyles.modifiers.searchExpand}`);
|
|
315
|
+
expect(screen.getAllByRole('button')[0].parentElement).toHaveAttribute('inert', '');
|
|
316
|
+
|
|
317
|
+
expect(screen.getAllByRole('button')[1].parentElement).toHaveClass(`${inputGroupStyles.modifiers.searchAction}`);
|
|
318
|
+
expect(screen.getAllByRole('button')[1].parentElement).not.toHaveAttribute('inert', '');
|
|
319
|
+
});
|
|
320
|
+
|
|
237
321
|
test('onToggleExpand is not called if the expandable toggle is not clicked', () => {
|
|
238
322
|
const mockOnToggleExpand = jest.fn();
|
|
239
323
|
|
|
@@ -13,39 +13,47 @@ import { ExternalLinkSquareAltIcon } from '@patternfly/react-icons';
|
|
|
13
13
|
### Basic
|
|
14
14
|
|
|
15
15
|
```ts file='./SearchInputBasic.tsx'
|
|
16
|
+
|
|
16
17
|
```
|
|
17
18
|
|
|
18
19
|
### Match with result count
|
|
19
20
|
|
|
20
21
|
```ts file='./SearchInputWithResultCount.tsx'
|
|
22
|
+
|
|
21
23
|
```
|
|
22
24
|
|
|
23
25
|
### Match with navigable options
|
|
24
26
|
|
|
25
27
|
```ts file='./SearchInputWithNavigableOptions.tsx'
|
|
28
|
+
|
|
26
29
|
```
|
|
27
30
|
|
|
28
31
|
### With submit button
|
|
29
32
|
|
|
30
33
|
```ts file='./SearchInputWithSubmitButton.tsx'
|
|
34
|
+
|
|
31
35
|
```
|
|
32
36
|
|
|
33
37
|
### Focus search input using ref
|
|
34
38
|
|
|
35
39
|
```ts file='./SearchInputFocusSearch.tsx'
|
|
40
|
+
|
|
36
41
|
```
|
|
37
42
|
|
|
38
43
|
### With expandable button
|
|
39
44
|
|
|
45
|
+
Animations on the expansion and collapse of the search input may be opted into by passing `hasAnimations` to the `expandableInput` object.
|
|
46
|
+
|
|
40
47
|
```ts file='./SearchInputWithExpandable.tsx'
|
|
48
|
+
|
|
41
49
|
```
|
|
42
50
|
|
|
43
51
|
### Advanced
|
|
44
52
|
|
|
45
53
|
The search input component can be used to dynamically build a one to one attribute-value advanced search.
|
|
46
54
|
Using the `attributes` prop alongside the `advancedSearchDelimiter` will expose this functionality, as demonstrated in
|
|
47
|
-
the following example. The search input component can also be used as a composable component and paired with a Popper
|
|
48
|
-
or other elements to build a completely custom advanced search form. This feature is demonstrated
|
|
55
|
+
the following example. The search input component can also be used as a composable component and paired with a Popper
|
|
56
|
+
or other elements to build a completely custom advanced search form. This feature is demonstrated
|
|
49
57
|
in the search input's <a href="/components/search-input/react-demos">react demos</a>.
|
|
50
58
|
|
|
51
59
|
The values used in the attribute-value form fields may contain spaces. The values containing spaces
|
|
@@ -53,4 +61,5 @@ should be wrapped with quotes inside the summary search string in the input fiel
|
|
|
53
61
|
autogenerated from the individual fields the quotes will be autoplaced.
|
|
54
62
|
|
|
55
63
|
```ts file='./SearchInputAdvanced.tsx'
|
|
64
|
+
|
|
56
65
|
```
|
|
@@ -20,7 +20,12 @@ export const SearchInputWithExpandable: React.FunctionComponent = () => {
|
|
|
20
20
|
value={value}
|
|
21
21
|
onChange={(_event, value) => onChange(value)}
|
|
22
22
|
onClear={() => onChange('')}
|
|
23
|
-
expandableInput={{
|
|
23
|
+
expandableInput={{
|
|
24
|
+
isExpanded,
|
|
25
|
+
onToggleExpand,
|
|
26
|
+
toggleAriaLabel: 'Expandable search input toggle',
|
|
27
|
+
hasAnimations: true
|
|
28
|
+
}}
|
|
24
29
|
/>
|
|
25
30
|
);
|
|
26
31
|
};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Fragment } from 'react';
|
|
2
2
|
import { Skeleton } from '@patternfly/react-core';
|
|
3
|
-
/* eslint-disable camelcase */
|
|
4
3
|
import t_global_font_size_4xl from '@patternfly/react-tokens/dist/esm/t_global_font_size_4xl';
|
|
5
4
|
import t_global_font_size_3xl from '@patternfly/react-tokens/dist/esm/t_global_font_size_3xl';
|
|
6
5
|
import t_global_font_size_2xl from '@patternfly/react-tokens/dist/esm/t_global_font_size_2xl';
|
|
@@ -8,6 +8,31 @@ import { TabsContext } from './TabsContext';
|
|
|
8
8
|
import { TabProps } from './Tab';
|
|
9
9
|
import { TabTitleText } from './TabTitleText';
|
|
10
10
|
|
|
11
|
+
export interface HorizontalOverflowPopperProps {
|
|
12
|
+
/** Vertical direction of the popper. If enableFlip is set to true, this will set the initial direction before the popper flips. */
|
|
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
|
+
}
|
|
35
|
+
|
|
11
36
|
export interface OverflowTabProps extends React.HTMLProps<HTMLLIElement> {
|
|
12
37
|
/** Additional classes added to the overflow tab */
|
|
13
38
|
className?: string;
|
|
@@ -25,6 +50,8 @@ export interface OverflowTabProps extends React.HTMLProps<HTMLLIElement> {
|
|
|
25
50
|
shouldPreventScrollOnItemFocus?: boolean;
|
|
26
51
|
/** Time in ms to wait before firing the toggles' focus event. Defaults to 0 */
|
|
27
52
|
focusTimeoutDelay?: number;
|
|
53
|
+
/** Additional props to spread to the popper menu. */
|
|
54
|
+
popperProps?: HorizontalOverflowPopperProps;
|
|
28
55
|
}
|
|
29
56
|
|
|
30
57
|
export const OverflowTab: React.FunctionComponent<OverflowTabProps> = ({
|
|
@@ -36,6 +63,7 @@ export const OverflowTab: React.FunctionComponent<OverflowTabProps> = ({
|
|
|
36
63
|
zIndex = 9999,
|
|
37
64
|
shouldPreventScrollOnItemFocus = true,
|
|
38
65
|
focusTimeoutDelay = 0,
|
|
66
|
+
popperProps,
|
|
39
67
|
...props
|
|
40
68
|
}: OverflowTabProps) => {
|
|
41
69
|
const menuRef = useRef<HTMLDivElement>(undefined);
|
|
@@ -148,6 +176,7 @@ export const OverflowTab: React.FunctionComponent<OverflowTabProps> = ({
|
|
|
148
176
|
minWidth="revert"
|
|
149
177
|
appendTo={overflowLIRef.current}
|
|
150
178
|
zIndex={zIndex}
|
|
179
|
+
{...popperProps}
|
|
151
180
|
/>
|
|
152
181
|
</Fragment>
|
|
153
182
|
);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useContext, forwardRef } from 'react';
|
|
1
|
+
import { useContext, forwardRef, useEffect } from 'react';
|
|
2
2
|
import styles from '@patternfly/react-styles/css/components/Tabs/tabs';
|
|
3
3
|
import { OUIAProps } from '../../helpers';
|
|
4
4
|
import { TabButton } from './TabButton';
|
|
@@ -75,7 +75,7 @@ const TabBase: React.FunctionComponent<TabProps> = ({
|
|
|
75
75
|
}),
|
|
76
76
|
{}
|
|
77
77
|
);
|
|
78
|
-
const { mountOnEnter, localActiveKey, unmountOnExit, uniqueId, handleTabClick, handleTabClose } =
|
|
78
|
+
const { mountOnEnter, localActiveKey, unmountOnExit, uniqueId, setAccentStyles, handleTabClick, handleTabClose } =
|
|
79
79
|
useContext(TabsContext);
|
|
80
80
|
let ariaControls = tabContentId ? `${tabContentId}` : `pf-tab-section-${eventKey}-${childId || uniqueId}`;
|
|
81
81
|
if ((mountOnEnter || unmountOnExit) && eventKey !== localActiveKey) {
|
|
@@ -116,6 +116,10 @@ const TabBase: React.FunctionComponent<TabProps> = ({
|
|
|
116
116
|
</TabButton>
|
|
117
117
|
);
|
|
118
118
|
|
|
119
|
+
useEffect(() => {
|
|
120
|
+
setAccentStyles(true);
|
|
121
|
+
}, [title, actions]);
|
|
122
|
+
|
|
119
123
|
return (
|
|
120
124
|
<li
|
|
121
125
|
className={css(
|