@patternfly/react-core 6.0.0-alpha.71 → 6.0.0-alpha.73
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/components/package.json +8 -1
- package/deprecated/package.json +8 -1
- package/dist/dynamic/components/AboutModal/package.json +8 -1
- package/dist/dynamic/components/Accordion/package.json +8 -1
- package/dist/dynamic/components/ActionList/package.json +8 -1
- package/dist/dynamic/components/Alert/package.json +8 -1
- package/dist/dynamic/components/Avatar/package.json +8 -1
- package/dist/dynamic/components/BackToTop/package.json +8 -1
- package/dist/dynamic/components/Backdrop/package.json +8 -1
- package/dist/dynamic/components/BackgroundImage/package.json +8 -1
- package/dist/dynamic/components/Badge/package.json +8 -1
- package/dist/dynamic/components/Banner/package.json +8 -1
- package/dist/dynamic/components/Brand/package.json +8 -1
- package/dist/dynamic/components/Breadcrumb/package.json +8 -1
- package/dist/dynamic/components/Button/package.json +8 -1
- package/dist/dynamic/components/CalendarMonth/package.json +8 -1
- package/dist/dynamic/components/Card/package.json +8 -1
- package/dist/dynamic/components/Checkbox/package.json +8 -1
- package/dist/dynamic/components/ClipboardCopy/package.json +8 -1
- package/dist/dynamic/components/CodeBlock/package.json +8 -1
- package/dist/dynamic/components/DataList/package.json +8 -1
- package/dist/dynamic/components/DatePicker/package.json +8 -1
- package/dist/dynamic/components/DescriptionList/package.json +8 -1
- package/dist/dynamic/components/Divider/package.json +8 -1
- package/dist/dynamic/components/Drawer/package.json +8 -1
- package/dist/dynamic/components/Dropdown/package.json +8 -1
- package/dist/dynamic/components/DualListSelector/package.json +8 -1
- package/dist/dynamic/components/EmptyState/package.json +8 -1
- package/dist/dynamic/components/ExpandableSection/package.json +8 -1
- package/dist/dynamic/components/FileUpload/package.json +8 -1
- package/dist/dynamic/components/Form/package.json +8 -1
- package/dist/dynamic/components/FormSelect/package.json +8 -1
- package/dist/dynamic/components/HelperText/package.json +8 -1
- package/dist/dynamic/components/Hint/package.json +8 -1
- package/dist/dynamic/components/Icon/package.json +8 -1
- package/dist/dynamic/components/InputGroup/package.json +8 -1
- package/dist/dynamic/components/JumpLinks/package.json +8 -1
- package/dist/dynamic/components/Label/package.json +8 -1
- package/dist/dynamic/components/List/package.json +8 -1
- package/dist/dynamic/components/LoginPage/package.json +8 -1
- package/dist/dynamic/components/Masthead/package.json +8 -1
- package/dist/dynamic/components/Menu/package.json +8 -1
- package/dist/dynamic/components/MenuToggle/package.json +8 -1
- package/dist/dynamic/components/Modal/package.json +8 -1
- package/dist/dynamic/components/MultipleFileUpload/package.json +8 -1
- package/dist/dynamic/components/Nav/package.json +8 -1
- package/dist/dynamic/components/NotificationBadge/package.json +8 -1
- package/dist/dynamic/components/NotificationDrawer/package.json +8 -1
- package/dist/dynamic/components/NumberInput/package.json +8 -1
- package/dist/dynamic/components/OverflowMenu/package.json +8 -1
- package/dist/dynamic/components/Page/package.json +8 -1
- package/dist/dynamic/components/Pagination/package.json +8 -1
- package/dist/dynamic/components/Panel/package.json +8 -1
- package/dist/dynamic/components/Popover/package.json +8 -1
- package/dist/dynamic/components/Progress/package.json +8 -1
- package/dist/dynamic/components/ProgressStepper/package.json +8 -1
- package/dist/dynamic/components/Radio/package.json +8 -1
- package/dist/dynamic/components/SearchInput/package.json +8 -1
- package/dist/dynamic/components/Select/package.json +8 -1
- package/dist/dynamic/components/Sidebar/package.json +8 -1
- package/dist/dynamic/components/SimpleList/package.json +8 -1
- package/dist/dynamic/components/Skeleton/package.json +8 -1
- package/dist/dynamic/components/SkipToContent/package.json +8 -1
- package/dist/dynamic/components/Slider/package.json +8 -1
- package/dist/dynamic/components/Spinner/package.json +8 -1
- package/dist/dynamic/components/Switch/package.json +8 -1
- package/dist/dynamic/components/Tabs/package.json +8 -1
- package/dist/dynamic/components/Text/package.json +8 -1
- package/dist/dynamic/components/TextArea/package.json +8 -1
- package/dist/dynamic/components/TextInput/package.json +8 -1
- package/dist/dynamic/components/TextInputGroup/package.json +8 -1
- package/dist/dynamic/components/Tile/package.json +8 -1
- package/dist/dynamic/components/TimePicker/package.json +8 -1
- package/dist/dynamic/components/Timestamp/package.json +8 -1
- package/dist/dynamic/components/Title/package.json +8 -1
- package/dist/dynamic/components/ToggleGroup/package.json +8 -1
- package/dist/dynamic/components/Toolbar/package.json +8 -1
- package/dist/dynamic/components/Tooltip/package.json +8 -1
- package/dist/dynamic/components/TreeView/package.json +8 -1
- package/dist/dynamic/components/Truncate/package.json +8 -1
- package/dist/dynamic/components/Wizard/hooks/package.json +8 -1
- package/dist/dynamic/components/Wizard/package.json +8 -1
- package/dist/dynamic/deprecated/components/Chip/package.json +8 -1
- package/dist/dynamic/deprecated/components/DragDrop/package.json +8 -1
- package/dist/dynamic/deprecated/components/DualListSelector/package.json +8 -1
- package/dist/dynamic/deprecated/components/Modal/package.json +8 -1
- package/dist/dynamic/deprecated/components/Wizard/package.json +8 -1
- package/dist/dynamic/deprecated/components/package.json +8 -1
- package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +8 -1
- package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +8 -1
- package/dist/dynamic/helpers/KeyboardHandler/package.json +8 -1
- package/dist/dynamic/helpers/OUIA/ouia/package.json +8 -1
- package/dist/dynamic/helpers/Popper/Popper/package.json +8 -1
- package/dist/dynamic/helpers/constants/package.json +8 -1
- package/dist/dynamic/helpers/datetimeUtils/package.json +8 -1
- package/dist/dynamic/helpers/fileUtils/package.json +8 -1
- package/dist/dynamic/helpers/htmlConstants/package.json +8 -1
- package/dist/dynamic/helpers/package.json +8 -1
- package/dist/dynamic/helpers/resizeObserver/package.json +8 -1
- package/dist/dynamic/helpers/typeUtils/package.json +8 -1
- package/dist/dynamic/helpers/useInterval/package.json +8 -1
- package/dist/dynamic/helpers/useIsomorphicLayout/package.json +8 -1
- package/dist/dynamic/helpers/useUnmountEffect/package.json +8 -1
- package/dist/dynamic/helpers/util/package.json +8 -1
- package/dist/dynamic/layouts/Bullseye/package.json +8 -1
- package/dist/dynamic/layouts/Flex/package.json +8 -1
- package/dist/dynamic/layouts/Gallery/package.json +8 -1
- package/dist/dynamic/layouts/Grid/package.json +8 -1
- package/dist/dynamic/layouts/Level/package.json +8 -1
- package/dist/dynamic/layouts/Split/package.json +8 -1
- package/dist/dynamic/layouts/Stack/package.json +8 -1
- package/dist/dynamic/styles/package.json +8 -1
- package/dist/esm/components/Banner/Banner.d.ts +1 -1
- package/dist/esm/components/Banner/Banner.d.ts.map +1 -1
- package/dist/esm/components/CalendarMonth/CalendarMonth.js +16 -19
- package/dist/esm/components/CalendarMonth/CalendarMonth.js.map +1 -1
- package/dist/esm/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/esm/components/DatePicker/DatePicker.js +16 -1
- package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/esm/components/Drawer/__tests__/DrawerPanelDescription.d.ts +1 -1
- package/dist/esm/components/Drawer/__tests__/DrawerPanelDescription.d.ts.map +1 -1
- package/dist/esm/components/Drawer/__tests__/DrawerPanelDescription.js +1 -0
- package/dist/esm/components/Drawer/__tests__/DrawerPanelDescription.js.map +1 -1
- package/dist/esm/components/Label/Label.d.ts +1 -1
- package/dist/esm/components/Label/Label.d.ts.map +1 -1
- package/dist/esm/components/Label/Label.js +2 -2
- package/dist/esm/components/Label/Label.js.map +1 -1
- package/dist/esm/components/MenuToggle/MenuToggle.d.ts +6 -1
- package/dist/esm/components/MenuToggle/MenuToggle.d.ts.map +1 -1
- package/dist/esm/components/MenuToggle/MenuToggle.js +11 -5
- package/dist/esm/components/MenuToggle/MenuToggle.js.map +1 -1
- package/dist/esm/deprecated/components/Modal/Modal.d.ts +3 -3
- package/dist/esm/deprecated/components/Modal/Modal.d.ts.map +1 -1
- package/dist/esm/deprecated/components/Modal/Modal.js +1 -1
- package/dist/esm/deprecated/components/Modal/Modal.js.map +1 -1
- package/dist/esm/deprecated/components/Modal/ModalContent.d.ts +2 -2
- package/dist/esm/deprecated/components/Modal/ModalContent.d.ts.map +1 -1
- package/dist/js/components/Banner/Banner.d.ts +1 -1
- package/dist/js/components/Banner/Banner.d.ts.map +1 -1
- package/dist/js/components/CalendarMonth/CalendarMonth.js +16 -19
- package/dist/js/components/CalendarMonth/CalendarMonth.js.map +1 -1
- package/dist/js/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/js/components/DatePicker/DatePicker.js +16 -1
- package/dist/js/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/js/components/Drawer/__tests__/DrawerPanelDescription.d.ts +1 -1
- package/dist/js/components/Drawer/__tests__/DrawerPanelDescription.d.ts.map +1 -1
- package/dist/js/components/Drawer/__tests__/DrawerPanelDescription.js +1 -0
- package/dist/js/components/Drawer/__tests__/DrawerPanelDescription.js.map +1 -1
- package/dist/js/components/Label/Label.d.ts +1 -1
- package/dist/js/components/Label/Label.d.ts.map +1 -1
- package/dist/js/components/Label/Label.js +2 -2
- package/dist/js/components/Label/Label.js.map +1 -1
- package/dist/js/components/MenuToggle/MenuToggle.d.ts +6 -1
- package/dist/js/components/MenuToggle/MenuToggle.d.ts.map +1 -1
- package/dist/js/components/MenuToggle/MenuToggle.js +11 -5
- package/dist/js/components/MenuToggle/MenuToggle.js.map +1 -1
- package/dist/js/deprecated/components/Modal/Modal.d.ts +3 -3
- package/dist/js/deprecated/components/Modal/Modal.d.ts.map +1 -1
- package/dist/js/deprecated/components/Modal/Modal.js +1 -1
- package/dist/js/deprecated/components/Modal/Modal.js.map +1 -1
- package/dist/js/deprecated/components/Modal/ModalContent.d.ts +2 -2
- package/dist/js/deprecated/components/Modal/ModalContent.d.ts.map +1 -1
- package/dist/styles/assets/images/pf-background.svg +21 -21
- package/dist/styles/base-no-reset.css +201 -183
- package/dist/styles/base.css +230 -208
- package/dist/umd/assets/{output-C1Tl2GQc.css → output-rAmU2c74.css} +6351 -6308
- package/dist/umd/react-core.min.js +3 -3
- package/helpers/package.json +8 -1
- package/layouts/package.json +8 -1
- package/next/package.json +8 -1
- package/package.json +8 -9
- package/src/components/Banner/Banner.tsx +1 -1
- package/src/components/Banner/__tests__/Banner.test.tsx +6 -6
- package/src/components/Banner/examples/BannerBasic.tsx +2 -2
- package/src/components/CalendarMonth/CalendarMonth.tsx +19 -19
- package/src/components/DatePicker/DatePicker.tsx +19 -1
- package/src/components/DatePicker/__tests__/__snapshots__/DatePicker.test.tsx.snap +3 -0
- package/src/components/Drawer/__tests__/DrawerPanelDescription.tsx +1 -0
- package/src/components/Label/Label.tsx +3 -3
- package/src/components/Label/__tests__/Label.test.tsx +1 -1
- package/src/components/Label/__tests__/__snapshots__/Label.test.tsx.snap +72 -36
- package/src/components/Label/examples/LabelFilled.tsx +44 -44
- package/src/components/Label/examples/LabelGroupEditableAddModal.tsx +1 -1
- package/src/components/Label/examples/LabelOutline.tsx +52 -46
- package/src/components/MenuToggle/MenuToggle.tsx +29 -7
- package/src/components/MenuToggle/__tests__/__snapshots__/MenuToggle.test.tsx.snap +27 -0
- package/src/components/MenuToggle/examples/MenuToggle.md +12 -10
- package/src/components/Nav/__tests__/Generated/NavList.test.tsx +1 -1
- package/src/components/Nav/__tests__/__snapshots__/Nav.test.tsx.snap +1 -1
- package/src/components/Page/examples/Page.md +8 -0
- package/src/components/Page/examples/PageMainSectionVariations.tsx +84 -0
- package/src/components/Pagination/__tests__/Generated/__snapshots__/PaginationOptionsMenu.test.tsx.snap +3 -0
- package/src/components/Pagination/__tests__/__snapshots__/Pagination.test.tsx.snap +60 -0
- package/src/components/SearchInput/__tests__/__snapshots__/SearchInput.test.tsx.snap +2 -2
- package/src/components/SimpleList/__tests__/SimpleList.test.tsx +3 -3
- package/src/components/TextInput/__tests__/TextInput.test.tsx +1 -1
- package/src/demos/DescriptionList/DescriptionList.md +14 -0
- package/src/demos/DescriptionList/examples/DescriptionListBasic.tsx +86 -0
- package/src/demos/Masthead.md +5 -3
- package/src/demos/Tabs.md +2 -3
- package/src/demos/examples/Masthead/MastheadWithHorizontalNav.tsx +322 -0
- package/src/deprecated/components/Modal/Modal.tsx +4 -4
- package/src/deprecated/components/Modal/ModalContent.tsx +2 -2
|
@@ -328,101 +328,107 @@ export const LabelOutline: React.FunctionComponent = () => {
|
|
|
328
328
|
</Label>
|
|
329
329
|
<br />
|
|
330
330
|
<br />
|
|
331
|
-
<Label variant="outline" color="
|
|
332
|
-
|
|
331
|
+
<Label variant="outline" color="teal">
|
|
332
|
+
Teal
|
|
333
333
|
</Label>
|
|
334
|
-
<Label variant="outline" color="
|
|
335
|
-
|
|
334
|
+
<Label variant="outline" color="teal" icon={<CubeIcon />}>
|
|
335
|
+
Teal icon
|
|
336
336
|
</Label>
|
|
337
|
-
<Label variant="outline" color="
|
|
338
|
-
|
|
337
|
+
<Label variant="outline" color="teal" onClose={() => Function.prototype}>
|
|
338
|
+
Teal removable
|
|
339
339
|
</Label>
|
|
340
|
-
<Label variant="outline" color="
|
|
341
|
-
|
|
340
|
+
<Label variant="outline" color="teal" icon={<CubeIcon />} onClose={() => Function.prototype}>
|
|
341
|
+
Teal icon removable
|
|
342
342
|
</Label>
|
|
343
|
-
<Label variant="outline" color="
|
|
344
|
-
|
|
343
|
+
<Label variant="outline" color="teal" href="#outline">
|
|
344
|
+
Teal link
|
|
345
345
|
</Label>
|
|
346
|
-
<Label variant="outline" color="
|
|
347
|
-
|
|
346
|
+
<Label variant="outline" color="teal" href="#outline" onClose={() => Function.prototype}>
|
|
347
|
+
Teal link removable
|
|
348
348
|
</Label>{' '}
|
|
349
|
-
<Label variant="outline" color="
|
|
350
|
-
|
|
349
|
+
<Label variant="outline" color="teal" onClick={() => logColor('teal')}>
|
|
350
|
+
Teal clickable
|
|
351
351
|
</Label>
|
|
352
|
-
<Label variant="outline" color="
|
|
353
|
-
|
|
352
|
+
<Label variant="outline" color="teal" onClick={() => logColor('teal')} onClose={() => Function.prototype}>
|
|
353
|
+
Teal clickable removable
|
|
354
354
|
</Label>
|
|
355
|
-
<Label variant="outline" color="
|
|
356
|
-
|
|
355
|
+
<Label variant="outline" color="teal" icon={<CubeIcon />} onClose={() => Function.prototype} textMaxWidth="16ch">
|
|
356
|
+
Teal label with icon that overflows
|
|
357
357
|
</Label>{' '}
|
|
358
358
|
<Label
|
|
359
359
|
variant="outline"
|
|
360
|
-
color="
|
|
360
|
+
color="teal"
|
|
361
361
|
isDisabled
|
|
362
362
|
icon={<CubeIcon />}
|
|
363
363
|
href="#filled"
|
|
364
364
|
onClose={() => Function.prototype}
|
|
365
365
|
>
|
|
366
|
-
|
|
366
|
+
Teal link removable (disabled)
|
|
367
367
|
</Label>{' '}
|
|
368
368
|
<Label
|
|
369
369
|
variant="outline"
|
|
370
|
-
color="
|
|
370
|
+
color="teal"
|
|
371
371
|
isDisabled
|
|
372
372
|
icon={<CubeIcon />}
|
|
373
|
-
onClick={() => logColor('
|
|
373
|
+
onClick={() => logColor('teal')}
|
|
374
374
|
onClose={() => Function.prototype}
|
|
375
375
|
>
|
|
376
|
-
|
|
376
|
+
Teal clickable removable (disabled)
|
|
377
377
|
</Label>
|
|
378
378
|
<br />
|
|
379
379
|
<br />
|
|
380
|
-
<Label variant="outline" color="
|
|
381
|
-
|
|
380
|
+
<Label variant="outline" color="yellow">
|
|
381
|
+
Yellow
|
|
382
382
|
</Label>
|
|
383
|
-
<Label variant="outline" color="
|
|
384
|
-
|
|
383
|
+
<Label variant="outline" color="yellow" icon={<CubeIcon />}>
|
|
384
|
+
Yellow icon
|
|
385
385
|
</Label>
|
|
386
|
-
<Label variant="outline" color="
|
|
387
|
-
|
|
386
|
+
<Label variant="outline" color="yellow" onClose={() => Function.prototype}>
|
|
387
|
+
Yellow removable
|
|
388
388
|
</Label>
|
|
389
|
-
<Label variant="outline" color="
|
|
390
|
-
|
|
389
|
+
<Label variant="outline" color="yellow" icon={<CubeIcon />} onClose={() => Function.prototype}>
|
|
390
|
+
Yellow icon removable
|
|
391
391
|
</Label>
|
|
392
|
-
<Label variant="outline" color="
|
|
393
|
-
|
|
392
|
+
<Label variant="outline" color="yellow" href="#outline">
|
|
393
|
+
Yellow link
|
|
394
394
|
</Label>
|
|
395
|
-
<Label variant="outline" color="
|
|
396
|
-
|
|
395
|
+
<Label variant="outline" color="yellow" href="#outline" onClose={() => Function.prototype}>
|
|
396
|
+
Yellow link removable
|
|
397
397
|
</Label>{' '}
|
|
398
|
-
<Label variant="outline" color="
|
|
399
|
-
|
|
398
|
+
<Label variant="outline" color="yellow" onClick={() => logColor('yellow')}>
|
|
399
|
+
Yellow clickable
|
|
400
400
|
</Label>
|
|
401
|
-
<Label variant="outline" color="
|
|
402
|
-
|
|
401
|
+
<Label variant="outline" color="yellow" onClick={() => logColor('yellow')} onClose={() => Function.prototype}>
|
|
402
|
+
Yellow clickable removable
|
|
403
403
|
</Label>
|
|
404
|
-
<Label
|
|
405
|
-
|
|
404
|
+
<Label
|
|
405
|
+
variant="outline"
|
|
406
|
+
color="yellow"
|
|
407
|
+
icon={<CubeIcon />}
|
|
408
|
+
onClose={() => Function.prototype}
|
|
409
|
+
textMaxWidth="16ch"
|
|
410
|
+
>
|
|
411
|
+
Yellow label with icon that overflows
|
|
406
412
|
</Label>{' '}
|
|
407
413
|
<Label
|
|
408
414
|
variant="outline"
|
|
409
|
-
color="
|
|
415
|
+
color="yellow"
|
|
410
416
|
isDisabled
|
|
411
417
|
icon={<CubeIcon />}
|
|
412
418
|
href="#filled"
|
|
413
419
|
onClose={() => Function.prototype}
|
|
414
420
|
>
|
|
415
|
-
|
|
421
|
+
Yellow link removable (disabled)
|
|
416
422
|
</Label>{' '}
|
|
417
423
|
<Label
|
|
418
424
|
variant="outline"
|
|
419
|
-
color="
|
|
425
|
+
color="yellow"
|
|
420
426
|
isDisabled
|
|
421
427
|
icon={<CubeIcon />}
|
|
422
|
-
onClick={() => logColor('
|
|
428
|
+
onClick={() => logColor('yellow')}
|
|
423
429
|
onClose={() => Function.prototype}
|
|
424
430
|
>
|
|
425
|
-
|
|
431
|
+
Yellow clickable removable (disabled)
|
|
426
432
|
</Label>
|
|
427
433
|
<br />
|
|
428
434
|
<br />
|
|
@@ -6,6 +6,7 @@ import { BadgeProps } from '../Badge';
|
|
|
6
6
|
import CheckCircleIcon from '@patternfly/react-icons/dist/esm/icons/check-circle-icon';
|
|
7
7
|
import ExclamationCircleIcon from '@patternfly/react-icons/dist/esm/icons/exclamation-circle-icon';
|
|
8
8
|
import ExclamationTriangleIcon from '@patternfly/react-icons/dist/esm/icons/exclamation-triangle-icon';
|
|
9
|
+
import { OUIAProps, getDefaultOUIAId, getOUIAProps } from '../../helpers';
|
|
9
10
|
|
|
10
11
|
export enum MenuToggleStatus {
|
|
11
12
|
success = 'success',
|
|
@@ -24,12 +25,13 @@ export interface SplitButtonOptions {
|
|
|
24
25
|
|
|
25
26
|
export interface MenuToggleProps
|
|
26
27
|
extends Omit<
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
React.DetailedHTMLProps<
|
|
29
|
+
React.ButtonHTMLAttributes<HTMLButtonElement> & React.HTMLAttributes<HTMLDivElement>,
|
|
30
|
+
MenuToggleElement
|
|
31
|
+
>,
|
|
32
|
+
'ref'
|
|
30
33
|
>,
|
|
31
|
-
|
|
32
|
-
> {
|
|
34
|
+
OUIAProps {
|
|
33
35
|
/** Content rendered inside the toggle */
|
|
34
36
|
children?: React.ReactNode;
|
|
35
37
|
/** Additional classes added to the toggle */
|
|
@@ -58,16 +60,29 @@ export interface MenuToggleProps
|
|
|
58
60
|
badge?: BadgeProps | React.ReactNode;
|
|
59
61
|
/** @hide Forwarded ref */
|
|
60
62
|
innerRef?: React.Ref<MenuToggleElement>;
|
|
63
|
+
/** Value to overwrite the randomly generated data-ouia-component-id. It will always target the toggle button. */
|
|
64
|
+
ouiaId?: number | string;
|
|
65
|
+
/** Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. */
|
|
66
|
+
ouiaSafe?: boolean;
|
|
61
67
|
}
|
|
62
68
|
|
|
63
|
-
|
|
69
|
+
interface MenuToggleState {
|
|
70
|
+
ouiaStateId: string;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
class MenuToggleBase extends React.Component<MenuToggleProps, MenuToggleState> {
|
|
64
74
|
displayName = 'MenuToggleBase';
|
|
65
75
|
static defaultProps: MenuToggleProps = {
|
|
66
76
|
className: '',
|
|
67
77
|
isExpanded: false,
|
|
68
78
|
isDisabled: false,
|
|
69
79
|
isFullWidth: false,
|
|
70
|
-
isFullHeight: false
|
|
80
|
+
isFullHeight: false,
|
|
81
|
+
ouiaSafe: true
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
state: MenuToggleState = {
|
|
85
|
+
ouiaStateId: getDefaultOUIAId(MenuToggle.displayName, this.props.variant)
|
|
71
86
|
};
|
|
72
87
|
|
|
73
88
|
render() {
|
|
@@ -87,12 +102,16 @@ class MenuToggleBase extends React.Component<MenuToggleProps> {
|
|
|
87
102
|
innerRef,
|
|
88
103
|
onClick,
|
|
89
104
|
'aria-label': ariaLabel,
|
|
105
|
+
ouiaId,
|
|
106
|
+
ouiaSafe,
|
|
90
107
|
...otherProps
|
|
91
108
|
} = this.props;
|
|
92
109
|
const isPlain = variant === 'plain';
|
|
93
110
|
const isPlainText = variant === 'plainText';
|
|
94
111
|
const isTypeahead = variant === 'typeahead';
|
|
95
112
|
|
|
113
|
+
const ouiaProps = getOUIAProps(MenuToggle.displayName, ouiaId ?? this.state.ouiaStateId, ouiaSafe);
|
|
114
|
+
|
|
96
115
|
let _statusIcon = statusIcon;
|
|
97
116
|
if (!statusIcon) {
|
|
98
117
|
switch (status) {
|
|
@@ -130,6 +149,7 @@ class MenuToggleBase extends React.Component<MenuToggleProps> {
|
|
|
130
149
|
onClick={onClick}
|
|
131
150
|
aria-label={ariaLabel || 'Menu toggle'}
|
|
132
151
|
tabIndex={-1}
|
|
152
|
+
{...ouiaProps}
|
|
133
153
|
>
|
|
134
154
|
{toggleControls}
|
|
135
155
|
</button>
|
|
@@ -189,6 +209,7 @@ class MenuToggleBase extends React.Component<MenuToggleProps> {
|
|
|
189
209
|
onClick={onClick}
|
|
190
210
|
{...(children && { style: { display: 'flex', paddingLeft: 'var(--pf-v5-global--spacer--sm)' } })}
|
|
191
211
|
{...otherProps}
|
|
212
|
+
{...ouiaProps}
|
|
192
213
|
>
|
|
193
214
|
{children && <span className={css(styles.menuToggleText)}>{children}</span>}
|
|
194
215
|
{toggleControls}
|
|
@@ -207,6 +228,7 @@ class MenuToggleBase extends React.Component<MenuToggleProps> {
|
|
|
207
228
|
disabled={isDisabled}
|
|
208
229
|
onClick={onClick}
|
|
209
230
|
{...componentProps}
|
|
231
|
+
{...ouiaProps}
|
|
210
232
|
/>
|
|
211
233
|
);
|
|
212
234
|
}
|
|
@@ -5,6 +5,9 @@ exports[`menu toggle passes additional classes 1`] = `
|
|
|
5
5
|
<button
|
|
6
6
|
aria-expanded="false"
|
|
7
7
|
class="pf-v6-c-menu-toggle test-class"
|
|
8
|
+
data-ouia-component-id="OUIA-Generated-MenuToggle-2"
|
|
9
|
+
data-ouia-component-type="PF6/MenuToggle"
|
|
10
|
+
data-ouia-safe="true"
|
|
8
11
|
type="button"
|
|
9
12
|
>
|
|
10
13
|
<span
|
|
@@ -42,6 +45,9 @@ exports[`menu toggle renders successfully 1`] = `
|
|
|
42
45
|
<button
|
|
43
46
|
aria-expanded="false"
|
|
44
47
|
class="pf-v6-c-menu-toggle"
|
|
48
|
+
data-ouia-component-id="OUIA-Generated-MenuToggle-1"
|
|
49
|
+
data-ouia-component-type="PF6/MenuToggle"
|
|
50
|
+
data-ouia-safe="true"
|
|
45
51
|
type="button"
|
|
46
52
|
>
|
|
47
53
|
<span
|
|
@@ -79,6 +85,9 @@ exports[`menu toggle shows badge 1`] = `
|
|
|
79
85
|
<button
|
|
80
86
|
aria-expanded="false"
|
|
81
87
|
class="pf-v6-c-menu-toggle"
|
|
88
|
+
data-ouia-component-id="OUIA-Generated-MenuToggle-6"
|
|
89
|
+
data-ouia-component-type="PF6/MenuToggle"
|
|
90
|
+
data-ouia-safe="true"
|
|
82
91
|
type="button"
|
|
83
92
|
>
|
|
84
93
|
<span
|
|
@@ -125,6 +134,9 @@ exports[`menu toggle shows icon 1`] = `
|
|
|
125
134
|
<button
|
|
126
135
|
aria-expanded="false"
|
|
127
136
|
class="pf-v6-c-menu-toggle"
|
|
137
|
+
data-ouia-component-id="OUIA-Generated-MenuToggle-5"
|
|
138
|
+
data-ouia-component-type="PF6/MenuToggle"
|
|
139
|
+
data-ouia-safe="true"
|
|
128
140
|
type="button"
|
|
129
141
|
>
|
|
130
142
|
<span
|
|
@@ -179,6 +191,9 @@ exports[`menu toggle shows isDisabled 1`] = `
|
|
|
179
191
|
<button
|
|
180
192
|
aria-expanded="false"
|
|
181
193
|
class="pf-v6-c-menu-toggle pf-m-disabled"
|
|
194
|
+
data-ouia-component-id="OUIA-Generated-MenuToggle-4"
|
|
195
|
+
data-ouia-component-type="PF6/MenuToggle"
|
|
196
|
+
data-ouia-safe="true"
|
|
182
197
|
disabled=""
|
|
183
198
|
type="button"
|
|
184
199
|
>
|
|
@@ -217,6 +232,9 @@ exports[`menu toggle shows isExpanded 1`] = `
|
|
|
217
232
|
<button
|
|
218
233
|
aria-expanded="true"
|
|
219
234
|
class="pf-v6-c-menu-toggle pf-m-expanded"
|
|
235
|
+
data-ouia-component-id="OUIA-Generated-MenuToggle-3"
|
|
236
|
+
data-ouia-component-type="PF6/MenuToggle"
|
|
237
|
+
data-ouia-safe="true"
|
|
220
238
|
type="button"
|
|
221
239
|
>
|
|
222
240
|
<span
|
|
@@ -254,6 +272,9 @@ exports[`menu toggle shows isPlain 1`] = `
|
|
|
254
272
|
<button
|
|
255
273
|
aria-expanded="false"
|
|
256
274
|
class="pf-v6-c-menu-toggle pf-m-plain"
|
|
275
|
+
data-ouia-component-id="OUIA-Generated-MenuToggle-plain-1"
|
|
276
|
+
data-ouia-component-type="PF6/MenuToggle"
|
|
277
|
+
data-ouia-safe="true"
|
|
257
278
|
type="button"
|
|
258
279
|
>
|
|
259
280
|
<span
|
|
@@ -282,6 +303,9 @@ exports[`menu toggle shows isPrimary 1`] = `
|
|
|
282
303
|
<button
|
|
283
304
|
aria-expanded="false"
|
|
284
305
|
class="pf-v6-c-menu-toggle pf-m-primary"
|
|
306
|
+
data-ouia-component-id="OUIA-Generated-MenuToggle-primary-1"
|
|
307
|
+
data-ouia-component-type="PF6/MenuToggle"
|
|
308
|
+
data-ouia-safe="true"
|
|
285
309
|
type="button"
|
|
286
310
|
>
|
|
287
311
|
<span
|
|
@@ -319,6 +343,9 @@ exports[`menu toggle shows plain text 1`] = `
|
|
|
319
343
|
<button
|
|
320
344
|
aria-expanded="false"
|
|
321
345
|
class="pf-v6-c-menu-toggle pf-m-plain pf-m-text"
|
|
346
|
+
data-ouia-component-id="OUIA-Generated-MenuToggle-plainText-1"
|
|
347
|
+
data-ouia-component-type="PF6/MenuToggle"
|
|
348
|
+
data-ouia-safe="true"
|
|
322
349
|
type="button"
|
|
323
350
|
>
|
|
324
351
|
<span
|
|
@@ -191,9 +191,11 @@ import { MenuToggle } from '@patternfly/react-core';
|
|
|
191
191
|
</React.Fragment>
|
|
192
192
|
```
|
|
193
193
|
|
|
194
|
-
### Split
|
|
194
|
+
### Split toggle with checkbox
|
|
195
195
|
|
|
196
|
-
To add
|
|
196
|
+
To add a checkbox (or other action/control) to a menu toggle, use a split button.
|
|
197
|
+
|
|
198
|
+
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`.
|
|
197
199
|
|
|
198
200
|
The following example shows a split button with a `<MenuToggleCheckbox>`.
|
|
199
201
|
|
|
@@ -203,25 +205,25 @@ Variant styling can be applied to split button toggles to adjust their appearanc
|
|
|
203
205
|
|
|
204
206
|
```
|
|
205
207
|
|
|
206
|
-
### Split
|
|
208
|
+
### Split toggle with labeled checkbox
|
|
207
209
|
|
|
208
|
-
To
|
|
210
|
+
To add a text label to a split button toggle, pass `children` to the `<MenuToggle>` component.
|
|
209
211
|
|
|
210
|
-
```ts file='
|
|
212
|
+
```ts file='MenuToggleSplitButtonCheckboxWithToggleText.tsx'
|
|
211
213
|
|
|
212
214
|
```
|
|
213
215
|
|
|
214
|
-
### Split
|
|
216
|
+
### Split toggle with checkbox and toggle text label
|
|
215
217
|
|
|
216
|
-
|
|
218
|
+
You can allow users to select a toggle checkbox by clicking either the checkbox or the text label.
|
|
217
219
|
|
|
218
|
-
|
|
220
|
+
To do so, pass `children` to the `<MenuToggleCheckbox>` component. When the menu toggle text is clicked, the checkbox's `onChange` callback will be triggered.
|
|
219
221
|
|
|
220
|
-
```ts file='
|
|
222
|
+
```ts file='MenuToggleSplitButtonCheckboxWithText.tsx'
|
|
221
223
|
|
|
222
224
|
```
|
|
223
225
|
|
|
224
|
-
### Split
|
|
226
|
+
### Split toggle with action
|
|
225
227
|
|
|
226
228
|
To add an action to a split button, pass `variant='action'` into `splitButtonOptions` and add a `<MenuToggleAction>` to the `items` property of `splitButtonOptions`.
|
|
227
229
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
|
|
3
3
|
import { render } from '@testing-library/react';
|
|
4
|
-
import * as ReactCoreUtils from '
|
|
4
|
+
import * as ReactCoreUtils from '../../../../helpers/util';
|
|
5
5
|
|
|
6
6
|
import { NavList } from '../../NavList';
|
|
7
7
|
import { NavContext } from '../../Nav';
|
|
@@ -874,7 +874,7 @@ exports[`Nav Nav List with flyout 1`] = `
|
|
|
874
874
|
data-popper-escaped="true"
|
|
875
875
|
data-popper-placement="right-start"
|
|
876
876
|
data-popper-reference-hidden="true"
|
|
877
|
-
style="position: absolute; left: 0px; top: 0px; z-index: 9999; opacity:
|
|
877
|
+
style="position: absolute; left: 0px; top: 0px; z-index: 9999; opacity: 1; transition: opacity 0ms cubic-bezier(.54, 1.5, .38, 1.11); min-width: 0px; transform: translate(0px, 0px);"
|
|
878
878
|
>
|
|
879
879
|
<div>
|
|
880
880
|
Flyout test
|
|
@@ -95,6 +95,14 @@ To remove padding at specific breakpoints, pass in 'noPadding' at those breakpoi
|
|
|
95
95
|
|
|
96
96
|
```
|
|
97
97
|
|
|
98
|
+
### Main section variations
|
|
99
|
+
|
|
100
|
+
This example shows all types of page sections.
|
|
101
|
+
|
|
102
|
+
```ts file="./PageMainSectionVariations.tsx"
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
|
|
98
106
|
### Group section
|
|
99
107
|
|
|
100
108
|
To group page content sections, add 1 or more `<PageGroup>` components to a `<Page>`.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import {
|
|
3
|
+
Page,
|
|
4
|
+
Masthead,
|
|
5
|
+
MastheadToggle,
|
|
6
|
+
MastheadMain,
|
|
7
|
+
MastheadBrand,
|
|
8
|
+
MastheadContent,
|
|
9
|
+
PageSidebar,
|
|
10
|
+
PageSidebarBody,
|
|
11
|
+
PageSection,
|
|
12
|
+
PageToggleButton,
|
|
13
|
+
Toolbar,
|
|
14
|
+
ToolbarContent,
|
|
15
|
+
ToolbarItem
|
|
16
|
+
} from '@patternfly/react-core';
|
|
17
|
+
import BarsIcon from '@patternfly/react-icons/dist/esm/icons/bars-icon';
|
|
18
|
+
|
|
19
|
+
export const PageMainSectionPadding: React.FunctionComponent = () => {
|
|
20
|
+
const [isSidebarOpen, setIsSidebarOpen] = React.useState(true);
|
|
21
|
+
|
|
22
|
+
const onSidebarToggle = () => {
|
|
23
|
+
setIsSidebarOpen(!isSidebarOpen);
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
const headerToolbar = (
|
|
27
|
+
<Toolbar id="main-variations-toolbar">
|
|
28
|
+
<ToolbarContent>
|
|
29
|
+
<ToolbarItem>header-tools</ToolbarItem>
|
|
30
|
+
</ToolbarContent>
|
|
31
|
+
</Toolbar>
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
const header = (
|
|
35
|
+
<Masthead>
|
|
36
|
+
<MastheadToggle>
|
|
37
|
+
<PageToggleButton
|
|
38
|
+
variant="plain"
|
|
39
|
+
aria-label="Global navigation"
|
|
40
|
+
isSidebarOpen={isSidebarOpen}
|
|
41
|
+
onSidebarToggle={onSidebarToggle}
|
|
42
|
+
id="main-variations-nav-toggle"
|
|
43
|
+
>
|
|
44
|
+
<BarsIcon />
|
|
45
|
+
</PageToggleButton>
|
|
46
|
+
</MastheadToggle>
|
|
47
|
+
<MastheadMain>
|
|
48
|
+
<MastheadBrand href="https://patternfly.org" target="_blank">
|
|
49
|
+
Logo
|
|
50
|
+
</MastheadBrand>
|
|
51
|
+
</MastheadMain>
|
|
52
|
+
<MastheadContent>{headerToolbar}</MastheadContent>
|
|
53
|
+
</Masthead>
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
const sidebar = (
|
|
57
|
+
<PageSidebar isSidebarOpen={isSidebarOpen} id="main-variations-sidebar">
|
|
58
|
+
<PageSidebarBody>Navigation</PageSidebarBody>
|
|
59
|
+
</PageSidebar>
|
|
60
|
+
);
|
|
61
|
+
|
|
62
|
+
return (
|
|
63
|
+
<Page header={header} sidebar={sidebar}>
|
|
64
|
+
<PageSection type="subnav">
|
|
65
|
+
Section with <code>type="subnav"</code> for horizontal subnav navigation
|
|
66
|
+
</PageSection>
|
|
67
|
+
<PageSection type="nav">
|
|
68
|
+
Section with <code>type="nav"</code> for tertiary navigation
|
|
69
|
+
</PageSection>
|
|
70
|
+
<PageSection type="tabs">
|
|
71
|
+
Section with <code>type="tabs"</code> for tabs
|
|
72
|
+
</PageSection>
|
|
73
|
+
<PageSection type="breadcrumb">
|
|
74
|
+
Section with <code>type="breadcrumb"</code> for breadcrumbs
|
|
75
|
+
</PageSection>
|
|
76
|
+
<PageSection>
|
|
77
|
+
Section without <code>type</code> prop or <code>type="default"</code> for main sections
|
|
78
|
+
</PageSection>
|
|
79
|
+
<PageSection type="wizard">
|
|
80
|
+
Section with <code>type="wizard"</code> for wizards
|
|
81
|
+
</PageSection>
|
|
82
|
+
</Page>
|
|
83
|
+
);
|
|
84
|
+
};
|
|
@@ -6,6 +6,9 @@ exports[`PaginationOptionsMenu should match snapshot (auto-generated) 1`] = `
|
|
|
6
6
|
aria-expanded="false"
|
|
7
7
|
aria-haspopup="listbox"
|
|
8
8
|
class="pf-v6-c-menu-toggle pf-m-plain pf-m-text"
|
|
9
|
+
data-ouia-component-id="OUIA-Generated-MenuToggle-plainText-1"
|
|
10
|
+
data-ouia-component-type="PF6/MenuToggle"
|
|
11
|
+
data-ouia-safe="true"
|
|
9
12
|
id="''-toggle"
|
|
10
13
|
type="button"
|
|
11
14
|
>
|