@patternfly/react-core 5.0.0-alpha.47 → 5.0.0-alpha.48
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 +6 -0
- package/dist/esm/components/ApplicationLauncher/ApplicationLauncher.d.ts +1 -1
- package/dist/esm/components/ApplicationLauncher/ApplicationLauncher.d.ts.map +1 -1
- package/dist/esm/components/ApplicationLauncher/ApplicationLauncher.js +2 -2
- package/dist/esm/components/ApplicationLauncher/ApplicationLauncher.js.map +1 -1
- package/dist/esm/components/ApplicationLauncher/ApplicationLauncherGroup.d.ts +1 -1
- package/dist/esm/components/ApplicationLauncher/ApplicationLauncherGroup.d.ts.map +1 -1
- package/dist/esm/components/ApplicationLauncher/ApplicationLauncherGroup.js +1 -1
- package/dist/esm/components/ApplicationLauncher/ApplicationLauncherGroup.js.map +1 -1
- package/dist/esm/components/ApplicationLauncher/ApplicationLauncherItem.d.ts +1 -1
- package/dist/esm/components/ApplicationLauncher/ApplicationLauncherItem.d.ts.map +1 -1
- package/dist/esm/components/ApplicationLauncher/ApplicationLauncherItem.js +1 -1
- package/dist/esm/components/ApplicationLauncher/ApplicationLauncherItem.js.map +1 -1
- package/dist/esm/components/ApplicationLauncher/ApplicationLauncherSeparator.d.ts +1 -1
- package/dist/esm/components/ApplicationLauncher/ApplicationLauncherSeparator.d.ts.map +1 -1
- package/dist/esm/components/ApplicationLauncher/ApplicationLauncherSeparator.js +1 -1
- package/dist/esm/components/ApplicationLauncher/ApplicationLauncherSeparator.js.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.d.ts +24 -55
- package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.js +53 -12
- package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/components/Dropdown/DropdownGroup.d.ts +8 -7
- package/dist/esm/components/Dropdown/DropdownGroup.d.ts.map +1 -1
- package/dist/esm/components/Dropdown/DropdownGroup.js +4 -9
- package/dist/esm/components/Dropdown/DropdownGroup.js.map +1 -1
- package/dist/esm/components/Dropdown/DropdownItem.d.ts +8 -41
- package/dist/esm/components/Dropdown/DropdownItem.d.ts.map +1 -1
- package/dist/esm/components/Dropdown/DropdownItem.js +5 -8
- package/dist/esm/components/Dropdown/DropdownItem.js.map +1 -1
- package/dist/esm/{next/components → components}/Dropdown/DropdownList.d.ts +1 -1
- package/dist/esm/components/Dropdown/DropdownList.d.ts.map +1 -0
- package/dist/esm/{next/components → components}/Dropdown/DropdownList.js +1 -1
- package/dist/esm/components/Dropdown/DropdownList.js.map +1 -0
- package/dist/esm/components/Dropdown/index.d.ts +1 -9
- package/dist/esm/components/Dropdown/index.d.ts.map +1 -1
- package/dist/esm/components/Dropdown/index.js +1 -9
- package/dist/esm/components/Dropdown/index.js.map +1 -1
- package/dist/esm/components/OverflowMenu/OverflowMenuDropdownItem.d.ts +1 -1
- package/dist/esm/components/OverflowMenu/OverflowMenuDropdownItem.d.ts.map +1 -1
- package/dist/esm/components/OverflowMenu/OverflowMenuDropdownItem.js +2 -2
- package/dist/esm/components/OverflowMenu/OverflowMenuDropdownItem.js.map +1 -1
- package/dist/esm/{components → deprecated/components}/Dropdown/BadgeToggle.d.ts +1 -1
- package/dist/esm/deprecated/components/Dropdown/BadgeToggle.d.ts.map +1 -0
- package/dist/esm/{components → deprecated/components}/Dropdown/BadgeToggle.js +1 -1
- package/dist/esm/deprecated/components/Dropdown/BadgeToggle.js.map +1 -0
- package/dist/esm/deprecated/components/Dropdown/Dropdown.d.ts +66 -0
- package/dist/esm/deprecated/components/Dropdown/Dropdown.d.ts.map +1 -0
- package/dist/esm/deprecated/components/Dropdown/Dropdown.js +16 -0
- package/dist/esm/deprecated/components/Dropdown/Dropdown.js.map +1 -0
- package/dist/esm/deprecated/components/Dropdown/DropdownGroup.d.ts +11 -0
- package/dist/esm/deprecated/components/Dropdown/DropdownGroup.d.ts.map +1 -0
- package/dist/esm/deprecated/components/Dropdown/DropdownGroup.js +15 -0
- package/dist/esm/deprecated/components/Dropdown/DropdownGroup.js.map +1 -0
- package/dist/esm/deprecated/components/Dropdown/DropdownItem.d.ts +52 -0
- package/dist/esm/deprecated/components/Dropdown/DropdownItem.d.ts.map +1 -0
- package/dist/esm/deprecated/components/Dropdown/DropdownItem.js +15 -0
- package/dist/esm/deprecated/components/Dropdown/DropdownItem.js.map +1 -0
- package/dist/esm/deprecated/components/Dropdown/DropdownMenu.d.ts.map +1 -0
- package/dist/esm/{components → deprecated/components}/Dropdown/DropdownMenu.js +7 -7
- package/dist/esm/deprecated/components/Dropdown/DropdownMenu.js.map +1 -0
- package/dist/esm/{components → deprecated/components}/Dropdown/DropdownSeparator.d.ts +1 -1
- package/dist/esm/deprecated/components/Dropdown/DropdownSeparator.d.ts.map +1 -0
- package/dist/esm/{components → deprecated/components}/Dropdown/DropdownSeparator.js +3 -3
- package/dist/esm/deprecated/components/Dropdown/DropdownSeparator.js.map +1 -0
- package/dist/{js → esm/deprecated}/components/Dropdown/DropdownToggle.d.ts +1 -1
- package/dist/esm/deprecated/components/Dropdown/DropdownToggle.d.ts.map +1 -0
- package/dist/esm/{components → deprecated/components}/Dropdown/DropdownToggle.js +1 -1
- package/dist/esm/deprecated/components/Dropdown/DropdownToggle.js.map +1 -0
- package/dist/esm/deprecated/components/Dropdown/DropdownToggleAction.d.ts.map +1 -0
- package/dist/esm/deprecated/components/Dropdown/DropdownToggleAction.js.map +1 -0
- package/dist/{js → esm/deprecated}/components/Dropdown/DropdownToggleCheckbox.d.ts +2 -2
- package/dist/esm/deprecated/components/Dropdown/DropdownToggleCheckbox.d.ts.map +1 -0
- package/dist/esm/{components → deprecated/components}/Dropdown/DropdownToggleCheckbox.js +2 -2
- package/dist/esm/deprecated/components/Dropdown/DropdownToggleCheckbox.js.map +1 -0
- package/dist/{js → esm/deprecated}/components/Dropdown/DropdownWithContext.d.ts +2 -2
- package/dist/esm/deprecated/components/Dropdown/DropdownWithContext.d.ts.map +1 -0
- package/dist/esm/{components → deprecated/components}/Dropdown/DropdownWithContext.js +2 -2
- package/dist/esm/deprecated/components/Dropdown/DropdownWithContext.js.map +1 -0
- package/dist/esm/deprecated/components/Dropdown/InternalDropdownItem.d.ts.map +1 -0
- package/dist/esm/{components → deprecated/components}/Dropdown/InternalDropdownItem.js +3 -3
- package/dist/esm/deprecated/components/Dropdown/InternalDropdownItem.js.map +1 -0
- package/dist/esm/deprecated/components/Dropdown/KebabToggle.d.ts.map +1 -0
- package/dist/esm/deprecated/components/Dropdown/KebabToggle.js.map +1 -0
- package/dist/{js → esm/deprecated}/components/Dropdown/Toggle.d.ts +1 -1
- package/dist/esm/deprecated/components/Dropdown/Toggle.d.ts.map +1 -0
- package/dist/esm/{components → deprecated/components}/Dropdown/Toggle.js +2 -2
- package/dist/esm/deprecated/components/Dropdown/Toggle.js.map +1 -0
- package/dist/esm/{components → deprecated/components}/Dropdown/dropdownConstants.d.ts +1 -1
- package/dist/esm/deprecated/components/Dropdown/dropdownConstants.d.ts.map +1 -0
- package/dist/esm/deprecated/components/Dropdown/dropdownConstants.js.map +1 -0
- package/dist/esm/deprecated/components/Dropdown/index.d.ts +13 -0
- package/dist/esm/deprecated/components/Dropdown/index.d.ts.map +1 -0
- package/dist/esm/deprecated/components/Dropdown/index.js +13 -0
- package/dist/esm/deprecated/components/Dropdown/index.js.map +1 -0
- package/dist/esm/deprecated/components/OptionsMenu/OptionsMenu.js +2 -2
- package/dist/esm/deprecated/components/OptionsMenu/OptionsMenu.js.map +1 -1
- package/dist/esm/deprecated/components/OptionsMenu/OptionsMenuItem.js +1 -1
- package/dist/esm/deprecated/components/OptionsMenu/OptionsMenuItem.js.map +1 -1
- package/dist/esm/deprecated/components/OptionsMenu/OptionsMenuToggle.js +1 -1
- package/dist/esm/deprecated/components/OptionsMenu/OptionsMenuToggle.js.map +1 -1
- package/dist/esm/deprecated/components/OptionsMenu/OptionsMenuToggleWithText.js +2 -2
- package/dist/esm/deprecated/components/OptionsMenu/OptionsMenuToggleWithText.js.map +1 -1
- package/dist/esm/deprecated/components/index.d.ts +1 -0
- package/dist/esm/deprecated/components/index.d.ts.map +1 -1
- package/dist/esm/deprecated/components/index.js +1 -0
- package/dist/esm/deprecated/components/index.js.map +1 -1
- package/dist/esm/next/components/index.d.ts +0 -1
- package/dist/esm/next/components/index.d.ts.map +1 -1
- package/dist/esm/next/components/index.js +0 -1
- package/dist/esm/next/components/index.js.map +1 -1
- package/dist/js/components/ApplicationLauncher/ApplicationLauncher.d.ts +1 -1
- package/dist/js/components/ApplicationLauncher/ApplicationLauncher.d.ts.map +1 -1
- package/dist/js/components/ApplicationLauncher/ApplicationLauncher.js +2 -2
- package/dist/js/components/ApplicationLauncher/ApplicationLauncher.js.map +1 -1
- package/dist/js/components/ApplicationLauncher/ApplicationLauncherGroup.d.ts +1 -1
- package/dist/js/components/ApplicationLauncher/ApplicationLauncherGroup.d.ts.map +1 -1
- package/dist/js/components/ApplicationLauncher/ApplicationLauncherGroup.js +1 -1
- package/dist/js/components/ApplicationLauncher/ApplicationLauncherGroup.js.map +1 -1
- package/dist/js/components/ApplicationLauncher/ApplicationLauncherItem.d.ts +1 -1
- package/dist/js/components/ApplicationLauncher/ApplicationLauncherItem.d.ts.map +1 -1
- package/dist/js/components/ApplicationLauncher/ApplicationLauncherItem.js +1 -1
- package/dist/js/components/ApplicationLauncher/ApplicationLauncherItem.js.map +1 -1
- package/dist/js/components/ApplicationLauncher/ApplicationLauncherSeparator.d.ts +1 -1
- package/dist/js/components/ApplicationLauncher/ApplicationLauncherSeparator.d.ts.map +1 -1
- package/dist/js/components/ApplicationLauncher/ApplicationLauncherSeparator.js +1 -1
- package/dist/js/components/ApplicationLauncher/ApplicationLauncherSeparator.js.map +1 -1
- package/dist/js/components/Dropdown/Dropdown.d.ts +24 -55
- package/dist/js/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/js/components/Dropdown/Dropdown.js +52 -12
- package/dist/js/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/js/components/Dropdown/DropdownGroup.d.ts +8 -7
- package/dist/js/components/Dropdown/DropdownGroup.d.ts.map +1 -1
- package/dist/js/components/Dropdown/DropdownGroup.js +4 -9
- package/dist/js/components/Dropdown/DropdownGroup.js.map +1 -1
- package/dist/js/components/Dropdown/DropdownItem.d.ts +8 -41
- package/dist/js/components/Dropdown/DropdownItem.d.ts.map +1 -1
- package/dist/js/components/Dropdown/DropdownItem.js +5 -8
- package/dist/js/components/Dropdown/DropdownItem.js.map +1 -1
- package/dist/js/{next/components → components}/Dropdown/DropdownList.d.ts +1 -1
- package/dist/js/components/Dropdown/DropdownList.d.ts.map +1 -0
- package/dist/js/{next/components → components}/Dropdown/DropdownList.js +1 -1
- package/dist/js/components/Dropdown/DropdownList.js.map +1 -0
- package/dist/js/components/Dropdown/index.d.ts +1 -9
- package/dist/js/components/Dropdown/index.d.ts.map +1 -1
- package/dist/js/components/Dropdown/index.js +1 -9
- package/dist/js/components/Dropdown/index.js.map +1 -1
- package/dist/js/components/OverflowMenu/OverflowMenuDropdownItem.d.ts +1 -1
- package/dist/js/components/OverflowMenu/OverflowMenuDropdownItem.d.ts.map +1 -1
- package/dist/js/components/OverflowMenu/OverflowMenuDropdownItem.js +2 -2
- package/dist/js/components/OverflowMenu/OverflowMenuDropdownItem.js.map +1 -1
- package/dist/js/{components → deprecated/components}/Dropdown/BadgeToggle.d.ts +1 -1
- package/dist/js/deprecated/components/Dropdown/BadgeToggle.d.ts.map +1 -0
- package/dist/js/{components → deprecated/components}/Dropdown/BadgeToggle.js +1 -1
- package/dist/js/deprecated/components/Dropdown/BadgeToggle.js.map +1 -0
- package/dist/js/deprecated/components/Dropdown/Dropdown.d.ts +66 -0
- package/dist/js/deprecated/components/Dropdown/Dropdown.d.ts.map +1 -0
- package/dist/js/deprecated/components/Dropdown/Dropdown.js +20 -0
- package/dist/js/deprecated/components/Dropdown/Dropdown.js.map +1 -0
- package/dist/js/deprecated/components/Dropdown/DropdownGroup.d.ts +11 -0
- package/dist/js/deprecated/components/Dropdown/DropdownGroup.d.ts.map +1 -0
- package/dist/js/deprecated/components/Dropdown/DropdownGroup.js +19 -0
- package/dist/js/deprecated/components/Dropdown/DropdownGroup.js.map +1 -0
- package/dist/js/deprecated/components/Dropdown/DropdownItem.d.ts +52 -0
- package/dist/js/deprecated/components/Dropdown/DropdownItem.d.ts.map +1 -0
- package/dist/js/deprecated/components/Dropdown/DropdownItem.js +19 -0
- package/dist/js/deprecated/components/Dropdown/DropdownItem.js.map +1 -0
- package/dist/js/deprecated/components/Dropdown/DropdownMenu.d.ts.map +1 -0
- package/dist/js/{components → deprecated/components}/Dropdown/DropdownMenu.js +7 -7
- package/dist/js/deprecated/components/Dropdown/DropdownMenu.js.map +1 -0
- package/dist/js/{components → deprecated/components}/Dropdown/DropdownSeparator.d.ts +1 -1
- package/dist/js/deprecated/components/Dropdown/DropdownSeparator.d.ts.map +1 -0
- package/dist/js/{components → deprecated/components}/Dropdown/DropdownSeparator.js +3 -3
- package/dist/js/deprecated/components/Dropdown/DropdownSeparator.js.map +1 -0
- package/dist/{esm → js/deprecated}/components/Dropdown/DropdownToggle.d.ts +1 -1
- package/dist/js/deprecated/components/Dropdown/DropdownToggle.d.ts.map +1 -0
- package/dist/js/{components → deprecated/components}/Dropdown/DropdownToggle.js +1 -1
- package/dist/js/deprecated/components/Dropdown/DropdownToggle.js.map +1 -0
- package/dist/js/deprecated/components/Dropdown/DropdownToggleAction.d.ts.map +1 -0
- package/dist/js/deprecated/components/Dropdown/DropdownToggleAction.js.map +1 -0
- package/dist/{esm → js/deprecated}/components/Dropdown/DropdownToggleCheckbox.d.ts +2 -2
- package/dist/js/deprecated/components/Dropdown/DropdownToggleCheckbox.d.ts.map +1 -0
- package/dist/js/{components → deprecated/components}/Dropdown/DropdownToggleCheckbox.js +2 -2
- package/dist/js/deprecated/components/Dropdown/DropdownToggleCheckbox.js.map +1 -0
- package/dist/{esm → js/deprecated}/components/Dropdown/DropdownWithContext.d.ts +2 -2
- package/dist/js/deprecated/components/Dropdown/DropdownWithContext.d.ts.map +1 -0
- package/dist/js/{components → deprecated/components}/Dropdown/DropdownWithContext.js +2 -2
- package/dist/js/deprecated/components/Dropdown/DropdownWithContext.js.map +1 -0
- package/dist/js/deprecated/components/Dropdown/InternalDropdownItem.d.ts.map +1 -0
- package/dist/js/{components → deprecated/components}/Dropdown/InternalDropdownItem.js +3 -3
- package/dist/js/deprecated/components/Dropdown/InternalDropdownItem.js.map +1 -0
- package/dist/js/deprecated/components/Dropdown/KebabToggle.d.ts.map +1 -0
- package/dist/js/deprecated/components/Dropdown/KebabToggle.js.map +1 -0
- package/dist/{esm → js/deprecated}/components/Dropdown/Toggle.d.ts +1 -1
- package/dist/js/deprecated/components/Dropdown/Toggle.d.ts.map +1 -0
- package/dist/js/{components → deprecated/components}/Dropdown/Toggle.js +2 -2
- package/dist/js/deprecated/components/Dropdown/Toggle.js.map +1 -0
- package/dist/js/{components → deprecated/components}/Dropdown/dropdownConstants.d.ts +1 -1
- package/dist/js/deprecated/components/Dropdown/dropdownConstants.d.ts.map +1 -0
- package/dist/js/deprecated/components/Dropdown/dropdownConstants.js.map +1 -0
- package/dist/js/deprecated/components/Dropdown/index.d.ts +13 -0
- package/dist/js/deprecated/components/Dropdown/index.d.ts.map +1 -0
- package/dist/js/deprecated/components/Dropdown/index.js +16 -0
- package/dist/js/deprecated/components/Dropdown/index.js.map +1 -0
- package/dist/js/deprecated/components/OptionsMenu/OptionsMenu.js +2 -2
- package/dist/js/deprecated/components/OptionsMenu/OptionsMenu.js.map +1 -1
- package/dist/js/deprecated/components/OptionsMenu/OptionsMenuItem.js +1 -1
- package/dist/js/deprecated/components/OptionsMenu/OptionsMenuItem.js.map +1 -1
- package/dist/js/deprecated/components/OptionsMenu/OptionsMenuToggle.js +1 -1
- package/dist/js/deprecated/components/OptionsMenu/OptionsMenuToggle.js.map +1 -1
- package/dist/js/deprecated/components/OptionsMenu/OptionsMenuToggleWithText.js +2 -2
- package/dist/js/deprecated/components/OptionsMenu/OptionsMenuToggleWithText.js.map +1 -1
- package/dist/js/deprecated/components/index.d.ts +1 -0
- package/dist/js/deprecated/components/index.d.ts.map +1 -1
- package/dist/js/deprecated/components/index.js +1 -0
- package/dist/js/deprecated/components/index.js.map +1 -1
- package/dist/js/next/components/index.d.ts +0 -1
- package/dist/js/next/components/index.d.ts.map +1 -1
- package/dist/js/next/components/index.js +0 -1
- package/dist/js/next/components/index.js.map +1 -1
- package/dist/umd/react-core.min.js +3 -3
- package/package.json +2 -2
- package/src/components/ActionList/examples/ActionList.md +10 -0
- package/src/components/ActionList/examples/ActionListSingleGroup.tsx +15 -17
- package/src/components/ApplicationLauncher/ApplicationLauncher.tsx +8 -9
- package/src/components/ApplicationLauncher/ApplicationLauncherGroup.tsx +1 -1
- package/src/components/ApplicationLauncher/ApplicationLauncherItem.tsx +1 -1
- package/src/components/ApplicationLauncher/ApplicationLauncherSeparator.tsx +1 -1
- package/src/components/ApplicationLauncher/__tests__/ApplicationLauncher.test.tsx +1 -1
- package/src/components/ApplicationLauncher/__tests__/Generated/ApplicationLauncherSeparator.test.tsx +1 -1
- package/src/components/ApplicationLauncher/examples/ApplicationLauncher.md +11 -0
- package/src/components/ApplicationLauncher/examples/ApplicationLauncherAlignRight.tsx +3 -2
- package/src/components/ApplicationLauncher/examples/ApplicationLauncherAlignTop.tsx +3 -2
- package/src/components/Breadcrumb/examples/Breadcrumb.md +9 -0
- package/src/components/Breadcrumb/examples/BreadcrumbDropdown.tsx +11 -13
- package/src/components/Card/examples/Card.md +35 -17
- package/src/components/Card/examples/CardExpandable.tsx +18 -16
- package/src/components/Card/examples/CardExpandableWithIcon.tsx +16 -21
- package/src/components/Card/examples/CardHeaderInCardHead.tsx +16 -21
- package/src/components/Card/examples/CardLegacySelectable.tsx +16 -19
- package/src/components/Card/examples/CardOnlyActionsInCardHead.tsx +17 -20
- package/src/components/Card/examples/CardSelectable.tsx +16 -19
- package/src/components/Card/examples/CardWithImageAndActions.tsx +16 -22
- package/src/components/DataList/__tests__/DataList.test.tsx +10 -10
- package/src/components/DataList/examples/DataList.md +18 -1
- package/src/components/DataList/examples/DataListActions.tsx +12 -10
- package/src/components/DataList/examples/DataListCheckboxes.tsx +26 -24
- package/src/components/DataList/examples/DataListExpandable.tsx +25 -23
- package/src/components/DataList/examples/DataListMixedExpandable.tsx +25 -23
- package/src/components/DataList/examples/DataListSelectableRows.tsx +18 -16
- package/src/components/DataList/examples/DataListWidthModifiers.tsx +18 -16
- package/src/components/Dropdown/Dropdown.tsx +113 -98
- package/src/components/Dropdown/DropdownGroup.tsx +15 -26
- package/src/components/Dropdown/DropdownItem.tsx +14 -90
- package/src/{next/components → components}/Dropdown/DropdownList.tsx +1 -1
- package/src/components/Dropdown/__tests__/Dropdown.test.tsx +208 -270
- package/src/components/Dropdown/__tests__/DropdownGroup.test.tsx +68 -9
- package/src/{next/components → components}/Dropdown/__tests__/DropdownItem.test.tsx +1 -1
- package/src/{next/components → components}/Dropdown/__tests__/DropdownList.test.tsx +1 -1
- package/src/components/Dropdown/__tests__/__snapshots__/Dropdown.test.tsx.snap +32 -963
- package/src/components/Dropdown/__tests__/__snapshots__/DropdownGroup.test.tsx.snap +14 -15
- package/src/components/Dropdown/examples/Dropdown.md +20 -149
- package/src/components/Dropdown/examples/DropdownBasic.tsx +35 -43
- package/src/{next/components → components}/Dropdown/examples/DropdownWithDescriptions.tsx +1 -2
- package/src/{next/components → components}/Dropdown/examples/DropdownWithGroups.tsx +4 -5
- package/src/{next/components → components}/Dropdown/examples/DropdownWithKebabToggle.tsx +2 -3
- package/src/components/Dropdown/index.ts +1 -9
- package/src/components/DualListSelector/examples/DualListSelector.md +14 -1
- package/src/components/DualListSelector/examples/DualListSelectorComplexOptionsActions.tsx +11 -14
- package/src/components/Hint/examples/Hint.md +9 -0
- package/src/components/Hint/examples/HintBasicWithTitle.tsx +15 -19
- package/src/components/Hint/examples/HintBasicWithoutTitle.tsx +15 -18
- package/src/components/InputGroup/examples/InputGroup.md +17 -0
- package/src/components/InputGroup/examples/InputGroupWithDropdown.tsx +13 -8
- package/src/components/Menu/examples/Menu.md +27 -0
- package/src/components/Menu/examples/MenuWithDrilldownBreadcrumbs.tsx +30 -28
- package/src/components/Modal/examples/Modal.md +24 -4
- package/src/components/Modal/examples/ModalWithDropdown.tsx +14 -9
- package/src/components/NotificationDrawer/examples/NotificationDrawer.md +12 -1
- package/src/components/NotificationDrawer/examples/NotificationDrawerBasic.tsx +20 -18
- package/src/components/NotificationDrawer/examples/NotificationDrawerGroups.tsx +22 -20
- package/src/components/OverflowMenu/OverflowMenuDropdownItem.tsx +2 -2
- package/src/components/OverflowMenu/examples/OverflowMenu.md +20 -17
- package/src/components/OverflowMenu/examples/OverflowMenuBreakpointOnContainer.tsx +7 -6
- package/src/components/Toolbar/examples/Toolbar.md +20 -1
- package/src/components/Toolbar/examples/ToolbarStacked.tsx +43 -39
- package/src/components/Toolbar/examples/ToolbarWithFilters.tsx +19 -23
- package/src/components/TreeView/examples/TreeView.md +59 -59
- package/src/demos/AlertGroup.md +8 -2
- package/src/demos/Card/Card.md +38 -23
- package/src/demos/CardDemos.md +15 -12
- package/src/demos/DataListDemo.md +37 -29
- package/src/demos/DateTimePicker.md +6 -0
- package/src/demos/Masthead.md +8 -0
- package/src/demos/Nav.md +86 -78
- package/src/demos/NotificationDrawer/NotificationDrawer.md +94 -80
- package/src/demos/Page.md +12 -1
- package/src/demos/PrimaryDetail.md +51 -34
- package/src/demos/Tabs.md +5 -2
- package/src/demos/Toolbar.md +53 -43
- package/src/demos/examples/AlertGroup/AlertGroupToastWithNotificationDrawer.tsx +16 -14
- package/src/demos/examples/DashboardHeader.js +31 -28
- package/src/demos/examples/DateTimePicker/DateTimePicker.tsx +8 -12
- package/src/demos/examples/Masthead/MastheadWithUtilitiesAndUserDropdownMenu.tsx +31 -28
- package/src/demos/examples/Page/PageStickySectionBreadcrumb.tsx +31 -28
- package/src/demos/examples/Page/PageStickySectionGroup.tsx +31 -28
- package/src/demos/examples/Page/PageStickySectionGroupAlternate.tsx +31 -28
- package/src/demos/examples/Page/PageStickySectionGroupUsingPageHeader.tsx +31 -28
- package/src/demos/examples/Tabs/TabsAndTable.tsx +15 -14
- package/src/{components → deprecated/components}/Dropdown/BadgeToggle.tsx +1 -1
- package/src/deprecated/components/Dropdown/Dropdown.tsx +115 -0
- package/src/deprecated/components/Dropdown/DropdownGroup.tsx +36 -0
- package/src/deprecated/components/Dropdown/DropdownItem.tsx +113 -0
- package/src/{components → deprecated/components}/Dropdown/DropdownMenu.tsx +11 -18
- package/src/{components → deprecated/components}/Dropdown/DropdownSeparator.tsx +3 -3
- package/src/{components → deprecated/components}/Dropdown/DropdownToggle.tsx +1 -1
- package/src/{components → deprecated/components}/Dropdown/DropdownToggleCheckbox.tsx +3 -3
- package/src/{components → deprecated/components}/Dropdown/DropdownWithContext.tsx +3 -3
- package/src/{components → deprecated/components}/Dropdown/InternalDropdownItem.tsx +3 -3
- package/src/{components → deprecated/components}/Dropdown/Toggle.tsx +4 -4
- package/src/deprecated/components/Dropdown/__tests__/Dropdown.test.tsx +278 -0
- package/src/deprecated/components/Dropdown/__tests__/DropdownGroup.test.tsx +10 -0
- package/src/deprecated/components/Dropdown/__tests__/__snapshots__/Dropdown.test.tsx.snap +978 -0
- package/src/deprecated/components/Dropdown/__tests__/__snapshots__/DropdownGroup.test.tsx.snap +21 -0
- package/src/{components → deprecated/components}/Dropdown/dropdownConstants.tsx +1 -1
- package/src/deprecated/components/Dropdown/examples/Dropdown.md +211 -0
- package/src/{components → deprecated/components}/Dropdown/examples/DropdownAlignmentOnBreakpoints.tsx +1 -1
- package/src/{components → deprecated/components}/Dropdown/examples/DropdownAppendBodyVsParent.tsx +2 -1
- package/src/{components → deprecated/components}/Dropdown/examples/DropdownBadge.tsx +1 -1
- package/src/deprecated/components/Dropdown/examples/DropdownBasic.tsx +59 -0
- package/src/{components → deprecated/components}/Dropdown/examples/DropdownBasicPanel.tsx +1 -1
- package/src/{components → deprecated/components}/Dropdown/examples/DropdownDescriptions.tsx +1 -1
- package/src/{components → deprecated/components}/Dropdown/examples/DropdownDirectionUp.tsx +7 -1
- package/src/{components → deprecated/components}/Dropdown/examples/DropdownDisabled.tsx +1 -1
- package/src/{components → deprecated/components}/Dropdown/examples/DropdownGroups.tsx +1 -1
- package/src/{components → deprecated/components}/Dropdown/examples/DropdownIconOnly.tsx +1 -1
- package/src/{components → deprecated/components}/Dropdown/examples/DropdownImageAndText.tsx +3 -3
- package/src/{components → deprecated/components}/Dropdown/examples/DropdownInitialSelection.tsx +1 -1
- package/src/{components → deprecated/components}/Dropdown/examples/DropdownKebab.tsx +1 -1
- package/src/{components → deprecated/components}/Dropdown/examples/DropdownPlainTextToggle.tsx +1 -1
- package/src/{components → deprecated/components}/Dropdown/examples/DropdownPositionRight.tsx +7 -1
- package/src/{components → deprecated/components}/Dropdown/examples/DropdownPrimaryToggle.tsx +1 -1
- package/src/{components → deprecated/components}/Dropdown/examples/DropdownRouterLink.tsx +1 -1
- package/src/{components → deprecated/components}/Dropdown/examples/DropdownSecondaryToggle.tsx +1 -1
- package/src/{components → deprecated/components}/Dropdown/examples/DropdownSplitButton.tsx +1 -1
- package/src/{components → deprecated/components}/Dropdown/examples/DropdownSplitButtonAction.tsx +1 -1
- package/src/{components → deprecated/components}/Dropdown/examples/DropdownSplitButtonActionPrimary.tsx +1 -1
- package/src/{components → deprecated/components}/Dropdown/examples/DropdownSplitButtonActionSecondary.tsx +1 -1
- package/src/{components → deprecated/components}/Dropdown/examples/DropdownSplitButtonDisabled.tsx +1 -1
- package/src/{components → deprecated/components}/Dropdown/examples/DropdownSplitButtonProgressCheckbox.tsx +1 -1
- package/src/{components → deprecated/components}/Dropdown/examples/DropdownSplitButtonText.tsx +1 -1
- package/src/deprecated/components/Dropdown/index.ts +12 -0
- package/src/deprecated/components/OptionsMenu/OptionsMenu.tsx +2 -2
- package/src/deprecated/components/OptionsMenu/OptionsMenuItem.tsx +1 -1
- package/src/deprecated/components/OptionsMenu/OptionsMenuToggle.tsx +1 -1
- package/src/deprecated/components/OptionsMenu/OptionsMenuToggleWithText.tsx +2 -2
- package/src/deprecated/components/OptionsMenu/__tests__/Generated/OptionsMenuItem.test.tsx +1 -1
- package/src/deprecated/components/index.ts +1 -0
- package/src/next/components/index.ts +0 -1
- package/dist/esm/components/Dropdown/BadgeToggle.d.ts.map +0 -1
- package/dist/esm/components/Dropdown/BadgeToggle.js.map +0 -1
- package/dist/esm/components/Dropdown/DropdownMenu.d.ts.map +0 -1
- package/dist/esm/components/Dropdown/DropdownMenu.js.map +0 -1
- package/dist/esm/components/Dropdown/DropdownSeparator.d.ts.map +0 -1
- package/dist/esm/components/Dropdown/DropdownSeparator.js.map +0 -1
- package/dist/esm/components/Dropdown/DropdownToggle.d.ts.map +0 -1
- package/dist/esm/components/Dropdown/DropdownToggle.js.map +0 -1
- package/dist/esm/components/Dropdown/DropdownToggleAction.d.ts.map +0 -1
- package/dist/esm/components/Dropdown/DropdownToggleAction.js.map +0 -1
- package/dist/esm/components/Dropdown/DropdownToggleCheckbox.d.ts.map +0 -1
- package/dist/esm/components/Dropdown/DropdownToggleCheckbox.js.map +0 -1
- package/dist/esm/components/Dropdown/DropdownWithContext.d.ts.map +0 -1
- package/dist/esm/components/Dropdown/DropdownWithContext.js.map +0 -1
- package/dist/esm/components/Dropdown/InternalDropdownItem.d.ts.map +0 -1
- package/dist/esm/components/Dropdown/InternalDropdownItem.js.map +0 -1
- package/dist/esm/components/Dropdown/KebabToggle.d.ts.map +0 -1
- package/dist/esm/components/Dropdown/KebabToggle.js.map +0 -1
- package/dist/esm/components/Dropdown/Toggle.d.ts.map +0 -1
- package/dist/esm/components/Dropdown/Toggle.js.map +0 -1
- package/dist/esm/components/Dropdown/dropdownConstants.d.ts.map +0 -1
- package/dist/esm/components/Dropdown/dropdownConstants.js.map +0 -1
- package/dist/esm/next/components/Dropdown/Dropdown.d.ts +0 -35
- package/dist/esm/next/components/Dropdown/Dropdown.d.ts.map +0 -1
- package/dist/esm/next/components/Dropdown/Dropdown.js +0 -57
- package/dist/esm/next/components/Dropdown/Dropdown.js.map +0 -1
- package/dist/esm/next/components/Dropdown/DropdownGroup.d.ts +0 -12
- package/dist/esm/next/components/Dropdown/DropdownGroup.d.ts.map +0 -1
- package/dist/esm/next/components/Dropdown/DropdownGroup.js +0 -10
- package/dist/esm/next/components/Dropdown/DropdownGroup.js.map +0 -1
- package/dist/esm/next/components/Dropdown/DropdownItem.d.ts +0 -19
- package/dist/esm/next/components/Dropdown/DropdownItem.d.ts.map +0 -1
- package/dist/esm/next/components/Dropdown/DropdownItem.js +0 -12
- package/dist/esm/next/components/Dropdown/DropdownItem.js.map +0 -1
- package/dist/esm/next/components/Dropdown/DropdownList.d.ts.map +0 -1
- package/dist/esm/next/components/Dropdown/DropdownList.js.map +0 -1
- package/dist/esm/next/components/Dropdown/index.d.ts +0 -5
- package/dist/esm/next/components/Dropdown/index.d.ts.map +0 -1
- package/dist/esm/next/components/Dropdown/index.js +0 -5
- package/dist/esm/next/components/Dropdown/index.js.map +0 -1
- package/dist/js/components/Dropdown/BadgeToggle.d.ts.map +0 -1
- package/dist/js/components/Dropdown/BadgeToggle.js.map +0 -1
- package/dist/js/components/Dropdown/DropdownMenu.d.ts.map +0 -1
- package/dist/js/components/Dropdown/DropdownMenu.js.map +0 -1
- package/dist/js/components/Dropdown/DropdownSeparator.d.ts.map +0 -1
- package/dist/js/components/Dropdown/DropdownSeparator.js.map +0 -1
- package/dist/js/components/Dropdown/DropdownToggle.d.ts.map +0 -1
- package/dist/js/components/Dropdown/DropdownToggle.js.map +0 -1
- package/dist/js/components/Dropdown/DropdownToggleAction.d.ts.map +0 -1
- package/dist/js/components/Dropdown/DropdownToggleAction.js.map +0 -1
- package/dist/js/components/Dropdown/DropdownToggleCheckbox.d.ts.map +0 -1
- package/dist/js/components/Dropdown/DropdownToggleCheckbox.js.map +0 -1
- package/dist/js/components/Dropdown/DropdownWithContext.d.ts.map +0 -1
- package/dist/js/components/Dropdown/DropdownWithContext.js.map +0 -1
- package/dist/js/components/Dropdown/InternalDropdownItem.d.ts.map +0 -1
- package/dist/js/components/Dropdown/InternalDropdownItem.js.map +0 -1
- package/dist/js/components/Dropdown/KebabToggle.d.ts.map +0 -1
- package/dist/js/components/Dropdown/KebabToggle.js.map +0 -1
- package/dist/js/components/Dropdown/Toggle.d.ts.map +0 -1
- package/dist/js/components/Dropdown/Toggle.js.map +0 -1
- package/dist/js/components/Dropdown/dropdownConstants.d.ts.map +0 -1
- package/dist/js/components/Dropdown/dropdownConstants.js.map +0 -1
- package/dist/js/next/components/Dropdown/Dropdown.d.ts +0 -35
- package/dist/js/next/components/Dropdown/Dropdown.d.ts.map +0 -1
- package/dist/js/next/components/Dropdown/Dropdown.js +0 -60
- package/dist/js/next/components/Dropdown/Dropdown.js.map +0 -1
- package/dist/js/next/components/Dropdown/DropdownGroup.d.ts +0 -12
- package/dist/js/next/components/Dropdown/DropdownGroup.d.ts.map +0 -1
- package/dist/js/next/components/Dropdown/DropdownGroup.js +0 -14
- package/dist/js/next/components/Dropdown/DropdownGroup.js.map +0 -1
- package/dist/js/next/components/Dropdown/DropdownItem.d.ts +0 -19
- package/dist/js/next/components/Dropdown/DropdownItem.d.ts.map +0 -1
- package/dist/js/next/components/Dropdown/DropdownItem.js +0 -16
- package/dist/js/next/components/Dropdown/DropdownItem.js.map +0 -1
- package/dist/js/next/components/Dropdown/DropdownList.d.ts.map +0 -1
- package/dist/js/next/components/Dropdown/DropdownList.js.map +0 -1
- package/dist/js/next/components/Dropdown/index.d.ts +0 -5
- package/dist/js/next/components/Dropdown/index.d.ts.map +0 -1
- package/dist/js/next/components/Dropdown/index.js +0 -8
- package/dist/js/next/components/Dropdown/index.js.map +0 -1
- package/src/next/components/Dropdown/Dropdown.tsx +0 -130
- package/src/next/components/Dropdown/DropdownGroup.tsx +0 -25
- package/src/next/components/Dropdown/DropdownItem.tsx +0 -37
- package/src/next/components/Dropdown/__tests__/Dropdown.test.tsx +0 -216
- package/src/next/components/Dropdown/__tests__/DropdownGroup.test.tsx +0 -69
- package/src/next/components/Dropdown/__tests__/__snapshots__/Dropdown.test.tsx.snap +0 -47
- package/src/next/components/Dropdown/__tests__/__snapshots__/DropdownGroup.test.tsx.snap +0 -20
- package/src/next/components/Dropdown/examples/Dropdown.md +0 -45
- package/src/next/components/Dropdown/examples/DropdownBasic.tsx +0 -52
- package/src/next/components/Dropdown/index.ts +0 -4
- /package/dist/esm/{components → deprecated/components}/Dropdown/DropdownMenu.d.ts +0 -0
- /package/dist/esm/{components → deprecated/components}/Dropdown/DropdownToggleAction.d.ts +0 -0
- /package/dist/esm/{components → deprecated/components}/Dropdown/DropdownToggleAction.js +0 -0
- /package/dist/esm/{components → deprecated/components}/Dropdown/InternalDropdownItem.d.ts +0 -0
- /package/dist/esm/{components → deprecated/components}/Dropdown/KebabToggle.d.ts +0 -0
- /package/dist/esm/{components → deprecated/components}/Dropdown/KebabToggle.js +0 -0
- /package/dist/esm/{components → deprecated/components}/Dropdown/dropdownConstants.js +0 -0
- /package/dist/js/{components → deprecated/components}/Dropdown/DropdownMenu.d.ts +0 -0
- /package/dist/js/{components → deprecated/components}/Dropdown/DropdownToggleAction.d.ts +0 -0
- /package/dist/js/{components → deprecated/components}/Dropdown/DropdownToggleAction.js +0 -0
- /package/dist/js/{components → deprecated/components}/Dropdown/InternalDropdownItem.d.ts +0 -0
- /package/dist/js/{components → deprecated/components}/Dropdown/KebabToggle.d.ts +0 -0
- /package/dist/js/{components → deprecated/components}/Dropdown/KebabToggle.js +0 -0
- /package/dist/js/{components → deprecated/components}/Dropdown/dropdownConstants.js +0 -0
- /package/src/{next/components → components}/Dropdown/__tests__/__snapshots__/DropdownItem.test.tsx.snap +0 -0
- /package/src/{next/components → components}/Dropdown/__tests__/__snapshots__/DropdownList.test.tsx.snap +0 -0
- /package/src/{components → deprecated/components}/Dropdown/DropdownToggleAction.tsx +0 -0
- /package/src/{components → deprecated/components}/Dropdown/KebabToggle.tsx +0 -0
- /package/src/{components → deprecated/components}/Dropdown/__tests__/DropdownToggle.test.tsx +0 -0
- /package/src/{components → deprecated/components}/Dropdown/__tests__/DropdownToggleAction.test.tsx +0 -0
- /package/src/{components → deprecated/components}/Dropdown/__tests__/DropdownToggleCheckbox.test.tsx +0 -0
- /package/src/{components → deprecated/components}/Dropdown/__tests__/Generated/DropdownItem.test.tsx +0 -0
- /package/src/{components → deprecated/components}/Dropdown/__tests__/Generated/DropdownMenu.test.tsx +0 -0
- /package/src/{components → deprecated/components}/Dropdown/__tests__/Generated/DropdownSeparator.test.tsx +0 -0
- /package/src/{components → deprecated/components}/Dropdown/__tests__/Generated/KebabToggle.test.tsx +0 -0
- /package/src/{components → deprecated/components}/Dropdown/__tests__/Generated/__snapshots__/DropdownItem.test.tsx.snap +0 -0
- /package/src/{components → deprecated/components}/Dropdown/__tests__/Generated/__snapshots__/DropdownMenu.test.tsx.snap +0 -0
- /package/src/{components → deprecated/components}/Dropdown/__tests__/Generated/__snapshots__/DropdownSeparator.test.tsx.snap +0 -0
- /package/src/{components → deprecated/components}/Dropdown/__tests__/Generated/__snapshots__/KebabToggle.test.tsx.snap +0 -0
- /package/src/{components → deprecated/components}/Dropdown/__tests__/InternalDropdownItem.test.tsx +0 -0
- /package/src/{components → deprecated/components}/Dropdown/__tests__/Toggle.test.tsx +0 -0
- /package/src/{components → deprecated/components}/Dropdown/__tests__/__snapshots__/DropdownToggle.test.tsx.snap +0 -0
- /package/src/{components → deprecated/components}/Dropdown/__tests__/__snapshots__/DropdownToggleAction.test.tsx.snap +0 -0
- /package/src/{components → deprecated/components}/Dropdown/__tests__/__snapshots__/DropdownToggleCheckbox.test.tsx.snap +0 -0
- /package/src/{components → deprecated/components}/Dropdown/__tests__/__snapshots__/InternalDropdownItem.test.tsx.snap +0 -0
- /package/src/{components → deprecated/components}/Dropdown/__tests__/__snapshots__/Toggle.test.tsx.snap +0 -0
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import styles from '@patternfly/react-styles/css/components/Dropdown/dropdown';
|
|
3
|
+
import { DropdownPosition, DropdownDirection, DropdownContext } from './dropdownConstants';
|
|
4
|
+
import { DropdownWithContext } from './DropdownWithContext';
|
|
5
|
+
import { OUIAProps, useOUIAId } from '../../../helpers';
|
|
6
|
+
|
|
7
|
+
export interface DropdownProps extends React.HTMLProps<HTMLDivElement>, OUIAProps {
|
|
8
|
+
/** Anything which can be rendered in a dropdown */
|
|
9
|
+
children?: React.ReactNode;
|
|
10
|
+
/** Classes applied to root element of dropdown */
|
|
11
|
+
className?: string;
|
|
12
|
+
/** Array of DropdownItem nodes that will be rendered in the dropdown Menu list */
|
|
13
|
+
dropdownItems?: any[];
|
|
14
|
+
/** Flag to indicate if menu is opened */
|
|
15
|
+
isOpen?: boolean;
|
|
16
|
+
/** Display the toggle with no border or background */
|
|
17
|
+
isPlain?: boolean;
|
|
18
|
+
/** Display the toggle in text only mode */
|
|
19
|
+
isText?: boolean;
|
|
20
|
+
/** Flag indicating that the dropdown should expand to full height */
|
|
21
|
+
isFullHeight?: boolean;
|
|
22
|
+
/** Indicates where menu will be aligned horizontally */
|
|
23
|
+
position?: DropdownPosition | 'right' | 'left';
|
|
24
|
+
/** Indicates how the menu will align at screen size breakpoints. Default alignment is set via the position property. */
|
|
25
|
+
alignments?: {
|
|
26
|
+
sm?: 'right' | 'left';
|
|
27
|
+
md?: 'right' | 'left';
|
|
28
|
+
lg?: 'right' | 'left';
|
|
29
|
+
xl?: 'right' | 'left';
|
|
30
|
+
'2xl'?: 'right' | 'left';
|
|
31
|
+
};
|
|
32
|
+
/** Display menu above or below dropdown toggle */
|
|
33
|
+
direction?: DropdownDirection | 'up' | 'down';
|
|
34
|
+
/** Minimum width of the dropdown menu. If set to "trigger", the minimum width will be set to the toggle width. */
|
|
35
|
+
minWidth?: string | 'trigger';
|
|
36
|
+
/** The container to append the menu to. Defaults to 'inline'.
|
|
37
|
+
* If your menu is being cut off you can append it to an element higher up the DOM tree.
|
|
38
|
+
* Some examples:
|
|
39
|
+
* menuAppendTo="parent"
|
|
40
|
+
* menuAppendTo={() => document.body}
|
|
41
|
+
* menuAppendTo={document.getElementById('target')}
|
|
42
|
+
*/
|
|
43
|
+
menuAppendTo?: HTMLElement | (() => HTMLElement) | 'inline' | 'parent';
|
|
44
|
+
/** Flag to indicate if dropdown has groups */
|
|
45
|
+
isGrouped?: boolean;
|
|
46
|
+
/** Toggle for the dropdown, examples: <DropdownToggle> or <DropdownToggleCheckbox> */
|
|
47
|
+
toggle: React.ReactElement<any>;
|
|
48
|
+
/** Function callback called when user selects item */
|
|
49
|
+
onSelect?: (event?: React.SyntheticEvent<HTMLDivElement>) => void;
|
|
50
|
+
/** Flag to indicate if the first dropdown item should gain initial focus, set false when adding
|
|
51
|
+
* a specific auto-focus item (like a current selection) otherwise leave as true
|
|
52
|
+
*/
|
|
53
|
+
autoFocus?: boolean;
|
|
54
|
+
/** Props for extreme customization of dropdown */
|
|
55
|
+
contextProps?: typeof DropdownContext;
|
|
56
|
+
/** Flag for indicating that the dropdown menu should automatically flip vertically when
|
|
57
|
+
* it reaches the boundary. This prop can only be used when the dropdown component is not
|
|
58
|
+
* appended inline, e.g. `menuAppendTo="parent"`
|
|
59
|
+
*/
|
|
60
|
+
isFlipEnabled?: boolean;
|
|
61
|
+
/** z-index of the dropdown when menuAppendTo is not inline. */
|
|
62
|
+
zIndex?: number;
|
|
63
|
+
/** Value to overwrite the randomly generated data-ouia-component-id.*/
|
|
64
|
+
ouiaId?: number | string;
|
|
65
|
+
/** Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. */
|
|
66
|
+
ouiaSafe?: boolean;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export const Dropdown: React.FunctionComponent<DropdownProps> = ({
|
|
70
|
+
onSelect,
|
|
71
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
72
|
+
ref, // Types of Ref are different for React.FunctionComponent vs React.Component
|
|
73
|
+
ouiaId,
|
|
74
|
+
ouiaSafe,
|
|
75
|
+
alignments,
|
|
76
|
+
contextProps,
|
|
77
|
+
minWidth,
|
|
78
|
+
menuAppendTo = 'inline',
|
|
79
|
+
isFlipEnabled = true,
|
|
80
|
+
zIndex = 9999,
|
|
81
|
+
...props
|
|
82
|
+
}: DropdownProps) => (
|
|
83
|
+
<DropdownContext.Provider
|
|
84
|
+
value={{
|
|
85
|
+
onSelect: (event) => onSelect && onSelect(event),
|
|
86
|
+
toggleTextClass: styles.dropdownToggleText,
|
|
87
|
+
toggleIconClass: styles.dropdownToggleImage,
|
|
88
|
+
toggleIndicatorClass: styles.dropdownToggleIcon,
|
|
89
|
+
menuClass: styles.dropdownMenu,
|
|
90
|
+
itemClass: styles.dropdownMenuItem,
|
|
91
|
+
toggleClass: styles.dropdownToggle,
|
|
92
|
+
baseClass: styles.dropdown,
|
|
93
|
+
baseComponent: 'div',
|
|
94
|
+
sectionClass: styles.dropdownGroup,
|
|
95
|
+
sectionTitleClass: styles.dropdownGroupTitle,
|
|
96
|
+
sectionComponent: 'section',
|
|
97
|
+
disabledClass: styles.modifiers.disabled,
|
|
98
|
+
plainTextClass: styles.modifiers.text,
|
|
99
|
+
ouiaId: useOUIAId(Dropdown.displayName, ouiaId),
|
|
100
|
+
ouiaSafe,
|
|
101
|
+
ouiaComponentType: Dropdown.displayName,
|
|
102
|
+
alignments,
|
|
103
|
+
...contextProps
|
|
104
|
+
}}
|
|
105
|
+
>
|
|
106
|
+
<DropdownWithContext
|
|
107
|
+
menuAppendTo={menuAppendTo}
|
|
108
|
+
isFlipEnabled={isFlipEnabled}
|
|
109
|
+
zIndex={zIndex}
|
|
110
|
+
minWidth={minWidth}
|
|
111
|
+
{...props}
|
|
112
|
+
/>
|
|
113
|
+
</DropdownContext.Provider>
|
|
114
|
+
);
|
|
115
|
+
Dropdown.displayName = 'Dropdown';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { css } from '@patternfly/react-styles';
|
|
3
|
+
import { DropdownContext } from './dropdownConstants';
|
|
4
|
+
|
|
5
|
+
export interface DropdownGroupProps extends Omit<React.HTMLProps<HTMLDivElement>, 'label'> {
|
|
6
|
+
/** Checkboxes within group */
|
|
7
|
+
children?: React.ReactNode;
|
|
8
|
+
/** Additional classes added to the DropdownGroup control */
|
|
9
|
+
className?: string;
|
|
10
|
+
/** Group label */
|
|
11
|
+
label?: React.ReactNode;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const DropdownGroup: React.FunctionComponent<DropdownGroupProps> = ({
|
|
15
|
+
children = null,
|
|
16
|
+
className = '',
|
|
17
|
+
label = '',
|
|
18
|
+
...props
|
|
19
|
+
}: DropdownGroupProps) => (
|
|
20
|
+
<DropdownContext.Consumer>
|
|
21
|
+
{({ sectionClass, sectionTitleClass, sectionComponent }) => {
|
|
22
|
+
const SectionComponent = sectionComponent as any;
|
|
23
|
+
return (
|
|
24
|
+
<SectionComponent className={css(sectionClass, className)} {...props}>
|
|
25
|
+
{label && (
|
|
26
|
+
<h1 className={css(sectionTitleClass)} aria-hidden>
|
|
27
|
+
{label}
|
|
28
|
+
</h1>
|
|
29
|
+
)}
|
|
30
|
+
<ul role="none">{children}</ul>
|
|
31
|
+
</SectionComponent>
|
|
32
|
+
);
|
|
33
|
+
}}
|
|
34
|
+
</DropdownContext.Consumer>
|
|
35
|
+
);
|
|
36
|
+
DropdownGroup.displayName = 'DropdownGroup';
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { InternalDropdownItemProps, InternalDropdownItem } from './InternalDropdownItem';
|
|
3
|
+
import { DropdownArrowContext } from './dropdownConstants';
|
|
4
|
+
import { useOUIAProps, OUIAProps } from '../../../helpers';
|
|
5
|
+
|
|
6
|
+
export interface DropdownItemProps extends Omit<InternalDropdownItemProps, 'tabIndex'>, OUIAProps {
|
|
7
|
+
/** Anything which can be rendered as dropdown item */
|
|
8
|
+
children?: React.ReactNode;
|
|
9
|
+
/** Classes applied to root element of dropdown item */
|
|
10
|
+
className?: string;
|
|
11
|
+
/** Class to be applied to list item */
|
|
12
|
+
listItemClassName?: string;
|
|
13
|
+
/**
|
|
14
|
+
* A ReactElement to render, or a string to use as the component tag.
|
|
15
|
+
* Example: component={<Link to="/components/alert/">Alert</Link>}
|
|
16
|
+
* Example: component="button"
|
|
17
|
+
* If React.isValidElement(component) the className prop will be injected unless styleChildren="false"
|
|
18
|
+
*/
|
|
19
|
+
component?: React.ReactNode;
|
|
20
|
+
/** ID for the component element */
|
|
21
|
+
componentID?: string;
|
|
22
|
+
/** Whether to set className on component when React.isValidElement(component) */
|
|
23
|
+
styleChildren?: boolean;
|
|
24
|
+
/** Render dropdown item as disabled option */
|
|
25
|
+
isDisabled?: boolean;
|
|
26
|
+
/** Render dropdown item as aria-disabled option */
|
|
27
|
+
isAriaDisabled?: boolean;
|
|
28
|
+
/** Render dropdown item as non-interactive item */
|
|
29
|
+
isPlainText?: boolean;
|
|
30
|
+
/** Default hyperlink location */
|
|
31
|
+
href?: string;
|
|
32
|
+
/** Tooltip to display when hovered over the item */
|
|
33
|
+
tooltip?: React.ReactNode;
|
|
34
|
+
/** Additional tooltip props forwarded to the Tooltip component */
|
|
35
|
+
tooltipProps?: any;
|
|
36
|
+
/** Additional node to include alongside item within the <li> */
|
|
37
|
+
additionalChild?: React.ReactNode;
|
|
38
|
+
/** Custom item rendering that receives the DropdownContext */
|
|
39
|
+
customChild?: React.ReactNode;
|
|
40
|
+
/** tabIndex to use, null to unset it */
|
|
41
|
+
tabIndex?: number | null;
|
|
42
|
+
/** An image to display within the DropdownItem, appearing before any component children */
|
|
43
|
+
icon?: React.ReactNode;
|
|
44
|
+
/** Initial focus on the item when the menu is opened (Note: Only applicable to one of the items) */
|
|
45
|
+
autoFocus?: boolean;
|
|
46
|
+
/** A short description of the dropdown item, displayed under the dropdown item content */
|
|
47
|
+
description?: React.ReactNode;
|
|
48
|
+
/** Value to overwrite the randomly generated data-ouia-component-id.*/
|
|
49
|
+
ouiaId?: number | string;
|
|
50
|
+
/** Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. */
|
|
51
|
+
ouiaSafe?: boolean;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export const DropdownItem: React.FunctionComponent<DropdownItemProps> = ({
|
|
55
|
+
children,
|
|
56
|
+
className,
|
|
57
|
+
component = 'a',
|
|
58
|
+
isDisabled = false,
|
|
59
|
+
isAriaDisabled = false,
|
|
60
|
+
isPlainText = false,
|
|
61
|
+
href,
|
|
62
|
+
tooltip,
|
|
63
|
+
tooltipProps = {},
|
|
64
|
+
listItemClassName,
|
|
65
|
+
onClick,
|
|
66
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
67
|
+
ref, // Types of Ref are different for React.FunctionComponent vs React.Component
|
|
68
|
+
additionalChild,
|
|
69
|
+
customChild,
|
|
70
|
+
tabIndex = -1,
|
|
71
|
+
icon = null,
|
|
72
|
+
autoFocus,
|
|
73
|
+
description = null,
|
|
74
|
+
styleChildren,
|
|
75
|
+
ouiaId,
|
|
76
|
+
ouiaSafe,
|
|
77
|
+
...props
|
|
78
|
+
}: DropdownItemProps) => {
|
|
79
|
+
const ouiaProps = useOUIAProps(DropdownItem.displayName, ouiaId, ouiaSafe);
|
|
80
|
+
return (
|
|
81
|
+
<DropdownArrowContext.Consumer>
|
|
82
|
+
{(context) => (
|
|
83
|
+
<InternalDropdownItem
|
|
84
|
+
context={context}
|
|
85
|
+
role="menuitem"
|
|
86
|
+
tabIndex={tabIndex}
|
|
87
|
+
className={className}
|
|
88
|
+
component={component}
|
|
89
|
+
isDisabled={isDisabled}
|
|
90
|
+
isAriaDisabled={isAriaDisabled}
|
|
91
|
+
isPlainText={isPlainText}
|
|
92
|
+
href={href}
|
|
93
|
+
tooltip={tooltip}
|
|
94
|
+
tooltipProps={tooltipProps}
|
|
95
|
+
listItemClassName={listItemClassName}
|
|
96
|
+
onClick={onClick}
|
|
97
|
+
additionalChild={additionalChild}
|
|
98
|
+
customChild={customChild}
|
|
99
|
+
icon={icon}
|
|
100
|
+
autoFocus={autoFocus}
|
|
101
|
+
styleChildren={styleChildren}
|
|
102
|
+
description={description}
|
|
103
|
+
{...ouiaProps}
|
|
104
|
+
{...props}
|
|
105
|
+
>
|
|
106
|
+
{children}
|
|
107
|
+
</InternalDropdownItem>
|
|
108
|
+
)}
|
|
109
|
+
</DropdownArrowContext.Consumer>
|
|
110
|
+
);
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
DropdownItem.displayName = 'DropdownItem';
|
|
@@ -2,7 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import * as ReactDOM from 'react-dom';
|
|
3
3
|
import styles from '@patternfly/react-styles/css/components/Dropdown/dropdown';
|
|
4
4
|
import { css } from '@patternfly/react-styles';
|
|
5
|
-
import { keyHandler, formatBreakpointMods } from '
|
|
5
|
+
import { keyHandler, formatBreakpointMods } from '../../../helpers/util';
|
|
6
6
|
import { DropdownPosition, DropdownArrowContext, DropdownContext } from './dropdownConstants';
|
|
7
7
|
|
|
8
8
|
export interface DropdownMenuProps {
|
|
@@ -62,7 +62,9 @@ export class DropdownMenu extends React.Component<DropdownMenuProps> {
|
|
|
62
62
|
|
|
63
63
|
if (autoFocus) {
|
|
64
64
|
// Focus first non-disabled element
|
|
65
|
-
const focusTargetCollection = this.refsCollection.find(
|
|
65
|
+
const focusTargetCollection = this.refsCollection.find(
|
|
66
|
+
(ref) => ref && ref[0] && !ref[0].hasAttribute('disabled')
|
|
67
|
+
);
|
|
66
68
|
const focusTarget = focusTargetCollection && focusTargetCollection[0];
|
|
67
69
|
if (focusTarget && focusTarget.focus) {
|
|
68
70
|
setTimeout(() => focusTarget.focus());
|
|
@@ -84,7 +86,7 @@ export class DropdownMenu extends React.Component<DropdownMenuProps> {
|
|
|
84
86
|
onKeyDown = (event: any) => {
|
|
85
87
|
if (
|
|
86
88
|
!this.props.isOpen ||
|
|
87
|
-
!Array.from(document.activeElement.classList).find(className =>
|
|
89
|
+
!Array.from(document.activeElement.classList).find((className) =>
|
|
88
90
|
DropdownMenu.validToggleClasses.concat(this.context.toggleClass).includes(className)
|
|
89
91
|
)
|
|
90
92
|
) {
|
|
@@ -92,7 +94,7 @@ export class DropdownMenu extends React.Component<DropdownMenuProps> {
|
|
|
92
94
|
}
|
|
93
95
|
const refs = this.refsCollection;
|
|
94
96
|
if (event.key === 'ArrowDown') {
|
|
95
|
-
const firstFocusTargetCollection = refs.find(ref => ref && ref[0] && !ref[0].hasAttribute('disabled'));
|
|
97
|
+
const firstFocusTargetCollection = refs.find((ref) => ref && ref[0] && !ref[0].hasAttribute('disabled'));
|
|
96
98
|
DropdownMenu.focusFirstRef(firstFocusTargetCollection);
|
|
97
99
|
event.stopPropagation();
|
|
98
100
|
} else if (event.key === 'ArrowUp') {
|
|
@@ -141,12 +143,12 @@ export class DropdownMenu extends React.Component<DropdownMenuProps> {
|
|
|
141
143
|
const { children, isGrouped } = this.props;
|
|
142
144
|
if (isGrouped) {
|
|
143
145
|
let index = 0;
|
|
144
|
-
return React.Children.map(children, groupedChildren => {
|
|
146
|
+
return React.Children.map(children, (groupedChildren) => {
|
|
145
147
|
const group = groupedChildren as React.ReactElement;
|
|
146
148
|
const props: { children?: React.ReactNode } = {};
|
|
147
149
|
if (group.props && group.props.children) {
|
|
148
150
|
if (Array.isArray(group.props.children)) {
|
|
149
|
-
props.children = React.Children.map(group.props.children, option =>
|
|
151
|
+
props.children = React.Children.map(group.props.children, (option) =>
|
|
150
152
|
React.cloneElement(option as React.ReactElement, {
|
|
151
153
|
index: index++
|
|
152
154
|
})
|
|
@@ -168,17 +170,8 @@ export class DropdownMenu extends React.Component<DropdownMenuProps> {
|
|
|
168
170
|
}
|
|
169
171
|
|
|
170
172
|
render() {
|
|
171
|
-
const {
|
|
172
|
-
|
|
173
|
-
isOpen,
|
|
174
|
-
position,
|
|
175
|
-
children,
|
|
176
|
-
component,
|
|
177
|
-
isGrouped,
|
|
178
|
-
setMenuComponentRef,
|
|
179
|
-
alignments,
|
|
180
|
-
...props
|
|
181
|
-
} = this.props;
|
|
173
|
+
const { className, isOpen, position, children, component, isGrouped, setMenuComponentRef, alignments, ...props } =
|
|
174
|
+
this.props;
|
|
182
175
|
return (
|
|
183
176
|
<DropdownArrowContext.Provider
|
|
184
177
|
value={{
|
|
@@ -197,7 +190,7 @@ export class DropdownMenu extends React.Component<DropdownMenuProps> {
|
|
|
197
190
|
className
|
|
198
191
|
)}
|
|
199
192
|
hidden={!isOpen}
|
|
200
|
-
onClick={event => onSelect && onSelect(event)}
|
|
193
|
+
onClick={(event) => onSelect && onSelect(event)}
|
|
201
194
|
ref={setMenuComponentRef}
|
|
202
195
|
>
|
|
203
196
|
{children}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { DropdownArrowContext } from './dropdownConstants';
|
|
3
3
|
import { InternalDropdownItem } from './InternalDropdownItem';
|
|
4
|
-
import { Divider, DividerVariant } from '
|
|
5
|
-
import { useOUIAProps, OUIAProps } from '
|
|
4
|
+
import { Divider, DividerVariant } from '../../../components/Divider';
|
|
5
|
+
import { useOUIAProps, OUIAProps } from '../../../helpers';
|
|
6
6
|
|
|
7
7
|
export interface SeparatorProps extends React.HTMLProps<HTMLAnchorElement>, OUIAProps {
|
|
8
8
|
/** Classes applied to root element of dropdown item */
|
|
@@ -26,7 +26,7 @@ export const DropdownSeparator: React.FunctionComponent<SeparatorProps> = ({
|
|
|
26
26
|
const ouiaProps = useOUIAProps(DropdownSeparator.displayName, ouiaId, ouiaSafe);
|
|
27
27
|
return (
|
|
28
28
|
<DropdownArrowContext.Consumer>
|
|
29
|
-
{context => (
|
|
29
|
+
{(context) => (
|
|
30
30
|
<InternalDropdownItem
|
|
31
31
|
{...props}
|
|
32
32
|
context={context}
|
|
@@ -4,7 +4,7 @@ import { Toggle } from './Toggle';
|
|
|
4
4
|
import styles from '@patternfly/react-styles/css/components/Dropdown/dropdown';
|
|
5
5
|
import { DropdownContext } from './dropdownConstants';
|
|
6
6
|
import { css } from '@patternfly/react-styles';
|
|
7
|
-
import { useOUIAProps, OUIAProps } from '
|
|
7
|
+
import { useOUIAProps, OUIAProps } from '../../../helpers';
|
|
8
8
|
|
|
9
9
|
export interface DropdownToggleProps extends React.HTMLProps<HTMLButtonElement>, OUIAProps {
|
|
10
10
|
/** HTML ID of dropdown toggle */
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import styles from '@patternfly/react-styles/css/components/Dropdown/dropdown';
|
|
3
3
|
import { css } from '@patternfly/react-styles';
|
|
4
|
-
import { PickOptional } from '
|
|
5
|
-
import { getOUIAProps, OUIAProps, getDefaultOUIAId } from '
|
|
6
|
-
import { Spinner } from '
|
|
4
|
+
import { PickOptional } from '../../../helpers/typeUtils';
|
|
5
|
+
import { getOUIAProps, OUIAProps, getDefaultOUIAId } from '../../../helpers';
|
|
6
|
+
import { Spinner } from '../../../components/Spinner';
|
|
7
7
|
|
|
8
8
|
export interface DropdownToggleCheckboxProps
|
|
9
9
|
extends Omit<React.HTMLProps<HTMLInputElement>, 'type' | 'onChange' | 'disabled' | 'checked'>,
|
|
@@ -4,9 +4,9 @@ import { css } from '@patternfly/react-styles';
|
|
|
4
4
|
import { DropdownMenu } from './DropdownMenu';
|
|
5
5
|
import { DropdownProps } from './Dropdown';
|
|
6
6
|
import { DropdownContext, DropdownDirection, DropdownPosition } from './dropdownConstants';
|
|
7
|
-
import { getOUIAProps, OUIAProps } from '
|
|
8
|
-
import { PickOptional } from '
|
|
9
|
-
import { Popper } from '
|
|
7
|
+
import { getOUIAProps, OUIAProps } from '../../../helpers';
|
|
8
|
+
import { PickOptional } from '../../../helpers/typeUtils';
|
|
9
|
+
import { Popper } from '../../../helpers/Popper/Popper';
|
|
10
10
|
|
|
11
11
|
export class DropdownWithContext extends React.Component<DropdownProps & OUIAProps> {
|
|
12
12
|
static displayName = 'DropdownWithContext';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { css } from '@patternfly/react-styles';
|
|
3
3
|
import { DropdownContext } from './dropdownConstants';
|
|
4
|
-
import { KEYHANDLER_DIRECTION } from '
|
|
5
|
-
import { preventedEvents } from '
|
|
6
|
-
import { Tooltip } from '
|
|
4
|
+
import { KEYHANDLER_DIRECTION } from '../../../helpers/constants';
|
|
5
|
+
import { preventedEvents } from '../../../helpers/util';
|
|
6
|
+
import { Tooltip } from '../../../components/Tooltip';
|
|
7
7
|
import styles from '@patternfly/react-styles/css/components/Dropdown/dropdown';
|
|
8
8
|
|
|
9
9
|
export interface InternalDropdownItemProps extends React.HTMLProps<HTMLAnchorElement> {
|
|
@@ -2,8 +2,8 @@ import * as React from 'react';
|
|
|
2
2
|
import styles from '@patternfly/react-styles/css/components/Dropdown/dropdown';
|
|
3
3
|
import { DropdownContext } from './dropdownConstants';
|
|
4
4
|
import { css } from '@patternfly/react-styles';
|
|
5
|
-
import { KeyTypes } from '
|
|
6
|
-
import { PickOptional } from '
|
|
5
|
+
import { KeyTypes } from '../../../helpers/constants';
|
|
6
|
+
import { PickOptional } from '../../../helpers/typeUtils';
|
|
7
7
|
|
|
8
8
|
export interface ToggleProps {
|
|
9
9
|
/** HTML ID of dropdown toggle */
|
|
@@ -166,10 +166,10 @@ export class Toggle extends React.Component<ToggleProps> {
|
|
|
166
166
|
className
|
|
167
167
|
)}
|
|
168
168
|
type={type || 'button'}
|
|
169
|
-
onClick={event => onToggle?.(event, !isOpen)}
|
|
169
|
+
onClick={(event) => onToggle?.(event, !isOpen)}
|
|
170
170
|
aria-expanded={isOpen}
|
|
171
171
|
aria-haspopup={ariaHasPopup}
|
|
172
|
-
onKeyDown={event => this.onKeyDown(event)}
|
|
172
|
+
onKeyDown={(event) => this.onKeyDown(event)}
|
|
173
173
|
disabled={isDisabled}
|
|
174
174
|
>
|
|
175
175
|
{children}
|