@patternfly/react-core 5.0.0-alpha.106 → 5.0.0-alpha.108
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 +16 -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/package.json +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/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/Dropdown.d.ts +11 -3
- package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.js +11 -5
- package/dist/esm/components/Dropdown/Dropdown.js.map +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/package.json +1 -1
- package/dist/esm/components/Form/package.json +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/MenuItem.d.ts +1 -1
- package/dist/esm/components/Menu/MenuItem.d.ts.map +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/MultipleFileUploadStatusItem.d.ts +1 -1
- package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatusItem.d.ts.map +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/Progress.d.ts +1 -1
- package/dist/esm/components/Progress/ProgressContainer.d.ts +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/package.json +1 -1
- package/dist/esm/components/SearchInput/package.json +1 -1
- package/dist/esm/components/Select/Select.d.ts +31 -5
- package/dist/esm/components/Select/Select.d.ts.map +1 -1
- package/dist/esm/components/Select/Select.js +16 -10
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/esm/components/Select/SelectGroup.d.ts +3 -0
- package/dist/esm/components/Select/SelectGroup.d.ts.map +1 -1
- package/dist/esm/components/Select/SelectGroup.js.map +1 -1
- package/dist/esm/components/Select/SelectOption.d.ts +14 -1
- package/dist/esm/components/Select/SelectOption.d.ts.map +1 -1
- package/dist/esm/components/Select/SelectOption.js +4 -3
- package/dist/esm/components/Select/SelectOption.js.map +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/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/Tab.d.ts +3 -3
- package/dist/esm/components/Tabs/Tab.d.ts.map +1 -1
- package/dist/esm/components/Tabs/Tabs.d.ts +1 -1
- package/dist/esm/components/Tabs/Tabs.d.ts.map +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/package.json +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/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/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/DropdownToggleCheckbox.d.ts +3 -3
- package/dist/esm/deprecated/components/Dropdown/DropdownToggleCheckbox.d.ts.map +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/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/Popper.d.ts +1 -1
- package/dist/esm/helpers/Popper/Popper.d.ts.map +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/Flex.d.ts +27 -0
- package/dist/esm/layouts/Flex/Flex.d.ts.map +1 -1
- package/dist/esm/layouts/Flex/Flex.js +2 -2
- package/dist/esm/layouts/Flex/Flex.js.map +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/package.json +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/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/Dropdown.d.ts +11 -3
- package/dist/js/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/js/components/Dropdown/Dropdown.js +11 -5
- package/dist/js/components/Dropdown/Dropdown.js.map +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/package.json +1 -1
- package/dist/js/components/Form/package.json +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/MenuItem.d.ts +1 -1
- package/dist/js/components/Menu/MenuItem.d.ts.map +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/MultipleFileUploadStatusItem.d.ts +1 -1
- package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatusItem.d.ts.map +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/Progress.d.ts +1 -1
- package/dist/js/components/Progress/ProgressContainer.d.ts +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/package.json +1 -1
- package/dist/js/components/SearchInput/package.json +1 -1
- package/dist/js/components/Select/Select.d.ts +31 -5
- package/dist/js/components/Select/Select.d.ts.map +1 -1
- package/dist/js/components/Select/Select.js +16 -10
- package/dist/js/components/Select/Select.js.map +1 -1
- package/dist/js/components/Select/SelectGroup.d.ts +3 -0
- package/dist/js/components/Select/SelectGroup.d.ts.map +1 -1
- package/dist/js/components/Select/SelectGroup.js.map +1 -1
- package/dist/js/components/Select/SelectOption.d.ts +14 -1
- package/dist/js/components/Select/SelectOption.d.ts.map +1 -1
- package/dist/js/components/Select/SelectOption.js +4 -4
- package/dist/js/components/Select/SelectOption.js.map +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/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/Tab.d.ts +3 -3
- package/dist/js/components/Tabs/Tab.d.ts.map +1 -1
- package/dist/js/components/Tabs/Tabs.d.ts +1 -1
- package/dist/js/components/Tabs/Tabs.d.ts.map +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/package.json +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/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/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/DropdownToggleCheckbox.d.ts +3 -3
- package/dist/js/deprecated/components/Dropdown/DropdownToggleCheckbox.d.ts.map +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/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/Popper.d.ts +1 -1
- package/dist/js/helpers/Popper/Popper.d.ts.map +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/Flex.d.ts +27 -0
- package/dist/js/layouts/Flex/Flex.d.ts.map +1 -1
- package/dist/js/layouts/Flex/Flex.js +2 -2
- package/dist/js/layouts/Flex/Flex.js.map +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 +2 -2
- package/package.json +2 -2
- package/src/components/DatePicker/__tests__/__snapshots__/DatePicker.test.tsx.snap +27 -29
- package/src/components/DatePicker/examples/DatePicker.md +0 -1
- package/src/components/Dropdown/Dropdown.tsx +25 -11
- package/src/components/Dropdown/examples/Dropdown.md +10 -1
- package/src/components/Dropdown/examples/DropdownBasic.tsx +2 -6
- package/src/components/Dropdown/examples/DropdownWithDescriptions.tsx +2 -6
- package/src/components/Dropdown/examples/DropdownWithGroups.tsx +2 -6
- package/src/components/Dropdown/examples/DropdownWithKebabToggle.tsx +2 -6
- package/src/components/Icon/examples/Icon.md +0 -1
- package/src/components/Menu/MenuItem.tsx +1 -1
- package/src/components/Menu/examples/Menu.md +1 -1
- package/src/components/MultipleFileUpload/MultipleFileUploadStatusItem.tsx +1 -1
- package/src/components/Progress/Progress.tsx +1 -1
- package/src/components/Progress/ProgressContainer.tsx +1 -1
- package/src/components/Progress/examples/Progress.md +1 -1
- package/src/components/ProgressStepper/examples/ProgressStepper.md +0 -1
- package/src/components/SearchInput/examples/SearchInput.md +0 -1
- package/src/components/Select/Select.tsx +62 -24
- package/src/components/Select/SelectGroup.tsx +3 -0
- package/src/components/Select/SelectOption.tsx +22 -2
- package/src/components/Select/examples/Select.md +49 -2
- package/src/components/Select/examples/SelectBasic.tsx +27 -17
- package/src/components/Select/examples/SelectCheckbox.tsx +1 -3
- package/src/components/Select/examples/SelectFooter.tsx +57 -0
- package/src/components/Select/examples/SelectGrouped.tsx +14 -6
- package/src/components/Select/examples/SelectMultiTypeahead.tsx +7 -12
- package/src/components/Select/examples/SelectMultiTypeaheadCheckbox.tsx +204 -0
- package/src/components/Select/examples/SelectMultiTypeaheadCreatable.tsx +222 -0
- package/src/components/Select/examples/SelectOptionVariations.tsx +70 -0
- package/src/components/Select/examples/SelectTypeahead.tsx +13 -13
- package/src/components/Select/examples/SelectTypeaheadCreatable.tsx +220 -0
- package/src/components/Select/examples/SelectViewMore.tsx +146 -0
- package/src/components/Tabs/Tab.tsx +3 -3
- package/src/components/Tabs/Tabs.tsx +1 -1
- package/src/components/Tabs/examples/Tabs.md +3 -3
- package/src/components/TextInputGroup/examples/TextInputGroup.md +0 -1
- package/src/components/Tile/examples/Tile.md +0 -1
- package/src/components/Truncate/examples/Truncate.md +1 -2
- package/src/demos/ComposableMenu/ComposableMenu.md +17 -3
- package/src/demos/DatePicker/DatePicker.md +0 -1
- package/src/demos/ProgressStepperDemo.md +0 -1
- package/src/demos/SearchInput/SearchInput.md +0 -1
- package/src/demos/TextInputGroupDemo.md +0 -1
- package/src/deprecated/components/Dropdown/DropdownToggleCheckbox.tsx +3 -3
- package/src/deprecated/components/Dropdown/examples/Dropdown.md +1 -1
- package/src/helpers/Popper/Popper.tsx +1 -1
- package/src/layouts/Flex/Flex.tsx +141 -0
- package/src/layouts/Flex/__tests__/Flex.test.tsx +30 -10
- package/src/layouts/Flex/examples/Flex.md +192 -65
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Select, SelectOption, SelectList, MenuToggle, Spinner } from '@patternfly/react-core';
|
|
3
|
+
|
|
4
|
+
export const SelectViewMore: React.FunctionComponent = () => {
|
|
5
|
+
const [isOpen, setIsOpen] = React.useState(false);
|
|
6
|
+
const [selected, setSelected] = React.useState<string>('Select a value');
|
|
7
|
+
const [activeItem, setActiveItem] = React.useState<number | string>(0);
|
|
8
|
+
const [isLoading, setIsLoading] = React.useState(false);
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
10
|
+
const [selectOptions, setSelectOptions] = React.useState([
|
|
11
|
+
<SelectOption key={0} itemId="Option 1">
|
|
12
|
+
Option 1
|
|
13
|
+
</SelectOption>,
|
|
14
|
+
<SelectOption key={1} itemId="Option 2">
|
|
15
|
+
Option 2
|
|
16
|
+
</SelectOption>,
|
|
17
|
+
<SelectOption key={2} itemId="Option 3">
|
|
18
|
+
Option 3
|
|
19
|
+
</SelectOption>,
|
|
20
|
+
<SelectOption key={3} itemId="Option 4">
|
|
21
|
+
Option 4
|
|
22
|
+
</SelectOption>,
|
|
23
|
+
<SelectOption key={4} itemId="Option 5">
|
|
24
|
+
Option 5
|
|
25
|
+
</SelectOption>,
|
|
26
|
+
<SelectOption key={5} itemId="Option 6">
|
|
27
|
+
Option 6
|
|
28
|
+
</SelectOption>,
|
|
29
|
+
<SelectOption key={6} itemId="Option 7">
|
|
30
|
+
Option 7
|
|
31
|
+
</SelectOption>,
|
|
32
|
+
<SelectOption key={7} itemId="Option 8">
|
|
33
|
+
Option 8
|
|
34
|
+
</SelectOption>,
|
|
35
|
+
<SelectOption key={8} itemId="Option 9">
|
|
36
|
+
Option 9
|
|
37
|
+
</SelectOption>,
|
|
38
|
+
<SelectOption key={9} itemId="Final Option 10">
|
|
39
|
+
Final Option 10
|
|
40
|
+
</SelectOption>
|
|
41
|
+
]);
|
|
42
|
+
const [numOptions, setNumOptions] = React.useState(3);
|
|
43
|
+
const [visibleOptions, setVisibleOptions] = React.useState(selectOptions.slice(0, numOptions));
|
|
44
|
+
const activeItemRef = React.useRef<HTMLElement>(null);
|
|
45
|
+
const viewMoreRef = React.useRef<HTMLLIElement>(null);
|
|
46
|
+
const toggleRef = React.useRef<HTMLButtonElement>(null);
|
|
47
|
+
|
|
48
|
+
React.useEffect(() => {
|
|
49
|
+
activeItemRef.current?.focus();
|
|
50
|
+
}, [visibleOptions]);
|
|
51
|
+
|
|
52
|
+
const simulateNetworkCall = (networkCallback: () => void) => {
|
|
53
|
+
setTimeout(networkCallback, 2000);
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const getNextValidItem = (startingIndex: number, maxLength: number) => {
|
|
57
|
+
let validItem;
|
|
58
|
+
for (let i = startingIndex; i < maxLength; i++) {
|
|
59
|
+
if (selectOptions[i].props.isDisabled) {
|
|
60
|
+
continue;
|
|
61
|
+
} else {
|
|
62
|
+
validItem = selectOptions[i];
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return validItem;
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
const loadMoreOptions = () => {
|
|
70
|
+
const newLength = numOptions + 3 <= selectOptions.length ? numOptions + 3 : selectOptions.length;
|
|
71
|
+
const prevPosition = numOptions;
|
|
72
|
+
const nextValidItem = getNextValidItem(prevPosition, newLength);
|
|
73
|
+
|
|
74
|
+
setNumOptions(newLength);
|
|
75
|
+
setIsLoading(false);
|
|
76
|
+
setActiveItem(nextValidItem.props.itemId);
|
|
77
|
+
setVisibleOptions(selectOptions.slice(0, newLength));
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
const onViewMoreClick = () => {
|
|
81
|
+
setIsLoading(true);
|
|
82
|
+
simulateNetworkCall(() => {
|
|
83
|
+
loadMoreOptions();
|
|
84
|
+
});
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
const onToggleClick = () => {
|
|
88
|
+
setIsOpen(!isOpen);
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
const onSelect = (_event: React.MouseEvent<Element, MouseEvent> | undefined, itemId: string | number | undefined) => {
|
|
92
|
+
// eslint-disable-next-line no-console
|
|
93
|
+
console.log('selected', itemId);
|
|
94
|
+
|
|
95
|
+
if (itemId !== 'loader') {
|
|
96
|
+
setSelected(itemId as string);
|
|
97
|
+
setIsOpen(false);
|
|
98
|
+
toggleRef?.current?.focus(); // Only focus the toggle when a non-loader option is selected
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
const toggle = (
|
|
103
|
+
<MenuToggle
|
|
104
|
+
ref={toggleRef}
|
|
105
|
+
onClick={onToggleClick}
|
|
106
|
+
isExpanded={isOpen}
|
|
107
|
+
style={
|
|
108
|
+
{
|
|
109
|
+
width: '200px'
|
|
110
|
+
} as React.CSSProperties
|
|
111
|
+
}
|
|
112
|
+
>
|
|
113
|
+
{selected}
|
|
114
|
+
</MenuToggle>
|
|
115
|
+
);
|
|
116
|
+
|
|
117
|
+
return (
|
|
118
|
+
<Select
|
|
119
|
+
id="single-view-more-select"
|
|
120
|
+
isOpen={isOpen}
|
|
121
|
+
selected={selected}
|
|
122
|
+
onSelect={onSelect}
|
|
123
|
+
onOpenChange={(isOpen) => setIsOpen(isOpen)}
|
|
124
|
+
toggle={{ toggleNode: toggle, toggleRef }}
|
|
125
|
+
>
|
|
126
|
+
<SelectList>
|
|
127
|
+
{visibleOptions.map((option) => {
|
|
128
|
+
const props = option.props;
|
|
129
|
+
|
|
130
|
+
return <SelectOption key={option.key} ref={props.itemId === activeItem ? activeItemRef : null} {...props} />;
|
|
131
|
+
})}
|
|
132
|
+
{numOptions !== selectOptions.length && (
|
|
133
|
+
<SelectOption
|
|
134
|
+
{...(!isLoading && { isLoadButton: true })}
|
|
135
|
+
{...(isLoading && { isLoading: true })}
|
|
136
|
+
onClick={onViewMoreClick}
|
|
137
|
+
itemId="loader"
|
|
138
|
+
ref={viewMoreRef}
|
|
139
|
+
>
|
|
140
|
+
{isLoading ? <Spinner size="lg" /> : 'View more'}
|
|
141
|
+
</SelectOption>
|
|
142
|
+
)}
|
|
143
|
+
</SelectList>
|
|
144
|
+
</Select>
|
|
145
|
+
);
|
|
146
|
+
};
|
|
@@ -37,11 +37,11 @@ export interface TabProps
|
|
|
37
37
|
innerRef?: React.Ref<any>;
|
|
38
38
|
/** Optional Tooltip rendered to a Tab. Should be <Tooltip> with appropriate props for proper rendering. */
|
|
39
39
|
tooltip?: React.ReactElement<any>;
|
|
40
|
-
/**
|
|
40
|
+
/** Aria-label for the close button added by passing the onClose property to Tabs. */
|
|
41
41
|
closeButtonAriaLabel?: string;
|
|
42
|
-
/**
|
|
42
|
+
/** Flag indicating the close button should be disabled */
|
|
43
43
|
isCloseDisabled?: boolean;
|
|
44
|
-
/**
|
|
44
|
+
/** Actions rendered beside the tab content */
|
|
45
45
|
actions?: React.ReactNode;
|
|
46
46
|
/** Value to set the data-ouia-component-id for the tab button.*/
|
|
47
47
|
ouiaId?: number | string;
|
|
@@ -105,7 +105,7 @@ export interface TabsProps extends Omit<React.HTMLProps<HTMLElement | HTMLDivEle
|
|
|
105
105
|
toggleAriaLabel?: string;
|
|
106
106
|
/** Callback function to toggle the expandable tabs. */
|
|
107
107
|
onToggle?: (event: React.MouseEvent, isExpanded: boolean) => void;
|
|
108
|
-
/**
|
|
108
|
+
/** Flag which places overflowing tabs into a menu triggered by the last tab. Additionally an object can be passed with custom settings for the overflow tab. */
|
|
109
109
|
isOverflowHorizontal?: boolean | HorizontalOverflowObject;
|
|
110
110
|
/** Value to overwrite the randomly generated data-ouia-component-id.*/
|
|
111
111
|
ouiaId?: number | string;
|
|
@@ -89,7 +89,7 @@ To enable horizontal overflow, use the `isOverflowHorizontal` property.
|
|
|
89
89
|
|
|
90
90
|
In the following example, select the 'Show overflowing tab count' checkbox to add a count of overflow items to the final “more” tab.
|
|
91
91
|
|
|
92
|
-
```ts file="./TabsHorizontalOverflow.tsx"
|
|
92
|
+
```ts file="./TabsHorizontalOverflow.tsx"
|
|
93
93
|
```
|
|
94
94
|
|
|
95
95
|
### With tooltip react ref
|
|
@@ -218,7 +218,7 @@ You may add a help action to a tab to provide users with additional context in a
|
|
|
218
218
|
|
|
219
219
|
To render an action beside the tab content, use the `actions` property of a `<Tab>`. Pass a popover and a `<TabsAction>` component into the `actions` property.
|
|
220
220
|
|
|
221
|
-
```ts file="./TabsHelp.tsx"
|
|
221
|
+
```ts file="./TabsHelp.tsx"
|
|
222
222
|
```
|
|
223
223
|
|
|
224
224
|
### With help and close actions
|
|
@@ -227,5 +227,5 @@ To add multiple actions to a tab, create a `<TabAction>` component for each acti
|
|
|
227
227
|
|
|
228
228
|
The following example passes in both help popover and close actions.
|
|
229
229
|
|
|
230
|
-
```ts file="./TabsHelpAndClose.tsx"
|
|
230
|
+
```ts file="./TabsHelpAndClose.tsx"
|
|
231
231
|
```
|
|
@@ -32,36 +32,43 @@ Custom menus can be constructed using a composable approach by combining the [Me
|
|
|
32
32
|
### Composable simple dropdown
|
|
33
33
|
|
|
34
34
|
```ts file="./examples/ComposableSimpleDropdown.tsx"
|
|
35
|
+
|
|
35
36
|
```
|
|
36
37
|
|
|
37
38
|
### Composable actions menu
|
|
38
39
|
|
|
39
40
|
```ts file="./examples/ComposableActionsMenu.tsx"
|
|
41
|
+
|
|
40
42
|
```
|
|
41
43
|
|
|
42
44
|
### Composable simple select
|
|
43
45
|
|
|
44
46
|
```ts file="./examples/ComposableSimpleSelect.tsx"
|
|
47
|
+
|
|
45
48
|
```
|
|
46
49
|
|
|
47
50
|
### Composable simple checkbox select
|
|
48
51
|
|
|
49
|
-
```ts
|
|
52
|
+
```ts file="./examples/ComposableSimpleCheckboxSelect.tsx"
|
|
53
|
+
|
|
50
54
|
```
|
|
51
55
|
|
|
52
56
|
### Composable typeahead select
|
|
53
57
|
|
|
54
|
-
```ts
|
|
58
|
+
```ts file="./examples/ComposableTypeaheadSelect.tsx"
|
|
59
|
+
|
|
55
60
|
```
|
|
56
61
|
|
|
57
62
|
### Composable multiple typeahead select
|
|
58
63
|
|
|
59
|
-
```ts
|
|
64
|
+
```ts file="./examples/ComposableMultipleTypeaheadSelect.tsx"
|
|
65
|
+
|
|
60
66
|
```
|
|
61
67
|
|
|
62
68
|
### Composable drilldown menu
|
|
63
69
|
|
|
64
70
|
```ts isBeta file="./examples/ComposableDrilldownMenu.tsx"
|
|
71
|
+
|
|
65
72
|
```
|
|
66
73
|
|
|
67
74
|
### Composable tree view menu
|
|
@@ -69,6 +76,7 @@ Custom menus can be constructed using a composable approach by combining the [Me
|
|
|
69
76
|
When rendering a menu-like element that does not contain MenuItem components, [Panel](/components/panel) allows more flexible control and customization.
|
|
70
77
|
|
|
71
78
|
```ts file="./examples/ComposableTreeViewMenu.tsx"
|
|
79
|
+
|
|
72
80
|
```
|
|
73
81
|
|
|
74
82
|
### Composable flyout
|
|
@@ -76,29 +84,35 @@ When rendering a menu-like element that does not contain MenuItem components, [P
|
|
|
76
84
|
The flyout will automatically position to the left or top if it would otherwise go outside the window. The menu must be placed in a container outside the main content like Popper, [Popover](/components/popover) or [Tooltip](/components/tooltip) since it may go over the side nav.
|
|
77
85
|
|
|
78
86
|
```ts isBeta file="./examples/ComposableFlyout.tsx"
|
|
87
|
+
|
|
79
88
|
```
|
|
80
89
|
|
|
81
90
|
### Composable application launcher
|
|
82
91
|
|
|
83
92
|
```ts file="./examples/ComposableApplicationLauncher.tsx"
|
|
93
|
+
|
|
84
94
|
```
|
|
85
95
|
|
|
86
96
|
### Composable context selector
|
|
87
97
|
|
|
88
98
|
```ts file="./examples/ComposableContextSelector.tsx"
|
|
99
|
+
|
|
89
100
|
```
|
|
90
101
|
|
|
91
102
|
### Composable options menu variants
|
|
92
103
|
|
|
93
104
|
```ts file="./examples/ComposableOptionsMenuVariants.tsx"
|
|
105
|
+
|
|
94
106
|
```
|
|
95
107
|
|
|
96
108
|
### Composable dropdown variants
|
|
97
109
|
|
|
98
110
|
```ts file="./examples/ComposableDropdwnVariants.tsx"
|
|
111
|
+
|
|
99
112
|
```
|
|
100
113
|
|
|
101
114
|
### Composable date select
|
|
102
115
|
|
|
103
116
|
```ts file="./examples/ComposableDateSelect.tsx"
|
|
117
|
+
|
|
104
118
|
```
|
|
@@ -16,7 +16,7 @@ export interface DropdownToggleCheckboxProps
|
|
|
16
16
|
isDisabled?: boolean;
|
|
17
17
|
/** Flag to show if the checkbox is checked */
|
|
18
18
|
isChecked?: boolean | null;
|
|
19
|
-
/**
|
|
19
|
+
/** Flag to show if the checkbox is in progress */
|
|
20
20
|
isInProgress?: boolean | null;
|
|
21
21
|
/** Alternate Flag to show if the checkbox is checked */
|
|
22
22
|
checked?: boolean | null;
|
|
@@ -28,9 +28,9 @@ export interface DropdownToggleCheckboxProps
|
|
|
28
28
|
id: string;
|
|
29
29
|
/** Aria-label of the checkbox */
|
|
30
30
|
'aria-label': string;
|
|
31
|
-
/**
|
|
31
|
+
/** Text describing current loading status or progress */
|
|
32
32
|
defaultProgressAriaValueText?: string;
|
|
33
|
-
/**
|
|
33
|
+
/** Aria-label for the default progress icon to describe what is loading */
|
|
34
34
|
defaultProgressAriaLabel?: string;
|
|
35
35
|
/** Value to overwrite the randomly generated data-ouia-component-id.*/
|
|
36
36
|
ouiaId?: number | string;
|
|
@@ -161,7 +161,7 @@ Text labels may optionally be used alongside actions within split buttons.
|
|
|
161
161
|
|
|
162
162
|
The `isInProgress` property can be used to indicate a progress state by rendering a spinner in place of a checkbox.
|
|
163
163
|
|
|
164
|
-
```ts
|
|
164
|
+
```ts file="./DropdownSplitButtonProgressCheckbox.tsx"
|
|
165
165
|
|
|
166
166
|
```
|
|
167
167
|
|
|
@@ -68,7 +68,7 @@ export interface PopperProps {
|
|
|
68
68
|
position?: 'right' | 'left' | 'center';
|
|
69
69
|
/** Instead of direction and position can set the placement of the popper */
|
|
70
70
|
placement?: Placement;
|
|
71
|
-
/**
|
|
71
|
+
/** Custom width of the popper. If the value is "trigger", it will set the width to the trigger element's width */
|
|
72
72
|
width?: string | 'trigger';
|
|
73
73
|
/** Minimum width of the popper. If the value is "trigger", it will set the min width to the trigger element's width */
|
|
74
74
|
minWidth?: string | 'trigger';
|
|
@@ -136,6 +136,141 @@ export interface FlexProps extends React.HTMLProps<HTMLDivElement> {
|
|
|
136
136
|
| 'spaceItems3xl'
|
|
137
137
|
| 'spaceItems4xl';
|
|
138
138
|
};
|
|
139
|
+
/** Gap between items at various breakpoints. This will override spacers for the main axis. */
|
|
140
|
+
gap?: {
|
|
141
|
+
default?: 'gapNone' | 'gapXs' | 'gapSm' | 'gapMd' | 'gapLg' | 'gapXl' | 'gap2xl' | 'gap3xl' | 'gap4xl';
|
|
142
|
+
sm?: 'gapNone' | 'gapXs' | 'gapSm' | 'gapMd' | 'gapLg' | 'gapXl' | 'gap2xl' | 'gap3xl' | 'gap4xl';
|
|
143
|
+
md?: 'gapNone' | 'gapXs' | 'gapSm' | 'gapMd' | 'gapLg' | 'gapXl' | 'gap2xl' | 'gap3xl' | 'gap4xl';
|
|
144
|
+
lg?: 'gapNone' | 'gapXs' | 'gapSm' | 'gapMd' | 'gapLg' | 'gapXl' | 'gap2xl' | 'gap3xl' | 'gap4xl';
|
|
145
|
+
xl?: 'gapNone' | 'gapXs' | 'gapSm' | 'gapMd' | 'gapLg' | 'gapXl' | 'gap2xl' | 'gap3xl' | 'gap4xl';
|
|
146
|
+
'2xl'?: 'gapNone' | 'gapXs' | 'gapSm' | 'gapMd' | 'gapLg' | 'gapXl' | 'gap2xl' | 'gap3xl' | 'gap4xl';
|
|
147
|
+
};
|
|
148
|
+
/** Gap between rows at various breakpoints. This will override spacers for the main axis. */
|
|
149
|
+
rowGap?: {
|
|
150
|
+
default?:
|
|
151
|
+
| 'rowGapNone'
|
|
152
|
+
| 'rowGapXs'
|
|
153
|
+
| 'rowGapSm'
|
|
154
|
+
| 'rowGapMd'
|
|
155
|
+
| 'rowGapLg'
|
|
156
|
+
| 'rowGapXl'
|
|
157
|
+
| 'rowGap2xl'
|
|
158
|
+
| 'rowGap3xl'
|
|
159
|
+
| 'rowGap4xl';
|
|
160
|
+
sm?:
|
|
161
|
+
| 'rowGapNone'
|
|
162
|
+
| 'rowGapXs'
|
|
163
|
+
| 'rowGapSm'
|
|
164
|
+
| 'rowGapMd'
|
|
165
|
+
| 'rowGapLg'
|
|
166
|
+
| 'rowGapXl'
|
|
167
|
+
| 'rowGap2xl'
|
|
168
|
+
| 'rowGap3xl'
|
|
169
|
+
| 'rowGap4xl';
|
|
170
|
+
md?:
|
|
171
|
+
| 'rowGapNone'
|
|
172
|
+
| 'rowGapXs'
|
|
173
|
+
| 'rowGapSm'
|
|
174
|
+
| 'rowGapMd'
|
|
175
|
+
| 'rowGapLg'
|
|
176
|
+
| 'rowGapXl'
|
|
177
|
+
| 'rowGap2xl'
|
|
178
|
+
| 'rowGap3xl'
|
|
179
|
+
| 'rowGap4xl';
|
|
180
|
+
lg?:
|
|
181
|
+
| 'rowGapNone'
|
|
182
|
+
| 'rowGapXs'
|
|
183
|
+
| 'rowGapSm'
|
|
184
|
+
| 'rowGapMd'
|
|
185
|
+
| 'rowGapLg'
|
|
186
|
+
| 'rowGapXl'
|
|
187
|
+
| 'rowGap2xl'
|
|
188
|
+
| 'rowGap3xl'
|
|
189
|
+
| 'rowGap4xl';
|
|
190
|
+
xl?:
|
|
191
|
+
| 'rowGapNone'
|
|
192
|
+
| 'rowGapXs'
|
|
193
|
+
| 'rowGapSm'
|
|
194
|
+
| 'rowGapMd'
|
|
195
|
+
| 'rowGapLg'
|
|
196
|
+
| 'rowGapXl'
|
|
197
|
+
| 'rowGap2xl'
|
|
198
|
+
| 'rowGap3xl'
|
|
199
|
+
| 'rowGap4xl';
|
|
200
|
+
'2xl'?:
|
|
201
|
+
| 'rowGapNone'
|
|
202
|
+
| 'rowGapXs'
|
|
203
|
+
| 'rowGapSm'
|
|
204
|
+
| 'rowGapMd'
|
|
205
|
+
| 'rowGapLg'
|
|
206
|
+
| 'rowGapXl'
|
|
207
|
+
| 'rowGap2xl'
|
|
208
|
+
| 'rowGap3xl'
|
|
209
|
+
| 'rowGap4xl';
|
|
210
|
+
};
|
|
211
|
+
/** Gap beween columns at various breakpoints. This will override spacers for the main axis. */
|
|
212
|
+
columnGap?: {
|
|
213
|
+
default?:
|
|
214
|
+
| 'columnGapNone'
|
|
215
|
+
| 'columnGapXs'
|
|
216
|
+
| 'columnGapSm'
|
|
217
|
+
| 'columnGapMd'
|
|
218
|
+
| 'columnGapLg'
|
|
219
|
+
| 'columnGapXl'
|
|
220
|
+
| 'columnGap2xl'
|
|
221
|
+
| 'columnGap3xl'
|
|
222
|
+
| 'columnGap4xl';
|
|
223
|
+
sm?:
|
|
224
|
+
| 'columnGapNone'
|
|
225
|
+
| 'columnGapXs'
|
|
226
|
+
| 'columnGapSm'
|
|
227
|
+
| 'columnGapMd'
|
|
228
|
+
| 'columnGapLg'
|
|
229
|
+
| 'columnGapXl'
|
|
230
|
+
| 'columnGap2xl'
|
|
231
|
+
| 'columnGap3xl'
|
|
232
|
+
| 'columnGap4xl';
|
|
233
|
+
md?:
|
|
234
|
+
| 'columnGapNone'
|
|
235
|
+
| 'columnGapXs'
|
|
236
|
+
| 'columnGapSm'
|
|
237
|
+
| 'columnGapMd'
|
|
238
|
+
| 'columnGapLg'
|
|
239
|
+
| 'columnGapXl'
|
|
240
|
+
| 'columnGap2xl'
|
|
241
|
+
| 'columnGap3xl'
|
|
242
|
+
| 'columnGap4xl';
|
|
243
|
+
lg?:
|
|
244
|
+
| 'columnGapNone'
|
|
245
|
+
| 'columnGapXs'
|
|
246
|
+
| 'columnGapSm'
|
|
247
|
+
| 'columnGapMd'
|
|
248
|
+
| 'columnGapLg'
|
|
249
|
+
| 'columnGapXl'
|
|
250
|
+
| 'columnGap2xl'
|
|
251
|
+
| 'columnGap3xl'
|
|
252
|
+
| 'columnGap4xl';
|
|
253
|
+
xl?:
|
|
254
|
+
| 'columnGapNone'
|
|
255
|
+
| 'columnGapXs'
|
|
256
|
+
| 'columnGapSm'
|
|
257
|
+
| 'columnGapMd'
|
|
258
|
+
| 'columnGapLg'
|
|
259
|
+
| 'columnGapXl'
|
|
260
|
+
| 'columnGap2xl'
|
|
261
|
+
| 'columnGap3xl'
|
|
262
|
+
| 'columnGap4xl';
|
|
263
|
+
'2xl'?:
|
|
264
|
+
| 'columnGapNone'
|
|
265
|
+
| 'columnGapXs'
|
|
266
|
+
| 'columnGapSm'
|
|
267
|
+
| 'columnGapMd'
|
|
268
|
+
| 'columnGapLg'
|
|
269
|
+
| 'columnGapXl'
|
|
270
|
+
| 'columnGap2xl'
|
|
271
|
+
| 'columnGap3xl'
|
|
272
|
+
| 'columnGap4xl';
|
|
273
|
+
};
|
|
139
274
|
/** Whether to add flex: grow at various breakpoints */
|
|
140
275
|
grow?: {
|
|
141
276
|
default?: 'grow';
|
|
@@ -344,6 +479,9 @@ export const Flex: React.FunctionComponent<FlexProps> = ({
|
|
|
344
479
|
component = 'div',
|
|
345
480
|
spacer,
|
|
346
481
|
spaceItems,
|
|
482
|
+
gap,
|
|
483
|
+
rowGap,
|
|
484
|
+
columnGap,
|
|
347
485
|
grow,
|
|
348
486
|
shrink,
|
|
349
487
|
flex,
|
|
@@ -380,6 +518,9 @@ export const Flex: React.FunctionComponent<FlexProps> = ({
|
|
|
380
518
|
formatBreakpointMods(display, styles),
|
|
381
519
|
formatBreakpointMods(fullWidth, styles),
|
|
382
520
|
formatBreakpointMods(flexWrap, styles),
|
|
521
|
+
formatBreakpointMods(gap, styles),
|
|
522
|
+
formatBreakpointMods(rowGap, styles),
|
|
523
|
+
formatBreakpointMods(columnGap, styles),
|
|
383
524
|
className
|
|
384
525
|
)}
|
|
385
526
|
style={
|
|
@@ -85,16 +85,40 @@ describe('Flex', () => {
|
|
|
85
85
|
],
|
|
86
86
|
display: ['inlineFlex'],
|
|
87
87
|
fullWidth: ['fullWidth'],
|
|
88
|
-
flexWrap: ['wrap', 'wrapReverse', 'nowrap']
|
|
88
|
+
flexWrap: ['wrap', 'wrapReverse', 'nowrap'],
|
|
89
|
+
gap: ['gapNone', 'gapXs', 'gapSm', 'gapMd', 'gapLg', 'gapXl', 'gap2xl', 'gap3xl', 'gap4xl'],
|
|
90
|
+
rowGap: [
|
|
91
|
+
'rowGapNone',
|
|
92
|
+
'rowGapXs',
|
|
93
|
+
'rowGapSm',
|
|
94
|
+
'rowGapMd',
|
|
95
|
+
'rowGapLg',
|
|
96
|
+
'rowGapXl',
|
|
97
|
+
'rowGap2xl',
|
|
98
|
+
'rowGap3xl',
|
|
99
|
+
'rowGap4xl'
|
|
100
|
+
],
|
|
101
|
+
columnGap: [
|
|
102
|
+
'columnGapNone',
|
|
103
|
+
'columnGapXs',
|
|
104
|
+
'columnGapSm',
|
|
105
|
+
'columnGapMd',
|
|
106
|
+
'columnGapLg',
|
|
107
|
+
'columnGapXl',
|
|
108
|
+
'columnGap2xl',
|
|
109
|
+
'columnGap3xl',
|
|
110
|
+
'columnGap4xl'
|
|
111
|
+
]
|
|
89
112
|
};
|
|
90
113
|
|
|
91
114
|
describe('flex modifiers', () => {
|
|
92
115
|
Object.entries(flexModifiers)
|
|
93
116
|
.map(([mod, values]) =>
|
|
94
|
-
values.map(value => ({
|
|
117
|
+
values.map((value) => ({
|
|
95
118
|
[mod]: {
|
|
96
119
|
default: value,
|
|
97
120
|
sm: value,
|
|
121
|
+
md: value,
|
|
98
122
|
lg: value,
|
|
99
123
|
xl: value,
|
|
100
124
|
'2xl': value
|
|
@@ -102,7 +126,7 @@ describe('Flex', () => {
|
|
|
102
126
|
}))
|
|
103
127
|
)
|
|
104
128
|
.reduce((acc, val) => acc.concat(val), [])
|
|
105
|
-
.forEach(props =>
|
|
129
|
+
.forEach((props) =>
|
|
106
130
|
test(`${JSON.stringify(props)} add valid classes to Flex`, () => {
|
|
107
131
|
render(
|
|
108
132
|
<Flex {...props} data-testid="test-id">
|
|
@@ -110,11 +134,7 @@ describe('Flex', () => {
|
|
|
110
134
|
</Flex>
|
|
111
135
|
);
|
|
112
136
|
|
|
113
|
-
const className = screen
|
|
114
|
-
.getByTestId('test-id')
|
|
115
|
-
.className.replace('pf-l-flex', '')
|
|
116
|
-
.trim();
|
|
117
|
-
|
|
137
|
+
const className = screen.getByTestId('test-id').className.replace('pf-l-flex', '').trim();
|
|
118
138
|
expect(className).not.toBe("''");
|
|
119
139
|
expect(className).not.toBe('');
|
|
120
140
|
})
|
|
@@ -134,7 +154,7 @@ describe('Flex', () => {
|
|
|
134
154
|
describe('flexItem modifiers', () => {
|
|
135
155
|
Object.entries(flexItemModifiers)
|
|
136
156
|
.map(([mod, values]) =>
|
|
137
|
-
values.map(value => ({
|
|
157
|
+
values.map((value) => ({
|
|
138
158
|
[mod]: {
|
|
139
159
|
default: value,
|
|
140
160
|
sm: value,
|
|
@@ -145,7 +165,7 @@ describe('Flex', () => {
|
|
|
145
165
|
}))
|
|
146
166
|
)
|
|
147
167
|
.reduce((acc, val) => acc.concat(val), [])
|
|
148
|
-
.forEach(props =>
|
|
168
|
+
.forEach((props) =>
|
|
149
169
|
test(`${JSON.stringify(props)} add valid classes to FlexItem`, () => {
|
|
150
170
|
render(
|
|
151
171
|
<FlexItem {...props} data-testid="test-id">
|