@patternfly/react-core 5.0.0-alpha.62 → 5.0.0-alpha.64
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 +10 -0
- package/dist/esm/components/CalendarMonth/CalendarMonth.d.ts.map +1 -1
- package/dist/esm/components/CalendarMonth/CalendarMonth.js +9 -11
- package/dist/esm/components/CalendarMonth/CalendarMonth.js.map +1 -1
- package/dist/esm/components/DualListSelector/DualListSelectorControl.d.ts +1 -1
- package/dist/esm/components/Menu/MenuItem.d.ts +1 -1
- package/dist/esm/components/MenuToggle/MenuToggle.d.ts.map +1 -1
- package/dist/esm/components/MenuToggle/MenuToggle.js +3 -1
- package/dist/esm/components/MenuToggle/MenuToggle.js.map +1 -1
- package/dist/esm/components/Select/Select.d.ts +26 -192
- package/dist/esm/components/Select/Select.d.ts.map +1 -1
- package/dist/esm/components/Select/Select.js +51 -935
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/esm/components/Select/SelectGroup.d.ts +7 -8
- package/dist/esm/components/Select/SelectGroup.d.ts.map +1 -1
- package/dist/esm/components/Select/SelectGroup.js +4 -7
- package/dist/esm/components/Select/SelectGroup.js.map +1 -1
- package/dist/{js/next → esm}/components/Select/SelectList.d.ts +1 -1
- package/dist/esm/components/Select/SelectList.d.ts.map +1 -0
- package/dist/esm/{next/components → components}/Select/SelectList.js +1 -1
- package/dist/esm/components/Select/SelectList.js.map +1 -0
- package/dist/esm/components/Select/SelectOption.d.ts +13 -66
- package/dist/esm/components/Select/SelectOption.d.ts.map +1 -1
- package/dist/esm/components/Select/SelectOption.js +6 -192
- package/dist/esm/components/Select/SelectOption.js.map +1 -1
- package/dist/esm/components/Select/index.d.ts +1 -1
- package/dist/esm/components/Select/index.d.ts.map +1 -1
- package/dist/esm/components/Select/index.js +1 -1
- package/dist/esm/components/Select/index.js.map +1 -1
- package/dist/esm/deprecated/components/Select/Select.d.ts +199 -0
- package/dist/esm/deprecated/components/Select/Select.d.ts.map +1 -0
- package/dist/esm/deprecated/components/Select/Select.js +940 -0
- package/dist/esm/deprecated/components/Select/Select.js.map +1 -0
- package/dist/esm/deprecated/components/Select/SelectGroup.d.ts +13 -0
- package/dist/esm/deprecated/components/Select/SelectGroup.d.ts.map +1 -0
- package/dist/esm/deprecated/components/Select/SelectGroup.js +13 -0
- package/dist/esm/deprecated/components/Select/SelectGroup.js.map +1 -0
- package/dist/esm/deprecated/components/Select/SelectMenu.d.ts.map +1 -0
- package/dist/esm/{components → deprecated/components}/Select/SelectMenu.js +1 -1
- package/dist/esm/deprecated/components/Select/SelectMenu.js.map +1 -0
- package/dist/esm/deprecated/components/Select/SelectOption.d.ts +73 -0
- package/dist/esm/deprecated/components/Select/SelectOption.d.ts.map +1 -0
- package/dist/esm/deprecated/components/Select/SelectOption.js +196 -0
- package/dist/esm/deprecated/components/Select/SelectOption.js.map +1 -0
- package/dist/esm/deprecated/components/Select/SelectToggle.d.ts.map +1 -0
- package/dist/esm/{components → deprecated/components}/Select/SelectToggle.js +2 -2
- package/dist/esm/deprecated/components/Select/SelectToggle.js.map +1 -0
- package/dist/esm/{next → deprecated}/components/Select/index.d.ts +1 -1
- package/dist/esm/deprecated/components/Select/index.d.ts.map +1 -0
- package/dist/esm/{next → deprecated}/components/Select/index.js +1 -1
- package/dist/esm/deprecated/components/Select/index.js.map +1 -0
- package/dist/esm/deprecated/components/Select/selectConstants.d.ts.map +1 -0
- package/dist/esm/deprecated/components/Select/selectConstants.js.map +1 -0
- package/dist/esm/deprecated/components/index.d.ts +1 -0
- package/dist/esm/deprecated/components/index.d.ts.map +1 -1
- package/dist/esm/deprecated/components/index.js +1 -0
- package/dist/esm/deprecated/components/index.js.map +1 -1
- package/dist/esm/next/components/index.d.ts +0 -1
- package/dist/esm/next/components/index.d.ts.map +1 -1
- package/dist/esm/next/components/index.js +0 -1
- package/dist/esm/next/components/index.js.map +1 -1
- package/dist/js/components/CalendarMonth/CalendarMonth.d.ts.map +1 -1
- package/dist/js/components/CalendarMonth/CalendarMonth.js +8 -10
- package/dist/js/components/CalendarMonth/CalendarMonth.js.map +1 -1
- package/dist/js/components/DualListSelector/DualListSelectorControl.d.ts +1 -1
- package/dist/js/components/Menu/MenuItem.d.ts +1 -1
- package/dist/js/components/MenuToggle/MenuToggle.d.ts.map +1 -1
- package/dist/js/components/MenuToggle/MenuToggle.js +3 -1
- package/dist/js/components/MenuToggle/MenuToggle.js.map +1 -1
- package/dist/js/components/Select/Select.d.ts +26 -192
- package/dist/js/components/Select/Select.d.ts.map +1 -1
- package/dist/js/components/Select/Select.js +51 -936
- package/dist/js/components/Select/Select.js.map +1 -1
- package/dist/js/components/Select/SelectGroup.d.ts +7 -8
- package/dist/js/components/Select/SelectGroup.d.ts.map +1 -1
- package/dist/js/components/Select/SelectGroup.js +4 -7
- package/dist/js/components/Select/SelectGroup.js.map +1 -1
- package/dist/{esm/next → js}/components/Select/SelectList.d.ts +1 -1
- package/dist/js/components/Select/SelectList.d.ts.map +1 -0
- package/dist/js/{next/components → components}/Select/SelectList.js +1 -1
- package/dist/js/components/Select/SelectList.js.map +1 -0
- package/dist/js/components/Select/SelectOption.d.ts +13 -66
- package/dist/js/components/Select/SelectOption.d.ts.map +1 -1
- package/dist/js/components/Select/SelectOption.js +7 -193
- package/dist/js/components/Select/SelectOption.js.map +1 -1
- package/dist/js/components/Select/index.d.ts +1 -1
- package/dist/js/components/Select/index.d.ts.map +1 -1
- package/dist/js/components/Select/index.js +1 -1
- package/dist/js/components/Select/index.js.map +1 -1
- package/dist/js/deprecated/components/Select/Select.d.ts +199 -0
- package/dist/js/deprecated/components/Select/Select.d.ts.map +1 -0
- package/dist/js/deprecated/components/Select/Select.js +944 -0
- package/dist/js/deprecated/components/Select/Select.js.map +1 -0
- package/dist/js/deprecated/components/Select/SelectGroup.d.ts +13 -0
- package/dist/js/deprecated/components/Select/SelectGroup.d.ts.map +1 -0
- package/dist/js/deprecated/components/Select/SelectGroup.js +17 -0
- package/dist/js/deprecated/components/Select/SelectGroup.js.map +1 -0
- package/dist/js/deprecated/components/Select/SelectMenu.d.ts.map +1 -0
- package/dist/js/{components → deprecated/components}/Select/SelectMenu.js +1 -1
- package/dist/js/deprecated/components/Select/SelectMenu.js.map +1 -0
- package/dist/js/deprecated/components/Select/SelectOption.d.ts +73 -0
- package/dist/js/deprecated/components/Select/SelectOption.d.ts.map +1 -0
- package/dist/js/deprecated/components/Select/SelectOption.js +200 -0
- package/dist/js/deprecated/components/Select/SelectOption.js.map +1 -0
- package/dist/js/deprecated/components/Select/SelectToggle.d.ts.map +1 -0
- package/dist/js/{components → deprecated/components}/Select/SelectToggle.js +2 -2
- package/dist/js/deprecated/components/Select/SelectToggle.js.map +1 -0
- package/dist/js/{next → deprecated}/components/Select/index.d.ts +1 -1
- package/dist/js/deprecated/components/Select/index.d.ts.map +1 -0
- package/dist/js/{next → deprecated}/components/Select/index.js +1 -1
- package/dist/js/deprecated/components/Select/index.js.map +1 -0
- package/dist/js/deprecated/components/Select/selectConstants.d.ts.map +1 -0
- package/dist/js/deprecated/components/Select/selectConstants.js.map +1 -0
- package/dist/js/deprecated/components/index.d.ts +1 -0
- package/dist/js/deprecated/components/index.d.ts.map +1 -1
- package/dist/js/deprecated/components/index.js +1 -0
- package/dist/js/deprecated/components/index.js.map +1 -1
- package/dist/js/next/components/index.d.ts +0 -1
- package/dist/js/next/components/index.d.ts.map +1 -1
- package/dist/js/next/components/index.js +0 -1
- package/dist/js/next/components/index.js.map +1 -1
- package/dist/umd/react-core.min.js +3 -3
- package/package.json +2 -2
- package/src/components/CalendarMonth/CalendarMonth.tsx +25 -15
- package/src/components/DatePicker/__tests__/__snapshots__/DatePicker.test.tsx.snap +22 -31
- package/src/components/LoginPage/examples/LoginPageLanguageSelect.tsx +28 -19
- package/src/components/MenuToggle/MenuToggle.tsx +2 -1
- package/src/components/MenuToggle/__tests__/__snapshots__/MenuToggle.test.tsx.snap +18 -10
- package/src/components/MenuToggle/examples/MenuToggle.md +85 -78
- package/src/components/MenuToggle/examples/MenuToggleSplitButtonAction.tsx +10 -11
- package/src/components/MenuToggle/examples/MenuToggleSplitButtonCheckbox.tsx +4 -17
- package/src/components/MenuToggle/examples/MenuToggleSplitButtonCheckboxWithText.tsx +10 -11
- package/src/components/MenuToggle/examples/MenuToggleTypeahead.tsx +35 -0
- package/src/components/Select/Select.tsx +113 -1475
- package/src/components/Select/SelectGroup.tsx +13 -25
- package/src/{next/components → components}/Select/SelectList.tsx +1 -1
- package/src/components/Select/SelectOption.tsx +22 -452
- package/src/components/Select/examples/Select.md +11 -2897
- package/src/{next/components → components}/Select/examples/SelectBasic.tsx +1 -2
- package/src/{next/components → components}/Select/examples/SelectCheckbox.tsx +1 -2
- package/src/{next/components → components}/Select/examples/SelectGrouped.tsx +1 -2
- package/src/{next/components → components}/Select/examples/SelectMultiTypeahead.tsx +4 -1
- package/src/{next/components → components}/Select/examples/SelectTypeahead.tsx +4 -1
- package/src/components/Select/index.ts +1 -1
- package/src/components/Toolbar/__tests__/Toolbar.test.tsx +3 -21
- package/src/components/Toolbar/__tests__/__snapshots__/Toolbar.test.tsx.snap +12 -124
- package/src/components/Toolbar/examples/Toolbar.md +0 -1
- package/src/components/Toolbar/examples/ToolbarComponentManagedToggleGroups.tsx +59 -63
- package/src/components/Toolbar/examples/ToolbarConsumerManagedToggleGroups.tsx +58 -62
- package/src/components/Toolbar/examples/ToolbarCustomChipGroupContent.tsx +107 -23
- package/src/components/Toolbar/examples/ToolbarGroups.tsx +96 -59
- package/src/components/Toolbar/examples/ToolbarStacked.tsx +56 -39
- package/src/components/Toolbar/examples/ToolbarWithFilters.tsx +115 -28
- package/src/components/Tooltip/examples/TooltipOptions.tsx +53 -23
- package/src/demos/Card/Card.md +39 -23
- package/src/demos/CardDemos.md +99 -46
- package/src/demos/Toolbar.md +51 -21
- package/src/demos/examples/Tabs/TabsAndTable.tsx +5 -22
- package/src/deprecated/components/Select/Select.tsx +1495 -0
- package/src/deprecated/components/Select/SelectGroup.tsx +36 -0
- package/src/{components → deprecated/components}/Select/SelectMenu.tsx +2 -2
- package/src/deprecated/components/Select/SelectOption.tsx +461 -0
- package/src/{components → deprecated/components}/Select/SelectToggle.tsx +3 -3
- package/src/{components → deprecated/components}/Select/__tests__/Select.test.tsx +1 -1
- package/src/deprecated/components/Select/examples/Select.md +2937 -0
- package/src/{next → deprecated}/components/Select/index.ts +1 -1
- package/src/deprecated/components/index.ts +1 -0
- package/src/next/components/index.ts +0 -1
- package/dist/esm/components/Select/SelectMenu.d.ts.map +0 -1
- package/dist/esm/components/Select/SelectMenu.js.map +0 -1
- package/dist/esm/components/Select/SelectToggle.d.ts.map +0 -1
- package/dist/esm/components/Select/SelectToggle.js.map +0 -1
- package/dist/esm/components/Select/selectConstants.d.ts.map +0 -1
- package/dist/esm/components/Select/selectConstants.js.map +0 -1
- package/dist/esm/next/components/Select/Select.d.ts +0 -33
- package/dist/esm/next/components/Select/Select.d.ts.map +0 -1
- package/dist/esm/next/components/Select/Select.js +0 -56
- package/dist/esm/next/components/Select/Select.js.map +0 -1
- package/dist/esm/next/components/Select/SelectGroup.d.ts +0 -12
- package/dist/esm/next/components/Select/SelectGroup.d.ts.map +0 -1
- package/dist/esm/next/components/Select/SelectGroup.js +0 -10
- package/dist/esm/next/components/Select/SelectGroup.js.map +0 -1
- package/dist/esm/next/components/Select/SelectList.d.ts.map +0 -1
- package/dist/esm/next/components/Select/SelectList.js.map +0 -1
- package/dist/esm/next/components/Select/SelectOption.d.ts +0 -20
- package/dist/esm/next/components/Select/SelectOption.d.ts.map +0 -1
- package/dist/esm/next/components/Select/SelectOption.js +0 -10
- package/dist/esm/next/components/Select/SelectOption.js.map +0 -1
- package/dist/esm/next/components/Select/index.d.ts.map +0 -1
- package/dist/esm/next/components/Select/index.js.map +0 -1
- package/dist/js/components/Select/SelectMenu.d.ts.map +0 -1
- package/dist/js/components/Select/SelectMenu.js.map +0 -1
- package/dist/js/components/Select/SelectToggle.d.ts.map +0 -1
- package/dist/js/components/Select/SelectToggle.js.map +0 -1
- package/dist/js/components/Select/selectConstants.d.ts.map +0 -1
- package/dist/js/components/Select/selectConstants.js.map +0 -1
- package/dist/js/next/components/Select/Select.d.ts +0 -33
- package/dist/js/next/components/Select/Select.d.ts.map +0 -1
- package/dist/js/next/components/Select/Select.js +0 -59
- package/dist/js/next/components/Select/Select.js.map +0 -1
- package/dist/js/next/components/Select/SelectGroup.d.ts +0 -12
- package/dist/js/next/components/Select/SelectGroup.d.ts.map +0 -1
- package/dist/js/next/components/Select/SelectGroup.js +0 -14
- package/dist/js/next/components/Select/SelectGroup.js.map +0 -1
- package/dist/js/next/components/Select/SelectList.d.ts.map +0 -1
- package/dist/js/next/components/Select/SelectList.js.map +0 -1
- package/dist/js/next/components/Select/SelectOption.d.ts +0 -20
- package/dist/js/next/components/Select/SelectOption.d.ts.map +0 -1
- package/dist/js/next/components/Select/SelectOption.js +0 -14
- package/dist/js/next/components/Select/SelectOption.js.map +0 -1
- package/dist/js/next/components/Select/index.d.ts.map +0 -1
- package/dist/js/next/components/Select/index.js.map +0 -1
- package/src/components/MenuToggle/examples/MenuToggleSplitButtonActionPrimary.tsx +0 -58
- package/src/components/MenuToggle/examples/MenuToggleSplitButtonActionSecondary.tsx +0 -58
- package/src/components/MenuToggle/examples/MenuToggleSplitButtonCheckboxPrimary.tsx +0 -55
- package/src/components/MenuToggle/examples/MenuToggleSplitButtonCheckboxSecondary.tsx +0 -55
- package/src/next/components/Select/Select.tsx +0 -133
- package/src/next/components/Select/SelectGroup.tsx +0 -24
- package/src/next/components/Select/SelectOption.tsx +0 -31
- package/src/next/components/Select/examples/Select.md +0 -38
- /package/dist/esm/{components → deprecated/components}/Select/SelectMenu.d.ts +0 -0
- /package/dist/esm/{components → deprecated/components}/Select/SelectToggle.d.ts +0 -0
- /package/dist/esm/{components → deprecated/components}/Select/selectConstants.d.ts +0 -0
- /package/dist/esm/{components → deprecated/components}/Select/selectConstants.js +0 -0
- /package/dist/js/{components → deprecated/components}/Select/SelectMenu.d.ts +0 -0
- /package/dist/js/{components → deprecated/components}/Select/SelectToggle.d.ts +0 -0
- /package/dist/js/{components → deprecated/components}/Select/selectConstants.d.ts +0 -0
- /package/dist/js/{components → deprecated/components}/Select/selectConstants.js +0 -0
- /package/src/{components → deprecated/components}/Select/__tests__/SelectGroup.test.tsx +0 -0
- /package/src/{components → deprecated/components}/Select/__tests__/SelectOption.test.tsx +0 -0
- /package/src/{components → deprecated/components}/Select/__tests__/SelectToggle.test.tsx +0 -0
- /package/src/{components → deprecated/components}/Select/__tests__/__snapshots__/Select.test.tsx.snap +0 -0
- /package/src/{components → deprecated/components}/Select/__tests__/__snapshots__/SelectGroup.test.tsx.snap +0 -0
- /package/src/{components → deprecated/components}/Select/__tests__/__snapshots__/SelectOption.test.tsx.snap +0 -0
- /package/src/{components → deprecated/components}/Select/__tests__/__snapshots__/SelectToggle.test.tsx.snap +0 -0
- /package/src/{components → deprecated/components}/Select/selectConstants.tsx +0 -0
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.64",
|
|
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",
|
|
@@ -70,5 +70,5 @@
|
|
|
70
70
|
"react": "^17 || ^18",
|
|
71
71
|
"react-dom": "^17 || ^18"
|
|
72
72
|
},
|
|
73
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "96fff41f82b6547ea995ea64938c38575058518e"
|
|
74
74
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React, { useEffect } from 'react';
|
|
2
|
-
import { TextInput } from '../TextInput
|
|
3
|
-
import { Button } from '../Button
|
|
4
|
-
import { Select, SelectOption } from '../Select';
|
|
2
|
+
import { TextInput } from '../TextInput';
|
|
3
|
+
import { Button } from '../Button';
|
|
4
|
+
import { Select, SelectList, SelectOption } from '../Select';
|
|
5
|
+
import { MenuToggle, MenuToggleElement } from '../MenuToggle';
|
|
5
6
|
import { InputGroup } from '../InputGroup';
|
|
6
7
|
import AngleLeftIcon from '@patternfly/react-icons/dist/esm/icons/angle-left-icon';
|
|
7
8
|
import AngleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-right-icon';
|
|
@@ -263,13 +264,21 @@ export const CalendarMonth = ({
|
|
|
263
264
|
Month
|
|
264
265
|
</span>
|
|
265
266
|
<Select
|
|
266
|
-
|
|
267
|
-
|
|
267
|
+
toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
|
|
268
|
+
<MenuToggle
|
|
269
|
+
ref={toggleRef}
|
|
270
|
+
onClick={()=>setIsSelectOpen(!isSelectOpen)}
|
|
271
|
+
isExpanded={isSelectOpen}
|
|
272
|
+
style={{width: "140px"} as React.CSSProperties }
|
|
273
|
+
>
|
|
274
|
+
{monthFormatted}
|
|
275
|
+
</MenuToggle>
|
|
276
|
+
)}
|
|
268
277
|
aria-labelledby={hiddenMonthId}
|
|
269
278
|
isOpen={isSelectOpen}
|
|
270
|
-
|
|
271
|
-
setIsSelectOpen(
|
|
272
|
-
onSelectToggle(
|
|
279
|
+
onOpenChange={(isOpen) => {
|
|
280
|
+
setIsSelectOpen(isOpen);
|
|
281
|
+
onSelectToggle(isOpen);
|
|
273
282
|
}}
|
|
274
283
|
onSelect={(ev, monthNum) => {
|
|
275
284
|
// When we put CalendarMonth in a Popover we want the Popover's onDocumentClick
|
|
@@ -285,14 +294,15 @@ export const CalendarMonth = ({
|
|
|
285
294
|
onMonthChange(ev, newDate);
|
|
286
295
|
}, 0);
|
|
287
296
|
}}
|
|
288
|
-
|
|
289
|
-
selections={monthFormatted}
|
|
297
|
+
selected={monthFormatted}
|
|
290
298
|
>
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
{longMonth}
|
|
294
|
-
|
|
295
|
-
|
|
299
|
+
<SelectList>
|
|
300
|
+
{longMonths.map((longMonth, index) => (
|
|
301
|
+
<SelectOption key={index} itemId={index} isSelected={longMonth === monthFormatted}>
|
|
302
|
+
{longMonth}
|
|
303
|
+
</SelectOption>
|
|
304
|
+
))}
|
|
305
|
+
</SelectList>
|
|
296
306
|
</Select>
|
|
297
307
|
</div>
|
|
298
308
|
<div className={styles.calendarMonthHeaderYear}>
|
|
@@ -103,45 +103,36 @@ exports[`With popover opened 1`] = `
|
|
|
103
103
|
>
|
|
104
104
|
Month
|
|
105
105
|
</span>
|
|
106
|
-
<div
|
|
107
|
-
class="pf-c-select"
|
|
108
|
-
data-ouia-component-id="OUIA-Generated-Select-single-1"
|
|
109
|
-
data-ouia-component-type="PF4/Select"
|
|
110
|
-
data-ouia-safe="true"
|
|
111
|
-
style="width: 140px;"
|
|
112
|
-
>
|
|
106
|
+
<div>
|
|
113
107
|
<button
|
|
114
108
|
aria-expanded="false"
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
aria-labelledby="unique_id_mock pf-select-toggle-id-0"
|
|
118
|
-
class="pf-c-select__toggle"
|
|
119
|
-
id="pf-select-toggle-id-0"
|
|
109
|
+
class="pf-c-menu-toggle"
|
|
110
|
+
style="width: 140px;"
|
|
120
111
|
type="button"
|
|
121
112
|
>
|
|
122
|
-
<
|
|
123
|
-
class="pf-c-
|
|
113
|
+
<span
|
|
114
|
+
class="pf-c-menu-toggle__text"
|
|
124
115
|
>
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
>
|
|
128
|
-
December
|
|
129
|
-
</span>
|
|
130
|
-
</div>
|
|
116
|
+
December
|
|
117
|
+
</span>
|
|
131
118
|
<span
|
|
132
|
-
class="pf-c-
|
|
119
|
+
class="pf-c-menu-toggle__controls"
|
|
133
120
|
>
|
|
134
|
-
<
|
|
135
|
-
|
|
136
|
-
class="pf-svg"
|
|
137
|
-
fill="currentColor"
|
|
138
|
-
role="img"
|
|
139
|
-
viewBox="0 0 320 512"
|
|
121
|
+
<span
|
|
122
|
+
class="pf-c-menu-toggle__toggle-icon"
|
|
140
123
|
>
|
|
141
|
-
<
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
124
|
+
<svg
|
|
125
|
+
aria-hidden="true"
|
|
126
|
+
class="pf-svg"
|
|
127
|
+
fill="currentColor"
|
|
128
|
+
role="img"
|
|
129
|
+
viewBox="0 0 320 512"
|
|
130
|
+
>
|
|
131
|
+
<path
|
|
132
|
+
d="M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z"
|
|
133
|
+
/>
|
|
134
|
+
</svg>
|
|
135
|
+
</span>
|
|
145
136
|
</span>
|
|
146
137
|
</button>
|
|
147
138
|
</div>
|
|
@@ -8,9 +8,11 @@ import {
|
|
|
8
8
|
LoginPage,
|
|
9
9
|
ListItem,
|
|
10
10
|
ListVariant,
|
|
11
|
+
MenuToggle,
|
|
12
|
+
MenuToggleElement,
|
|
11
13
|
Select,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
SelectList,
|
|
15
|
+
SelectOption
|
|
14
16
|
} from '@patternfly/react-core';
|
|
15
17
|
import ExclamationCircleIcon from '@patternfly/react-icons/dist/esm/icons/exclamation-circle-icon';
|
|
16
18
|
|
|
@@ -22,7 +24,7 @@ export const LoginPageLanguageSelect: React.FunctionComponent = () => {
|
|
|
22
24
|
const [isValidPassword, setIsValidPassword] = React.useState(true);
|
|
23
25
|
const [isRememberMeChecked, setIsRememberMeChecked] = React.useState(false);
|
|
24
26
|
const [isHeaderUtilsOpen, setIsHeaderUtilsOpen] = React.useState(false);
|
|
25
|
-
const [selectedHeaderUtils, setSelectedHeaderUtils] = React.useState
|
|
27
|
+
const [selectedHeaderUtils, setSelectedHeaderUtils] = React.useState('English');
|
|
26
28
|
|
|
27
29
|
/** i18n object is used to simulate i18n integration of native language translation */
|
|
28
30
|
const i18n = {
|
|
@@ -35,23 +37,21 @@ export const LoginPageLanguageSelect: React.FunctionComponent = () => {
|
|
|
35
37
|
Bengali: 'বাংলা'
|
|
36
38
|
};
|
|
37
39
|
|
|
38
|
-
const headerUtilsOptions =
|
|
39
|
-
<
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
setIsHeaderUtilsOpen(isExpanded);
|
|
50
|
-
};
|
|
40
|
+
const headerUtilsOptions = (
|
|
41
|
+
<SelectList>
|
|
42
|
+
<SelectOption key={0} itemId={i18n.English}>{i18n.English}</SelectOption>
|
|
43
|
+
<SelectOption key={1} itemId={i18n.Mandarin}>{i18n.Mandarin}</SelectOption>
|
|
44
|
+
<SelectOption key={2} itemId={i18n.Hindi}>{i18n.Hindi}</SelectOption>
|
|
45
|
+
<SelectOption key={3} itemId={i18n.Spanish}>{i18n.Spanish}</SelectOption>
|
|
46
|
+
<SelectOption key={4} itemId={i18n.Portuguese}>{i18n.Portuguese}</SelectOption>
|
|
47
|
+
<SelectOption key={5} itemId={i18n.Arabic}>{i18n.Arabic}</SelectOption>
|
|
48
|
+
<SelectOption key={6} itemId={i18n.Bengali}>{i18n.Bengali}</SelectOption>
|
|
49
|
+
</SelectList>
|
|
50
|
+
);
|
|
51
51
|
|
|
52
52
|
const onHeaderUtilsSelect = (
|
|
53
53
|
_event: React.MouseEvent<Element, MouseEvent> | React.ChangeEvent<Element>,
|
|
54
|
-
value: string
|
|
54
|
+
value: string
|
|
55
55
|
) => {
|
|
56
56
|
setSelectedHeaderUtils(value);
|
|
57
57
|
setIsHeaderUtilsOpen(false);
|
|
@@ -60,9 +60,18 @@ export const LoginPageLanguageSelect: React.FunctionComponent = () => {
|
|
|
60
60
|
const headerUtils = (
|
|
61
61
|
<Select
|
|
62
62
|
aria-label="Select Language"
|
|
63
|
-
|
|
63
|
+
toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
|
|
64
|
+
<MenuToggle
|
|
65
|
+
ref={toggleRef}
|
|
66
|
+
onClick={() => setIsHeaderUtilsOpen(!isHeaderUtilsOpen)}
|
|
67
|
+
isExpanded={isHeaderUtilsOpen}
|
|
68
|
+
>
|
|
69
|
+
{selectedHeaderUtils}
|
|
70
|
+
</MenuToggle>
|
|
71
|
+
)}
|
|
64
72
|
onSelect={onHeaderUtilsSelect}
|
|
65
|
-
|
|
73
|
+
onOpenChange={isOpen => setIsHeaderUtilsOpen(isOpen)}
|
|
74
|
+
selected={selectedHeaderUtils}
|
|
66
75
|
isOpen={isHeaderUtilsOpen}
|
|
67
76
|
>
|
|
68
77
|
{headerUtilsOptions}
|
|
@@ -3,6 +3,7 @@ import styles from '@patternfly/react-styles/css/components/MenuToggle/menu-togg
|
|
|
3
3
|
import { css } from '@patternfly/react-styles';
|
|
4
4
|
import CaretDownIcon from '@patternfly/react-icons/dist/esm/icons/caret-down-icon';
|
|
5
5
|
import { BadgeProps } from '../Badge';
|
|
6
|
+
import { Icon } from '../Icon';
|
|
6
7
|
|
|
7
8
|
export type MenuToggleElement = HTMLDivElement | HTMLButtonElement;
|
|
8
9
|
|
|
@@ -85,7 +86,7 @@ export class MenuToggleBase extends React.Component<MenuToggleProps> {
|
|
|
85
86
|
|
|
86
87
|
const content = (
|
|
87
88
|
<>
|
|
88
|
-
{icon && <span className={css(styles.menuToggleIcon)}>{icon}</span>}
|
|
89
|
+
{icon && <span className={css(styles.menuToggleIcon)}><Icon>{icon}</Icon></span>}
|
|
89
90
|
{isTypeahead ? children : <span className={css(styles.menuToggleText)}>{children}</span>}
|
|
90
91
|
{React.isValidElement(badge) && <span className={css(styles.menuToggleCount)}>{badge}</span>}
|
|
91
92
|
{isTypeahead ? (
|
|
@@ -124,17 +124,25 @@ exports[`menu toggle shows icon 1`] = `
|
|
|
124
124
|
<span
|
|
125
125
|
class="pf-c-menu-toggle__icon"
|
|
126
126
|
>
|
|
127
|
-
<
|
|
128
|
-
|
|
129
|
-
class="pf-svg"
|
|
130
|
-
fill="currentColor"
|
|
131
|
-
role="img"
|
|
132
|
-
viewBox="0 0 512 512"
|
|
127
|
+
<span
|
|
128
|
+
class="pf-c-icon"
|
|
133
129
|
>
|
|
134
|
-
<
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
130
|
+
<span
|
|
131
|
+
class="pf-c-icon__content"
|
|
132
|
+
>
|
|
133
|
+
<svg
|
|
134
|
+
aria-hidden="true"
|
|
135
|
+
class="pf-svg"
|
|
136
|
+
fill="currentColor"
|
|
137
|
+
role="img"
|
|
138
|
+
viewBox="0 0 512 512"
|
|
139
|
+
>
|
|
140
|
+
<path
|
|
141
|
+
d="M487.4 315.7l-42.6-24.6c4.3-23.2 4.3-47 0-70.2l42.6-24.6c4.9-2.8 7.1-8.6 5.5-14-11.1-35.6-30-67.8-54.7-94.6-3.8-4.1-10-5.1-14.8-2.3L380.8 110c-17.9-15.4-38.5-27.3-60.8-35.1V25.8c0-5.6-3.9-10.5-9.4-11.7-36.7-8.2-74.3-7.8-109.2 0-5.5 1.2-9.4 6.1-9.4 11.7V75c-22.2 7.9-42.8 19.8-60.8 35.1L88.7 85.5c-4.9-2.8-11-1.9-14.8 2.3-24.7 26.7-43.6 58.9-54.7 94.6-1.7 5.4.6 11.2 5.5 14L67.3 221c-4.3 23.2-4.3 47 0 70.2l-42.6 24.6c-4.9 2.8-7.1 8.6-5.5 14 11.1 35.6 30 67.8 54.7 94.6 3.8 4.1 10 5.1 14.8 2.3l42.6-24.6c17.9 15.4 38.5 27.3 60.8 35.1v49.2c0 5.6 3.9 10.5 9.4 11.7 36.7 8.2 74.3 7.8 109.2 0 5.5-1.2 9.4-6.1 9.4-11.7v-49.2c22.2-7.9 42.8-19.8 60.8-35.1l42.6 24.6c4.9 2.8 11 1.9 14.8-2.3 24.7-26.7 43.6-58.9 54.7-94.6 1.5-5.5-.7-11.3-5.6-14.1zM256 336c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"
|
|
142
|
+
/>
|
|
143
|
+
</svg>
|
|
144
|
+
</span>
|
|
145
|
+
</span>
|
|
138
146
|
</span>
|
|
139
147
|
<span
|
|
140
148
|
class="pf-c-menu-toggle__text"
|
|
@@ -11,10 +11,13 @@ import './MenuToggle.css'
|
|
|
11
11
|
import CogIcon from '@patternfly/react-icons/dist/esm/icons/cog-icon';
|
|
12
12
|
import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
|
|
13
13
|
import imgAvatar from '@patternfly/react-core/src/components/Avatar/examples/avatarImg.svg';
|
|
14
|
+
import TimesIcon from '@patternfly/react-icons/dist/esm/icons/times-icon';
|
|
14
15
|
|
|
15
16
|
## Examples
|
|
16
17
|
|
|
17
|
-
### Collapsed
|
|
18
|
+
### Collapsed toggle
|
|
19
|
+
|
|
20
|
+
A toggle is collapsed until it is selected by a user.
|
|
18
21
|
|
|
19
22
|
```ts
|
|
20
23
|
import React from 'react';
|
|
@@ -24,7 +27,9 @@ import { MenuToggle } from '@patternfly/react-core';
|
|
|
24
27
|
|
|
25
28
|
```
|
|
26
29
|
|
|
27
|
-
### Expanded
|
|
30
|
+
### Expanded toggle
|
|
31
|
+
|
|
32
|
+
When a user selects a toggle, it becomes expanded and is styled with a blue underline. To flag expanded toggles, and apply expanded styling, use the `isExpanded` property .
|
|
28
33
|
|
|
29
34
|
```ts
|
|
30
35
|
import React from 'react';
|
|
@@ -34,7 +39,9 @@ import { MenuToggle } from '@patternfly/react-core';
|
|
|
34
39
|
|
|
35
40
|
```
|
|
36
41
|
|
|
37
|
-
### Disabled
|
|
42
|
+
### Disabled toggle
|
|
43
|
+
|
|
44
|
+
To disable the selection and expansion of a toggle, use the `isDisabled` property.
|
|
38
45
|
|
|
39
46
|
```ts
|
|
40
47
|
import React from 'react';
|
|
@@ -44,7 +51,9 @@ import { MenuToggle } from '@patternfly/react-core';
|
|
|
44
51
|
|
|
45
52
|
```
|
|
46
53
|
|
|
47
|
-
###
|
|
54
|
+
### With a badge
|
|
55
|
+
|
|
56
|
+
To display a count of selected items in a toggle, use the `badge` property.
|
|
48
57
|
|
|
49
58
|
```ts
|
|
50
59
|
import React from 'react';
|
|
@@ -54,7 +63,9 @@ import { MenuToggle, Badge } from '@patternfly/react-core';
|
|
|
54
63
|
|
|
55
64
|
```
|
|
56
65
|
|
|
57
|
-
###
|
|
66
|
+
### With icons
|
|
67
|
+
|
|
68
|
+
To add a recognizable icon to a menu toggle, use the `icon` property. The following example adds a `CogIcon` to the toggle.
|
|
58
69
|
|
|
59
70
|
```ts
|
|
60
71
|
import React from 'react';
|
|
@@ -62,21 +73,33 @@ import { MenuToggle } from '@patternfly/react-core';
|
|
|
62
73
|
import CogIcon from '@patternfly/react-icons/dist/esm/icons/cog-icon';
|
|
63
74
|
|
|
64
75
|
<React.Fragment>
|
|
65
|
-
<MenuToggle variant="primary">
|
|
66
|
-
<MenuToggle
|
|
67
|
-
|
|
68
|
-
</MenuToggle>{' '}
|
|
69
|
-
<MenuToggle variant="primary" isExpanded>
|
|
70
|
-
Expanded
|
|
71
|
-
</MenuToggle>{' '}
|
|
72
|
-
<MenuToggle variant="primary" isDisabled>
|
|
73
|
-
Disabled
|
|
74
|
-
</MenuToggle>
|
|
76
|
+
<MenuToggle icon={<CogIcon />} variant="primary">Icon</MenuToggle>{' '}
|
|
77
|
+
<MenuToggle icon={<CogIcon />} variant="secondary">Icon</MenuToggle>{' '}
|
|
78
|
+
<MenuToggle icon={<CogIcon />} variant="secondary" isDisabled>Icon</MenuToggle>
|
|
75
79
|
</React.Fragment>
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### With avatar and text
|
|
76
83
|
|
|
84
|
+
You can also pass images into the `icon` property. The following example passes in an `<Avatar>` component with an `imgAvatar`.
|
|
85
|
+
|
|
86
|
+
This can be used alongside a text label that provides more context for the image.
|
|
87
|
+
|
|
88
|
+
```ts
|
|
89
|
+
import React from 'react';
|
|
90
|
+
import { MenuToggle, Avatar } from '@patternfly/react-core';
|
|
91
|
+
import imgAvatar from '@patternfly/react-core/src/components/Avatar/examples/avatarImg.svg';
|
|
92
|
+
|
|
93
|
+
<React.Fragment>
|
|
94
|
+
<MenuToggle icon={<Avatar src={imgAvatar} alt="avatar" />}>Ned Username</MenuToggle>{' '}
|
|
95
|
+
<MenuToggle icon={<Avatar src={imgAvatar} alt="avatar" />} isExpanded>Ned Username</MenuToggle>{' '}
|
|
96
|
+
<MenuToggle icon={<Avatar src={imgAvatar} alt="avatar" />} isDisabled>Ned Username</MenuToggle>
|
|
97
|
+
</React.Fragment>
|
|
77
98
|
```
|
|
78
99
|
|
|
79
|
-
###
|
|
100
|
+
### Variant styles
|
|
101
|
+
|
|
102
|
+
Variant styling can be applied to menu toggles. In the following example, the toggle uses primary styling by passing `variant="primary"` into the `<MenuToggle>` component. Additional variant options include “default”, “plain”, “plainText”, “secondary”, and “typeahead”.
|
|
80
103
|
|
|
81
104
|
```ts
|
|
82
105
|
import React from 'react';
|
|
@@ -84,21 +107,22 @@ import { MenuToggle } from '@patternfly/react-core';
|
|
|
84
107
|
import CogIcon from '@patternfly/react-icons/dist/esm/icons/cog-icon';
|
|
85
108
|
|
|
86
109
|
<React.Fragment>
|
|
87
|
-
<MenuToggle variant="
|
|
88
|
-
|
|
89
|
-
Icon
|
|
90
|
-
</MenuToggle>{' '}
|
|
91
|
-
<MenuToggle variant="secondary" isExpanded>
|
|
110
|
+
<MenuToggle variant="primary">Collapsed</MenuToggle>{' '}
|
|
111
|
+
<MenuToggle variant="primary" isExpanded>
|
|
92
112
|
Expanded
|
|
93
113
|
</MenuToggle>{' '}
|
|
94
|
-
<MenuToggle variant="
|
|
114
|
+
<MenuToggle variant="primary" isDisabled>
|
|
95
115
|
Disabled
|
|
96
116
|
</MenuToggle>
|
|
97
117
|
</React.Fragment>
|
|
98
118
|
|
|
99
119
|
```
|
|
100
120
|
|
|
101
|
-
### Plain
|
|
121
|
+
### Plain toggle with icon
|
|
122
|
+
|
|
123
|
+
To apply plain styling to a menu toggle with an icon, pass in `variant="plain"`. This will remove the default bottom border and caret. You may pass in an `icon` to serve as the menu toggle. The following example passes in an `EllipsisVIcon`.
|
|
124
|
+
|
|
125
|
+
If the toggle does not have any visible text content, use the `aria-label` property to provide an accessible name.
|
|
102
126
|
|
|
103
127
|
```ts
|
|
104
128
|
import React from 'react';
|
|
@@ -108,16 +132,18 @@ import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-ico
|
|
|
108
132
|
<React.Fragment>
|
|
109
133
|
<MenuToggle variant="plain" aria-label="plain kebab">
|
|
110
134
|
<EllipsisVIcon />
|
|
111
|
-
</MenuToggle>
|
|
135
|
+
</MenuToggle>{' '}
|
|
112
136
|
<MenuToggle variant="plain" isExpanded aria-label="plain expanded kebab">
|
|
113
137
|
<EllipsisVIcon />
|
|
114
|
-
</MenuToggle>
|
|
138
|
+
</MenuToggle>{' '}
|
|
115
139
|
<MenuToggle variant="plain" isDisabled aria-label="disabled kebab">
|
|
116
140
|
<EllipsisVIcon />
|
|
117
141
|
</MenuToggle>
|
|
118
142
|
</React.Fragment>
|
|
119
143
|
```
|
|
120
|
-
### Plain with text
|
|
144
|
+
### Plain toggle with text label
|
|
145
|
+
|
|
146
|
+
To apply plain styling to a menu toggle with a text label, pass in `variant="plainText"`. Unlike the “plain” variant, “plainText” adds a caret pointing down in the toggle.
|
|
121
147
|
|
|
122
148
|
```ts
|
|
123
149
|
import React from 'react';
|
|
@@ -126,80 +152,48 @@ import { MenuToggle } from '@patternfly/react-core';
|
|
|
126
152
|
<React.Fragment>
|
|
127
153
|
<MenuToggle variant="plainText" isDisabled aria-label="Disabled plain menu toggle">
|
|
128
154
|
Disabled
|
|
129
|
-
</MenuToggle>
|
|
130
|
-
|
|
155
|
+
</MenuToggle>{' '}
|
|
131
156
|
<MenuToggle variant="plainText" aria-label="Plain menu toggle">
|
|
132
157
|
Custom text
|
|
133
|
-
</MenuToggle>
|
|
158
|
+
</MenuToggle>{' '}
|
|
134
159
|
<MenuToggle variant="plainText" isExpanded aria-label="Expanded plain menu toggle">
|
|
135
160
|
Custom text (expanded)
|
|
136
161
|
</MenuToggle>
|
|
137
162
|
</React.Fragment>
|
|
138
163
|
```
|
|
139
164
|
|
|
140
|
-
### Split button
|
|
141
|
-
|
|
142
|
-
```ts file='MenuToggleSplitButtonCheckbox.tsx'
|
|
143
|
-
```
|
|
165
|
+
### Split button toggle with checkbox
|
|
144
166
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
```ts file='MenuToggleSplitButtonCheckboxWithText.tsx'
|
|
148
|
-
```
|
|
167
|
+
To add an action button or other control to a menu toggle, use a split button. A `<MenuToggle>` can be rendered as a split button by adding a `splitButtonOptions` object. Elements to be displayed before the toggle button must be included in the `items` property of `splitButtonOptions`.
|
|
149
168
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
```ts file='MenuToggleSplitButtonCheckboxPrimary.tsx'
|
|
153
|
-
```
|
|
169
|
+
The following example shows a split button with a `<MenuToggleCheckbox>`.
|
|
154
170
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
```ts file='MenuToggleSplitButtonCheckboxSecondary.tsx'
|
|
158
|
-
```
|
|
171
|
+
Variant styling can be applied to split button toggles to adjust their appearance for different scenarios. Both "primary" and "secondary" variants can be used with split button toggles.
|
|
159
172
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
```ts file='MenuToggleSplitButtonAction.tsx'
|
|
173
|
+
```ts file='MenuToggleSplitButtonCheckbox.tsx'
|
|
163
174
|
```
|
|
164
175
|
|
|
165
|
-
### Split button
|
|
166
|
-
|
|
167
|
-
```ts file='MenuToggleSplitButtonActionPrimary.tsx'
|
|
168
|
-
```
|
|
176
|
+
### Split button toggle with text label
|
|
169
177
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
```ts file='
|
|
178
|
+
To display text in a split button menu toggle, add a label to the `items` property of `splitButtonOptions`.
|
|
179
|
+
|
|
180
|
+
```ts file='MenuToggleSplitButtonCheckboxWithText.tsx'
|
|
173
181
|
```
|
|
174
182
|
|
|
175
|
-
###
|
|
183
|
+
### Split button toggle with action
|
|
176
184
|
|
|
177
|
-
|
|
178
|
-
import React from 'react';
|
|
179
|
-
import { MenuToggle, Avatar } from '@patternfly/react-core';
|
|
180
|
-
import CogIcon from '@patternfly/react-icons/dist/esm/icons/cog-icon';
|
|
185
|
+
To add an action to a split button, pass `variant='action'` into `splitButtonOptions` and add a `<MenuToggleAction>` to the `items` property of `splitButtonOptions`.
|
|
181
186
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
</React.Fragment>
|
|
187
|
+
Actions may be used with primary and secondary toggle variants.
|
|
188
|
+
|
|
189
|
+
```ts file='MenuToggleSplitButtonAction.tsx'
|
|
186
190
|
```
|
|
187
191
|
|
|
188
|
-
###
|
|
192
|
+
### Full height toggle
|
|
189
193
|
|
|
190
|
-
|
|
191
|
-
import React from 'react';
|
|
192
|
-
import { MenuToggle, Avatar } from '@patternfly/react-core';
|
|
193
|
-
import imgAvatar from '@patternfly/react-core/src/components/Avatar/examples/avatarImg.svg';
|
|
194
|
+
A full height toggle fills the height of its parent. To flag a full height toggle, use the `isFullHeight` property.
|
|
194
195
|
|
|
195
|
-
|
|
196
|
-
<MenuToggle icon={<Avatar src={imgAvatar} alt="avatar" />}>Ned Username</MenuToggle>{' '}
|
|
197
|
-
<MenuToggle icon={<Avatar src={imgAvatar} alt="avatar" />} isExpanded>Ned Username</MenuToggle>{' '}
|
|
198
|
-
<MenuToggle icon={<Avatar src={imgAvatar} alt="avatar" />} isDisabled>Ned Username</MenuToggle>
|
|
199
|
-
</React.Fragment>
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
### Full height
|
|
196
|
+
In the following example, the toggle fills the size of the "80px" `<div>` element that it is within.
|
|
203
197
|
|
|
204
198
|
```ts
|
|
205
199
|
import React from 'react';
|
|
@@ -212,7 +206,11 @@ import { MenuToggle } from '@patternfly/react-core';
|
|
|
212
206
|
</div>
|
|
213
207
|
```
|
|
214
208
|
|
|
215
|
-
### Full width
|
|
209
|
+
### Full width toggle
|
|
210
|
+
|
|
211
|
+
A full width toggle fills the width of its parent. To flag a full width toggle, use the `isFullWidth` property.
|
|
212
|
+
|
|
213
|
+
In the following example, the toggle fills the width of its parent as the window size changes.
|
|
216
214
|
|
|
217
215
|
```ts
|
|
218
216
|
import React from 'react';
|
|
@@ -226,3 +224,12 @@ const fullWidth: React.FunctionComponent = () => {
|
|
|
226
224
|
);
|
|
227
225
|
}
|
|
228
226
|
```
|
|
227
|
+
|
|
228
|
+
### Typeahead toggle
|
|
229
|
+
|
|
230
|
+
To create a typeahead toggle, pass in `variant="typeahead"` to the `<MenuToggle>`. Then, pass a `<TextInputGroup>` component as a child of the `<MenuToggle>`.
|
|
231
|
+
|
|
232
|
+
To create a multiple typeahead toggle, pass a `<TextInputGroup>` component implemented like the [text input group's filter example](/components/text-input-group#filters) as a child of `<MenuToggle>`.
|
|
233
|
+
|
|
234
|
+
```ts file='MenuToggleTypeahead.tsx'
|
|
235
|
+
```
|
|
@@ -4,16 +4,10 @@ import { MenuToggleAction, MenuToggle } from '@patternfly/react-core';
|
|
|
4
4
|
export const MenuToggleSplitButtonAction: React.FunctionComponent = () => (
|
|
5
5
|
<React.Fragment>
|
|
6
6
|
<MenuToggle
|
|
7
|
-
isDisabled
|
|
8
7
|
splitButtonOptions={{
|
|
9
8
|
variant: 'action',
|
|
10
9
|
items: [
|
|
11
|
-
<MenuToggleAction
|
|
12
|
-
id="split-button-action-disabled-example-with-toggle-button"
|
|
13
|
-
key="split-action-disabled"
|
|
14
|
-
aria-label="Action"
|
|
15
|
-
isDisabled
|
|
16
|
-
>
|
|
10
|
+
<MenuToggleAction id="split-button-action-example-with-toggle-button" key="split-action" aria-label="Action">
|
|
17
11
|
Action
|
|
18
12
|
</MenuToggleAction>
|
|
19
13
|
]
|
|
@@ -21,10 +15,15 @@ export const MenuToggleSplitButtonAction: React.FunctionComponent = () => (
|
|
|
21
15
|
aria-label="Menu toggle with action split button"
|
|
22
16
|
/>{' '}
|
|
23
17
|
<MenuToggle
|
|
18
|
+
variant="primary"
|
|
24
19
|
splitButtonOptions={{
|
|
25
20
|
variant: 'action',
|
|
26
21
|
items: [
|
|
27
|
-
<MenuToggleAction
|
|
22
|
+
<MenuToggleAction
|
|
23
|
+
id="split-button-action-primary-example-with-toggle-button"
|
|
24
|
+
key="split-action-primary"
|
|
25
|
+
aria-label="Action"
|
|
26
|
+
>
|
|
28
27
|
Action
|
|
29
28
|
</MenuToggleAction>
|
|
30
29
|
]
|
|
@@ -32,13 +31,13 @@ export const MenuToggleSplitButtonAction: React.FunctionComponent = () => (
|
|
|
32
31
|
aria-label="Menu toggle with action split button"
|
|
33
32
|
/>{' '}
|
|
34
33
|
<MenuToggle
|
|
35
|
-
|
|
34
|
+
variant="secondary"
|
|
36
35
|
splitButtonOptions={{
|
|
37
36
|
variant: 'action',
|
|
38
37
|
items: [
|
|
39
38
|
<MenuToggleAction
|
|
40
|
-
id="split-button-action-
|
|
41
|
-
key="split-action-
|
|
39
|
+
id="split-button-action-secondary-example-with-toggle-button"
|
|
40
|
+
key="split-action-secondary"
|
|
42
41
|
aria-label="Action"
|
|
43
42
|
>
|
|
44
43
|
Action
|
|
@@ -4,35 +4,22 @@ import { MenuToggleCheckbox, MenuToggle } from '@patternfly/react-core';
|
|
|
4
4
|
export const MenuToggleSplitButtonCheckbox: React.FunctionComponent = () => (
|
|
5
5
|
<React.Fragment>
|
|
6
6
|
<MenuToggle
|
|
7
|
-
isDisabled
|
|
8
7
|
splitButtonOptions={{
|
|
9
|
-
items: [
|
|
10
|
-
<MenuToggleCheckbox
|
|
11
|
-
id="split-button-checkbox-disabled-example"
|
|
12
|
-
key="split-checkbox-disabled"
|
|
13
|
-
aria-label="Select all"
|
|
14
|
-
isDisabled
|
|
15
|
-
/>
|
|
16
|
-
]
|
|
8
|
+
items: [<MenuToggleCheckbox id="split-button-checkbox-example" key="split-checkbox" aria-label="Select all" />]
|
|
17
9
|
}}
|
|
18
10
|
aria-label="Menu toggle with checkbox split button"
|
|
19
11
|
/>{' '}
|
|
20
12
|
<MenuToggle
|
|
13
|
+
variant="primary"
|
|
21
14
|
splitButtonOptions={{
|
|
22
15
|
items: [<MenuToggleCheckbox id="split-button-checkbox-example" key="split-checkbox" aria-label="Select all" />]
|
|
23
16
|
}}
|
|
24
17
|
aria-label="Menu toggle with checkbox split button"
|
|
25
18
|
/>{' '}
|
|
26
19
|
<MenuToggle
|
|
27
|
-
|
|
20
|
+
variant="secondary"
|
|
28
21
|
splitButtonOptions={{
|
|
29
|
-
items: [
|
|
30
|
-
<MenuToggleCheckbox
|
|
31
|
-
id="split-button-checkbox-expanded-example"
|
|
32
|
-
key="split-checkbox-expanded"
|
|
33
|
-
aria-label="Select all"
|
|
34
|
-
/>
|
|
35
|
-
]
|
|
22
|
+
items: [<MenuToggleCheckbox id="split-button-checkbox-example" key="split-checkbox" aria-label="Select all" />]
|
|
36
23
|
}}
|
|
37
24
|
aria-label="Menu toggle with checkbox split button"
|
|
38
25
|
/>
|