@patternfly/react-core 6.3.0-prerelease.3 → 6.3.0-prerelease.31
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 +155 -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/FormGroupLabelHelp.js +2 -2
- package/dist/esm/components/Form/FormGroupLabelHelp.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 +22 -12
- 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/FormGroupLabelHelp.js +2 -2
- package/dist/js/components/Form/FormGroupLabelHelp.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 +21 -12
- 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-D4Wl9sq-.css → output-dJHe8mGm.css} +16992 -16250
- 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/FormGroupLabelHelp.tsx +2 -2
- 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/LoginPage/examples/LoginPageBasic.tsx +1 -1
- package/src/components/LoginPage/examples/LoginPageLanguageSelect.tsx +1 -1
- package/src/components/LoginPage/examples/LoginPageShowHidePassword.tsx +1 -1
- 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 +5 -9
- package/src/components/Page/examples/PageGroupSection.tsx +11 -8
- package/src/components/Page/examples/PageHorizontalNav.tsx +9 -3
- package/src/components/Page/examples/PageMainSectionPadding.tsx +14 -9
- package/src/components/Page/examples/PageMainSectionVariations.tsx +8 -11
- package/src/components/Page/examples/PageMultipleSidebarBody.tsx +11 -8
- package/src/components/Page/examples/PageUncontrolledNav.tsx +10 -7
- package/src/components/Page/examples/PageVerticalNav.tsx +11 -8
- package/src/components/Page/examples/PageWithOrWithoutFill.tsx +10 -9
- 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/Select/examples/Select.md +3 -26
- 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 +48 -22
- package/src/components/Truncate/__tests__/Truncate.test.tsx +28 -2
- package/src/components/Truncate/__tests__/__snapshots__/Truncate.test.tsx.snap +2 -2
- package/src/components/Truncate/examples/Truncate.md +8 -0
- package/src/components/Truncate/examples/TruncateLinks.tsx +22 -0
- package/src/demos/Banner.md +6 -6
- package/src/demos/CardDemos.md +1 -1
- package/src/demos/CardView/examples/CardView.tsx +9 -4
- package/src/demos/DashboardHeader.tsx +2 -5
- package/src/demos/DataList/examples/DataListActionable.tsx +5 -3
- package/src/demos/DataList/examples/DataListBasic.tsx +2 -2
- package/src/demos/DataList/examples/DataListExpandableControlInToolbar.tsx +2 -2
- package/src/demos/DataList/examples/DataListStaticBottomPagination.tsx +4 -2
- package/src/demos/DescriptionList/examples/DescriptionListBasic.tsx +4 -4
- package/src/demos/DescriptionList/examples/DescriptionListInDrawer.tsx +5 -3
- package/src/demos/JumpLinks.md +5 -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/Tabs.md +6 -6
- package/src/demos/examples/AlertGroup/AlertGroupToastWithNotificationDrawer.tsx +6 -6
- package/src/demos/examples/BackToTop/BackToTopNameDemo.tsx +2 -2
- 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 +6 -4
- package/src/demos/examples/Masthead/MastheadWithUtilitiesAndUserDropdownMenu.tsx +5 -8
- package/src/demos/examples/Nav/NavDefault.tsx +3 -3
- package/src/demos/examples/Nav/NavDrilldown.tsx +1 -1
- package/src/demos/examples/Nav/NavExpandable.tsx +3 -3
- package/src/demos/examples/Nav/NavFlyout.tsx +12 -9
- package/src/demos/examples/Nav/NavGrouped.tsx +14 -6
- package/src/demos/examples/Nav/NavHorizontal.tsx +4 -4
- package/src/demos/examples/Nav/NavHorizontalWithSubnav.tsx +7 -10
- package/src/demos/examples/Nav/NavManual.tsx +6 -9
- package/src/demos/examples/Nav/NavWithSubnav.tsx +5 -5
- 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/Tabs/ModalTabs.tsx +3 -3
- package/src/demos/examples/Tabs/NestedTabs.tsx +2 -2
- package/src/demos/examples/Tabs/NestedUnindentedTabs.tsx +2 -2
- package/src/demos/examples/Tabs/TabsAndTable.tsx +3 -3
- 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
|
@@ -72,7 +72,7 @@ class TreeViewRoot extends Component<TreeViewRootProps> {
|
|
|
72
72
|
const activeElement = document.activeElement;
|
|
73
73
|
const key = event.key;
|
|
74
74
|
const treeItems = Array.from(this.treeRef.current?.getElementsByClassName(styles.treeViewNode)).filter(
|
|
75
|
-
(el) => !el.classList.contains('pf-m-disabled')
|
|
75
|
+
(el) => !el.classList.contains('pf-m-disabled') && !el.closest(`.${styles.treeViewList}[inert]`)
|
|
76
76
|
);
|
|
77
77
|
|
|
78
78
|
if (key === KeyTypes.Space) {
|
|
@@ -138,7 +138,9 @@ class TreeViewRoot extends Component<TreeViewRootProps> {
|
|
|
138
138
|
event.preventDefault();
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
-
const treeNodes = Array.from(this.treeRef.current?.getElementsByClassName(styles.treeViewNode))
|
|
141
|
+
const treeNodes = Array.from(this.treeRef.current?.getElementsByClassName(styles.treeViewNode)).filter(
|
|
142
|
+
(el) => !el.closest(`.${styles.treeViewList}[inert]`)
|
|
143
|
+
);
|
|
142
144
|
|
|
143
145
|
handleArrows(
|
|
144
146
|
event,
|
|
@@ -47,7 +47,8 @@ jest.mock('../TreeViewListItem', () => ({
|
|
|
47
47
|
onCollapse,
|
|
48
48
|
parentItem,
|
|
49
49
|
title,
|
|
50
|
-
useMemo
|
|
50
|
+
useMemo,
|
|
51
|
+
hasAnimations
|
|
51
52
|
}) => (
|
|
52
53
|
<div data-testid="TreeViewListItem-mock">
|
|
53
54
|
<p>{`TreeViewListItem action: ${action}`}</p>
|
|
@@ -69,6 +70,7 @@ jest.mock('../TreeViewListItem', () => ({
|
|
|
69
70
|
<p>{`TreeViewListItem parentItem: ${parentItem?.name}`}</p>
|
|
70
71
|
<p>{`TreeViewListItem title: ${title}`}</p>
|
|
71
72
|
<p>{`TreeViewListItem useMemo: ${useMemo}`}</p>
|
|
73
|
+
<p>{`TreeViewListItem hasAnimations: ${hasAnimations}`}</p>
|
|
72
74
|
<button onClick={compareItems}>compareItems clicker</button>
|
|
73
75
|
<button onClick={onCheck}>onCheck clicker</button>
|
|
74
76
|
<button onClick={onSelect}>onSelect clicker</button>
|
|
@@ -286,6 +288,11 @@ test('Passes useMemo to TreeViewListItem', () => {
|
|
|
286
288
|
|
|
287
289
|
expect(screen.getByText('TreeViewListItem useMemo: true')).toBeVisible();
|
|
288
290
|
});
|
|
291
|
+
test('Passes hasAnimations to TreeViewListItem', () => {
|
|
292
|
+
render(<TreeView data={[basicData]} hasAnimations={true} />);
|
|
293
|
+
|
|
294
|
+
expect(screen.getByText('TreeViewListItem hasAnimations: true')).toBeVisible();
|
|
295
|
+
});
|
|
289
296
|
test('Passes data.children to TreeViewListItem', () => {
|
|
290
297
|
render(<TreeView data={[{ ...basicData, children: [{ name: 'Child 1' }] }]} />);
|
|
291
298
|
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { render, screen } from '@testing-library/react';
|
|
2
2
|
import { TreeViewList } from '../TreeViewList';
|
|
3
|
+
import { TreeViewListItem } from '../TreeViewListItem';
|
|
4
|
+
import { TreeView } from '../TreeView';
|
|
3
5
|
import styles from '@patternfly/react-styles/css/components/TreeView/tree-view';
|
|
4
6
|
|
|
5
7
|
test(`Renders with class ${styles.treeView}__list by default`, () => {
|
|
@@ -84,6 +86,43 @@ test(`Does not render toolbar content when toolbar prop is not passed`, () => {
|
|
|
84
86
|
expect(screen.queryByRole('separator')).not.toBeInTheDocument();
|
|
85
87
|
});
|
|
86
88
|
|
|
89
|
+
test('Renders with inert attribute by default when TreeView is passed hasAnimations', () => {
|
|
90
|
+
const options = [
|
|
91
|
+
{
|
|
92
|
+
name: 'Parent 1',
|
|
93
|
+
id: 'parent-1',
|
|
94
|
+
children: [
|
|
95
|
+
{
|
|
96
|
+
name: 'Child 1',
|
|
97
|
+
id: 'child-1'
|
|
98
|
+
}
|
|
99
|
+
]
|
|
100
|
+
}
|
|
101
|
+
];
|
|
102
|
+
render(<TreeView hasAnimations data={options} />);
|
|
103
|
+
|
|
104
|
+
expect(screen.getByRole('group')).toHaveAttribute('inert', '');
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
test('Does not render with inert attribute when expanded and TreeView is passed hasAnimations', () => {
|
|
108
|
+
const options = [
|
|
109
|
+
{
|
|
110
|
+
name: 'Parent 1',
|
|
111
|
+
id: 'parent-1',
|
|
112
|
+
defaultExpanded: true,
|
|
113
|
+
children: [
|
|
114
|
+
{
|
|
115
|
+
name: 'Child 1',
|
|
116
|
+
id: 'child-1'
|
|
117
|
+
}
|
|
118
|
+
]
|
|
119
|
+
}
|
|
120
|
+
];
|
|
121
|
+
render(<TreeView hasAnimations data={options} />);
|
|
122
|
+
|
|
123
|
+
expect(screen.getByRole('group')).not.toHaveAttribute('inert');
|
|
124
|
+
});
|
|
125
|
+
|
|
87
126
|
test('Matches snapshot by default', () => {
|
|
88
127
|
const { asFragment } = render(<TreeViewList>Content</TreeViewList>);
|
|
89
128
|
|
|
@@ -28,7 +28,7 @@ test(`Does not render children by default`, () => {
|
|
|
28
28
|
test(`Renders children if defaultExpanded is true`, () => {
|
|
29
29
|
render(
|
|
30
30
|
<TreeViewListItem defaultExpanded={true} {...requiredProps}>
|
|
31
|
-
Content
|
|
31
|
+
<div>Content</div>
|
|
32
32
|
</TreeViewListItem>
|
|
33
33
|
);
|
|
34
34
|
|
|
@@ -38,7 +38,7 @@ test(`Renders children if defaultExpanded is true`, () => {
|
|
|
38
38
|
test(`Renders children if isExpanded is true`, () => {
|
|
39
39
|
render(
|
|
40
40
|
<TreeViewListItem isExpanded={true} {...requiredProps}>
|
|
41
|
-
Content
|
|
41
|
+
<div>Content</div>
|
|
42
42
|
</TreeViewListItem>
|
|
43
43
|
);
|
|
44
44
|
|
|
@@ -47,7 +47,11 @@ test(`Renders children if isExpanded is true`, () => {
|
|
|
47
47
|
|
|
48
48
|
test(`Renders children when toggle is clicked`, async () => {
|
|
49
49
|
const user = userEvent.setup();
|
|
50
|
-
render(
|
|
50
|
+
render(
|
|
51
|
+
<TreeViewListItem {...requiredProps}>
|
|
52
|
+
<div>Content</div>
|
|
53
|
+
</TreeViewListItem>
|
|
54
|
+
);
|
|
51
55
|
|
|
52
56
|
await user.click(screen.getByRole('button', { name: requiredProps.name }));
|
|
53
57
|
|
|
@@ -264,6 +268,16 @@ test('Renders badge with customBadgeContent when hasBadge and children are passe
|
|
|
264
268
|
expect(screen.getByText(requiredProps.name).nextElementSibling).toHaveTextContent('Custom badge');
|
|
265
269
|
});
|
|
266
270
|
|
|
271
|
+
test('Renders badge with customBadgeContent being number 0 when hasBadge and children are passed', () => {
|
|
272
|
+
render(
|
|
273
|
+
<TreeViewListItem hasBadge customBadgeContent={0} {...requiredProps}>
|
|
274
|
+
<TreeView data={[{ name: 'Parent name 1' }, { name: 'Parent name 2' }]} />
|
|
275
|
+
</TreeViewListItem>
|
|
276
|
+
);
|
|
277
|
+
|
|
278
|
+
expect(screen.getByText(requiredProps.name).nextElementSibling).toHaveTextContent('0');
|
|
279
|
+
});
|
|
280
|
+
|
|
267
281
|
test('Renders badge with customBadgeContent when hasBadge is passed and children are not passed', () => {
|
|
268
282
|
render(<TreeViewListItem hasBadge customBadgeContent="Custom badge" {...requiredProps} />);
|
|
269
283
|
|
|
@@ -54,5 +54,5 @@ export const TreeViewCompact: React.FunctionComponent = () => {
|
|
|
54
54
|
]
|
|
55
55
|
}
|
|
56
56
|
];
|
|
57
|
-
return <TreeView aria-label="Tree View compact example" data={options} variant="compact" />;
|
|
57
|
+
return <TreeView hasAnimations aria-label="Tree View compact example" data={options} variant="compact" />;
|
|
58
58
|
};
|
|
@@ -54,5 +54,12 @@ export const TreeViewCompactNoBackground: React.FunctionComponent = () => {
|
|
|
54
54
|
]
|
|
55
55
|
}
|
|
56
56
|
];
|
|
57
|
-
return
|
|
57
|
+
return (
|
|
58
|
+
<TreeView
|
|
59
|
+
hasAnimations
|
|
60
|
+
aria-label="Tree View compact no background example"
|
|
61
|
+
data={options}
|
|
62
|
+
variant="compactNoBackground"
|
|
63
|
+
/>
|
|
64
|
+
);
|
|
58
65
|
};
|
|
@@ -60,5 +60,5 @@ export const GuidesTreeView: React.FunctionComponent = () => {
|
|
|
60
60
|
children: [{ name: 'Application 5', id: 'example8-App5' }]
|
|
61
61
|
}
|
|
62
62
|
];
|
|
63
|
-
return <TreeView aria-label="Tree View guides example" data={options} hasGuides={true} />;
|
|
63
|
+
return <TreeView hasAnimations aria-label="Tree View guides example" data={options} hasGuides={true} />;
|
|
64
64
|
};
|
|
@@ -194,5 +194,13 @@ export const TreeViewWithCheckboxes: React.FunctionComponent = () => {
|
|
|
194
194
|
}
|
|
195
195
|
};
|
|
196
196
|
const mapped = options.map((item) => mapTree(item));
|
|
197
|
-
return
|
|
197
|
+
return (
|
|
198
|
+
<TreeView
|
|
199
|
+
hasAnimations
|
|
200
|
+
aria-label="Tree View with checkboxes example"
|
|
201
|
+
data={mapped}
|
|
202
|
+
onCheck={onCheck}
|
|
203
|
+
hasCheckboxes
|
|
204
|
+
/>
|
|
205
|
+
);
|
|
198
206
|
};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { Fragment, useEffect, useRef, useState } from 'react';
|
|
1
|
+
import { Fragment, useEffect, useRef, useState, forwardRef } from 'react';
|
|
2
2
|
import styles from '@patternfly/react-styles/css/components/Truncate/truncate';
|
|
3
3
|
import { css } from '@patternfly/react-styles';
|
|
4
|
-
import { Tooltip, TooltipPosition } from '../Tooltip';
|
|
4
|
+
import { Tooltip, TooltipPosition, TooltipProps } from '../Tooltip';
|
|
5
|
+
import { getReferenceElement } from '../../helpers';
|
|
5
6
|
import { getResizeObserver } from '../../helpers/resizeObserver';
|
|
6
7
|
|
|
7
8
|
export enum TruncatePosition {
|
|
@@ -17,11 +18,15 @@ const truncateStyles = {
|
|
|
17
18
|
|
|
18
19
|
const minWidthCharacters: number = 12;
|
|
19
20
|
|
|
20
|
-
export interface TruncateProps extends React.HTMLProps<HTMLSpanElement> {
|
|
21
|
+
export interface TruncateProps extends Omit<React.HTMLProps<HTMLSpanElement | HTMLAnchorElement>, 'ref'> {
|
|
21
22
|
/** Class to add to outer span */
|
|
22
23
|
className?: string;
|
|
23
24
|
/** Text to truncate */
|
|
24
25
|
content: string;
|
|
26
|
+
/** An HREF to turn the truncate wrapper into an anchor element. For more custom control, use the
|
|
27
|
+
* tooltipProps with a triggerRef property passed in.
|
|
28
|
+
*/
|
|
29
|
+
href?: string;
|
|
25
30
|
/** The number of characters displayed in the second half of a middle truncation. This will be overridden by
|
|
26
31
|
* the maxCharsDisplayed prop.
|
|
27
32
|
*/
|
|
@@ -52,24 +57,24 @@ export interface TruncateProps extends React.HTMLProps<HTMLSpanElement> {
|
|
|
52
57
|
| 'left-end'
|
|
53
58
|
| 'right-start'
|
|
54
59
|
| 'right-end';
|
|
55
|
-
/**
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
refToGetParent?: React.RefObject<any>;
|
|
60
|
+
/** Additional props to pass to the tooltip. */
|
|
61
|
+
tooltipProps?: Omit<TooltipProps, 'content'>;
|
|
62
|
+
/** @hide Forwarded ref */
|
|
63
|
+
innerRef?: React.Ref<any>;
|
|
60
64
|
}
|
|
61
65
|
|
|
62
66
|
const sliceTrailingContent = (str: string, slice: number) => [str.slice(0, str.length - slice), str.slice(-slice)];
|
|
63
67
|
|
|
64
|
-
|
|
68
|
+
const TruncateBase: React.FunctionComponent<TruncateProps> = ({
|
|
65
69
|
className,
|
|
70
|
+
href,
|
|
66
71
|
position = 'end',
|
|
67
72
|
tooltipPosition = 'top',
|
|
73
|
+
tooltipProps,
|
|
68
74
|
trailingNumChars = 7,
|
|
69
75
|
maxCharsDisplayed,
|
|
70
76
|
omissionContent = '\u2026',
|
|
71
77
|
content,
|
|
72
|
-
refToGetParent,
|
|
73
78
|
...props
|
|
74
79
|
}: TruncateProps) => {
|
|
75
80
|
const [isTruncated, setIsTruncated] = useState(true);
|
|
@@ -78,7 +83,8 @@ export const Truncate: React.FunctionComponent<TruncateProps> = ({
|
|
|
78
83
|
const [shouldRenderByMaxChars, setShouldRenderByMaxChars] = useState(maxCharsDisplayed > 0);
|
|
79
84
|
|
|
80
85
|
const textRef = useRef<HTMLElement>(null);
|
|
81
|
-
const
|
|
86
|
+
const defaultSubParentRef = useRef<any>(null);
|
|
87
|
+
const subParentRef = tooltipProps?.triggerRef || defaultSubParentRef;
|
|
82
88
|
const observer = useRef(null);
|
|
83
89
|
|
|
84
90
|
if (maxCharsDisplayed <= 0) {
|
|
@@ -108,11 +114,14 @@ export const Truncate: React.FunctionComponent<TruncateProps> = ({
|
|
|
108
114
|
if (textRef && textRef.current && !textElement) {
|
|
109
115
|
setTextElement(textRef.current);
|
|
110
116
|
}
|
|
117
|
+
}, [textRef, textElement]);
|
|
111
118
|
|
|
112
|
-
|
|
113
|
-
|
|
119
|
+
useEffect(() => {
|
|
120
|
+
const refElement = getReferenceElement(subParentRef);
|
|
121
|
+
if (refElement?.parentElement && !parentElement) {
|
|
122
|
+
setParentElement(refElement.parentElement);
|
|
114
123
|
}
|
|
115
|
-
}, [
|
|
124
|
+
}, [subParentRef, parentElement]);
|
|
116
125
|
|
|
117
126
|
useEffect(() => {
|
|
118
127
|
if (textElement && parentElement && !observer.current && !shouldRenderByMaxChars) {
|
|
@@ -142,13 +151,18 @@ export const Truncate: React.FunctionComponent<TruncateProps> = ({
|
|
|
142
151
|
setShouldRenderByMaxChars(maxCharsDisplayed > 0);
|
|
143
152
|
}, [maxCharsDisplayed]);
|
|
144
153
|
|
|
154
|
+
const lrmEntity = <Fragment>‎</Fragment>;
|
|
155
|
+
const isStartPosition = position === TruncatePosition.start;
|
|
156
|
+
const isEndPosition = position === TruncatePosition.end;
|
|
157
|
+
|
|
145
158
|
const renderResizeObserverContent = () => {
|
|
146
|
-
if (
|
|
159
|
+
if (isEndPosition || isStartPosition) {
|
|
147
160
|
return (
|
|
148
161
|
<>
|
|
149
162
|
<span ref={textRef} className={truncateStyles[position]}>
|
|
163
|
+
{isStartPosition && lrmEntity}
|
|
150
164
|
{content}
|
|
151
|
-
{
|
|
165
|
+
{isStartPosition && lrmEntity}
|
|
152
166
|
</span>
|
|
153
167
|
</>
|
|
154
168
|
);
|
|
@@ -195,7 +209,7 @@ export const Truncate: React.FunctionComponent<TruncateProps> = ({
|
|
|
195
209
|
</>
|
|
196
210
|
);
|
|
197
211
|
}
|
|
198
|
-
if (
|
|
212
|
+
if (isEndPosition) {
|
|
199
213
|
return (
|
|
200
214
|
<>
|
|
201
215
|
{renderVisibleContent(content.slice(0, maxCharsDisplayed))}
|
|
@@ -217,25 +231,37 @@ export const Truncate: React.FunctionComponent<TruncateProps> = ({
|
|
|
217
231
|
);
|
|
218
232
|
};
|
|
219
233
|
|
|
234
|
+
const TruncateWrapper = href ? 'a' : 'span';
|
|
220
235
|
const truncateBody = (
|
|
221
|
-
<
|
|
222
|
-
ref={subParentRef}
|
|
236
|
+
<TruncateWrapper
|
|
237
|
+
ref={!tooltipProps?.triggerRef ? (subParentRef as React.MutableRefObject<any>) : null}
|
|
238
|
+
href={href}
|
|
223
239
|
className={css(styles.truncate, shouldRenderByMaxChars && styles.modifiers.fixed, className)}
|
|
224
|
-
{...(isTruncated && { tabIndex: 0 })}
|
|
240
|
+
{...(isTruncated && !href && !tooltipProps?.triggerRef && { tabIndex: 0 })}
|
|
225
241
|
{...props}
|
|
226
242
|
>
|
|
227
243
|
{!shouldRenderByMaxChars ? renderResizeObserverContent() : renderMaxDisplayContent()}
|
|
228
|
-
</
|
|
244
|
+
</TruncateWrapper>
|
|
229
245
|
);
|
|
230
246
|
|
|
231
247
|
return (
|
|
232
248
|
<>
|
|
233
249
|
{isTruncated && (
|
|
234
|
-
<Tooltip
|
|
250
|
+
<Tooltip
|
|
251
|
+
hidden={!isTruncated}
|
|
252
|
+
position={tooltipPosition}
|
|
253
|
+
content={content}
|
|
254
|
+
triggerRef={subParentRef}
|
|
255
|
+
{...tooltipProps}
|
|
256
|
+
/>
|
|
235
257
|
)}
|
|
236
258
|
{truncateBody}
|
|
237
259
|
</>
|
|
238
260
|
);
|
|
239
261
|
};
|
|
240
262
|
|
|
263
|
+
export const Truncate = forwardRef((props: TruncateProps, ref: React.Ref<HTMLAnchorElement | HTMLSpanElement>) => (
|
|
264
|
+
<TruncateBase innerRef={ref} {...props} />
|
|
265
|
+
));
|
|
266
|
+
|
|
241
267
|
Truncate.displayName = 'Truncate';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { render, screen, within } from '@testing-library/react';
|
|
2
|
-
import { Truncate } from '../Truncate';
|
|
2
|
+
import { Truncate, TruncatePosition } from '../Truncate';
|
|
3
3
|
import styles from '@patternfly/react-styles/css/components/Truncate/truncate';
|
|
4
4
|
import '@testing-library/jest-dom';
|
|
5
5
|
|
|
@@ -19,6 +19,24 @@ global.ResizeObserver = jest.fn().mockImplementation(() => ({
|
|
|
19
19
|
disconnect: jest.fn()
|
|
20
20
|
}));
|
|
21
21
|
|
|
22
|
+
test('Renders with span wrapper by default', () => {
|
|
23
|
+
render(<Truncate content={''} data-testid="test-id" />);
|
|
24
|
+
|
|
25
|
+
expect(screen.getByTestId('test-id').tagName).toBe('SPAN');
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
test('Renders with anchor wrapper when href prop is passed', () => {
|
|
29
|
+
render(<Truncate content={'Link content'} href="#" />);
|
|
30
|
+
|
|
31
|
+
expect(screen.getByRole('link')).toHaveTextContent('Link content');
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
test('Passes href to anchor when href prop is passed', () => {
|
|
35
|
+
render(<Truncate content={'Link content'} href="#home" />);
|
|
36
|
+
|
|
37
|
+
expect(screen.getByRole('link')).toHaveAttribute('href', '#home');
|
|
38
|
+
});
|
|
39
|
+
|
|
22
40
|
test(`renders with class ${styles.truncate}`, () => {
|
|
23
41
|
render(<Truncate content={''} aria-label="test-id" />);
|
|
24
42
|
|
|
@@ -67,7 +85,9 @@ test('renders default truncation', () => {
|
|
|
67
85
|
expect(asFragment()).toMatchSnapshot();
|
|
68
86
|
});
|
|
69
87
|
|
|
70
|
-
|
|
88
|
+
// If this snapshot fails and the output text doesn't seem like it's changed, it most likely
|
|
89
|
+
// is due to the ‎ HTML entity isn't rendering correctly.
|
|
90
|
+
test('renders start truncation with ‎ at start and end', () => {
|
|
71
91
|
const { asFragment } = render(
|
|
72
92
|
<Truncate
|
|
73
93
|
content={'Vestibulum interdum risus et enim faucibus, sit amet molestie est accumsan.'}
|
|
@@ -143,6 +163,12 @@ test('renders tooltip content', () => {
|
|
|
143
163
|
expect(input).toBeVisible();
|
|
144
164
|
});
|
|
145
165
|
|
|
166
|
+
test('Renders with additional tooltip props spread', () => {
|
|
167
|
+
render(<Truncate content={''} tooltipProps={{ distance: 32 }} />);
|
|
168
|
+
|
|
169
|
+
expect(screen.getByTestId('Tooltip-mock')).toHaveAttribute('distance', '32');
|
|
170
|
+
});
|
|
171
|
+
|
|
146
172
|
test('renders with inherited element props spread to the component', () => {
|
|
147
173
|
render(<Truncate content={'Test'} data-testid="test-id" aria-label="labelling-id" />);
|
|
148
174
|
|
|
@@ -65,7 +65,7 @@ exports[`renders default truncation 1`] = `
|
|
|
65
65
|
</DocumentFragment>
|
|
66
66
|
`;
|
|
67
67
|
|
|
68
|
-
exports[`renders start truncation with ‎ at end 1`] = `
|
|
68
|
+
exports[`renders start truncation with ‎ at start and end 1`] = `
|
|
69
69
|
<DocumentFragment>
|
|
70
70
|
<div
|
|
71
71
|
data-testid="Tooltip-mock"
|
|
@@ -86,7 +86,7 @@ exports[`renders start truncation with ‎ at end 1`] = `
|
|
|
86
86
|
<span
|
|
87
87
|
class="pf-v6-c-truncate__end"
|
|
88
88
|
>
|
|
89
|
-
Vestibulum interdum risus et enim faucibus, sit amet molestie est accumsan.
|
|
89
|
+
Vestibulum interdum risus et enim faucibus, sit amet molestie est accumsan.
|
|
90
90
|
</span>
|
|
91
91
|
</span>
|
|
92
92
|
</DocumentFragment>
|
|
@@ -52,3 +52,11 @@ Truncating based on a maximum amount of characters will truncate the content at
|
|
|
52
52
|
```ts file="./TruncateMaxChars.tsx"
|
|
53
53
|
|
|
54
54
|
```
|
|
55
|
+
|
|
56
|
+
### With links
|
|
57
|
+
|
|
58
|
+
To truncate link text, you can pass the `href` property in.
|
|
59
|
+
|
|
60
|
+
```ts file="./TruncateLinks.tsx"
|
|
61
|
+
|
|
62
|
+
```
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Truncate } from '@patternfly/react-core';
|
|
2
|
+
|
|
3
|
+
export const TruncateLinks: React.FunctionComponent = () => {
|
|
4
|
+
const content = 'A very lengthy anchor text content to trigger truncation';
|
|
5
|
+
return (
|
|
6
|
+
<>
|
|
7
|
+
<div>With default width-observing truncation:</div>
|
|
8
|
+
<div className="truncate-example-resize">
|
|
9
|
+
<Truncate href="#" content={content} />
|
|
10
|
+
<Truncate position="start" href="#" content={content} />
|
|
11
|
+
<Truncate position="middle" href="#" content={content} />
|
|
12
|
+
</div>
|
|
13
|
+
<br />
|
|
14
|
+
<div>With max characters truncation:</div>
|
|
15
|
+
<Truncate maxCharsDisplayed={15} href="#" content={content} />
|
|
16
|
+
<br />
|
|
17
|
+
<Truncate maxCharsDisplayed={15} position="start" href="#" content={content} />
|
|
18
|
+
<br />
|
|
19
|
+
<Truncate maxCharsDisplayed={15} position="middle" href="#" content={content} />
|
|
20
|
+
</>
|
|
21
|
+
);
|
|
22
|
+
};
|
package/src/demos/Banner.md
CHANGED
|
@@ -39,16 +39,16 @@ class BannerDemo extends React.Component {
|
|
|
39
39
|
return (
|
|
40
40
|
<Fragment>
|
|
41
41
|
<DashboardWrapper banner={banner} breadcrumb={null}>
|
|
42
|
-
<PageSection>
|
|
42
|
+
<PageSection aria-labelledby="main-title">
|
|
43
43
|
<Content>
|
|
44
|
-
<h1>Main title</h1>
|
|
44
|
+
<h1 id="main-title">Main title</h1>
|
|
45
45
|
<p>
|
|
46
46
|
Body text should be Red Hat Text at 1rem(16px). It should have leading of 1.5rem(24px) because <br />
|
|
47
47
|
of it’s relative line height of 1.5.
|
|
48
48
|
</p>
|
|
49
49
|
</Content>
|
|
50
50
|
</PageSection>
|
|
51
|
-
<PageSection>
|
|
51
|
+
<PageSection aria-label='Cards gallery'>
|
|
52
52
|
<Gallery hasGutter>
|
|
53
53
|
{Array.from({ length: 30 }).map((_value, index) => (
|
|
54
54
|
<GalleryItem key={index}>
|
|
@@ -112,9 +112,9 @@ class BannerDemo extends React.Component {
|
|
|
112
112
|
</FlexItem>
|
|
113
113
|
<FlexItem grow={{ default: 'grow' }} style={{ minHeight: 0 }}>
|
|
114
114
|
<DashboardWrapper breadcrumb={null}>
|
|
115
|
-
<PageSection>
|
|
115
|
+
<PageSection aria-labelledby="main-title">
|
|
116
116
|
<Content>
|
|
117
|
-
<h1>Main title</h1>
|
|
117
|
+
<h1 id='main-title'>Main title</h1>
|
|
118
118
|
<p>
|
|
119
119
|
Body text should be Red Hat Text at 1rem(16px). It should have leading of 1.5rem(24px) because{' '}
|
|
120
120
|
<br />
|
|
@@ -122,7 +122,7 @@ class BannerDemo extends React.Component {
|
|
|
122
122
|
</p>
|
|
123
123
|
</Content>
|
|
124
124
|
</PageSection>
|
|
125
|
-
<PageSection>
|
|
125
|
+
<PageSection aria-label='Cards gallery'>
|
|
126
126
|
<Gallery hasGutter>
|
|
127
127
|
{Array.from({ length: 30 }).map((_value, index) => (
|
|
128
128
|
<GalleryItem key={index}>
|
package/src/demos/CardDemos.md
CHANGED
|
@@ -14,7 +14,7 @@ import chart_color_yellow_100 from '@patternfly/react-tokens/dist/esm/chart_colo
|
|
|
14
14
|
import chart_color_yellow_300 from '@patternfly/react-tokens/dist/esm/chart_color_yellow_300';
|
|
15
15
|
import chart_color_orange_300 from '@patternfly/react-tokens/dist/esm/chart_color_orange_300';
|
|
16
16
|
import chart_color_red_orange_400 from '@patternfly/react-tokens/dist/esm/chart_color_red_orange_400';
|
|
17
|
-
import
|
|
17
|
+
import cssGridTemplateColumnsMin from '@patternfly/react-tokens/dist/esm/l_gallery_GridTemplateColumns_min';
|
|
18
18
|
import t_global_text_color_subtle from '@patternfly/react-tokens/dist/esm/t_global_text_color_subtle';
|
|
19
19
|
import flex from '@patternfly/react-styles/css/utilities/Flex/flex';
|
|
20
20
|
import text from '@patternfly/react-styles/css/utilities/Text/text';
|
|
@@ -465,16 +465,16 @@ export const CardViewBasic: React.FunctionComponent = () => {
|
|
|
465
465
|
return (
|
|
466
466
|
<Fragment>
|
|
467
467
|
<DashboardWrapper mainContainerId="main-content-card-view-default-nav" breadcrumb={null}>
|
|
468
|
-
<PageSection>
|
|
468
|
+
<PageSection aria-labelledby="projects">
|
|
469
469
|
<Content>
|
|
470
|
-
<h1>Projects</h1>
|
|
470
|
+
<h1 id="projects">Projects</h1>
|
|
471
471
|
<p>This is a demo that showcases PatternFly cards.</p>
|
|
472
472
|
</Content>
|
|
473
473
|
<Toolbar id="toolbar-group-types" clearAllFilters={onDelete}>
|
|
474
474
|
<ToolbarContent>{toolbarItems}</ToolbarContent>
|
|
475
475
|
</Toolbar>
|
|
476
476
|
</PageSection>
|
|
477
|
-
<PageSection isFilled>
|
|
477
|
+
<PageSection isFilled aria-label="Selectable card gallery">
|
|
478
478
|
<Gallery hasGutter aria-label="Selectable card container">
|
|
479
479
|
<Card isCompact>
|
|
480
480
|
<Bullseye>
|
|
@@ -546,7 +546,12 @@ export const CardViewBasic: React.FunctionComponent = () => {
|
|
|
546
546
|
))}
|
|
547
547
|
</Gallery>
|
|
548
548
|
</PageSection>
|
|
549
|
-
<PageSection
|
|
549
|
+
<PageSection
|
|
550
|
+
isFilled={false}
|
|
551
|
+
stickyOnBreakpoint={{ default: 'bottom' }}
|
|
552
|
+
padding={{ default: 'noPadding' }}
|
|
553
|
+
aria-label="Pagination controls"
|
|
554
|
+
>
|
|
550
555
|
<Pagination
|
|
551
556
|
itemCount={totalItemCount}
|
|
552
557
|
page={page}
|