@patternfly/react-core 5.0.0-alpha.117 → 5.0.0-alpha.119
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 +12 -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/CalendarMonth.js +8 -11
- package/dist/esm/components/CalendarMonth/CalendarMonth.js.map +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 +1 -1
- package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.js +2 -2
- package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/components/Dropdown/DropdownItem.d.ts +1 -1
- package/dist/esm/components/Dropdown/DropdownItem.d.ts.map +1 -1
- package/dist/esm/components/Dropdown/DropdownItem.js +2 -2
- package/dist/esm/components/Dropdown/DropdownItem.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/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/OverflowMenuDropdownItem.js +1 -1
- package/dist/esm/components/OverflowMenu/OverflowMenuDropdownItem.js.map +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/package.json +1 -1
- package/dist/esm/components/SearchInput/package.json +1 -1
- package/dist/esm/components/Select/Select.d.ts +2 -2
- package/dist/esm/components/Select/Select.d.ts.map +1 -1
- package/dist/esm/components/Select/Select.js +2 -2
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/esm/components/Select/SelectOption.d.ts +1 -1
- package/dist/esm/components/Select/SelectOption.d.ts.map +1 -1
- package/dist/esm/components/Select/SelectOption.js +2 -2
- 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/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/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/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/CalendarMonth.js +8 -11
- package/dist/js/components/CalendarMonth/CalendarMonth.js.map +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 +1 -1
- package/dist/js/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/js/components/Dropdown/Dropdown.js +2 -2
- package/dist/js/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/js/components/Dropdown/DropdownItem.d.ts +1 -1
- package/dist/js/components/Dropdown/DropdownItem.d.ts.map +1 -1
- package/dist/js/components/Dropdown/DropdownItem.js +2 -2
- package/dist/js/components/Dropdown/DropdownItem.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/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/OverflowMenuDropdownItem.js +1 -1
- package/dist/js/components/OverflowMenu/OverflowMenuDropdownItem.js.map +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/package.json +1 -1
- package/dist/js/components/SearchInput/package.json +1 -1
- package/dist/js/components/Select/Select.d.ts +2 -2
- package/dist/js/components/Select/Select.d.ts.map +1 -1
- package/dist/js/components/Select/Select.js +2 -2
- package/dist/js/components/Select/Select.js.map +1 -1
- package/dist/js/components/Select/SelectOption.d.ts +1 -1
- package/dist/js/components/Select/SelectOption.d.ts.map +1 -1
- package/dist/js/components/Select/SelectOption.js +2 -2
- 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/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/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/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 +1 -1
- package/package.json +2 -2
- package/src/components/Alert/examples/alert.css +1 -1
- package/src/components/CalendarMonth/CalendarMonth.tsx +14 -14
- package/src/components/Dropdown/Dropdown.tsx +3 -3
- package/src/components/Dropdown/DropdownItem.tsx +8 -6
- package/src/components/Dropdown/examples/DropdownBasic.tsx +8 -8
- package/src/components/Dropdown/examples/DropdownWithDescriptions.tsx +6 -6
- package/src/components/Dropdown/examples/DropdownWithGroups.tsx +8 -8
- package/src/components/Dropdown/examples/DropdownWithKebabToggle.tsx +8 -8
- package/src/components/Form/examples/FormState.tsx +5 -5
- package/src/components/Hint/examples/HintBasicWithTitle.tsx +6 -6
- package/src/components/Hint/examples/HintBasicWithoutTitle.tsx +6 -6
- package/src/components/InputGroup/examples/InputGroupWithDropdown.tsx +3 -3
- package/src/components/LoginPage/examples/LoginPageLanguageSelect.tsx +7 -7
- package/src/components/Modal/examples/ModalWithDropdown.tsx +4 -4
- package/src/components/OverflowMenu/OverflowMenuDropdownItem.tsx +1 -1
- package/src/components/Select/Select.tsx +4 -4
- package/src/components/Select/SelectOption.tsx +3 -2
- package/src/components/Select/examples/SelectBasic.tsx +6 -6
- package/src/components/Select/examples/SelectCheckbox.tsx +9 -9
- package/src/components/Select/examples/SelectFooter.tsx +6 -6
- package/src/components/Select/examples/SelectGrouped.tsx +9 -9
- package/src/components/Select/examples/SelectMultiTypeahead.tsx +16 -16
- package/src/components/Select/examples/SelectMultiTypeaheadCheckbox.tsx +17 -17
- package/src/components/Select/examples/SelectMultiTypeaheadCreatable.tsx +19 -19
- package/src/components/Select/examples/SelectOptionVariations.tsx +9 -9
- package/src/components/Select/examples/SelectTypeahead.tsx +17 -17
- package/src/components/Select/examples/SelectTypeaheadCreatable.tsx +20 -20
- package/src/components/Select/examples/SelectViewMore.tsx +17 -17
- package/src/components/Toolbar/examples/ToolbarComponentManagedToggleGroups.tsx +8 -4
- package/src/components/Toolbar/examples/ToolbarConsumerManagedToggleGroups.tsx +8 -4
- package/src/components/Toolbar/examples/ToolbarCustomChipGroupContent.tsx +14 -44
- package/src/components/Toolbar/examples/ToolbarGroups.tsx +18 -12
- package/src/components/Toolbar/examples/ToolbarStacked.tsx +6 -6
- package/src/components/Toolbar/examples/ToolbarWithFilters.tsx +7 -7
- package/src/components/Tooltip/examples/TooltipOptions.tsx +35 -22
- package/src/demos/Card/Card.md +52 -16
- package/src/demos/CardDemos.md +15 -15
- package/src/demos/CustomMenus/examples/ActionsMenuDemo.tsx +10 -10
- package/src/demos/CustomMenus/examples/ApplicationLauncherDemo.tsx +17 -17
- package/src/demos/CustomMenus/examples/DateSelectDemo.tsx +6 -6
- package/src/demos/CustomMenus/examples/FavoritesDemo.tsx +16 -16
- package/src/demos/CustomMenus/examples/OptionsMenuDemo.tsx +7 -7
- package/src/demos/DataListDemo.md +12 -12
- package/src/demos/PrimaryDetail.md +15 -8
- package/src/demos/Toolbar.md +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@patternfly/react-core",
|
|
3
|
-
"version": "5.0.0-alpha.
|
|
3
|
+
"version": "5.0.0-alpha.119",
|
|
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",
|
|
@@ -71,5 +71,5 @@
|
|
|
71
71
|
"react": "^17 || ^18",
|
|
72
72
|
"react-dom": "^17 || ^18"
|
|
73
73
|
},
|
|
74
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "3d9d04381ec62d8aa02b8eb1e3977f951fbfdeb3"
|
|
75
75
|
}
|
|
@@ -106,7 +106,7 @@ const buildCalendar = (year: number, month: number, weekStart: number, validator
|
|
|
106
106
|
const date = new Date(firstDayOfWeek);
|
|
107
107
|
week.push({
|
|
108
108
|
date,
|
|
109
|
-
isValid: validators.every(validator => validator(date))
|
|
109
|
+
isValid: validators.every((validator) => validator(date))
|
|
110
110
|
});
|
|
111
111
|
firstDayOfWeek.setDate(firstDayOfWeek.getDate() + 1);
|
|
112
112
|
}
|
|
@@ -129,10 +129,10 @@ const today = new Date();
|
|
|
129
129
|
export const CalendarMonth = ({
|
|
130
130
|
date: dateProp,
|
|
131
131
|
locale = undefined,
|
|
132
|
-
monthFormat = date => date.toLocaleDateString(locale, { month: 'long' }),
|
|
133
|
-
weekdayFormat = date => date.toLocaleDateString(locale, { weekday: 'narrow' }),
|
|
134
|
-
longWeekdayFormat = date => date.toLocaleDateString(locale, { weekday: 'long' }),
|
|
135
|
-
dayFormat = date => date.getDate(),
|
|
132
|
+
monthFormat = (date) => date.toLocaleDateString(locale, { month: 'long' }),
|
|
133
|
+
weekdayFormat = (date) => date.toLocaleDateString(locale, { weekday: 'narrow' }),
|
|
134
|
+
longWeekdayFormat = (date) => date.toLocaleDateString(locale, { weekday: 'long' }),
|
|
135
|
+
dayFormat = (date) => date.getDate(),
|
|
136
136
|
weekStart = 0, // Use the American Sunday as a default
|
|
137
137
|
onChange = () => {},
|
|
138
138
|
validators = [() => true],
|
|
@@ -148,7 +148,9 @@ export const CalendarMonth = ({
|
|
|
148
148
|
inlineProps,
|
|
149
149
|
...props
|
|
150
150
|
}: CalendarProps) => {
|
|
151
|
-
const longMonths = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
|
|
151
|
+
const longMonths = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
|
|
152
|
+
.map((monthNum) => new Date(1990, monthNum))
|
|
153
|
+
.map(monthFormat);
|
|
152
154
|
const [isSelectOpen, setIsSelectOpen] = React.useState(false);
|
|
153
155
|
// eslint-disable-next-line prefer-const
|
|
154
156
|
const [focusedDate, setFocusedDate] = React.useState(() => {
|
|
@@ -168,7 +170,7 @@ export const CalendarMonth = ({
|
|
|
168
170
|
const [hiddenMonthId] = React.useState(getUniqueId('hidden-month-span'));
|
|
169
171
|
const [shouldFocus, setShouldFocus] = React.useState(false);
|
|
170
172
|
|
|
171
|
-
const isValidated = (date: Date) => validators.every(validator => validator(date));
|
|
173
|
+
const isValidated = (date: Date) => validators.every((validator) => validator(date));
|
|
172
174
|
const focusedDateValidated = isValidated(focusedDate);
|
|
173
175
|
useEffect(() => {
|
|
174
176
|
if (isValidDate(dateProp) && !isSameDate(focusedDate, dateProp)) {
|
|
@@ -224,12 +226,10 @@ export const CalendarMonth = ({
|
|
|
224
226
|
const nextMonth = addMonth(1);
|
|
225
227
|
const focusedYear = focusedDate.getFullYear();
|
|
226
228
|
const focusedMonth = focusedDate.getMonth();
|
|
227
|
-
const calendar = React.useMemo(
|
|
228
|
-
focusedYear,
|
|
229
|
-
focusedMonth,
|
|
230
|
-
|
|
231
|
-
validators
|
|
232
|
-
]);
|
|
229
|
+
const calendar = React.useMemo(
|
|
230
|
+
() => buildCalendar(focusedYear, focusedMonth, weekStart, validators),
|
|
231
|
+
[focusedYear, focusedMonth, weekStart, validators]
|
|
232
|
+
);
|
|
233
233
|
if (!focusedDateValidated) {
|
|
234
234
|
const toFocus = calendar
|
|
235
235
|
.reduce((acc, cur) => [...acc, ...cur], [])
|
|
@@ -299,7 +299,7 @@ export const CalendarMonth = ({
|
|
|
299
299
|
>
|
|
300
300
|
<SelectList>
|
|
301
301
|
{longMonths.map((longMonth, index) => (
|
|
302
|
-
<SelectOption key={index}
|
|
302
|
+
<SelectOption key={index} value={index} isSelected={longMonth === monthFormatted}>
|
|
303
303
|
{longMonth}
|
|
304
304
|
</SelectOption>
|
|
305
305
|
))}
|
|
@@ -41,7 +41,7 @@ export interface DropdownProps extends MenuProps, OUIAProps {
|
|
|
41
41
|
/** Flag indicating the toggle should be focused after a selection. If this use case is too restrictive, the optional toggleRef property with a node toggle may be used to control focus. */
|
|
42
42
|
shouldFocusToggleOnSelect?: boolean;
|
|
43
43
|
/** Function callback called when user selects item. */
|
|
44
|
-
onSelect?: (event?: React.MouseEvent<Element, MouseEvent>,
|
|
44
|
+
onSelect?: (event?: React.MouseEvent<Element, MouseEvent>, value?: string | number) => void;
|
|
45
45
|
/** Callback to allow the dropdown component to change the open state of the menu.
|
|
46
46
|
* Triggered by clicking outside of the menu, or by pressing any keys specificed in onOpenChangeKeys. */
|
|
47
47
|
onOpenChange?: (isOpen: boolean) => void;
|
|
@@ -138,8 +138,8 @@ const DropdownBase: React.FunctionComponent<DropdownProps> = ({
|
|
|
138
138
|
<Menu
|
|
139
139
|
className={css(className)}
|
|
140
140
|
ref={menuRef}
|
|
141
|
-
onSelect={(event,
|
|
142
|
-
onSelect && onSelect(event,
|
|
141
|
+
onSelect={(event, value) => {
|
|
142
|
+
onSelect && onSelect(event, value);
|
|
143
143
|
shouldFocusToggleOnSelect && toggleRef.current.focus();
|
|
144
144
|
}}
|
|
145
145
|
isPlain={isPlain}
|
|
@@ -18,7 +18,7 @@ export interface DropdownItemProps extends Omit<MenuItemProps, 'ref'>, OUIAProps
|
|
|
18
18
|
/** Render item as disabled option */
|
|
19
19
|
isDisabled?: boolean;
|
|
20
20
|
/** Identifies the component in the dropdown onSelect callback */
|
|
21
|
-
|
|
21
|
+
value?: any;
|
|
22
22
|
/** Callback for item click */
|
|
23
23
|
onClick?: (event?: any) => void;
|
|
24
24
|
/** Value to overwrite the randomly generated data-ouia-component-id.*/
|
|
@@ -32,7 +32,7 @@ const DropdownItemBase: React.FunctionComponent<DropdownItemProps> = ({
|
|
|
32
32
|
className,
|
|
33
33
|
description,
|
|
34
34
|
isDisabled,
|
|
35
|
-
|
|
35
|
+
value,
|
|
36
36
|
onClick,
|
|
37
37
|
ouiaId,
|
|
38
38
|
ouiaSafe,
|
|
@@ -45,7 +45,7 @@ const DropdownItemBase: React.FunctionComponent<DropdownItemProps> = ({
|
|
|
45
45
|
className={css(className)}
|
|
46
46
|
description={description}
|
|
47
47
|
isDisabled={isDisabled}
|
|
48
|
-
itemId={
|
|
48
|
+
itemId={value}
|
|
49
49
|
onClick={onClick}
|
|
50
50
|
ref={innerRef}
|
|
51
51
|
{...ouiaProps}
|
|
@@ -56,8 +56,10 @@ const DropdownItemBase: React.FunctionComponent<DropdownItemProps> = ({
|
|
|
56
56
|
);
|
|
57
57
|
};
|
|
58
58
|
|
|
59
|
-
export const DropdownItem = React.forwardRef(
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
export const DropdownItem = React.forwardRef(
|
|
60
|
+
(props: DropdownItemProps, ref: React.Ref<HTMLAnchorElement | HTMLButtonElement>) => (
|
|
61
|
+
<DropdownItemBase {...props} innerRef={ref} />
|
|
62
|
+
)
|
|
63
|
+
);
|
|
62
64
|
|
|
63
65
|
DropdownItem.displayName = 'DropdownItem';
|
|
@@ -8,9 +8,9 @@ export const DropdownBasic: React.FunctionComponent = () => {
|
|
|
8
8
|
setIsOpen(!isOpen);
|
|
9
9
|
};
|
|
10
10
|
|
|
11
|
-
const onSelect = (_event: React.MouseEvent<Element, MouseEvent> | undefined,
|
|
11
|
+
const onSelect = (_event: React.MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
|
|
12
12
|
// eslint-disable-next-line no-console
|
|
13
|
-
console.log('selected',
|
|
13
|
+
console.log('selected', value);
|
|
14
14
|
setIsOpen(false);
|
|
15
15
|
};
|
|
16
16
|
|
|
@@ -28,11 +28,11 @@ export const DropdownBasic: React.FunctionComponent = () => {
|
|
|
28
28
|
shouldFocusToggleOnSelect
|
|
29
29
|
>
|
|
30
30
|
<DropdownList>
|
|
31
|
-
<DropdownItem
|
|
31
|
+
<DropdownItem value={0} key="action">
|
|
32
32
|
Action
|
|
33
33
|
</DropdownItem>
|
|
34
34
|
<DropdownItem
|
|
35
|
-
|
|
35
|
+
value={1}
|
|
36
36
|
key="link"
|
|
37
37
|
to="#default-link2"
|
|
38
38
|
// Prevent the default onClick functionality for example purposes
|
|
@@ -40,17 +40,17 @@ export const DropdownBasic: React.FunctionComponent = () => {
|
|
|
40
40
|
>
|
|
41
41
|
Link
|
|
42
42
|
</DropdownItem>
|
|
43
|
-
<DropdownItem
|
|
43
|
+
<DropdownItem value={2} isDisabled key="disabled action">
|
|
44
44
|
Disabled Action
|
|
45
45
|
</DropdownItem>
|
|
46
|
-
<DropdownItem
|
|
46
|
+
<DropdownItem value={3} isDisabled key="disabled link" to="#default-link4">
|
|
47
47
|
Disabled Link
|
|
48
48
|
</DropdownItem>
|
|
49
49
|
<Divider component="li" key="separator" />
|
|
50
|
-
<DropdownItem
|
|
50
|
+
<DropdownItem value={4} key="separated action">
|
|
51
51
|
Separated Action
|
|
52
52
|
</DropdownItem>
|
|
53
|
-
<DropdownItem
|
|
53
|
+
<DropdownItem value={5} key="separated link" to="#default-link6" onClick={(ev) => ev.preventDefault()}>
|
|
54
54
|
Separated Link
|
|
55
55
|
</DropdownItem>
|
|
56
56
|
</DropdownList>
|
|
@@ -8,9 +8,9 @@ export const DropdownWithDescriptions: React.FunctionComponent = () => {
|
|
|
8
8
|
setIsOpen(!isOpen);
|
|
9
9
|
};
|
|
10
10
|
|
|
11
|
-
const onSelect = (_event: React.MouseEvent<Element, MouseEvent> | undefined,
|
|
11
|
+
const onSelect = (_event: React.MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
|
|
12
12
|
// eslint-disable-next-line no-console
|
|
13
|
-
console.log('selected',
|
|
13
|
+
console.log('selected', value);
|
|
14
14
|
setIsOpen(false);
|
|
15
15
|
};
|
|
16
16
|
|
|
@@ -27,11 +27,11 @@ export const DropdownWithDescriptions: React.FunctionComponent = () => {
|
|
|
27
27
|
shouldFocusToggleOnSelect
|
|
28
28
|
>
|
|
29
29
|
<DropdownList>
|
|
30
|
-
<DropdownItem
|
|
30
|
+
<DropdownItem value={0} key="action" description="This is a description">
|
|
31
31
|
Action
|
|
32
32
|
</DropdownItem>
|
|
33
33
|
<DropdownItem
|
|
34
|
-
|
|
34
|
+
value={1}
|
|
35
35
|
key="link"
|
|
36
36
|
description="This is a very long description that describes the menu item"
|
|
37
37
|
to="#default-link2"
|
|
@@ -40,10 +40,10 @@ export const DropdownWithDescriptions: React.FunctionComponent = () => {
|
|
|
40
40
|
>
|
|
41
41
|
Link
|
|
42
42
|
</DropdownItem>
|
|
43
|
-
<DropdownItem
|
|
43
|
+
<DropdownItem value={2} isDisabled description="Disabled link description" key="disabled action">
|
|
44
44
|
Disabled action
|
|
45
45
|
</DropdownItem>
|
|
46
|
-
<DropdownItem
|
|
46
|
+
<DropdownItem value={3} isDisabled description="This is a description" key="disabled link" to="#default-link4">
|
|
47
47
|
Disabled link
|
|
48
48
|
</DropdownItem>
|
|
49
49
|
</DropdownList>
|
|
@@ -16,9 +16,9 @@ export const DropdownWithGroups: React.FunctionComponent = () => {
|
|
|
16
16
|
setIsOpen(!isOpen);
|
|
17
17
|
};
|
|
18
18
|
|
|
19
|
-
const onSelect = (_event: React.MouseEvent<Element, MouseEvent> | undefined,
|
|
19
|
+
const onSelect = (_event: React.MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
|
|
20
20
|
// eslint-disable-next-line no-console
|
|
21
|
-
console.log('selected',
|
|
21
|
+
console.log('selected', value);
|
|
22
22
|
setIsOpen(false);
|
|
23
23
|
};
|
|
24
24
|
|
|
@@ -36,11 +36,11 @@ export const DropdownWithGroups: React.FunctionComponent = () => {
|
|
|
36
36
|
>
|
|
37
37
|
<DropdownGroup>
|
|
38
38
|
<DropdownList>
|
|
39
|
-
<DropdownItem
|
|
39
|
+
<DropdownItem value={0} key="action">
|
|
40
40
|
Action
|
|
41
41
|
</DropdownItem>
|
|
42
42
|
<DropdownItem
|
|
43
|
-
|
|
43
|
+
value={1}
|
|
44
44
|
key="link"
|
|
45
45
|
to="#default-link2"
|
|
46
46
|
// Prevent the default onClick functionality for example purposes
|
|
@@ -53,10 +53,10 @@ export const DropdownWithGroups: React.FunctionComponent = () => {
|
|
|
53
53
|
<Divider component="li" />
|
|
54
54
|
<DropdownGroup label="Group 2" labelHeadingLevel="h3">
|
|
55
55
|
<DropdownList>
|
|
56
|
-
<DropdownItem
|
|
56
|
+
<DropdownItem value={2} key="group2 action">
|
|
57
57
|
Group 2 action
|
|
58
58
|
</DropdownItem>
|
|
59
|
-
<DropdownItem
|
|
59
|
+
<DropdownItem value={3} key="group2 link" to="#default-link4" onClick={(ev: any) => ev.preventDefault()}>
|
|
60
60
|
Group 2 link
|
|
61
61
|
</DropdownItem>
|
|
62
62
|
</DropdownList>
|
|
@@ -64,10 +64,10 @@ export const DropdownWithGroups: React.FunctionComponent = () => {
|
|
|
64
64
|
<Divider />
|
|
65
65
|
<DropdownGroup label="Group 3" labelHeadingLevel="h3">
|
|
66
66
|
<DropdownList>
|
|
67
|
-
<DropdownItem
|
|
67
|
+
<DropdownItem value={4} key="group3 action">
|
|
68
68
|
Group 3 action
|
|
69
69
|
</DropdownItem>
|
|
70
|
-
<DropdownItem
|
|
70
|
+
<DropdownItem value={5} key="group3 link" to="#default-link6" onClick={(ev: any) => ev.preventDefault()}>
|
|
71
71
|
Group 3 link
|
|
72
72
|
</DropdownItem>
|
|
73
73
|
</DropdownList>
|
|
@@ -9,9 +9,9 @@ export const DropdownWithKebab: React.FunctionComponent = () => {
|
|
|
9
9
|
setIsOpen(!isOpen);
|
|
10
10
|
};
|
|
11
11
|
|
|
12
|
-
const onSelect = (_event: React.MouseEvent<Element, MouseEvent> | undefined,
|
|
12
|
+
const onSelect = (_event: React.MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
|
|
13
13
|
// eslint-disable-next-line no-console
|
|
14
|
-
console.log('selected',
|
|
14
|
+
console.log('selected', value);
|
|
15
15
|
setIsOpen(false);
|
|
16
16
|
};
|
|
17
17
|
|
|
@@ -34,11 +34,11 @@ export const DropdownWithKebab: React.FunctionComponent = () => {
|
|
|
34
34
|
shouldFocusToggleOnSelect
|
|
35
35
|
>
|
|
36
36
|
<DropdownList>
|
|
37
|
-
<DropdownItem
|
|
37
|
+
<DropdownItem value={0} key="action">
|
|
38
38
|
Action
|
|
39
39
|
</DropdownItem>
|
|
40
40
|
<DropdownItem
|
|
41
|
-
|
|
41
|
+
value={1}
|
|
42
42
|
key="link"
|
|
43
43
|
to="#default-link2"
|
|
44
44
|
// Prevent the default onClick functionality for example purposes
|
|
@@ -46,17 +46,17 @@ export const DropdownWithKebab: React.FunctionComponent = () => {
|
|
|
46
46
|
>
|
|
47
47
|
Link
|
|
48
48
|
</DropdownItem>
|
|
49
|
-
<DropdownItem
|
|
49
|
+
<DropdownItem value={2} isDisabled key="disabled action">
|
|
50
50
|
Disabled Action
|
|
51
51
|
</DropdownItem>
|
|
52
|
-
<DropdownItem
|
|
52
|
+
<DropdownItem value={3} isDisabled key="disabled link" to="#default-link4">
|
|
53
53
|
Disabled Link
|
|
54
54
|
</DropdownItem>
|
|
55
55
|
<Divider component="li" key="separator" />
|
|
56
|
-
<DropdownItem
|
|
56
|
+
<DropdownItem value={4} key="separated action">
|
|
57
57
|
Separated Action
|
|
58
58
|
</DropdownItem>
|
|
59
|
-
<DropdownItem
|
|
59
|
+
<DropdownItem value={5} key="separated link" to="#default-link6" onClick={(ev) => ev.preventDefault()}>
|
|
60
60
|
Separated Link
|
|
61
61
|
</DropdownItem>
|
|
62
62
|
</DropdownList>
|
|
@@ -76,15 +76,15 @@ export const FormState = () => {
|
|
|
76
76
|
</MenuToggle>
|
|
77
77
|
)}
|
|
78
78
|
onOpenChange={(isOpen) => setIsSelectOpen(isOpen)}
|
|
79
|
-
onSelect={(_,
|
|
80
|
-
setValue('select-id',
|
|
79
|
+
onSelect={(_, value) => {
|
|
80
|
+
setValue('select-id', value as string);
|
|
81
81
|
setIsSelectOpen(false);
|
|
82
82
|
}}
|
|
83
83
|
>
|
|
84
84
|
<SelectList>
|
|
85
|
-
<SelectOption
|
|
86
|
-
<SelectOption
|
|
87
|
-
<SelectOption
|
|
85
|
+
<SelectOption value="Option 1">Option 1</SelectOption>
|
|
86
|
+
<SelectOption value="Option 2">Option 2</SelectOption>
|
|
87
|
+
<SelectOption value="Option 3">Option 3</SelectOption>
|
|
88
88
|
</SelectList>
|
|
89
89
|
</Select>
|
|
90
90
|
|
|
@@ -43,11 +43,11 @@ export const HintBasicWithTitle: React.FunctionComponent = () => {
|
|
|
43
43
|
)}
|
|
44
44
|
>
|
|
45
45
|
<DropdownList>
|
|
46
|
-
<DropdownItem
|
|
46
|
+
<DropdownItem value={0} key="action">
|
|
47
47
|
Action
|
|
48
48
|
</DropdownItem>
|
|
49
49
|
<DropdownItem
|
|
50
|
-
|
|
50
|
+
value={1}
|
|
51
51
|
key="link"
|
|
52
52
|
to="#default-link2"
|
|
53
53
|
// Prevent the default onClick functionality for example purposes
|
|
@@ -55,17 +55,17 @@ export const HintBasicWithTitle: React.FunctionComponent = () => {
|
|
|
55
55
|
>
|
|
56
56
|
Link
|
|
57
57
|
</DropdownItem>
|
|
58
|
-
<DropdownItem
|
|
58
|
+
<DropdownItem value={2} isDisabled key="disabled action">
|
|
59
59
|
Disabled Action
|
|
60
60
|
</DropdownItem>
|
|
61
|
-
<DropdownItem
|
|
61
|
+
<DropdownItem value={3} isDisabled key="disabled link" to="#default-link4">
|
|
62
62
|
Disabled Link
|
|
63
63
|
</DropdownItem>
|
|
64
64
|
<Divider component="li" key="separator" />
|
|
65
|
-
<DropdownItem
|
|
65
|
+
<DropdownItem value={4} key="separated action">
|
|
66
66
|
Separated Action
|
|
67
67
|
</DropdownItem>
|
|
68
|
-
<DropdownItem
|
|
68
|
+
<DropdownItem value={5} key="separated link" to="#default-link6" onClick={(ev) => ev.preventDefault()}>
|
|
69
69
|
Separated Link
|
|
70
70
|
</DropdownItem>
|
|
71
71
|
</DropdownList>
|
|
@@ -42,11 +42,11 @@ export const HintBasicWithoutTitle: React.FunctionComponent = () => {
|
|
|
42
42
|
)}
|
|
43
43
|
>
|
|
44
44
|
<DropdownList>
|
|
45
|
-
<DropdownItem
|
|
45
|
+
<DropdownItem value={0} key="action">
|
|
46
46
|
Action
|
|
47
47
|
</DropdownItem>
|
|
48
48
|
<DropdownItem
|
|
49
|
-
|
|
49
|
+
value={1}
|
|
50
50
|
key="link"
|
|
51
51
|
to="#default-link2"
|
|
52
52
|
// Prevent the default onClick functionality for example purposes
|
|
@@ -54,17 +54,17 @@ export const HintBasicWithoutTitle: React.FunctionComponent = () => {
|
|
|
54
54
|
>
|
|
55
55
|
Link
|
|
56
56
|
</DropdownItem>
|
|
57
|
-
<DropdownItem
|
|
57
|
+
<DropdownItem value={2} isDisabled key="disabled action">
|
|
58
58
|
Disabled Action
|
|
59
59
|
</DropdownItem>
|
|
60
|
-
<DropdownItem
|
|
60
|
+
<DropdownItem value={3} isDisabled key="disabled link" to="#default-link4">
|
|
61
61
|
Disabled Link
|
|
62
62
|
</DropdownItem>
|
|
63
63
|
<Divider component="li" key="separator" />
|
|
64
|
-
<DropdownItem
|
|
64
|
+
<DropdownItem value={4} key="separated action">
|
|
65
65
|
Separated Action
|
|
66
66
|
</DropdownItem>
|
|
67
|
-
<DropdownItem
|
|
67
|
+
<DropdownItem value={5} key="separated link" to="#default-link6" onClick={(ev) => ev.preventDefault()}>
|
|
68
68
|
Separated Link
|
|
69
69
|
</DropdownItem>
|
|
70
70
|
</DropdownList>
|
|
@@ -37,13 +37,13 @@ export const InputGroupWithDropdown: React.FunctionComponent = () => {
|
|
|
37
37
|
)}
|
|
38
38
|
>
|
|
39
39
|
<DropdownList>
|
|
40
|
-
<DropdownItem
|
|
40
|
+
<DropdownItem value={0} key="option1">
|
|
41
41
|
Option 1
|
|
42
42
|
</DropdownItem>
|
|
43
|
-
<DropdownItem
|
|
43
|
+
<DropdownItem value={1} key="option2">
|
|
44
44
|
Option 2
|
|
45
45
|
</DropdownItem>
|
|
46
|
-
<DropdownItem
|
|
46
|
+
<DropdownItem value={2} key="option3">
|
|
47
47
|
Option 3
|
|
48
48
|
</DropdownItem>
|
|
49
49
|
</DropdownList>
|
|
@@ -39,25 +39,25 @@ export const LoginPageLanguageSelect: React.FunctionComponent = () => {
|
|
|
39
39
|
|
|
40
40
|
const headerUtilsOptions = (
|
|
41
41
|
<SelectList>
|
|
42
|
-
<SelectOption key={0}
|
|
42
|
+
<SelectOption key={0} value={i18n.English}>
|
|
43
43
|
{i18n.English}
|
|
44
44
|
</SelectOption>
|
|
45
|
-
<SelectOption key={1}
|
|
45
|
+
<SelectOption key={1} value={i18n.Mandarin}>
|
|
46
46
|
{i18n.Mandarin}
|
|
47
47
|
</SelectOption>
|
|
48
|
-
<SelectOption key={2}
|
|
48
|
+
<SelectOption key={2} value={i18n.Hindi}>
|
|
49
49
|
{i18n.Hindi}
|
|
50
50
|
</SelectOption>
|
|
51
|
-
<SelectOption key={3}
|
|
51
|
+
<SelectOption key={3} value={i18n.Spanish}>
|
|
52
52
|
{i18n.Spanish}
|
|
53
53
|
</SelectOption>
|
|
54
|
-
<SelectOption key={4}
|
|
54
|
+
<SelectOption key={4} value={i18n.Portuguese}>
|
|
55
55
|
{i18n.Portuguese}
|
|
56
56
|
</SelectOption>
|
|
57
|
-
<SelectOption key={5}
|
|
57
|
+
<SelectOption key={5} value={i18n.Arabic}>
|
|
58
58
|
{i18n.Arabic}
|
|
59
59
|
</SelectOption>
|
|
60
|
-
<SelectOption key={6}
|
|
60
|
+
<SelectOption key={6} value={i18n.Bengali}>
|
|
61
61
|
{i18n.Bengali}
|
|
62
62
|
</SelectOption>
|
|
63
63
|
</SelectList>
|
|
@@ -81,11 +81,11 @@ export const ModalWithDropdown: React.FunctionComponent = () => {
|
|
|
81
81
|
)}
|
|
82
82
|
>
|
|
83
83
|
<DropdownList>
|
|
84
|
-
<DropdownItem
|
|
84
|
+
<DropdownItem value={0} key="action">
|
|
85
85
|
Action
|
|
86
86
|
</DropdownItem>
|
|
87
87
|
<DropdownItem
|
|
88
|
-
|
|
88
|
+
value={1}
|
|
89
89
|
key="link"
|
|
90
90
|
to="#default-link2"
|
|
91
91
|
// Prevent the default onClick functionality for example purposes
|
|
@@ -93,10 +93,10 @@ export const ModalWithDropdown: React.FunctionComponent = () => {
|
|
|
93
93
|
>
|
|
94
94
|
Link
|
|
95
95
|
</DropdownItem>
|
|
96
|
-
<DropdownItem
|
|
96
|
+
<DropdownItem value={2} isDisabled key="disabled action">
|
|
97
97
|
Disabled Action
|
|
98
98
|
</DropdownItem>
|
|
99
|
-
<DropdownItem
|
|
99
|
+
<DropdownItem value={3} isDisabled key="disabled link" to="#default-link4">
|
|
100
100
|
Disabled Link
|
|
101
101
|
</DropdownItem>
|
|
102
102
|
</DropdownList>
|
|
@@ -18,7 +18,7 @@ export const OverflowMenuDropdownItem: React.FunctionComponent<OverflowMenuDropd
|
|
|
18
18
|
<OverflowMenuContext.Consumer>
|
|
19
19
|
{(value) =>
|
|
20
20
|
(!isShared || value.isBelowBreakpoint) && (
|
|
21
|
-
<DropdownItem component="button"
|
|
21
|
+
<DropdownItem component="button" value={itemId} {...additionalProps}>
|
|
22
22
|
{children}
|
|
23
23
|
</DropdownItem>
|
|
24
24
|
)
|
|
@@ -37,14 +37,14 @@ export interface SelectProps extends MenuProps, OUIAProps {
|
|
|
37
37
|
className?: string;
|
|
38
38
|
/** Flag to indicate if select is open */
|
|
39
39
|
isOpen?: boolean;
|
|
40
|
-
/** Single
|
|
40
|
+
/** Single select option value for single select menus, or array of select option values for multi select. You can also specify isSelected on the SelectOption. */
|
|
41
41
|
selected?: any | any[];
|
|
42
42
|
/** Select toggle. The toggle should either be a renderer function which forwards the given toggle ref, or a direct ReactNode that should be passed along with the toggleRef property. */
|
|
43
43
|
toggle: SelectToggleProps | ((toggleRef: React.RefObject<any>) => React.ReactNode);
|
|
44
44
|
/** Flag indicating the toggle should be focused after a selection. If this use case is too restrictive, the optional toggleRef property with a node toggle may be used to control focus. */
|
|
45
45
|
shouldFocusToggleOnSelect?: boolean;
|
|
46
46
|
/** Function callback when user selects an option. */
|
|
47
|
-
onSelect?: (event?: React.MouseEvent<Element, MouseEvent>,
|
|
47
|
+
onSelect?: (event?: React.MouseEvent<Element, MouseEvent>, value?: string | number) => void;
|
|
48
48
|
/** Callback to allow the select component to change the open state of the menu.
|
|
49
49
|
* Triggered by clicking outside of the menu, or by pressing any keys specificed in onOpenChangeKeys. */
|
|
50
50
|
onOpenChange?: (isOpen: boolean) => void;
|
|
@@ -135,8 +135,8 @@ const SelectBase: React.FunctionComponent<SelectProps & OUIAProps> = ({
|
|
|
135
135
|
role={role}
|
|
136
136
|
className={css(className)}
|
|
137
137
|
ref={menuRef}
|
|
138
|
-
onSelect={(event,
|
|
139
|
-
onSelect && onSelect(event,
|
|
138
|
+
onSelect={(event, value) => {
|
|
139
|
+
onSelect && onSelect(event, value);
|
|
140
140
|
shouldFocusToggleOnSelect && toggleRef.current.focus();
|
|
141
141
|
}}
|
|
142
142
|
isPlain={isPlain}
|
|
@@ -14,7 +14,7 @@ export interface SelectOptionProps extends Omit<MenuItemProps, 'ref'> {
|
|
|
14
14
|
/** @hide Forwarded ref */
|
|
15
15
|
innerRef?: React.Ref<HTMLAnchorElement | HTMLButtonElement>;
|
|
16
16
|
/** Identifies the component in the Select onSelect callback */
|
|
17
|
-
|
|
17
|
+
value?: any;
|
|
18
18
|
/** Indicates the option has a checkbox */
|
|
19
19
|
hasCheckbox?: boolean;
|
|
20
20
|
/** Indicates the option is disabled */
|
|
@@ -37,9 +37,10 @@ const SelectOptionBase: React.FunctionComponent<MenuItemProps> = ({
|
|
|
37
37
|
children,
|
|
38
38
|
className,
|
|
39
39
|
innerRef,
|
|
40
|
+
value,
|
|
40
41
|
...props
|
|
41
42
|
}: SelectOptionProps) => (
|
|
42
|
-
<MenuItem ref={innerRef} className={css(className)} {...props}>
|
|
43
|
+
<MenuItem itemId={value} ref={innerRef} className={css(className)} {...props}>
|
|
43
44
|
{children}
|
|
44
45
|
</MenuItem>
|
|
45
46
|
);
|
|
@@ -10,11 +10,11 @@ export const SelectBasic: React.FunctionComponent = () => {
|
|
|
10
10
|
setIsOpen(!isOpen);
|
|
11
11
|
};
|
|
12
12
|
|
|
13
|
-
const onSelect = (_event: React.MouseEvent<Element, MouseEvent> | undefined,
|
|
13
|
+
const onSelect = (_event: React.MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
|
|
14
14
|
// eslint-disable-next-line no-console
|
|
15
|
-
console.log('selected',
|
|
15
|
+
console.log('selected', value);
|
|
16
16
|
|
|
17
|
-
setSelected(
|
|
17
|
+
setSelected(value as string);
|
|
18
18
|
setIsOpen(false);
|
|
19
19
|
};
|
|
20
20
|
|
|
@@ -53,9 +53,9 @@ export const SelectBasic: React.FunctionComponent = () => {
|
|
|
53
53
|
shouldFocusToggleOnSelect
|
|
54
54
|
>
|
|
55
55
|
<SelectList>
|
|
56
|
-
<SelectOption
|
|
57
|
-
<SelectOption
|
|
58
|
-
<SelectOption
|
|
56
|
+
<SelectOption value="Option 1">Option 1</SelectOption>
|
|
57
|
+
<SelectOption value="Option 2">Option 2</SelectOption>
|
|
58
|
+
<SelectOption value="Option 3">Option 3</SelectOption>
|
|
59
59
|
</SelectList>
|
|
60
60
|
</Select>
|
|
61
61
|
</React.Fragment>
|
|
@@ -9,14 +9,14 @@ export const SelectCheckbox: React.FunctionComponent = () => {
|
|
|
9
9
|
setIsOpen(!isOpen);
|
|
10
10
|
};
|
|
11
11
|
|
|
12
|
-
const onSelect = (_event: React.MouseEvent<Element, MouseEvent> | undefined,
|
|
12
|
+
const onSelect = (_event: React.MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
|
|
13
13
|
// eslint-disable-next-line no-console
|
|
14
|
-
console.log('selected',
|
|
14
|
+
console.log('selected', value);
|
|
15
15
|
|
|
16
|
-
if (selectedItems.includes(
|
|
17
|
-
setSelectedItems(selectedItems.filter((id) => id !==
|
|
16
|
+
if (selectedItems.includes(value as number)) {
|
|
17
|
+
setSelectedItems(selectedItems.filter((id) => id !== value));
|
|
18
18
|
} else {
|
|
19
|
-
setSelectedItems([...selectedItems,
|
|
19
|
+
setSelectedItems([...selectedItems, value as number]);
|
|
20
20
|
}
|
|
21
21
|
};
|
|
22
22
|
|
|
@@ -47,16 +47,16 @@ export const SelectCheckbox: React.FunctionComponent = () => {
|
|
|
47
47
|
toggle={toggle}
|
|
48
48
|
>
|
|
49
49
|
<SelectList>
|
|
50
|
-
<SelectOption hasCheckbox
|
|
50
|
+
<SelectOption hasCheckbox value={0} isSelected={selectedItems.includes(0)}>
|
|
51
51
|
Debug
|
|
52
52
|
</SelectOption>
|
|
53
|
-
<SelectOption hasCheckbox
|
|
53
|
+
<SelectOption hasCheckbox value={1} isSelected={selectedItems.includes(1)}>
|
|
54
54
|
Info
|
|
55
55
|
</SelectOption>
|
|
56
|
-
<SelectOption hasCheckbox
|
|
56
|
+
<SelectOption hasCheckbox value={2} isSelected={selectedItems.includes(2)}>
|
|
57
57
|
Warn
|
|
58
58
|
</SelectOption>
|
|
59
|
-
<SelectOption hasCheckbox isDisabled
|
|
59
|
+
<SelectOption hasCheckbox isDisabled value={4} isSelected={selectedItems.includes(4)}>
|
|
60
60
|
Error
|
|
61
61
|
</SelectOption>
|
|
62
62
|
</SelectList>
|