@patternfly/react-core 5.0.0-alpha.108 → 5.0.0-alpha.109
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/AboutModal/package.json +1 -1
- package/dist/esm/components/Accordion/package.json +1 -1
- package/dist/esm/components/ActionList/package.json +1 -1
- package/dist/esm/components/Alert/package.json +1 -1
- package/dist/esm/components/Avatar/package.json +1 -1
- package/dist/esm/components/BackToTop/package.json +1 -1
- package/dist/esm/components/Backdrop/package.json +1 -1
- package/dist/esm/components/BackgroundImage/package.json +1 -1
- package/dist/esm/components/Badge/package.json +1 -1
- package/dist/esm/components/Banner/package.json +1 -1
- package/dist/esm/components/Brand/package.json +1 -1
- package/dist/esm/components/Breadcrumb/package.json +1 -1
- package/dist/esm/components/Button/package.json +1 -1
- package/dist/esm/components/CalendarMonth/package.json +1 -1
- package/dist/esm/components/Card/Card.d.ts +12 -5
- package/dist/esm/components/Card/Card.d.ts.map +1 -1
- package/dist/esm/components/Card/Card.js +17 -5
- package/dist/esm/components/Card/Card.js.map +1 -1
- package/dist/esm/components/Card/CardHeader.d.ts +30 -0
- package/dist/esm/components/Card/CardHeader.d.ts.map +1 -1
- package/dist/esm/components/Card/CardHeader.js +40 -5
- package/dist/esm/components/Card/CardHeader.js.map +1 -1
- package/dist/esm/components/Card/CardSelectableActions.d.ts +9 -0
- package/dist/esm/components/Card/CardSelectableActions.d.ts.map +1 -0
- package/dist/esm/components/Card/CardSelectableActions.js +10 -0
- package/dist/esm/components/Card/CardSelectableActions.js.map +1 -0
- package/dist/esm/components/Card/package.json +1 -1
- package/dist/esm/components/Checkbox/Checkbox.d.ts +2 -0
- package/dist/esm/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/esm/components/Checkbox/Checkbox.js +2 -2
- package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/esm/components/Checkbox/package.json +1 -1
- package/dist/esm/components/Chip/package.json +1 -1
- package/dist/esm/components/ClipboardCopy/ClipboardCopy.js +4 -4
- package/dist/esm/components/ClipboardCopy/ClipboardCopy.js.map +1 -1
- package/dist/esm/components/ClipboardCopy/package.json +1 -1
- package/dist/esm/components/CodeBlock/package.json +1 -1
- package/dist/esm/components/DataList/package.json +1 -1
- package/dist/esm/components/DatePicker/package.json +1 -1
- package/dist/esm/components/DescriptionList/package.json +1 -1
- package/dist/esm/components/Divider/package.json +1 -1
- package/dist/esm/components/DragDrop/package.json +1 -1
- package/dist/esm/components/Drawer/package.json +1 -1
- package/dist/esm/components/Dropdown/package.json +1 -1
- package/dist/esm/components/DualListSelector/package.json +1 -1
- package/dist/esm/components/EmptyState/package.json +1 -1
- package/dist/esm/components/ExpandableSection/package.json +1 -1
- package/dist/esm/components/FileUpload/FileUploadField.js +2 -2
- package/dist/esm/components/FileUpload/FileUploadField.js.map +1 -1
- package/dist/esm/components/FileUpload/package.json +1 -1
- package/dist/esm/components/Form/package.json +1 -1
- package/dist/esm/components/FormControl/FormControlIcon.d.ts +16 -0
- package/dist/esm/components/FormControl/FormControlIcon.d.ts.map +1 -0
- package/dist/esm/components/FormControl/FormControlIcon.js +18 -0
- package/dist/esm/components/FormControl/FormControlIcon.js.map +1 -0
- package/dist/esm/components/FormSelect/FormSelect.d.ts +0 -2
- package/dist/esm/components/FormSelect/FormSelect.d.ts.map +1 -1
- package/dist/esm/components/FormSelect/FormSelect.js +9 -3
- package/dist/esm/components/FormSelect/FormSelect.js.map +1 -1
- package/dist/esm/components/FormSelect/package.json +1 -1
- package/dist/esm/components/HelperText/package.json +1 -1
- package/dist/esm/components/Hint/package.json +1 -1
- package/dist/esm/components/Icon/package.json +1 -1
- package/dist/esm/components/InputGroup/package.json +1 -1
- package/dist/esm/components/JumpLinks/package.json +1 -1
- package/dist/esm/components/Label/package.json +1 -1
- package/dist/esm/components/List/package.json +1 -1
- package/dist/esm/components/LoginPage/package.json +1 -1
- package/dist/esm/components/Masthead/package.json +1 -1
- package/dist/esm/components/Menu/package.json +1 -1
- package/dist/esm/components/MenuToggle/package.json +1 -1
- package/dist/esm/components/Modal/package.json +1 -1
- package/dist/esm/components/MultipleFileUpload/package.json +1 -1
- package/dist/esm/components/Nav/package.json +1 -1
- package/dist/esm/components/NotificationBadge/package.json +1 -1
- package/dist/esm/components/NotificationDrawer/package.json +1 -1
- package/dist/esm/components/NumberInput/package.json +1 -1
- package/dist/esm/components/OverflowMenu/package.json +1 -1
- package/dist/esm/components/Page/package.json +1 -1
- package/dist/esm/components/Pagination/package.json +1 -1
- package/dist/esm/components/Panel/package.json +1 -1
- package/dist/esm/components/Popover/package.json +1 -1
- package/dist/esm/components/Progress/package.json +1 -1
- package/dist/esm/components/ProgressStepper/package.json +1 -1
- package/dist/esm/components/Radio/Radio.d.ts +5 -1
- package/dist/esm/components/Radio/Radio.d.ts.map +1 -1
- package/dist/esm/components/Radio/Radio.js +3 -3
- package/dist/esm/components/Radio/Radio.js.map +1 -1
- package/dist/esm/components/Radio/package.json +1 -1
- package/dist/esm/components/SearchInput/package.json +1 -1
- package/dist/esm/components/Select/package.json +1 -1
- package/dist/esm/components/Sidebar/package.json +1 -1
- package/dist/esm/components/SimpleList/package.json +1 -1
- package/dist/esm/components/Skeleton/package.json +1 -1
- package/dist/esm/components/SkipToContent/package.json +1 -1
- package/dist/esm/components/Slider/Slider.d.ts.map +1 -1
- package/dist/esm/components/Slider/Slider.js +1 -1
- package/dist/esm/components/Slider/Slider.js.map +1 -1
- package/dist/esm/components/Slider/package.json +1 -1
- package/dist/esm/components/Spinner/package.json +1 -1
- package/dist/esm/components/Switch/package.json +1 -1
- package/dist/esm/components/Tabs/package.json +1 -1
- package/dist/esm/components/Text/package.json +1 -1
- package/dist/esm/components/TextArea/TextArea.d.ts +0 -4
- package/dist/esm/components/TextArea/TextArea.d.ts.map +1 -1
- package/dist/esm/components/TextArea/TextArea.js +11 -7
- package/dist/esm/components/TextArea/TextArea.js.map +1 -1
- package/dist/esm/components/TextArea/package.json +1 -1
- package/dist/esm/components/TextInput/TextInput.d.ts +8 -11
- package/dist/esm/components/TextInput/TextInput.d.ts.map +1 -1
- package/dist/esm/components/TextInput/TextInput.js +10 -13
- package/dist/esm/components/TextInput/TextInput.js.map +1 -1
- package/dist/esm/components/TextInput/package.json +1 -1
- package/dist/esm/components/TextInputGroup/package.json +1 -1
- package/dist/esm/components/Tile/package.json +1 -1
- package/dist/esm/components/TimePicker/TimePicker.d.ts.map +1 -1
- package/dist/esm/components/TimePicker/TimePicker.js +2 -2
- package/dist/esm/components/TimePicker/TimePicker.js.map +1 -1
- package/dist/esm/components/TimePicker/package.json +1 -1
- package/dist/esm/components/Timestamp/package.json +1 -1
- package/dist/esm/components/Title/package.json +1 -1
- package/dist/esm/components/ToggleGroup/package.json +1 -1
- package/dist/esm/components/Toolbar/package.json +1 -1
- package/dist/esm/components/Tooltip/package.json +1 -1
- package/dist/esm/components/TreeView/TreeViewSearch.d.ts.map +1 -1
- package/dist/esm/components/TreeView/TreeViewSearch.js +6 -1
- package/dist/esm/components/TreeView/TreeViewSearch.js.map +1 -1
- package/dist/esm/components/TreeView/package.json +1 -1
- package/dist/esm/components/Truncate/package.json +1 -1
- package/dist/esm/components/Wizard/hooks/package.json +1 -1
- package/dist/esm/components/Wizard/package.json +1 -1
- package/dist/esm/components/package.json +1 -1
- package/dist/esm/deprecated/components/ApplicationLauncher/package.json +1 -1
- package/dist/esm/deprecated/components/ContextSelector/package.json +1 -1
- package/dist/esm/deprecated/components/Dropdown/package.json +1 -1
- package/dist/esm/deprecated/components/OptionsMenu/package.json +1 -1
- package/dist/esm/deprecated/components/PageHeader/package.json +1 -1
- package/dist/esm/deprecated/components/Select/Select.d.ts.map +1 -1
- package/dist/esm/deprecated/components/Select/Select.js +16 -18
- package/dist/esm/deprecated/components/Select/Select.js.map +1 -1
- package/dist/esm/deprecated/components/Select/package.json +1 -1
- package/dist/esm/deprecated/components/Wizard/package.json +1 -1
- package/dist/esm/deprecated/components/package.json +1 -1
- package/dist/esm/deprecated/package.json +1 -1
- package/dist/esm/helpers/Popper/thirdparty/popper-core/package.json +1 -1
- package/dist/esm/helpers/package.json +1 -1
- package/dist/esm/layouts/Bullseye/package.json +1 -1
- package/dist/esm/layouts/Flex/package.json +1 -1
- package/dist/esm/layouts/Gallery/package.json +1 -1
- package/dist/esm/layouts/Grid/package.json +1 -1
- package/dist/esm/layouts/Level/package.json +1 -1
- package/dist/esm/layouts/Split/package.json +1 -1
- package/dist/esm/layouts/Stack/package.json +1 -1
- package/dist/esm/layouts/package.json +1 -1
- package/dist/esm/next/components/package.json +1 -1
- package/dist/esm/next/package.json +1 -1
- package/dist/esm/package.json +1 -1
- package/dist/js/components/AboutModal/package.json +1 -1
- package/dist/js/components/Accordion/package.json +1 -1
- package/dist/js/components/ActionList/package.json +1 -1
- package/dist/js/components/Alert/package.json +1 -1
- package/dist/js/components/Avatar/package.json +1 -1
- package/dist/js/components/BackToTop/package.json +1 -1
- package/dist/js/components/Backdrop/package.json +1 -1
- package/dist/js/components/BackgroundImage/package.json +1 -1
- package/dist/js/components/Badge/package.json +1 -1
- package/dist/js/components/Banner/package.json +1 -1
- package/dist/js/components/Brand/package.json +1 -1
- package/dist/js/components/Breadcrumb/package.json +1 -1
- package/dist/js/components/Button/package.json +1 -1
- package/dist/js/components/CalendarMonth/package.json +1 -1
- package/dist/js/components/Card/Card.d.ts +12 -5
- package/dist/js/components/Card/Card.d.ts.map +1 -1
- package/dist/js/components/Card/Card.js +17 -5
- package/dist/js/components/Card/Card.js.map +1 -1
- package/dist/js/components/Card/CardHeader.d.ts +30 -0
- package/dist/js/components/Card/CardHeader.d.ts.map +1 -1
- package/dist/js/components/Card/CardHeader.js +40 -5
- package/dist/js/components/Card/CardHeader.js.map +1 -1
- package/dist/js/components/Card/CardSelectableActions.d.ts +9 -0
- package/dist/js/components/Card/CardSelectableActions.d.ts.map +1 -0
- package/dist/js/components/Card/CardSelectableActions.js +14 -0
- package/dist/js/components/Card/CardSelectableActions.js.map +1 -0
- package/dist/js/components/Card/package.json +1 -1
- package/dist/js/components/Checkbox/Checkbox.d.ts +2 -0
- package/dist/js/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/js/components/Checkbox/Checkbox.js +2 -2
- package/dist/js/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/js/components/Checkbox/package.json +1 -1
- package/dist/js/components/Chip/package.json +1 -1
- package/dist/js/components/ClipboardCopy/ClipboardCopy.js +4 -4
- package/dist/js/components/ClipboardCopy/ClipboardCopy.js.map +1 -1
- package/dist/js/components/ClipboardCopy/package.json +1 -1
- package/dist/js/components/CodeBlock/package.json +1 -1
- package/dist/js/components/DataList/package.json +1 -1
- package/dist/js/components/DatePicker/package.json +1 -1
- package/dist/js/components/DescriptionList/package.json +1 -1
- package/dist/js/components/Divider/package.json +1 -1
- package/dist/js/components/DragDrop/package.json +1 -1
- package/dist/js/components/Drawer/package.json +1 -1
- package/dist/js/components/Dropdown/package.json +1 -1
- package/dist/js/components/DualListSelector/package.json +1 -1
- package/dist/js/components/EmptyState/package.json +1 -1
- package/dist/js/components/ExpandableSection/package.json +1 -1
- package/dist/js/components/FileUpload/FileUploadField.js +2 -2
- package/dist/js/components/FileUpload/FileUploadField.js.map +1 -1
- package/dist/js/components/FileUpload/package.json +1 -1
- package/dist/js/components/Form/package.json +1 -1
- package/dist/js/components/FormControl/FormControlIcon.d.ts +16 -0
- package/dist/js/components/FormControl/FormControlIcon.d.ts.map +1 -0
- package/dist/js/components/FormControl/FormControlIcon.js +22 -0
- package/dist/js/components/FormControl/FormControlIcon.js.map +1 -0
- package/dist/js/components/FormSelect/FormSelect.d.ts +0 -2
- package/dist/js/components/FormSelect/FormSelect.d.ts.map +1 -1
- package/dist/js/components/FormSelect/FormSelect.js +9 -3
- package/dist/js/components/FormSelect/FormSelect.js.map +1 -1
- package/dist/js/components/FormSelect/package.json +1 -1
- package/dist/js/components/HelperText/package.json +1 -1
- package/dist/js/components/Hint/package.json +1 -1
- package/dist/js/components/Icon/package.json +1 -1
- package/dist/js/components/InputGroup/package.json +1 -1
- package/dist/js/components/JumpLinks/package.json +1 -1
- package/dist/js/components/Label/package.json +1 -1
- package/dist/js/components/List/package.json +1 -1
- package/dist/js/components/LoginPage/package.json +1 -1
- package/dist/js/components/Masthead/package.json +1 -1
- package/dist/js/components/Menu/package.json +1 -1
- package/dist/js/components/MenuToggle/package.json +1 -1
- package/dist/js/components/Modal/package.json +1 -1
- package/dist/js/components/MultipleFileUpload/package.json +1 -1
- package/dist/js/components/Nav/package.json +1 -1
- package/dist/js/components/NotificationBadge/package.json +1 -1
- package/dist/js/components/NotificationDrawer/package.json +1 -1
- package/dist/js/components/NumberInput/package.json +1 -1
- package/dist/js/components/OverflowMenu/package.json +1 -1
- package/dist/js/components/Page/package.json +1 -1
- package/dist/js/components/Pagination/package.json +1 -1
- package/dist/js/components/Panel/package.json +1 -1
- package/dist/js/components/Popover/package.json +1 -1
- package/dist/js/components/Progress/package.json +1 -1
- package/dist/js/components/ProgressStepper/package.json +1 -1
- package/dist/js/components/Radio/Radio.d.ts +5 -1
- package/dist/js/components/Radio/Radio.d.ts.map +1 -1
- package/dist/js/components/Radio/Radio.js +3 -3
- package/dist/js/components/Radio/Radio.js.map +1 -1
- package/dist/js/components/Radio/package.json +1 -1
- package/dist/js/components/SearchInput/package.json +1 -1
- package/dist/js/components/Select/package.json +1 -1
- package/dist/js/components/Sidebar/package.json +1 -1
- package/dist/js/components/SimpleList/package.json +1 -1
- package/dist/js/components/Skeleton/package.json +1 -1
- package/dist/js/components/SkipToContent/package.json +1 -1
- package/dist/js/components/Slider/Slider.d.ts.map +1 -1
- package/dist/js/components/Slider/Slider.js +1 -1
- package/dist/js/components/Slider/Slider.js.map +1 -1
- package/dist/js/components/Slider/package.json +1 -1
- package/dist/js/components/Spinner/package.json +1 -1
- package/dist/js/components/Switch/package.json +1 -1
- package/dist/js/components/Tabs/package.json +1 -1
- package/dist/js/components/Text/package.json +1 -1
- package/dist/js/components/TextArea/TextArea.d.ts +0 -4
- package/dist/js/components/TextArea/TextArea.d.ts.map +1 -1
- package/dist/js/components/TextArea/TextArea.js +11 -7
- package/dist/js/components/TextArea/TextArea.js.map +1 -1
- package/dist/js/components/TextArea/package.json +1 -1
- package/dist/js/components/TextInput/TextInput.d.ts +8 -11
- package/dist/js/components/TextInput/TextInput.d.ts.map +1 -1
- package/dist/js/components/TextInput/TextInput.js +10 -13
- package/dist/js/components/TextInput/TextInput.js.map +1 -1
- package/dist/js/components/TextInput/package.json +1 -1
- package/dist/js/components/TextInputGroup/package.json +1 -1
- package/dist/js/components/Tile/package.json +1 -1
- package/dist/js/components/TimePicker/TimePicker.d.ts.map +1 -1
- package/dist/js/components/TimePicker/TimePicker.js +2 -2
- package/dist/js/components/TimePicker/TimePicker.js.map +1 -1
- package/dist/js/components/TimePicker/package.json +1 -1
- package/dist/js/components/Timestamp/package.json +1 -1
- package/dist/js/components/Title/package.json +1 -1
- package/dist/js/components/ToggleGroup/package.json +1 -1
- package/dist/js/components/Toolbar/package.json +1 -1
- package/dist/js/components/Tooltip/package.json +1 -1
- package/dist/js/components/TreeView/TreeViewSearch.d.ts.map +1 -1
- package/dist/js/components/TreeView/TreeViewSearch.js +6 -1
- package/dist/js/components/TreeView/TreeViewSearch.js.map +1 -1
- package/dist/js/components/TreeView/package.json +1 -1
- package/dist/js/components/Truncate/package.json +1 -1
- package/dist/js/components/Wizard/hooks/package.json +1 -1
- package/dist/js/components/Wizard/package.json +1 -1
- package/dist/js/components/package.json +1 -1
- package/dist/js/deprecated/components/ApplicationLauncher/package.json +1 -1
- package/dist/js/deprecated/components/ContextSelector/package.json +1 -1
- package/dist/js/deprecated/components/Dropdown/package.json +1 -1
- package/dist/js/deprecated/components/OptionsMenu/package.json +1 -1
- package/dist/js/deprecated/components/PageHeader/package.json +1 -1
- package/dist/js/deprecated/components/Select/Select.d.ts.map +1 -1
- package/dist/js/deprecated/components/Select/Select.js +16 -18
- package/dist/js/deprecated/components/Select/Select.js.map +1 -1
- package/dist/js/deprecated/components/Select/package.json +1 -1
- package/dist/js/deprecated/components/Wizard/package.json +1 -1
- package/dist/js/deprecated/components/package.json +1 -1
- package/dist/js/deprecated/package.json +1 -1
- package/dist/js/helpers/Popper/thirdparty/popper-core/package.json +1 -1
- package/dist/js/helpers/package.json +1 -1
- package/dist/js/layouts/Bullseye/package.json +1 -1
- package/dist/js/layouts/Flex/package.json +1 -1
- package/dist/js/layouts/Gallery/package.json +1 -1
- package/dist/js/layouts/Grid/package.json +1 -1
- package/dist/js/layouts/Level/package.json +1 -1
- package/dist/js/layouts/Split/package.json +1 -1
- package/dist/js/layouts/Stack/package.json +1 -1
- package/dist/js/layouts/package.json +1 -1
- package/dist/js/next/components/package.json +1 -1
- package/dist/js/next/package.json +1 -1
- package/dist/js/package.json +1 -1
- package/dist/umd/react-core.min.js +3 -3
- package/package.json +6 -6
- package/src/components/Card/Card.tsx +34 -9
- package/src/components/Card/CardHeader.tsx +94 -2
- package/src/components/Card/CardSelectableActions.tsx +21 -0
- package/src/components/Card/__tests__/Card.test.tsx +11 -7
- package/src/components/Card/__tests__/__snapshots__/CardHeader.test.tsx.snap +1 -3
- package/src/components/Card/examples/Card.md +59 -16
- package/src/components/Card/examples/CardClickable.tsx +54 -0
- package/src/components/Card/examples/CardClickableSelectable.tsx +94 -0
- package/src/components/Card/examples/{CardLegacySelectable.tsx → CardDeprecatedSelectable.tsx} +2 -0
- package/src/components/Card/examples/{CardSelectableA11yHighlight.tsx → CardDeprecatedSelectableA11yHighlight.tsx} +1 -1
- package/src/components/Card/examples/CardSelectable.tsx +60 -115
- package/src/components/Card/examples/CardSingleSelectable.tsx +52 -0
- package/src/components/Checkbox/Checkbox.tsx +5 -2
- package/src/components/ClipboardCopy/ClipboardCopy.tsx +4 -4
- package/src/components/ClipboardCopy/__tests__/Generated/__snapshots__/ClipboardCopy.test.tsx.snap +13 -10
- package/src/components/DatePicker/__tests__/__snapshots__/DatePicker.test.tsx.snap +40 -31
- package/src/components/FileUpload/FileUploadField.tsx +1 -1
- package/src/components/FileUpload/__tests__/__snapshots__/FileUpload.test.tsx.snap +28 -22
- package/src/components/FileUpload/__tests__/__snapshots__/FileUploadField.test.tsx.snap +28 -22
- package/src/components/FormControl/FormControlIcon.tsx +31 -0
- package/src/components/FormSelect/FormSelect.tsx +26 -20
- package/src/components/FormSelect/__tests__/FormSelect.test.tsx +2 -2
- package/src/components/FormSelect/__tests__/__snapshots__/FormSelect.test.tsx.snap +421 -178
- package/src/components/FormSelect/examples/FormSelect.md +7 -6
- package/src/components/LoginPage/__tests__/__snapshots__/LoginForm.test.tsx.snap +84 -66
- package/src/components/NumberInput/__tests__/__snapshots__/NumberInput.test.tsx.snap +217 -133
- package/src/components/Radio/Radio.tsx +7 -2
- package/src/components/SearchInput/__tests__/__snapshots__/SearchInput.test.tsx.snap +36 -27
- package/src/components/Slider/Slider.tsx +0 -1
- package/src/components/Slider/_tests_/__snapshots__/Slider.test.tsx.snap +52 -40
- package/src/components/TextArea/TextArea.tsx +33 -26
- package/src/components/TextArea/__tests__/TextArea.test.tsx +6 -6
- package/src/components/TextArea/__tests__/__snapshots__/TextArea.test.tsx.snap +11 -8
- package/src/components/TextArea/examples/TextArea.md +8 -6
- package/src/components/TextInput/TextInput.tsx +43 -47
- package/src/components/TextInput/__tests__/TextInput.test.tsx +2 -2
- package/src/components/TextInput/__tests__/__snapshots__/TextInput.test.tsx.snap +130 -72
- package/src/components/TextInput/examples/TextInput.md +14 -5
- package/src/components/TextInput/examples/TextInputCustomIcon.tsx +30 -0
- package/src/components/TextInput/examples/TextInputCustomIconInvalid.tsx +20 -0
- package/src/components/TimePicker/TimePicker.tsx +2 -4
- package/src/components/TreeView/TreeViewSearch.tsx +9 -9
- package/src/components/TreeView/__tests__/__snapshots__/TreeView.test.tsx.snap +29 -7
- package/src/demos/examples/DateTimePicker/DateTimePicker.tsx +1 -1
- package/src/deprecated/components/Select/Select.tsx +21 -25
- package/src/deprecated/components/Select/__tests__/__snapshots__/Select.test.tsx.snap +1 -2
- package/src/components/FormSelect/examples/FormSelectIconSpriteVariant.tsx +0 -63
- package/src/components/TextArea/examples/TextAreaIconSprite.tsx +0 -41
- package/src/components/TextInput/examples/TextInputIcon.tsx +0 -39
- package/src/components/TextInput/examples/TextInputIconSprite.tsx +0 -63
|
@@ -2,109 +2,167 @@
|
|
|
2
2
|
|
|
3
3
|
exports[`TextInput default read only text input 1`] = `
|
|
4
4
|
<DocumentFragment>
|
|
5
|
-
<
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
5
|
+
<div
|
|
6
|
+
class="pf-v5-c-form-control pf-m-readonly"
|
|
7
|
+
>
|
|
8
|
+
<input
|
|
9
|
+
aria-invalid="false"
|
|
10
|
+
aria-label="default read only text input"
|
|
11
|
+
data-ouia-component-id="OUIA-Generated-TextInputBase-5"
|
|
12
|
+
data-ouia-component-type="PF4/TextInput"
|
|
13
|
+
data-ouia-safe="true"
|
|
14
|
+
readonly=""
|
|
15
|
+
type="text"
|
|
16
|
+
value="read only default"
|
|
17
|
+
/>
|
|
18
|
+
</div>
|
|
16
19
|
</DocumentFragment>
|
|
17
20
|
`;
|
|
18
21
|
|
|
19
22
|
exports[`TextInput disabled text input 1`] = `
|
|
20
23
|
<DocumentFragment>
|
|
21
|
-
<
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
24
|
+
<div
|
|
25
|
+
class="pf-v5-c-form-control pf-m-disabled"
|
|
26
|
+
>
|
|
27
|
+
<input
|
|
28
|
+
aria-invalid="false"
|
|
29
|
+
aria-label="disabled text input"
|
|
30
|
+
data-ouia-component-id="OUIA-Generated-TextInputBase-3"
|
|
31
|
+
data-ouia-component-type="PF4/TextInput"
|
|
32
|
+
data-ouia-safe="true"
|
|
33
|
+
disabled=""
|
|
34
|
+
type="text"
|
|
35
|
+
value=""
|
|
36
|
+
/>
|
|
37
|
+
</div>
|
|
32
38
|
</DocumentFragment>
|
|
33
39
|
`;
|
|
34
40
|
|
|
35
41
|
exports[`TextInput invalid text input 1`] = `
|
|
36
42
|
<DocumentFragment>
|
|
37
|
-
<
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
<div
|
|
44
|
+
class="pf-v5-c-form-control pf-m-error"
|
|
45
|
+
>
|
|
46
|
+
<input
|
|
47
|
+
aria-invalid="true"
|
|
48
|
+
aria-label="invalid text input"
|
|
49
|
+
data-ouia-component-id="OUIA-Generated-TextInputBase-7"
|
|
50
|
+
data-ouia-component-type="PF4/TextInput"
|
|
51
|
+
data-ouia-safe="true"
|
|
52
|
+
type="text"
|
|
53
|
+
value="test input"
|
|
54
|
+
/>
|
|
55
|
+
<div
|
|
56
|
+
class="pf-v5-c-form-control__utilities"
|
|
57
|
+
>
|
|
58
|
+
<div
|
|
59
|
+
class="pf-v5-c-form-control__icon pf-m-status"
|
|
60
|
+
>
|
|
61
|
+
<svg
|
|
62
|
+
aria-hidden="true"
|
|
63
|
+
class="pf-v5-svg"
|
|
64
|
+
fill="currentColor"
|
|
65
|
+
role="img"
|
|
66
|
+
viewBox="0 0 512 512"
|
|
67
|
+
>
|
|
68
|
+
<path
|
|
69
|
+
d="M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"
|
|
70
|
+
/>
|
|
71
|
+
</svg>
|
|
72
|
+
</div>
|
|
73
|
+
</div>
|
|
74
|
+
</div>
|
|
47
75
|
</DocumentFragment>
|
|
48
76
|
`;
|
|
49
77
|
|
|
50
78
|
exports[`TextInput plain read only text input 1`] = `
|
|
51
79
|
<DocumentFragment>
|
|
52
|
-
<
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
80
|
+
<div
|
|
81
|
+
class="pf-v5-c-form-control pf-m-readonly pf-m-plain"
|
|
82
|
+
>
|
|
83
|
+
<input
|
|
84
|
+
aria-invalid="false"
|
|
85
|
+
aria-label="plain read only text input"
|
|
86
|
+
data-ouia-component-id="OUIA-Generated-TextInputBase-6"
|
|
87
|
+
data-ouia-component-type="PF4/TextInput"
|
|
88
|
+
data-ouia-safe="true"
|
|
89
|
+
readonly=""
|
|
90
|
+
type="text"
|
|
91
|
+
value="read only plain"
|
|
92
|
+
/>
|
|
93
|
+
</div>
|
|
63
94
|
</DocumentFragment>
|
|
64
95
|
`;
|
|
65
96
|
|
|
66
97
|
exports[`TextInput read only text input using isReadOnly 1`] = `
|
|
67
98
|
<DocumentFragment>
|
|
68
|
-
<
|
|
69
|
-
aria-invalid="false"
|
|
70
|
-
aria-label="read only text input"
|
|
99
|
+
<div
|
|
71
100
|
class="pf-v5-c-form-control"
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
101
|
+
>
|
|
102
|
+
<input
|
|
103
|
+
aria-invalid="false"
|
|
104
|
+
aria-label="read only text input"
|
|
105
|
+
data-ouia-component-id="OUIA-Generated-TextInputBase-4"
|
|
106
|
+
data-ouia-component-type="PF4/TextInput"
|
|
107
|
+
data-ouia-safe="true"
|
|
108
|
+
type="text"
|
|
109
|
+
value="read only"
|
|
110
|
+
/>
|
|
111
|
+
</div>
|
|
79
112
|
</DocumentFragment>
|
|
80
113
|
`;
|
|
81
114
|
|
|
82
115
|
exports[`TextInput simple text input 1`] = `
|
|
83
116
|
<DocumentFragment>
|
|
84
|
-
<
|
|
85
|
-
aria-invalid="false"
|
|
86
|
-
aria-label="simple text input"
|
|
117
|
+
<div
|
|
87
118
|
class="pf-v5-c-form-control"
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
119
|
+
>
|
|
120
|
+
<input
|
|
121
|
+
aria-invalid="false"
|
|
122
|
+
aria-label="simple text input"
|
|
123
|
+
data-ouia-component-id="OUIA-Generated-TextInputBase-2"
|
|
124
|
+
data-ouia-component-type="PF4/TextInput"
|
|
125
|
+
data-ouia-safe="true"
|
|
126
|
+
type="text"
|
|
127
|
+
value="test input"
|
|
128
|
+
/>
|
|
129
|
+
</div>
|
|
94
130
|
</DocumentFragment>
|
|
95
131
|
`;
|
|
96
132
|
|
|
97
133
|
exports[`TextInput validated text input error 1`] = `
|
|
98
134
|
<DocumentFragment>
|
|
99
|
-
<
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
135
|
+
<div
|
|
136
|
+
class="pf-v5-c-form-control pf-m-error"
|
|
137
|
+
>
|
|
138
|
+
<input
|
|
139
|
+
aria-invalid="true"
|
|
140
|
+
aria-label="validated text input"
|
|
141
|
+
data-ouia-component-id="OUIA-Generated-TextInputBase-10"
|
|
142
|
+
data-ouia-component-type="PF4/TextInput"
|
|
143
|
+
data-ouia-safe="true"
|
|
144
|
+
type="text"
|
|
145
|
+
value="test input"
|
|
146
|
+
/>
|
|
147
|
+
<div
|
|
148
|
+
class="pf-v5-c-form-control__utilities"
|
|
149
|
+
>
|
|
150
|
+
<div
|
|
151
|
+
class="pf-v5-c-form-control__icon pf-m-status"
|
|
152
|
+
>
|
|
153
|
+
<svg
|
|
154
|
+
aria-hidden="true"
|
|
155
|
+
class="pf-v5-svg"
|
|
156
|
+
fill="currentColor"
|
|
157
|
+
role="img"
|
|
158
|
+
viewBox="0 0 512 512"
|
|
159
|
+
>
|
|
160
|
+
<path
|
|
161
|
+
d="M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"
|
|
162
|
+
/>
|
|
163
|
+
</svg>
|
|
164
|
+
</div>
|
|
165
|
+
</div>
|
|
166
|
+
</div>
|
|
109
167
|
</DocumentFragment>
|
|
110
168
|
`;
|
|
@@ -6,46 +6,55 @@ cssPrefix: pf-c-form-control
|
|
|
6
6
|
propComponents: ['TextInput']
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+
import CalendarIcon from '@patternfly/react-icons/dist/esm/icons/calendar-icon';
|
|
10
|
+
import ClockIcon from '@patternfly/react-icons/dist/esm/icons/clock-icon';
|
|
11
|
+
|
|
9
12
|
## Examples
|
|
10
13
|
|
|
11
14
|
### Basic
|
|
12
15
|
|
|
13
16
|
```ts file="./TextInputBasic.tsx"
|
|
17
|
+
|
|
14
18
|
```
|
|
15
19
|
|
|
16
20
|
### Disabled
|
|
17
21
|
|
|
18
22
|
```ts file="./TextInputDisabled.tsx"
|
|
23
|
+
|
|
19
24
|
```
|
|
20
25
|
|
|
21
26
|
### Truncated on Left
|
|
22
27
|
|
|
23
28
|
```ts file="./TextInputLeftTruncated.tsx"
|
|
29
|
+
|
|
24
30
|
```
|
|
25
31
|
|
|
26
32
|
### Read only
|
|
27
33
|
|
|
28
34
|
```ts file="./TextInputReadOnly.tsx"
|
|
35
|
+
|
|
29
36
|
```
|
|
30
37
|
|
|
31
38
|
### Invalid
|
|
32
39
|
|
|
33
40
|
```ts file="./TextInputInvalid.tsx"
|
|
41
|
+
|
|
34
42
|
```
|
|
35
43
|
|
|
36
44
|
### Select text using ref
|
|
37
45
|
|
|
38
46
|
```ts file="./TextInputSelectUsingRef.tsx"
|
|
47
|
+
|
|
39
48
|
```
|
|
40
49
|
|
|
41
|
-
###
|
|
50
|
+
### Custom icon
|
|
51
|
+
|
|
52
|
+
```ts file="./TextInputCustomIcon.tsx"
|
|
42
53
|
|
|
43
|
-
```ts file="./TextInputIcon.tsx"
|
|
44
54
|
```
|
|
45
55
|
|
|
46
|
-
###
|
|
56
|
+
### Custom icon and invalid
|
|
47
57
|
|
|
48
|
-
|
|
58
|
+
```ts file="./TextInputCustomIconInvalid.tsx"
|
|
49
59
|
|
|
50
|
-
```ts file="./TextInputIconSprite.tsx"
|
|
51
60
|
```
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TextInput } from '@patternfly/react-core';
|
|
3
|
+
import CalendarIcon from '@patternfly/react-icons/dist/esm/icons/calendar-icon';
|
|
4
|
+
import ClockIcon from '@patternfly/react-icons/dist/esm/icons/clock-icon';
|
|
5
|
+
|
|
6
|
+
export const TextInputCustomIcon: React.FunctionComponent = () => {
|
|
7
|
+
const [calendar, setCalendar] = React.useState('');
|
|
8
|
+
const [clock, setClock] = React.useState('');
|
|
9
|
+
|
|
10
|
+
return (
|
|
11
|
+
<>
|
|
12
|
+
<TextInput
|
|
13
|
+
value={calendar}
|
|
14
|
+
type="text"
|
|
15
|
+
customIcon={<CalendarIcon />}
|
|
16
|
+
onChange={(_event, value) => setCalendar(value)}
|
|
17
|
+
aria-label="text input example with calendar icon"
|
|
18
|
+
/>
|
|
19
|
+
<br />
|
|
20
|
+
<br />
|
|
21
|
+
<TextInput
|
|
22
|
+
value={clock}
|
|
23
|
+
type="text"
|
|
24
|
+
customIcon={<ClockIcon />}
|
|
25
|
+
onChange={(_event, value) => setClock(value)}
|
|
26
|
+
aria-label="text input example with clock icon"
|
|
27
|
+
/>
|
|
28
|
+
</>
|
|
29
|
+
);
|
|
30
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TextInput, ValidatedOptions } from '@patternfly/react-core';
|
|
3
|
+
import CalendarIcon from '@patternfly/react-icons/dist/esm/icons/calendar-icon';
|
|
4
|
+
|
|
5
|
+
export const TextInputCustomIconInvalid: React.FunctionComponent = () => {
|
|
6
|
+
const [calendar, setCalendar] = React.useState('');
|
|
7
|
+
|
|
8
|
+
return (
|
|
9
|
+
<>
|
|
10
|
+
<TextInput
|
|
11
|
+
value={calendar}
|
|
12
|
+
type="text"
|
|
13
|
+
validated={ValidatedOptions.error}
|
|
14
|
+
customIcon={<CalendarIcon />}
|
|
15
|
+
onChange={(_event, value) => setCalendar(value)}
|
|
16
|
+
aria-label="text input example with calendar icon"
|
|
17
|
+
/>
|
|
18
|
+
</>
|
|
19
|
+
);
|
|
20
|
+
};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { css } from '@patternfly/react-styles';
|
|
3
3
|
import datePickerStyles from '@patternfly/react-styles/css/components/DatePicker/date-picker';
|
|
4
|
-
import formStyles from '@patternfly/react-styles/css/components/FormControl/form-control';
|
|
5
4
|
import menuStyles from '@patternfly/react-styles/css/components/Menu/menu';
|
|
6
5
|
import { getUniqueId } from '../../helpers';
|
|
7
6
|
import { Popper } from '../../helpers/Popper/Popper';
|
|
@@ -21,7 +20,7 @@ import {
|
|
|
21
20
|
getSeconds
|
|
22
21
|
} from './TimePickerUtils';
|
|
23
22
|
import { HelperText, HelperTextItem } from '../HelperText';
|
|
24
|
-
|
|
23
|
+
import OutlinedClockIcon from '@patternfly/react-icons/dist/esm/icons/outlined-clock-icon';
|
|
25
24
|
export interface TimePickerProps
|
|
26
25
|
extends Omit<React.HTMLProps<HTMLDivElement>, 'onChange' | 'onFocus' | 'onBlur' | 'disabled' | 'ref'> {
|
|
27
26
|
/** Additional classes added to the time picker. */
|
|
@@ -502,14 +501,13 @@ export class TimePicker extends React.Component<TimePickerProps, TimePickerState
|
|
|
502
501
|
const textInput = (
|
|
503
502
|
<TextInput
|
|
504
503
|
aria-haspopup="menu"
|
|
505
|
-
className={css(formStyles.formControl)}
|
|
506
504
|
id={`${randomId}-input`}
|
|
507
505
|
aria-label={ariaLabel}
|
|
508
506
|
validated={isInvalid ? 'error' : 'default'}
|
|
509
507
|
placeholder={placeholder}
|
|
510
508
|
value={timeState || ''}
|
|
511
509
|
type="text"
|
|
512
|
-
|
|
510
|
+
customIcon={<OutlinedClockIcon />}
|
|
513
511
|
onClick={this.onInputClick}
|
|
514
512
|
onChange={this.onInputChange}
|
|
515
513
|
autoComplete="off"
|
|
@@ -2,6 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import { css } from '@patternfly/react-styles';
|
|
3
3
|
import styles from '@patternfly/react-styles/css/components/TreeView/tree-view';
|
|
4
4
|
import formStyles from '@patternfly/react-styles/css/components/FormControl/form-control';
|
|
5
|
+
import SearchIcon from '@patternfly/react-icons/dist/esm/icons/search-icon';
|
|
5
6
|
|
|
6
7
|
/** Renders a search input for the tree view. This sub-component should be passed into the
|
|
7
8
|
* tree view component's toolbar property.
|
|
@@ -29,15 +30,14 @@ export const TreeViewSearch: React.FunctionComponent<TreeViewSearchProps> = ({
|
|
|
29
30
|
...props
|
|
30
31
|
}: TreeViewSearchProps) => (
|
|
31
32
|
<div className={css(styles.treeViewSearch, className)}>
|
|
32
|
-
<
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
/>
|
|
33
|
+
<div className={css(formStyles.formControl, formStyles.modifiers.icon)}>
|
|
34
|
+
<input onChange={onSearch} id={id} name={name} aria-label={ariaLabel} type="search" {...props} />
|
|
35
|
+
<div className={css(formStyles.formControlUtilities)}>
|
|
36
|
+
<div className={css(formStyles.formControlIcon)}>
|
|
37
|
+
<SearchIcon />
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
41
|
</div>
|
|
42
42
|
);
|
|
43
43
|
TreeViewSearch.displayName = 'TreeViewSearch';
|
|
@@ -2903,13 +2903,35 @@ exports[`tree view renders search successfully 1`] = `
|
|
|
2903
2903
|
<div
|
|
2904
2904
|
class="pf-v5-c-tree-view__search"
|
|
2905
2905
|
>
|
|
2906
|
-
<
|
|
2907
|
-
|
|
2908
|
-
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
|
|
2906
|
+
<div
|
|
2907
|
+
class="pf-v5-c-form-control pf-m-icon"
|
|
2908
|
+
>
|
|
2909
|
+
<input
|
|
2910
|
+
aria-label="Search input example"
|
|
2911
|
+
id="input-search"
|
|
2912
|
+
name="search-input"
|
|
2913
|
+
type="search"
|
|
2914
|
+
/>
|
|
2915
|
+
<div
|
|
2916
|
+
class="pf-v5-c-form-control__utilities"
|
|
2917
|
+
>
|
|
2918
|
+
<div
|
|
2919
|
+
class="pf-v5-c-form-control__icon"
|
|
2920
|
+
>
|
|
2921
|
+
<svg
|
|
2922
|
+
aria-hidden="true"
|
|
2923
|
+
class="pf-v5-svg"
|
|
2924
|
+
fill="currentColor"
|
|
2925
|
+
role="img"
|
|
2926
|
+
viewBox="0 0 512 512"
|
|
2927
|
+
>
|
|
2928
|
+
<path
|
|
2929
|
+
d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"
|
|
2930
|
+
/>
|
|
2931
|
+
</svg>
|
|
2932
|
+
</div>
|
|
2933
|
+
</div>
|
|
2934
|
+
</div>
|
|
2913
2935
|
</div>
|
|
2914
2936
|
</DocumentFragment>
|
|
2915
2937
|
`;
|
|
@@ -96,7 +96,7 @@ export const DateTimePicker: React.FunctionComponent = () => {
|
|
|
96
96
|
id="date-time"
|
|
97
97
|
aria-label="date and time picker demo"
|
|
98
98
|
value={valueDate + ' ' + valueTime}
|
|
99
|
-
|
|
99
|
+
readOnlyVariant="default"
|
|
100
100
|
/>
|
|
101
101
|
</InputGroupItem>
|
|
102
102
|
<InputGroupItem>{calendarButton}</InputGroupItem>
|
|
@@ -295,7 +295,7 @@ export class Select extends React.Component<SelectProps & OUIAProps, SelectState
|
|
|
295
295
|
// Move focus to top of the menu if state.focusFirstOption was updated to true and the menu does not have custom content
|
|
296
296
|
if (!prevState.focusFirstOption && this.state.focusFirstOption && !this.props.customContent) {
|
|
297
297
|
const firstRef = this.refCollection.find(
|
|
298
|
-
ref =>
|
|
298
|
+
(ref) =>
|
|
299
299
|
// If a select option is disabled then ref[0] will be undefined, so we want to return
|
|
300
300
|
// the first ref that both a) is not null and b) is not disabled.
|
|
301
301
|
ref !== null && ref[0]
|
|
@@ -467,14 +467,14 @@ export class Select extends React.Component<SelectProps & OUIAProps, SelectState
|
|
|
467
467
|
this.getDisplay(child.props.value.toString(), 'text').search(input) === 0;
|
|
468
468
|
typeaheadFilteredChildren =
|
|
469
469
|
typeaheadInputValue.toString() !== ''
|
|
470
|
-
? React.Children.map(children, group => {
|
|
470
|
+
? React.Children.map(children, (group) => {
|
|
471
471
|
if (
|
|
472
472
|
React.isValidElement<React.ComponentProps<typeof SelectGroup>>(group) &&
|
|
473
473
|
group.type === SelectGroup
|
|
474
474
|
) {
|
|
475
|
-
const filteredGroupChildren = (
|
|
476
|
-
SelectGroupProps
|
|
477
|
-
|
|
475
|
+
const filteredGroupChildren = (
|
|
476
|
+
React.Children.toArray(group.props.children) as React.ReactElement<SelectGroupProps>[]
|
|
477
|
+
).filter(childFilter);
|
|
478
478
|
if (filteredGroupChildren.length > 0) {
|
|
479
479
|
return React.cloneElement(group, {
|
|
480
480
|
titleId: group.props.label && group.props.label.replace(/\W/g, '-'),
|
|
@@ -489,7 +489,7 @@ export class Select extends React.Component<SelectProps & OUIAProps, SelectState
|
|
|
489
489
|
} else {
|
|
490
490
|
typeaheadFilteredChildren =
|
|
491
491
|
typeaheadInputValue.toString() !== ''
|
|
492
|
-
? childrenArray.filter(child => {
|
|
492
|
+
? childrenArray.filter((child) => {
|
|
493
493
|
const valueToCheck = child.props.value;
|
|
494
494
|
// Dividers don't have value and should not be filtered
|
|
495
495
|
if (!valueToCheck) {
|
|
@@ -540,10 +540,7 @@ export class Select extends React.Component<SelectProps & OUIAProps, SelectState
|
|
|
540
540
|
const newOptionValue = isCreateSelectOptionObject
|
|
541
541
|
? ({
|
|
542
542
|
toString: () => newValue,
|
|
543
|
-
compareTo: value =>
|
|
544
|
-
this.toString()
|
|
545
|
-
.toLowerCase()
|
|
546
|
-
.includes(value.toString().toLowerCase())
|
|
543
|
+
compareTo: (value) => this.toString().toLowerCase().includes(value.toString().toLowerCase())
|
|
547
544
|
} as SelectOptionObject)
|
|
548
545
|
: newValue;
|
|
549
546
|
|
|
@@ -665,8 +662,8 @@ export class Select extends React.Component<SelectProps & OUIAProps, SelectState
|
|
|
665
662
|
optionContainerRef: React.ReactNode,
|
|
666
663
|
index: number
|
|
667
664
|
) => {
|
|
668
|
-
this.refCollection[index] = [
|
|
669
|
-
this.optionContainerRefCollection[index] =
|
|
665
|
+
this.refCollection[index] = [optionRef as unknown as HTMLElement, favoriteRef as unknown as HTMLElement];
|
|
666
|
+
this.optionContainerRefCollection[index] = optionContainerRef as unknown as HTMLElement;
|
|
670
667
|
};
|
|
671
668
|
|
|
672
669
|
handleMenuKeys = (index: number, innerIndex: number, position: string) => {
|
|
@@ -698,7 +695,7 @@ export class Select extends React.Component<SelectProps & OUIAProps, SelectState
|
|
|
698
695
|
// !isLoad prevents the view more button text from appearing the typeahead input
|
|
699
696
|
typeaheadInputValue = optionTextElm.textContent;
|
|
700
697
|
}
|
|
701
|
-
this.setState(prevState => ({
|
|
698
|
+
this.setState((prevState) => ({
|
|
702
699
|
typeaheadCurrIndex: updateCurrentIndex ? nextIndex : prevState.typeaheadCurrIndex,
|
|
703
700
|
typeaheadStoredIndex: nextIndex,
|
|
704
701
|
typeaheadInputValue
|
|
@@ -900,7 +897,7 @@ export class Select extends React.Component<SelectProps & OUIAProps, SelectState
|
|
|
900
897
|
this.moveFocus(nextIndex);
|
|
901
898
|
} else {
|
|
902
899
|
const nextIndex = this.refCollection.findIndex(
|
|
903
|
-
ref => ref !== undefined && (ref[0] === document.activeElement || ref[1] === document.activeElement)
|
|
900
|
+
(ref) => ref !== undefined && (ref[0] === document.activeElement || ref[1] === document.activeElement)
|
|
904
901
|
);
|
|
905
902
|
this.moveFocus(nextIndex);
|
|
906
903
|
}
|
|
@@ -920,9 +917,9 @@ export class Select extends React.Component<SelectProps & OUIAProps, SelectState
|
|
|
920
917
|
const item = this.props.isGrouped
|
|
921
918
|
? (React.Children.toArray(this.props.children) as React.ReactElement[])
|
|
922
919
|
.reduce((acc, curr) => [...acc, ...React.Children.toArray(curr.props.children)], [])
|
|
923
|
-
.find(child => child.props.value.toString() === value.toString())
|
|
920
|
+
.find((child) => child.props.value.toString() === value.toString())
|
|
924
921
|
: React.Children.toArray(this.props.children).find(
|
|
925
|
-
child =>
|
|
922
|
+
(child) =>
|
|
926
923
|
(child as React.ReactElement).props.value &&
|
|
927
924
|
(child as React.ReactElement).props.value.toString() === value.toString()
|
|
928
925
|
);
|
|
@@ -945,7 +942,7 @@ export class Select extends React.Component<SelectProps & OUIAProps, SelectState
|
|
|
945
942
|
return '';
|
|
946
943
|
} else {
|
|
947
944
|
const multi: string[] = [];
|
|
948
|
-
React.Children.toArray(item.props.children).forEach(child => multi.push(this.findText(child)));
|
|
945
|
+
React.Children.toArray(item.props.children).forEach((child) => multi.push(this.findText(child)));
|
|
949
946
|
return multi.join('');
|
|
950
947
|
}
|
|
951
948
|
};
|
|
@@ -1084,7 +1081,7 @@ export class Select extends React.Component<SelectProps & OUIAProps, SelectState
|
|
|
1084
1081
|
}
|
|
1085
1082
|
|
|
1086
1083
|
if (isOpen) {
|
|
1087
|
-
if (renderableItems.find(item => (item as any)?.key === 'loading') === undefined) {
|
|
1084
|
+
if (renderableItems.find((item) => (item as any)?.key === 'loading') === undefined) {
|
|
1088
1085
|
if (loadingVariant === 'spinner') {
|
|
1089
1086
|
renderableItems.push(
|
|
1090
1087
|
<SelectOption isLoading key="loading" value="loading">
|
|
@@ -1109,7 +1106,7 @@ export class Select extends React.Component<SelectProps & OUIAProps, SelectState
|
|
|
1109
1106
|
const clearBtn = (
|
|
1110
1107
|
<button
|
|
1111
1108
|
className={css(buttonStyles.button, buttonStyles.modifiers.plain, styles.selectToggleClear)}
|
|
1112
|
-
onClick={e => {
|
|
1109
|
+
onClick={(e) => {
|
|
1113
1110
|
this.clearSelection(e);
|
|
1114
1111
|
onClear(e);
|
|
1115
1112
|
e.stopPropagation();
|
|
@@ -1118,7 +1115,7 @@ export class Select extends React.Component<SelectProps & OUIAProps, SelectState
|
|
|
1118
1115
|
type="button"
|
|
1119
1116
|
disabled={isDisabled}
|
|
1120
1117
|
ref={this.clearRef}
|
|
1121
|
-
onKeyDown={event => {
|
|
1118
|
+
onKeyDown={(event) => {
|
|
1122
1119
|
if (event.key === KeyTypes.Enter) {
|
|
1123
1120
|
this.clearRef.current.click();
|
|
1124
1121
|
}
|
|
@@ -1135,7 +1132,7 @@ export class Select extends React.Component<SelectProps & OUIAProps, SelectState
|
|
|
1135
1132
|
) : (
|
|
1136
1133
|
<ChipGroup {...chipGroupProps}>
|
|
1137
1134
|
{selections &&
|
|
1138
|
-
(selections as string[]).map(item => (
|
|
1135
|
+
(selections as string[]).map((item) => (
|
|
1139
1136
|
<Chip
|
|
1140
1137
|
key={item}
|
|
1141
1138
|
onClick={(e: React.MouseEvent) => onSelect(e, item)}
|
|
@@ -1151,14 +1148,13 @@ export class Select extends React.Component<SelectProps & OUIAProps, SelectState
|
|
|
1151
1148
|
if (hasInlineFilter) {
|
|
1152
1149
|
const filterBox = (
|
|
1153
1150
|
<React.Fragment>
|
|
1154
|
-
<div key="inline-filter" className={css(styles.selectMenuSearch)}>
|
|
1151
|
+
<div key="inline-filter" className={css(styles.selectMenuSearch, formStyles.formControl)}>
|
|
1155
1152
|
<input
|
|
1156
1153
|
key="inline-filter-input"
|
|
1157
1154
|
type="search"
|
|
1158
|
-
className={css(formStyles.formControl, formStyles.modifiers.search)}
|
|
1159
1155
|
onChange={this.onChange}
|
|
1160
1156
|
placeholder={inlineFilterPlaceholderText}
|
|
1161
|
-
onKeyDown={event => {
|
|
1157
|
+
onKeyDown={(event) => {
|
|
1162
1158
|
if (event.key === KeyTypes.ArrowUp) {
|
|
1163
1159
|
this.handleMenuKeys(0, 0, 'up');
|
|
1164
1160
|
event.preventDefault();
|
|
@@ -1462,7 +1458,7 @@ export class Select extends React.Component<SelectProps & OUIAProps, SelectState
|
|
|
1462
1458
|
|
|
1463
1459
|
return (
|
|
1464
1460
|
<GenerateId>
|
|
1465
|
-
{randomId => (
|
|
1461
|
+
{(randomId) => (
|
|
1466
1462
|
<SelectContext.Provider
|
|
1467
1463
|
value={{
|
|
1468
1464
|
onSelect,
|
|
@@ -1192,11 +1192,10 @@ exports[`checkbox select renders expanded with filtering successfully 1`] = `
|
|
|
1192
1192
|
class="pf-v5-c-form__fieldset"
|
|
1193
1193
|
>
|
|
1194
1194
|
<div
|
|
1195
|
-
class="pf-v5-c-select__menu-search"
|
|
1195
|
+
class="pf-v5-c-select__menu-search pf-v5-c-form-control"
|
|
1196
1196
|
>
|
|
1197
1197
|
<input
|
|
1198
1198
|
autocomplete="off"
|
|
1199
|
-
class="pf-v5-c-form-control pf-m-search"
|
|
1200
1199
|
type="search"
|
|
1201
1200
|
/>
|
|
1202
1201
|
</div>
|