@patternfly/react-core 6.1.0-prerelease.1 → 6.1.0-prerelease.11
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 +62 -0
- package/components/package.json +1 -1
- package/deprecated/package.json +1 -1
- package/dist/dynamic/components/AboutModal/package.json +1 -1
- package/dist/dynamic/components/Accordion/package.json +1 -1
- package/dist/dynamic/components/ActionList/package.json +1 -1
- package/dist/dynamic/components/Alert/package.json +1 -1
- package/dist/dynamic/components/Avatar/package.json +1 -1
- package/dist/dynamic/components/BackToTop/package.json +1 -1
- package/dist/dynamic/components/Backdrop/package.json +1 -1
- package/dist/dynamic/components/BackgroundImage/package.json +1 -1
- package/dist/dynamic/components/Badge/package.json +1 -1
- package/dist/dynamic/components/Banner/package.json +1 -1
- package/dist/dynamic/components/Brand/package.json +1 -1
- package/dist/dynamic/components/Breadcrumb/package.json +1 -1
- package/dist/dynamic/components/Button/package.json +1 -1
- package/dist/dynamic/components/CalendarMonth/package.json +1 -1
- package/dist/dynamic/components/Card/package.json +1 -1
- package/dist/dynamic/components/Checkbox/package.json +1 -1
- package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
- package/dist/dynamic/components/CodeBlock/package.json +1 -1
- package/dist/dynamic/components/Content/package.json +1 -1
- package/dist/dynamic/components/DataList/package.json +1 -1
- package/dist/dynamic/components/DatePicker/package.json +1 -1
- package/dist/dynamic/components/DescriptionList/package.json +1 -1
- package/dist/dynamic/components/Divider/package.json +1 -1
- package/dist/dynamic/components/Drawer/package.json +1 -1
- package/dist/dynamic/components/Dropdown/package.json +1 -1
- package/dist/dynamic/components/DualListSelector/package.json +1 -1
- package/dist/dynamic/components/EmptyState/package.json +1 -1
- package/dist/dynamic/components/ExpandableSection/package.json +1 -1
- package/dist/dynamic/components/FileUpload/package.json +1 -1
- package/dist/dynamic/components/Form/package.json +1 -1
- package/dist/dynamic/components/FormSelect/package.json +1 -1
- package/dist/dynamic/components/HelperText/package.json +1 -1
- package/dist/dynamic/components/Hint/package.json +1 -1
- package/dist/dynamic/components/Icon/package.json +1 -1
- package/dist/dynamic/components/InputGroup/package.json +1 -1
- package/dist/dynamic/components/JumpLinks/package.json +1 -1
- package/dist/dynamic/components/Label/package.json +1 -1
- package/dist/dynamic/components/List/package.json +1 -1
- package/dist/dynamic/components/LoginPage/package.json +1 -1
- package/dist/dynamic/components/Masthead/package.json +1 -1
- package/dist/dynamic/components/Menu/package.json +1 -1
- package/dist/dynamic/components/MenuToggle/package.json +1 -1
- package/dist/dynamic/components/Modal/package.json +1 -1
- package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
- package/dist/dynamic/components/Nav/package.json +1 -1
- package/dist/dynamic/components/NotificationBadge/package.json +1 -1
- package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
- package/dist/dynamic/components/NumberInput/package.json +1 -1
- package/dist/dynamic/components/OverflowMenu/package.json +1 -1
- package/dist/dynamic/components/Page/package.json +1 -1
- package/dist/dynamic/components/Pagination/package.json +1 -1
- package/dist/dynamic/components/Panel/package.json +1 -1
- package/dist/dynamic/components/Popover/package.json +1 -1
- package/dist/dynamic/components/Progress/package.json +1 -1
- package/dist/dynamic/components/ProgressStepper/package.json +1 -1
- package/dist/dynamic/components/Radio/package.json +1 -1
- package/dist/dynamic/components/SearchInput/package.json +1 -1
- package/dist/dynamic/components/Select/package.json +1 -1
- package/dist/dynamic/components/Sidebar/package.json +1 -1
- package/dist/dynamic/components/SimpleList/package.json +1 -1
- package/dist/dynamic/components/Skeleton/package.json +1 -1
- package/dist/dynamic/components/SkipToContent/package.json +1 -1
- package/dist/dynamic/components/Slider/package.json +1 -1
- package/dist/dynamic/components/Spinner/package.json +1 -1
- package/dist/dynamic/components/Switch/package.json +1 -1
- package/dist/dynamic/components/Tabs/package.json +1 -1
- package/dist/dynamic/components/TextArea/package.json +1 -1
- package/dist/dynamic/components/TextInput/package.json +1 -1
- package/dist/dynamic/components/TextInputGroup/package.json +1 -1
- package/dist/dynamic/components/TimePicker/package.json +1 -1
- package/dist/dynamic/components/Timestamp/package.json +1 -1
- package/dist/dynamic/components/Title/package.json +1 -1
- package/dist/dynamic/components/ToggleGroup/package.json +1 -1
- package/dist/dynamic/components/Toolbar/package.json +1 -1
- package/dist/dynamic/components/Tooltip/package.json +1 -1
- package/dist/dynamic/components/TreeView/package.json +1 -1
- package/dist/dynamic/components/Truncate/package.json +1 -1
- package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
- package/dist/dynamic/components/Wizard/package.json +1 -1
- package/dist/dynamic/deprecated/components/Chip/package.json +1 -1
- package/dist/dynamic/deprecated/components/DragDrop/package.json +1 -1
- package/dist/dynamic/deprecated/components/DualListSelector/package.json +1 -1
- package/dist/dynamic/deprecated/components/Modal/package.json +1 -1
- package/dist/dynamic/deprecated/components/Tile/package.json +1 -1
- package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
- package/dist/dynamic/deprecated/components/package.json +1 -1
- package/dist/dynamic/helpers/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 +1 -0
- package/dist/esm/components/Dropdown/Dropdown.d.ts +2 -0
- package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.js +12 -3
- package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/components/Menu/MenuContainer.d.ts +2 -0
- package/dist/esm/components/Menu/MenuContainer.d.ts.map +1 -1
- package/dist/esm/components/Menu/MenuContainer.js +21 -4
- package/dist/esm/components/Menu/MenuContainer.js.map +1 -1
- package/dist/esm/components/MenuToggle/MenuToggleCheckbox.d.ts +1 -1
- package/dist/esm/components/MenuToggle/MenuToggleCheckbox.d.ts.map +1 -1
- package/dist/esm/components/Modal/Modal.d.ts +2 -2
- package/dist/esm/components/Modal/Modal.d.ts.map +1 -1
- package/dist/esm/components/Modal/Modal.js +13 -20
- package/dist/esm/components/Modal/Modal.js.map +1 -1
- package/dist/esm/components/Modal/ModalContent.d.ts +2 -0
- package/dist/esm/components/Modal/ModalContent.d.ts.map +1 -1
- package/dist/esm/components/Modal/ModalContent.js +2 -2
- package/dist/esm/components/Modal/ModalContent.js.map +1 -1
- package/dist/esm/components/Select/Select.d.ts +4 -0
- package/dist/esm/components/Select/Select.d.ts.map +1 -1
- package/dist/esm/components/Select/Select.js +12 -3
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/esm/components/Toolbar/ToolbarFilter.d.ts.map +1 -1
- package/dist/esm/components/Toolbar/ToolbarFilter.js +4 -2
- package/dist/esm/components/Toolbar/ToolbarFilter.js.map +1 -1
- package/dist/esm/demos/DashboardHeader.d.ts.map +1 -1
- package/dist/esm/demos/DashboardHeader.js +2 -4
- package/dist/esm/demos/DashboardHeader.js.map +1 -1
- package/dist/esm/deprecated/components/Modal/Modal.d.ts +2 -2
- package/dist/esm/deprecated/components/Modal/Modal.d.ts.map +1 -1
- package/dist/esm/deprecated/components/Modal/Modal.js +13 -20
- package/dist/esm/deprecated/components/Modal/Modal.js.map +1 -1
- package/dist/esm/deprecated/components/Modal/ModalContent.d.ts +2 -0
- package/dist/esm/deprecated/components/Modal/ModalContent.d.ts.map +1 -1
- package/dist/esm/deprecated/components/Modal/ModalContent.js +2 -2
- package/dist/esm/deprecated/components/Modal/ModalContent.js.map +1 -1
- package/dist/esm/helpers/KeyboardHandler.d.ts +7 -0
- package/dist/esm/helpers/KeyboardHandler.d.ts.map +1 -1
- package/dist/esm/helpers/KeyboardHandler.js +25 -0
- package/dist/esm/helpers/KeyboardHandler.js.map +1 -1
- package/dist/esm/layouts/Split/Split.d.ts +4 -4
- package/dist/esm/layouts/Split/Split.d.ts.map +1 -1
- package/dist/esm/layouts/Split/SplitItem.d.ts +5 -3
- package/dist/esm/layouts/Split/SplitItem.d.ts.map +1 -1
- package/dist/esm/layouts/Split/SplitItem.js +3 -2
- package/dist/esm/layouts/Split/SplitItem.js.map +1 -1
- package/dist/esm/layouts/Stack/Stack.d.ts +3 -3
- package/dist/esm/layouts/Stack/Stack.d.ts.map +1 -1
- package/dist/esm/layouts/Stack/StackItem.d.ts +5 -3
- package/dist/esm/layouts/Stack/StackItem.d.ts.map +1 -1
- package/dist/esm/layouts/Stack/StackItem.js +3 -2
- package/dist/esm/layouts/Stack/StackItem.js.map +1 -1
- package/dist/js/components/Dropdown/Dropdown.d.ts +2 -0
- package/dist/js/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/js/components/Dropdown/Dropdown.js +11 -2
- package/dist/js/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/js/components/Menu/MenuContainer.d.ts +2 -0
- package/dist/js/components/Menu/MenuContainer.d.ts.map +1 -1
- package/dist/js/components/Menu/MenuContainer.js +22 -5
- package/dist/js/components/Menu/MenuContainer.js.map +1 -1
- package/dist/js/components/MenuToggle/MenuToggleCheckbox.d.ts +1 -1
- package/dist/js/components/MenuToggle/MenuToggleCheckbox.d.ts.map +1 -1
- package/dist/js/components/Modal/Modal.d.ts +2 -2
- package/dist/js/components/Modal/Modal.d.ts.map +1 -1
- package/dist/js/components/Modal/Modal.js +13 -20
- package/dist/js/components/Modal/Modal.js.map +1 -1
- package/dist/js/components/Modal/ModalContent.d.ts +2 -0
- package/dist/js/components/Modal/ModalContent.d.ts.map +1 -1
- package/dist/js/components/Modal/ModalContent.js +2 -2
- package/dist/js/components/Modal/ModalContent.js.map +1 -1
- package/dist/js/components/Select/Select.d.ts +4 -0
- package/dist/js/components/Select/Select.d.ts.map +1 -1
- package/dist/js/components/Select/Select.js +11 -2
- package/dist/js/components/Select/Select.js.map +1 -1
- package/dist/js/components/Toolbar/ToolbarFilter.d.ts.map +1 -1
- package/dist/js/components/Toolbar/ToolbarFilter.js +4 -2
- package/dist/js/components/Toolbar/ToolbarFilter.js.map +1 -1
- package/dist/js/demos/DashboardHeader.d.ts.map +1 -1
- package/dist/js/demos/DashboardHeader.js +2 -4
- package/dist/js/demos/DashboardHeader.js.map +1 -1
- package/dist/js/deprecated/components/Modal/Modal.d.ts +2 -2
- package/dist/js/deprecated/components/Modal/Modal.d.ts.map +1 -1
- package/dist/js/deprecated/components/Modal/Modal.js +13 -20
- package/dist/js/deprecated/components/Modal/Modal.js.map +1 -1
- package/dist/js/deprecated/components/Modal/ModalContent.d.ts +2 -0
- package/dist/js/deprecated/components/Modal/ModalContent.d.ts.map +1 -1
- package/dist/js/deprecated/components/Modal/ModalContent.js +2 -2
- package/dist/js/deprecated/components/Modal/ModalContent.js.map +1 -1
- package/dist/js/helpers/KeyboardHandler.d.ts +7 -0
- package/dist/js/helpers/KeyboardHandler.d.ts.map +1 -1
- package/dist/js/helpers/KeyboardHandler.js +27 -1
- package/dist/js/helpers/KeyboardHandler.js.map +1 -1
- package/dist/js/layouts/Split/Split.d.ts +4 -4
- package/dist/js/layouts/Split/Split.d.ts.map +1 -1
- package/dist/js/layouts/Split/SplitItem.d.ts +5 -3
- package/dist/js/layouts/Split/SplitItem.d.ts.map +1 -1
- package/dist/js/layouts/Split/SplitItem.js +3 -2
- package/dist/js/layouts/Split/SplitItem.js.map +1 -1
- package/dist/js/layouts/Stack/Stack.d.ts +3 -3
- package/dist/js/layouts/Stack/Stack.d.ts.map +1 -1
- package/dist/js/layouts/Stack/StackItem.d.ts +5 -3
- package/dist/js/layouts/Stack/StackItem.d.ts.map +1 -1
- package/dist/js/layouts/Stack/StackItem.js +3 -2
- package/dist/js/layouts/Stack/StackItem.js.map +1 -1
- package/dist/umd/assets/{output-cDK0-HHp.css → output-DNYFuxAf.css} +19680 -19642
- package/dist/umd/react-core.min.js +4 -4
- package/helpers/package.json +1 -1
- package/layouts/package.json +1 -1
- package/next/package.json +1 -1
- package/package.json +9 -9
- package/src/components/ActionList/examples/ActionListSingleGroup.tsx +2 -3
- package/src/components/Card/examples/CardExpandable.tsx +2 -3
- package/src/components/Card/examples/CardExpandableWithIcon.tsx +2 -3
- package/src/components/Card/examples/CardHeaderInCardHead.tsx +2 -3
- package/src/components/Card/examples/CardOnlyActionsInCardHead.tsx +2 -3
- package/src/components/Card/examples/CardWithImageAndActions.tsx +2 -3
- package/src/components/Checkbox/examples/CheckboxReversed.tsx +1 -1
- package/src/components/DataList/examples/DataList.md +16 -4
- package/src/components/DataList/examples/DataListActions.tsx +2 -3
- package/src/components/DataList/examples/DataListCheckboxes.tsx +6 -9
- package/src/components/DataList/examples/DataListClickableRows.tsx +4 -6
- package/src/components/DataList/examples/DataListExpandable.tsx +6 -9
- package/src/components/DataList/examples/DataListMixedExpandable.tsx +6 -9
- package/src/components/DataList/examples/DataListWidthModifiers.tsx +4 -6
- package/src/components/Dropdown/Dropdown.tsx +13 -1
- package/src/components/Dropdown/examples/DropdownWithKebabToggle.tsx +2 -3
- package/src/components/DualListSelector/examples/DualListSelector.md +16 -14
- package/src/components/DualListSelector/examples/DualListSelectorComplexOptionsActions.tsx +4 -6
- package/src/components/FileUpload/__tests__/__snapshots__/FileUpload.test.tsx.snap +1 -1
- package/src/components/Hint/examples/HintBasicWithTitle.tsx +2 -3
- package/src/components/Hint/examples/HintBasicWithoutTitle.tsx +2 -3
- package/src/components/Label/examples/LabelGroupEditableAddModal.tsx +2 -2
- package/src/components/Menu/MenuContainer.tsx +24 -3
- package/src/components/MenuToggle/MenuToggleCheckbox.tsx +1 -1
- package/src/components/MenuToggle/examples/MenuToggle.md +4 -16
- package/src/components/Modal/Modal.tsx +13 -18
- package/src/components/Modal/ModalContent.tsx +4 -1
- package/src/components/Modal/__tests__/Modal.test.tsx +45 -0
- package/src/components/MultipleFileUpload/__tests__/__snapshots__/MultipleFileUpload.test.tsx.snap +3 -3
- package/src/components/OverflowMenu/examples/OverflowMenuBreakpointOnContainer.tsx +2 -3
- package/src/components/OverflowMenu/examples/OverflowMenuGroupTypes.tsx +2 -3
- package/src/components/OverflowMenu/examples/OverflowMenuMultiGroup.tsx +2 -3
- package/src/components/OverflowMenu/examples/OverflowMenuPersistent.tsx +2 -3
- package/src/components/OverflowMenu/examples/OverflowMenuSimple.tsx +2 -3
- package/src/components/Select/Select.tsx +16 -1
- package/src/components/Select/examples/SelectMultiTypeahead.tsx +1 -1
- package/src/components/Select/examples/SelectMultiTypeaheadCheckbox.tsx +1 -1
- package/src/components/Select/examples/SelectMultiTypeaheadCreatable.tsx +1 -1
- package/src/components/Select/examples/SelectTypeahead.tsx +1 -1
- package/src/components/Select/examples/SelectTypeaheadCreatable.tsx +1 -1
- package/src/components/Toolbar/ToolbarFilter.tsx +2 -1
- package/src/components/Toolbar/examples/ToolbarStacked.tsx +2 -3
- package/src/components/Toolbar/examples/ToolbarWithFilters.tsx +2 -3
- package/src/components/TreeView/examples/TreeViewWithActionItems.tsx +2 -3
- package/src/demos/CardView/examples/CardView.tsx +4 -6
- package/src/demos/CustomMenus/examples/ApplicationLauncherDemo.tsx +2 -3
- package/src/demos/DashboardHeader.tsx +4 -6
- package/src/demos/DataList/examples/DataListBasic.tsx +1 -3
- package/src/demos/DataList/examples/DataListExpandableControlInToolbar.tsx +7 -10
- package/src/demos/NotificationDrawer/examples/NotificationDrawerBasic.tsx +12 -18
- package/src/demos/NotificationDrawer/examples/NotificationDrawerGrouped.tsx +20 -30
- package/src/demos/RTL/examples/PaginatedTable.jsx +4 -6
- package/src/demos/RTL/examples/PaginatedTable.tsx +4 -6
- package/src/demos/examples/AlertGroup/AlertGroupToastWithNotificationDrawer.tsx +4 -6
- package/src/demos/examples/Card/CardHorizontalGrid.tsx +2 -3
- package/src/demos/examples/Masthead/MastheadWithHorizontalNav.tsx +4 -6
- package/src/demos/examples/Masthead/MastheadWithUtilitiesAndUserDropdownMenu.tsx +6 -9
- package/src/demos/examples/Nav/NavFlyout.tsx +4 -6
- package/src/demos/examples/Nav/NavHorizontal.tsx +4 -6
- package/src/demos/examples/Nav/NavHorizontalWithSubnav.tsx +4 -6
- package/src/demos/examples/Nav/NavManual.tsx +4 -6
- package/src/demos/examples/Page/PageContextSelector.tsx +4 -6
- package/src/demos/examples/Page/PageStickySectionBreadcrumb.tsx +4 -6
- package/src/demos/examples/Page/PageStickySectionGroup.tsx +4 -6
- package/src/demos/examples/Page/PageStickySectionGroupAlternate.tsx +4 -6
- package/src/demos/examples/PrimaryDetail/PrimaryDetailCardView.tsx +4 -6
- package/src/demos/examples/Tabs/TabsAndTable.tsx +2 -3
- package/src/deprecated/components/Modal/Modal.tsx +13 -18
- package/src/deprecated/components/Modal/ModalContent.tsx +4 -1
- package/src/deprecated/components/Modal/__tests__/Modal.test.tsx +28 -0
- package/src/helpers/KeyboardHandler.tsx +27 -0
- package/src/layouts/Split/Split.tsx +4 -4
- package/src/layouts/Split/SplitItem.tsx +14 -8
- package/src/layouts/Split/__tests__/Split.test.tsx +18 -0
- package/src/layouts/Split/__tests__/__snapshots__/Split.test.tsx.snap +28 -0
- package/src/layouts/Stack/Stack.tsx +3 -3
- package/src/layouts/Stack/StackItem.tsx +14 -8
- package/src/layouts/Stack/__tests__/Stack.test.tsx +20 -2
- package/src/layouts/Stack/__tests__/__snapshots__/Stack.test.tsx.snap +30 -2
package/helpers/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"6.1.0-prerelease.
|
|
1
|
+
{"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"6.1.0-prerelease.10","private":true}
|
package/layouts/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-core-layouts","main":"../dist/js/layouts/index.js","module":"../dist/esm/layouts/index.js","typings":"../dist/esm/layouts/index.d.ts","version":"6.1.0-prerelease.
|
|
1
|
+
{"name":"@patternfly/react-core-layouts","main":"../dist/js/layouts/index.js","module":"../dist/esm/layouts/index.js","typings":"../dist/esm/layouts/index.d.ts","version":"6.1.0-prerelease.10","private":true}
|
package/next/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-core-next","main":"../dist/js/next/index.js","module":"../dist/esm/next/index.js","typings":"../dist/esm/next/index.d.ts","version":"6.1.0-prerelease.
|
|
1
|
+
{"name":"@patternfly/react-core-next","main":"../dist/js/next/index.js","module":"../dist/esm/next/index.js","typings":"../dist/esm/next/index.d.ts","version":"6.1.0-prerelease.10","private":true}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@patternfly/react-core",
|
|
3
|
-
"version": "6.1.0-prerelease.
|
|
3
|
+
"version": "6.1.0-prerelease.11",
|
|
4
4
|
"description": "This library provides a set of common React components for use with the PatternFly reference implementation.",
|
|
5
5
|
"main": "dist/js/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -46,15 +46,15 @@
|
|
|
46
46
|
"subpaths": "node ../../scripts/exportSubpaths.mjs --config subpaths.config.json"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@patternfly/react-icons": "^6.1.0-prerelease.
|
|
50
|
-
"@patternfly/react-styles": "^6.1.0-prerelease.
|
|
51
|
-
"@patternfly/react-tokens": "^6.1.0-prerelease.
|
|
52
|
-
"focus-trap": "7.6.
|
|
53
|
-
"react-dropzone": "^14.
|
|
54
|
-
"tslib": "^2.
|
|
49
|
+
"@patternfly/react-icons": "^6.1.0-prerelease.5",
|
|
50
|
+
"@patternfly/react-styles": "^6.1.0-prerelease.4",
|
|
51
|
+
"@patternfly/react-tokens": "^6.1.0-prerelease.4",
|
|
52
|
+
"focus-trap": "7.6.2",
|
|
53
|
+
"react-dropzone": "^14.3.5",
|
|
54
|
+
"tslib": "^2.8.1"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
|
-
"@patternfly/patternfly": "6.0.
|
|
57
|
+
"@patternfly/patternfly": "6.1.0-prerelease.6",
|
|
58
58
|
"case-anything": "^2.1.13",
|
|
59
59
|
"css": "^3.0.0",
|
|
60
60
|
"fs-extra": "^11.2.0"
|
|
@@ -63,5 +63,5 @@
|
|
|
63
63
|
"react": "^17 || ^18",
|
|
64
64
|
"react-dom": "^17 || ^18"
|
|
65
65
|
},
|
|
66
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "b0877b3cf7898cd134c56ba91ba251a8f4301225"
|
|
67
67
|
}
|
|
@@ -84,9 +84,8 @@ export const ActionListSingleGroup: React.FunctionComponent = () => {
|
|
|
84
84
|
variant="plain"
|
|
85
85
|
isExpanded={isOpen}
|
|
86
86
|
aria-label="Action list single group kebab"
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
</MenuToggle>
|
|
87
|
+
icon={<EllipsisVIcon />}
|
|
88
|
+
/>
|
|
90
89
|
)}
|
|
91
90
|
isOpen={isOpen}
|
|
92
91
|
onOpenChange={(isOpen: boolean) => setIsOpen(isOpen)}
|
|
@@ -71,9 +71,8 @@ export const CardExpandable: React.FunctionComponent = () => {
|
|
|
71
71
|
onClick={() => setIsOpen(!isOpen)}
|
|
72
72
|
variant="plain"
|
|
73
73
|
aria-label="Card expandable example kebab toggle"
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
</MenuToggle>
|
|
74
|
+
icon={<EllipsisVIcon aria-hidden="true" />}
|
|
75
|
+
/>
|
|
77
76
|
)}
|
|
78
77
|
isOpen={isOpen}
|
|
79
78
|
onOpenChange={(isOpen: boolean) => setIsOpen(isOpen)}
|
|
@@ -67,9 +67,8 @@ export const CardExpandableWithIcon: React.FunctionComponent = () => {
|
|
|
67
67
|
onClick={() => setIsOpen(!isOpen)}
|
|
68
68
|
variant="plain"
|
|
69
69
|
aria-label="Card expandable with icon example kebab toggle"
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
</MenuToggle>
|
|
70
|
+
icon={<EllipsisVIcon aria-hidden="true" />}
|
|
71
|
+
/>
|
|
73
72
|
)}
|
|
74
73
|
isOpen={isOpen}
|
|
75
74
|
onOpenChange={(isOpen: boolean) => setIsOpen(isOpen)}
|
|
@@ -58,9 +58,8 @@ export const CardTitleInHeader: React.FunctionComponent = () => {
|
|
|
58
58
|
onClick={() => setIsOpen(!isOpen)}
|
|
59
59
|
variant="plain"
|
|
60
60
|
aria-label="Card title inline with images and actions example kebab toggle"
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
</MenuToggle>
|
|
61
|
+
icon={<EllipsisVIcon aria-hidden="true" />}
|
|
62
|
+
/>
|
|
64
63
|
)}
|
|
65
64
|
isOpen={isOpen}
|
|
66
65
|
onOpenChange={(isOpen: boolean) => setIsOpen(isOpen)}
|
|
@@ -56,9 +56,8 @@ export const CardOnlyActionsInCardHead: React.FunctionComponent = () => {
|
|
|
56
56
|
onClick={() => setIsOpen(!isOpen)}
|
|
57
57
|
variant="plain"
|
|
58
58
|
aria-label="Card header without title example kebab toggle"
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
</MenuToggle>
|
|
59
|
+
icon={<EllipsisVIcon aria-hidden="true" />}
|
|
60
|
+
/>
|
|
62
61
|
)}
|
|
63
62
|
isOpen={isOpen}
|
|
64
63
|
onOpenChange={(isOpen: boolean) => setIsOpen(isOpen)}
|
|
@@ -64,9 +64,8 @@ export const CardWithImageAndActions: React.FunctionComponent = () => {
|
|
|
64
64
|
onClick={() => setIsOpen(!isOpen)}
|
|
65
65
|
variant="plain"
|
|
66
66
|
aria-label="Card header images and actions example kebab toggle"
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
</MenuToggle>
|
|
67
|
+
icon={<EllipsisVIcon aria-hidden="true" />}
|
|
68
|
+
/>
|
|
70
69
|
)}
|
|
71
70
|
isOpen={isOpen}
|
|
72
71
|
onOpenChange={(isOpen: boolean) => setIsOpen(isOpen)}
|
|
@@ -2,5 +2,5 @@ import React from 'react';
|
|
|
2
2
|
import { Checkbox } from '@patternfly/react-core';
|
|
3
3
|
|
|
4
4
|
export const CheckboxReversed: React.FunctionComponent = () => (
|
|
5
|
-
<Checkbox
|
|
5
|
+
<Checkbox labelPosition="start" label="Reversed checkbox example" id="checkbox-reversed" name="checkbox-reversed" />
|
|
6
6
|
);
|
|
@@ -23,7 +23,7 @@ import AngleDownIcon from '@patternfly/react-icons/dist/esm/icons/angle-down-ico
|
|
|
23
23
|
import AngleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-right-icon';
|
|
24
24
|
import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
|
|
25
25
|
import { css } from '@patternfly/react-styles';
|
|
26
|
-
import {
|
|
26
|
+
import { DragDropSort, DragDropContainer, Droppable as NewDroppable } from '@patternfly/react-drag-drop';
|
|
27
27
|
|
|
28
28
|
## Examples
|
|
29
29
|
|
|
@@ -83,11 +83,23 @@ import { DragDrop, Draggable, Droppable } from '@patternfly/react-core/deprecate
|
|
|
83
83
|
|
|
84
84
|
### Draggable
|
|
85
85
|
|
|
86
|
-
|
|
86
|
+
To enable drag and drop, wrap the `<DataList>` component with `<DragDropSort>`, define the `variant` property as "DataList", and pass both the sortable items and `onDrop` callback to `<DragDropSort>`. `<DragDropSort>` will create the component's usual children internally based on the items property, so children should not be passed to the wrapped component.
|
|
87
87
|
|
|
88
|
-
|
|
88
|
+
Full drag and drop details can be found on the [drag and drop](/components/drag-and-drop) component page.
|
|
89
89
|
|
|
90
|
-
```ts
|
|
90
|
+
```ts file="../../../../../react-drag-drop/src/components/DragDrop/examples/DataListDraggable.tsx"
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Draggable with multiple drop zones
|
|
95
|
+
|
|
96
|
+
To enable multiple drop zones, and create the desired amount of `<Droppable>` components within a `<DragDropContainer>`.
|
|
97
|
+
|
|
98
|
+
Each `<Droppable>` should define the `wrapper` property as the component that acts as the drop zone, `<DataList>`, and the `items` property of their respective draggable items as an array of `<DraggableObject>` data. `<DragDropContainer>` should be passed the `onDrop`, `onContainerMove`, and `onCancel` callbacks to handle items being dropped, items moving between droppable containers, and what happens if the drag is cancelled respectively. `<DragDropContainer>` should also be given a `Record` representing all sortable drop zones' items. Both components should define the `variant` property as "DataList".
|
|
99
|
+
|
|
100
|
+
Full drag and drop details can be found on the [drag and drop](/components/drag-and-drop) component page.
|
|
101
|
+
|
|
102
|
+
```ts file="../../../../../react-drag-drop/src/components/DragDrop/examples/DragDropContainerDataList.tsx"
|
|
91
103
|
|
|
92
104
|
```
|
|
93
105
|
|
|
@@ -86,9 +86,8 @@ export const DataListActions: React.FunctionComponent = () => {
|
|
|
86
86
|
onClick={onToggle}
|
|
87
87
|
variant="plain"
|
|
88
88
|
aria-label="Data list with actions example kebab toggle"
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
</MenuToggle>
|
|
89
|
+
icon={<EllipsisVIcon aria-hidden="true" />}
|
|
90
|
+
/>
|
|
92
91
|
)}
|
|
93
92
|
isOpen={isOpen}
|
|
94
93
|
onOpenChange={(isOpen: boolean) => setIsOpen(isOpen)}
|
|
@@ -84,9 +84,8 @@ export const DataListCheckboxes: React.FunctionComponent = () => {
|
|
|
84
84
|
onClick={onToggle1}
|
|
85
85
|
variant="plain"
|
|
86
86
|
aria-label="Data list with checkboxes, actions and additional cells example kebab toggle 1"
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
</MenuToggle>
|
|
87
|
+
icon={<EllipsisVIcon aria-hidden="true" />}
|
|
88
|
+
/>
|
|
90
89
|
)}
|
|
91
90
|
isOpen={isOpen1}
|
|
92
91
|
onOpenChange={(isOpen: boolean) => setIsOpen1(isOpen)}
|
|
@@ -139,9 +138,8 @@ export const DataListCheckboxes: React.FunctionComponent = () => {
|
|
|
139
138
|
onClick={onToggle2}
|
|
140
139
|
variant="plain"
|
|
141
140
|
aria-label="Data list with checkboxes, actions and additional cells example kebab toggle 2"
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
</MenuToggle>
|
|
141
|
+
icon={<EllipsisVIcon aria-hidden="true" />}
|
|
142
|
+
/>
|
|
145
143
|
)}
|
|
146
144
|
isOpen={isOpen2}
|
|
147
145
|
onOpenChange={(isOpen: boolean) => setIsOpen2(isOpen)}
|
|
@@ -203,9 +201,8 @@ export const DataListCheckboxes: React.FunctionComponent = () => {
|
|
|
203
201
|
onClick={onToggle3}
|
|
204
202
|
variant="plain"
|
|
205
203
|
aria-label="Data list with checkboxes, actions and additional cells example kebab toggle 3"
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
</MenuToggle>
|
|
204
|
+
icon={<EllipsisVIcon aria-hidden="true" />}
|
|
205
|
+
/>
|
|
209
206
|
)}
|
|
210
207
|
isOpen={isOpen3}
|
|
211
208
|
onOpenChange={(isOpen: boolean) => setIsOpen3(isOpen)}
|
|
@@ -76,9 +76,8 @@ export const DataListClickableRows: React.FunctionComponent = () => {
|
|
|
76
76
|
onClick={onToggle1}
|
|
77
77
|
variant="plain"
|
|
78
78
|
aria-label="Data list clickable rows example kebab toggle 1"
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
</MenuToggle>
|
|
79
|
+
icon={<EllipsisVIcon aria-hidden="true" />}
|
|
80
|
+
/>
|
|
82
81
|
)}
|
|
83
82
|
isOpen={isOpen1}
|
|
84
83
|
onOpenChange={(isOpen: boolean) => setIsOpen1(isOpen)}
|
|
@@ -126,9 +125,8 @@ export const DataListClickableRows: React.FunctionComponent = () => {
|
|
|
126
125
|
onClick={onToggle2}
|
|
127
126
|
variant="plain"
|
|
128
127
|
aria-label="Data list clickable rows example kebab toggle 2"
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
</MenuToggle>
|
|
128
|
+
icon={<EllipsisVIcon aria-hidden="true" />}
|
|
129
|
+
/>
|
|
132
130
|
)}
|
|
133
131
|
isOpen={isOpen2}
|
|
134
132
|
onOpenChange={(isOpen: boolean) => setIsOpen2(isOpen)}
|
|
@@ -92,9 +92,8 @@ export const DataListExpandable: React.FunctionComponent = () => {
|
|
|
92
92
|
onClick={onToggle1}
|
|
93
93
|
variant="plain"
|
|
94
94
|
aria-label="Data list exapndable example kebaby toggle 1"
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
</MenuToggle>
|
|
95
|
+
icon={<EllipsisVIcon aria-hidden="true" />}
|
|
96
|
+
/>
|
|
98
97
|
)}
|
|
99
98
|
isOpen={isOpen1}
|
|
100
99
|
onOpenChange={(isOpen: boolean) => setIsOpen1(isOpen)}
|
|
@@ -163,9 +162,8 @@ export const DataListExpandable: React.FunctionComponent = () => {
|
|
|
163
162
|
onClick={onToggle2}
|
|
164
163
|
variant="plain"
|
|
165
164
|
aria-label="Data list exapndable example kebaby toggle 2"
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
</MenuToggle>
|
|
165
|
+
icon={<EllipsisVIcon aria-hidden="true" />}
|
|
166
|
+
/>
|
|
169
167
|
)}
|
|
170
168
|
isOpen={isOpen2}
|
|
171
169
|
onOpenChange={(isOpen: boolean) => setIsOpen2(isOpen)}
|
|
@@ -234,9 +232,8 @@ export const DataListExpandable: React.FunctionComponent = () => {
|
|
|
234
232
|
onClick={onToggle3}
|
|
235
233
|
variant="plain"
|
|
236
234
|
aria-label="Data list exapndable example kebaby toggle 3"
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
</MenuToggle>
|
|
235
|
+
icon={<EllipsisVIcon aria-hidden="true" />}
|
|
236
|
+
/>
|
|
240
237
|
)}
|
|
241
238
|
isOpen={isOpen3}
|
|
242
239
|
onOpenChange={(isOpen: boolean) => setIsOpen3(isOpen)}
|
|
@@ -94,9 +94,8 @@ export const DataListMixedExpandable: React.FunctionComponent = () => {
|
|
|
94
94
|
onClick={onToggle1}
|
|
95
95
|
variant="plain"
|
|
96
96
|
aria-label="Data list mixed expandable example kebab toggle 1"
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
</MenuToggle>
|
|
97
|
+
icon={<EllipsisVIcon aria-hidden="true" />}
|
|
98
|
+
/>
|
|
100
99
|
)}
|
|
101
100
|
isOpen={isOpen1}
|
|
102
101
|
onOpenChange={(isOpen: boolean) => setIsOpen1(isOpen)}
|
|
@@ -167,9 +166,8 @@ export const DataListMixedExpandable: React.FunctionComponent = () => {
|
|
|
167
166
|
onClick={onToggle2}
|
|
168
167
|
variant="plain"
|
|
169
168
|
aria-label="Data list mixed expandable example kebab toggle 2"
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
</MenuToggle>
|
|
169
|
+
icon={<EllipsisVIcon aria-hidden="true" />}
|
|
170
|
+
/>
|
|
173
171
|
)}
|
|
174
172
|
isOpen={isOpen2}
|
|
175
173
|
onOpenChange={(isOpen: boolean) => setIsOpen2(isOpen)}
|
|
@@ -228,9 +226,8 @@ export const DataListMixedExpandable: React.FunctionComponent = () => {
|
|
|
228
226
|
onClick={onToggle3}
|
|
229
227
|
variant="plain"
|
|
230
228
|
aria-label="Data list mixed expandable example kebab toggle 3"
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
</MenuToggle>
|
|
229
|
+
icon={<EllipsisVIcon aria-hidden="true" />}
|
|
230
|
+
/>
|
|
234
231
|
)}
|
|
235
232
|
isOpen={isOpen3}
|
|
236
233
|
onOpenChange={(isOpen: boolean) => setIsOpen3(isOpen)}
|
|
@@ -103,9 +103,8 @@ export const DataListWidthModifiers: React.FunctionComponent = () => {
|
|
|
103
103
|
onClick={onToggle1}
|
|
104
104
|
variant="plain"
|
|
105
105
|
aria-label="Data list width modifiers example kebab toggle 1"
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
</MenuToggle>
|
|
106
|
+
icon={<EllipsisVIcon aria-hidden="true" />}
|
|
107
|
+
/>
|
|
109
108
|
)}
|
|
110
109
|
isOpen={isOpen1}
|
|
111
110
|
onOpenChange={(isOpen: boolean) => setIsOpen1(isOpen)}
|
|
@@ -177,9 +176,8 @@ export const DataListWidthModifiers: React.FunctionComponent = () => {
|
|
|
177
176
|
onClick={onToggle2}
|
|
178
177
|
variant="plain"
|
|
179
178
|
aria-label="Data list width modifiers example kebab toggle 2"
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
</MenuToggle>
|
|
179
|
+
icon={<EllipsisVIcon aria-hidden="true" />}
|
|
180
|
+
/>
|
|
183
181
|
)}
|
|
184
182
|
isOpen={isOpen2}
|
|
185
183
|
onOpenChange={(isOpen: boolean) => setIsOpen2(isOpen)}
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import { css } from '@patternfly/react-styles';
|
|
3
3
|
import { Menu, MenuContent, MenuProps } from '../Menu';
|
|
4
4
|
import { Popper } from '../../helpers/Popper/Popper';
|
|
5
|
-
import { useOUIAProps, OUIAProps } from '../../helpers';
|
|
5
|
+
import { useOUIAProps, OUIAProps, onToggleArrowKeydownDefault } from '../../helpers';
|
|
6
6
|
|
|
7
7
|
export interface DropdownPopperProps {
|
|
8
8
|
/** Vertical direction of the popper. If enableFlip is set to true, this will set the initial direction before the popper flips. */
|
|
@@ -51,6 +51,8 @@ export interface DropdownProps extends MenuProps, OUIAProps {
|
|
|
51
51
|
onOpenChange?: (isOpen: boolean) => void;
|
|
52
52
|
/** Keys that trigger onOpenChange, defaults to tab and escape. It is highly recommended to include Escape in the array, while Tab may be omitted if the menu contains non-menu items that are focusable. */
|
|
53
53
|
onOpenChangeKeys?: string[];
|
|
54
|
+
/** Callback to override the toggle keydown behavior. By default, when the toggle has focus and the menu is open, pressing the up/down arrow keys will focus a valid non-disabled menu item - the first item for the down arrow key and last item for the up arrow key. */
|
|
55
|
+
onToggleKeydown?: (event: KeyboardEvent) => void;
|
|
54
56
|
/** Indicates if the menu should be without the outer box-shadow. */
|
|
55
57
|
isPlain?: boolean;
|
|
56
58
|
/** Indicates if the menu should be scrollable. */
|
|
@@ -85,6 +87,7 @@ const DropdownBase: React.FunctionComponent<DropdownProps> = ({
|
|
|
85
87
|
toggle,
|
|
86
88
|
shouldFocusToggleOnSelect = false,
|
|
87
89
|
onOpenChange,
|
|
90
|
+
onToggleKeydown,
|
|
88
91
|
isPlain,
|
|
89
92
|
isScrollable,
|
|
90
93
|
innerRef,
|
|
@@ -139,6 +142,14 @@ const DropdownBase: React.FunctionComponent<DropdownProps> = ({
|
|
|
139
142
|
toggleRef.current?.focus();
|
|
140
143
|
}
|
|
141
144
|
}
|
|
145
|
+
|
|
146
|
+
if (toggleRef.current?.contains(event.target as Node)) {
|
|
147
|
+
if (onToggleKeydown) {
|
|
148
|
+
onToggleKeydown(event);
|
|
149
|
+
} else if (isOpen) {
|
|
150
|
+
onToggleArrowKeydownDefault(event, menuRef);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
142
153
|
};
|
|
143
154
|
|
|
144
155
|
const handleClick = (event: MouseEvent) => {
|
|
@@ -163,6 +174,7 @@ const DropdownBase: React.FunctionComponent<DropdownProps> = ({
|
|
|
163
174
|
toggleRef,
|
|
164
175
|
onOpenChange,
|
|
165
176
|
onOpenChangeKeys,
|
|
177
|
+
onToggleKeydown,
|
|
166
178
|
shouldPreventScrollOnItemFocus,
|
|
167
179
|
shouldFocusFirstItemOnOpen,
|
|
168
180
|
focusTimeoutDelay
|
|
@@ -22,7 +22,7 @@ import AngleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-right-i
|
|
|
22
22
|
import PficonSortCommonAscIcon from '@patternfly/react-icons/dist/esm/icons/pficon-sort-common-asc-icon';
|
|
23
23
|
import SearchIcon from '@patternfly/react-icons/dist/esm/icons/search-icon';
|
|
24
24
|
import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
|
|
25
|
-
import {
|
|
25
|
+
import { DragDropSort, DragDropContainer, Droppable as NewDroppable } from '@patternfly/react-drag-drop';
|
|
26
26
|
|
|
27
27
|
## Examples
|
|
28
28
|
|
|
@@ -78,22 +78,24 @@ The dual list selector is built in a composable manner to make customization eas
|
|
|
78
78
|
|
|
79
79
|
```
|
|
80
80
|
|
|
81
|
-
###
|
|
81
|
+
### Draggable
|
|
82
82
|
|
|
83
|
-
|
|
83
|
+
To enable drag and drop, wrap the `<DualListSelectorList>` component with `<DragDropSort>`, define the `variant` property as "DualListSelectorList", and pass both the sortable items and `onDrop` callback to `<DragDropSort>`. `<DragDropSort>` will create the component's usual children internally based on the items property, so children inside the `<DualListSelectorList>` should not be passed to the wrapped component.
|
|
84
84
|
|
|
85
|
-
|
|
86
|
-
- wrap the `DualListSelectorList` in a `Droppable` component
|
|
87
|
-
- wrap the `DualListSelectorListItem` components in a `Draggable` component
|
|
88
|
-
- define an `onDrop` callback which reorders the sortable options.
|
|
89
|
-
- The `onDrop` function provides the starting location and destination location for a dragged item. It should return
|
|
90
|
-
true to enable the 'drop' animation in the new location and false to enable the 'drop' animation back to the item's
|
|
91
|
-
old position.
|
|
92
|
-
- define an `onDrag` callback which ensures that the drag event will not cross hairs with the `onOptionSelect` click
|
|
93
|
-
event set on the option. Note: the `ignoreNextOptionSelect` state value is used to prevent selection while dragging.
|
|
85
|
+
Full drag and drop details can be found on the [drag and drop](/components/drag-and-drop) component page.
|
|
94
86
|
|
|
95
|
-
|
|
87
|
+
```ts file="../../../../../react-drag-drop/src/components/DragDrop/examples/DualListSelectorDraggable.tsx"
|
|
96
88
|
|
|
97
|
-
```
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Draggable with multiple drop zones
|
|
92
|
+
|
|
93
|
+
To enable multiple drop zones, wrap the `<DualListSelector>` component with `<DragDropContainer>`, and create the desired amount of `<Droppable>` components within `<DragDropContainer>`. `<Droppable>` components should be located where `<DualListSelectorList>` usually would go for each pane to be made draggable.
|
|
94
|
+
|
|
95
|
+
Each `<Droppable>` should define the `wrapper` property as the component that acts as the drop zone, `<DualListSelectorList>`, and the `items` property of their respective draggable items as an array of `<DraggableObject>` data. `<DragDropContainer>` should be passed the `onDrop`, `onContainerMove`, and `onCancel` callbacks to handle items being dropped, items moving between droppable containers, and what happens if the drag is cancelled respectively. `<DragDropContainer>` should also be given a `Record` representing all sortable drop zones' items. Both components should define the `variant` property as "DualListSelectorList".
|
|
96
|
+
|
|
97
|
+
Full drag and drop details can be found on the [drag and drop](/components/drag-and-drop) component page.
|
|
98
|
+
|
|
99
|
+
```ts file="../../../../../react-drag-drop/src/components/DragDrop/examples/DragDropContainerDualListSelector.tsx"
|
|
98
100
|
|
|
99
101
|
```
|
|
@@ -166,9 +166,8 @@ export const DualListSelectorComplexOptionsActionsNext: React.FunctionComponent
|
|
|
166
166
|
variant="plain"
|
|
167
167
|
id="complex-available-toggle"
|
|
168
168
|
aria-label="Complex actions example available kebab toggle"
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
</MenuToggle>
|
|
169
|
+
icon={<EllipsisVIcon aria-hidden="true" />}
|
|
170
|
+
/>
|
|
172
171
|
)}
|
|
173
172
|
isOpen={isAvailableKebabOpen}
|
|
174
173
|
onOpenChange={(isOpen: boolean) => setIsAvailableKebabOpen(isOpen)}
|
|
@@ -202,9 +201,8 @@ export const DualListSelectorComplexOptionsActionsNext: React.FunctionComponent
|
|
|
202
201
|
variant="plain"
|
|
203
202
|
id="complex-chosen-toggle"
|
|
204
203
|
aria-label="Complex actions example chosen kebab toggle"
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
</MenuToggle>
|
|
204
|
+
icon={<EllipsisVIcon aria-hidden="true" />}
|
|
205
|
+
/>
|
|
208
206
|
)}
|
|
209
207
|
isOpen={isChosenKebabOpen}
|
|
210
208
|
onOpenChange={(isOpen: boolean) => setIsChosenKebabOpen(isOpen)}
|
|
@@ -87,7 +87,7 @@ exports[`simple fileupload 1`] = `
|
|
|
87
87
|
</span>
|
|
88
88
|
</div>
|
|
89
89
|
<input
|
|
90
|
-
style="
|
|
90
|
+
style="border: 0px; clip: rect(0px, 0px, 0px, 0px); clip-path: inset(50%); height: 1px; margin: 0px -1px -1px 0px; overflow: hidden; padding: 0px; position: absolute; width: 1px; white-space: nowrap;"
|
|
91
91
|
tabindex="-1"
|
|
92
92
|
type="file"
|
|
93
93
|
/>
|
|
@@ -200,8 +200,8 @@ export const LabelGroupEditableAddModal: React.FunctionComponent = () => {
|
|
|
200
200
|
};
|
|
201
201
|
|
|
202
202
|
const iconToggle = (
|
|
203
|
-
<MenuToggle ref={iconToggleRef} onClick={onIconToggleClick} isExpanded={isIconOpen}>
|
|
204
|
-
{icon
|
|
203
|
+
<MenuToggle ref={iconToggleRef} onClick={onIconToggleClick} isExpanded={isIconOpen} icon={icon}>
|
|
204
|
+
{icon ? '' : 'Select'}
|
|
205
205
|
</MenuToggle>
|
|
206
206
|
);
|
|
207
207
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { Popper } from '../../helpers
|
|
2
|
+
import { onToggleArrowKeydownDefault, Popper } from '../../helpers';
|
|
3
3
|
|
|
4
4
|
export interface MenuPopperProps {
|
|
5
5
|
/** Vertical direction of the popper. If enableFlip is set to true, this will set the initial direction before the popper flips. */
|
|
@@ -17,6 +17,7 @@ export interface MenuPopperProps {
|
|
|
17
17
|
/** Flag to prevent the popper from overflowing its container and becoming partially obscured. */
|
|
18
18
|
preventOverflow?: boolean;
|
|
19
19
|
}
|
|
20
|
+
|
|
20
21
|
export interface MenuContainerProps {
|
|
21
22
|
/** Menu to be rendered */
|
|
22
23
|
menu: React.ReactElement<any, string | React.JSXElementConstructor<any>>;
|
|
@@ -33,6 +34,8 @@ export interface MenuContainerProps {
|
|
|
33
34
|
onOpenChange?: (isOpen: boolean) => void;
|
|
34
35
|
/** Keys that trigger onOpenChange, defaults to tab and escape. It is highly recommended to include Escape in the array, while Tab may be omitted if the menu contains non-menu items that are focusable. */
|
|
35
36
|
onOpenChangeKeys?: string[];
|
|
37
|
+
/** Callback to override the toggle keydown behavior. By default, when the toggle has focus and the menu is open, pressing the up/down arrow keys will focus a valid non-disabled menu item - the first item for the down arrow key and last item for the up arrow key. */
|
|
38
|
+
onToggleKeydown?: (event: KeyboardEvent) => void;
|
|
36
39
|
/** z-index of the dropdown menu */
|
|
37
40
|
zIndex?: number;
|
|
38
41
|
/** Additional properties to pass to the Popper */
|
|
@@ -55,10 +58,11 @@ export const MenuContainer: React.FunctionComponent<MenuContainerProps> = ({
|
|
|
55
58
|
toggle,
|
|
56
59
|
toggleRef,
|
|
57
60
|
onOpenChange,
|
|
61
|
+
onToggleKeydown,
|
|
58
62
|
zIndex = 9999,
|
|
59
63
|
popperProps,
|
|
60
64
|
onOpenChangeKeys = ['Escape', 'Tab'],
|
|
61
|
-
shouldFocusFirstItemOnOpen =
|
|
65
|
+
shouldFocusFirstItemOnOpen = false,
|
|
62
66
|
shouldPreventScrollOnItemFocus = true,
|
|
63
67
|
focusTimeoutDelay = 0
|
|
64
68
|
}: MenuContainerProps) => {
|
|
@@ -90,6 +94,14 @@ export const MenuContainer: React.FunctionComponent<MenuContainerProps> = ({
|
|
|
90
94
|
toggleRef.current?.focus();
|
|
91
95
|
}
|
|
92
96
|
}
|
|
97
|
+
|
|
98
|
+
if (toggleRef.current?.contains(event.target as Node)) {
|
|
99
|
+
if (onToggleKeydown) {
|
|
100
|
+
onToggleKeydown(event);
|
|
101
|
+
} else if (isOpen) {
|
|
102
|
+
onToggleArrowKeydownDefault(event, menuRef);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
93
105
|
};
|
|
94
106
|
|
|
95
107
|
const handleClick = (event: MouseEvent) => {
|
|
@@ -108,7 +120,16 @@ export const MenuContainer: React.FunctionComponent<MenuContainerProps> = ({
|
|
|
108
120
|
window.removeEventListener('keydown', handleMenuKeys);
|
|
109
121
|
window.removeEventListener('click', handleClick);
|
|
110
122
|
};
|
|
111
|
-
}, [
|
|
123
|
+
}, [
|
|
124
|
+
focusTimeoutDelay,
|
|
125
|
+
isOpen,
|
|
126
|
+
menuRef,
|
|
127
|
+
onOpenChange,
|
|
128
|
+
onOpenChangeKeys,
|
|
129
|
+
onToggleKeydown,
|
|
130
|
+
shouldPreventScrollOnItemFocus,
|
|
131
|
+
toggleRef
|
|
132
|
+
]);
|
|
112
133
|
|
|
113
134
|
return (
|
|
114
135
|
<Popper
|
|
@@ -20,7 +20,7 @@ export interface MenuToggleCheckboxProps
|
|
|
20
20
|
/** Flag to set the default checked value of the checkbox when it is uncontrolled by React state.
|
|
21
21
|
* To make the checkbox controlled instead use the isChecked prop, but do not use both.
|
|
22
22
|
*/
|
|
23
|
-
defaultChecked?: boolean
|
|
23
|
+
defaultChecked?: boolean;
|
|
24
24
|
/** A callback for when the checkbox selection changes */
|
|
25
25
|
onChange?: (checked: boolean, event: React.FormEvent<HTMLInputElement>) => void;
|
|
26
26
|
/** Element to be rendered inside the <span> */
|