@patternfly/react-core 6.0.0-alpha.44 → 6.0.0-alpha.46
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 +8 -0
- package/components/package.json +1 -1
- package/deprecated/package.json +1 -1
- package/dist/dynamic/components/AboutModal/package.json +1 -1
- package/dist/dynamic/components/Accordion/package.json +1 -1
- package/dist/dynamic/components/ActionList/package.json +1 -1
- package/dist/dynamic/components/Alert/package.json +1 -1
- package/dist/dynamic/components/Avatar/package.json +1 -1
- package/dist/dynamic/components/BackToTop/package.json +1 -1
- package/dist/dynamic/components/Backdrop/package.json +1 -1
- package/dist/dynamic/components/BackgroundImage/package.json +1 -1
- package/dist/dynamic/components/Badge/package.json +1 -1
- package/dist/dynamic/components/Banner/package.json +1 -1
- package/dist/dynamic/components/Brand/package.json +1 -1
- package/dist/dynamic/components/Breadcrumb/package.json +1 -1
- package/dist/dynamic/components/Button/package.json +1 -1
- package/dist/dynamic/components/CalendarMonth/package.json +1 -1
- package/dist/dynamic/components/Card/package.json +1 -1
- package/dist/dynamic/components/Checkbox/package.json +1 -1
- package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
- package/dist/dynamic/components/CodeBlock/package.json +1 -1
- package/dist/dynamic/components/DataList/package.json +1 -1
- package/dist/dynamic/components/DatePicker/package.json +1 -1
- package/dist/dynamic/components/DescriptionList/package.json +1 -1
- package/dist/dynamic/components/Divider/package.json +1 -1
- package/dist/dynamic/components/Drawer/package.json +1 -1
- package/dist/dynamic/components/Dropdown/package.json +1 -1
- package/dist/dynamic/components/DualListSelector/package.json +1 -1
- package/dist/dynamic/components/EmptyState/package.json +1 -1
- package/dist/dynamic/components/ExpandableSection/package.json +1 -1
- package/dist/dynamic/components/FileUpload/package.json +1 -1
- package/dist/dynamic/components/Form/package.json +1 -1
- package/dist/dynamic/components/FormSelect/package.json +1 -1
- package/dist/dynamic/components/HelperText/package.json +1 -1
- package/dist/dynamic/components/Hint/package.json +1 -1
- package/dist/dynamic/components/Icon/package.json +1 -1
- package/dist/dynamic/components/InputGroup/package.json +1 -1
- package/dist/dynamic/components/JumpLinks/package.json +1 -1
- package/dist/dynamic/components/Label/package.json +1 -1
- package/dist/dynamic/components/List/package.json +1 -1
- package/dist/dynamic/components/LoginPage/package.json +1 -1
- package/dist/dynamic/components/Masthead/package.json +1 -1
- package/dist/dynamic/components/Menu/package.json +1 -1
- package/dist/dynamic/components/MenuToggle/package.json +1 -1
- package/dist/dynamic/components/Modal/package.json +1 -1
- package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
- package/dist/dynamic/components/Nav/package.json +1 -1
- package/dist/dynamic/components/NotificationBadge/package.json +1 -1
- package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
- package/dist/dynamic/components/NumberInput/package.json +1 -1
- package/dist/dynamic/components/OverflowMenu/package.json +1 -1
- package/dist/dynamic/components/Page/package.json +1 -1
- package/dist/dynamic/components/Pagination/package.json +1 -1
- package/dist/dynamic/components/Panel/package.json +1 -1
- package/dist/dynamic/components/Popover/package.json +1 -1
- package/dist/dynamic/components/Progress/package.json +1 -1
- package/dist/dynamic/components/ProgressStepper/package.json +1 -1
- package/dist/dynamic/components/Radio/package.json +1 -1
- package/dist/dynamic/components/SearchInput/package.json +1 -1
- package/dist/dynamic/components/Select/package.json +1 -1
- package/dist/dynamic/components/Sidebar/package.json +1 -1
- package/dist/dynamic/components/SimpleList/package.json +1 -1
- package/dist/dynamic/components/Skeleton/package.json +1 -1
- package/dist/dynamic/components/SkipToContent/package.json +1 -1
- package/dist/dynamic/components/Slider/package.json +1 -1
- package/dist/dynamic/components/Spinner/package.json +1 -1
- package/dist/dynamic/components/Switch/package.json +1 -1
- package/dist/dynamic/components/Tabs/package.json +1 -1
- package/dist/dynamic/components/Text/package.json +1 -1
- package/dist/dynamic/components/TextArea/package.json +1 -1
- package/dist/dynamic/components/TextInput/package.json +1 -1
- package/dist/dynamic/components/TextInputGroup/package.json +1 -1
- package/dist/dynamic/components/Tile/package.json +1 -1
- package/dist/dynamic/components/TimePicker/package.json +1 -1
- package/dist/dynamic/components/Timestamp/package.json +1 -1
- package/dist/dynamic/components/Title/package.json +1 -1
- package/dist/dynamic/components/ToggleGroup/package.json +1 -1
- package/dist/dynamic/components/Toolbar/package.json +1 -1
- package/dist/dynamic/components/Tooltip/package.json +1 -1
- package/dist/dynamic/components/TreeView/package.json +1 -1
- package/dist/dynamic/components/Truncate/package.json +1 -1
- package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
- package/dist/dynamic/components/Wizard/package.json +1 -1
- package/dist/dynamic/deprecated/components/ApplicationLauncher/package.json +1 -1
- package/dist/dynamic/deprecated/components/Chip/package.json +1 -1
- package/dist/dynamic/deprecated/components/ContextSelector/package.json +1 -1
- package/dist/dynamic/deprecated/components/DragDrop/package.json +1 -0
- package/dist/dynamic/deprecated/components/Dropdown/package.json +1 -1
- package/dist/dynamic/deprecated/components/OptionsMenu/package.json +1 -1
- package/dist/dynamic/deprecated/components/PageHeader/package.json +1 -1
- package/dist/dynamic/deprecated/components/Select/package.json +1 -1
- package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
- package/dist/dynamic/deprecated/components/package.json +1 -1
- package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
- package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
- package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
- package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
- package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
- package/dist/dynamic/helpers/constants/package.json +1 -1
- package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
- package/dist/dynamic/helpers/favorites/package.json +1 -1
- package/dist/dynamic/helpers/fileUtils/package.json +1 -1
- package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
- package/dist/dynamic/helpers/package.json +1 -1
- package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
- package/dist/dynamic/helpers/typeUtils/package.json +1 -1
- package/dist/dynamic/helpers/useInterval/package.json +1 -1
- package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
- package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
- package/dist/dynamic/helpers/util/package.json +1 -1
- package/dist/dynamic/layouts/Bullseye/package.json +1 -1
- package/dist/dynamic/layouts/Flex/package.json +1 -1
- package/dist/dynamic/layouts/Gallery/package.json +1 -1
- package/dist/dynamic/layouts/Grid/package.json +1 -1
- package/dist/dynamic/layouts/Level/package.json +1 -1
- package/dist/dynamic/layouts/Split/package.json +1 -1
- package/dist/dynamic/layouts/Stack/package.json +1 -1
- package/dist/dynamic/next/components/DualListSelector/package.json +1 -1
- package/dist/dynamic/next/components/Modal/package.json +1 -1
- package/dist/dynamic/next/components/package.json +1 -1
- package/dist/dynamic/styles/package.json +1 -1
- package/dist/esm/components/Checkbox/Checkbox.d.ts +2 -2
- package/dist/esm/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/esm/components/Checkbox/Checkbox.js +2 -2
- package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/esm/components/Form/FormFieldGroupHeader.d.ts +2 -4
- package/dist/esm/components/Form/FormFieldGroupHeader.d.ts.map +1 -1
- package/dist/esm/components/Form/FormFieldGroupHeader.js.map +1 -1
- package/dist/esm/components/Form/FormGroup.d.ts +2 -2
- package/dist/esm/components/Form/FormGroup.d.ts.map +1 -1
- package/dist/esm/components/Form/FormGroup.js +3 -3
- package/dist/esm/components/Form/FormGroup.js.map +1 -1
- package/dist/esm/components/Form/FormGroupLabelHelp.d.ts +13 -0
- package/dist/esm/components/Form/FormGroupLabelHelp.d.ts.map +1 -0
- package/dist/esm/components/Form/FormGroupLabelHelp.js +11 -0
- package/dist/esm/components/Form/FormGroupLabelHelp.js.map +1 -0
- package/dist/esm/components/Form/index.d.ts +1 -0
- package/dist/esm/components/Form/index.d.ts.map +1 -1
- package/dist/esm/components/Form/index.js +1 -0
- package/dist/esm/components/Form/index.js.map +1 -1
- package/dist/esm/components/Radio/Radio.d.ts +2 -2
- package/dist/esm/components/Radio/Radio.d.ts.map +1 -1
- package/dist/esm/components/Radio/Radio.js +3 -3
- package/dist/esm/components/Radio/Radio.js.map +1 -1
- package/dist/esm/components/index.d.ts +0 -1
- package/dist/esm/components/index.d.ts.map +1 -1
- package/dist/esm/components/index.js +0 -1
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/deprecated/components/DragDrop/DragDrop.d.ts.map +1 -0
- package/dist/esm/deprecated/components/DragDrop/DragDrop.js.map +1 -0
- package/dist/esm/deprecated/components/DragDrop/Draggable.d.ts.map +1 -0
- package/dist/esm/deprecated/components/DragDrop/Draggable.js.map +1 -0
- package/dist/esm/deprecated/components/DragDrop/Droppable.d.ts.map +1 -0
- package/dist/esm/deprecated/components/DragDrop/Droppable.js.map +1 -0
- package/dist/esm/deprecated/components/DragDrop/DroppableContext.d.ts.map +1 -0
- package/dist/esm/deprecated/components/DragDrop/DroppableContext.js.map +1 -0
- package/dist/esm/deprecated/components/DragDrop/index.d.ts.map +1 -0
- package/dist/esm/deprecated/components/DragDrop/index.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/js/components/Checkbox/Checkbox.d.ts +2 -2
- package/dist/js/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/js/components/Checkbox/Checkbox.js +2 -2
- package/dist/js/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/js/components/Form/FormFieldGroupHeader.d.ts +2 -4
- package/dist/js/components/Form/FormFieldGroupHeader.d.ts.map +1 -1
- package/dist/js/components/Form/FormFieldGroupHeader.js.map +1 -1
- package/dist/js/components/Form/FormGroup.d.ts +2 -2
- package/dist/js/components/Form/FormGroup.d.ts.map +1 -1
- package/dist/js/components/Form/FormGroup.js +3 -3
- package/dist/js/components/Form/FormGroup.js.map +1 -1
- package/dist/js/components/Form/FormGroupLabelHelp.d.ts +13 -0
- package/dist/js/components/Form/FormGroupLabelHelp.d.ts.map +1 -0
- package/dist/js/components/Form/FormGroupLabelHelp.js +15 -0
- package/dist/js/components/Form/FormGroupLabelHelp.js.map +1 -0
- package/dist/js/components/Form/index.d.ts +1 -0
- package/dist/js/components/Form/index.d.ts.map +1 -1
- package/dist/js/components/Form/index.js +1 -0
- package/dist/js/components/Form/index.js.map +1 -1
- package/dist/js/components/Radio/Radio.d.ts +2 -2
- package/dist/js/components/Radio/Radio.d.ts.map +1 -1
- package/dist/js/components/Radio/Radio.js +3 -3
- package/dist/js/components/Radio/Radio.js.map +1 -1
- package/dist/js/components/index.d.ts +0 -1
- package/dist/js/components/index.d.ts.map +1 -1
- package/dist/js/components/index.js +0 -1
- package/dist/js/components/index.js.map +1 -1
- package/dist/js/deprecated/components/DragDrop/DragDrop.d.ts.map +1 -0
- package/dist/js/deprecated/components/DragDrop/DragDrop.js.map +1 -0
- package/dist/js/deprecated/components/DragDrop/Draggable.d.ts.map +1 -0
- package/dist/js/deprecated/components/DragDrop/Draggable.js.map +1 -0
- package/dist/js/deprecated/components/DragDrop/Droppable.d.ts.map +1 -0
- package/dist/js/deprecated/components/DragDrop/Droppable.js.map +1 -0
- package/dist/js/deprecated/components/DragDrop/DroppableContext.d.ts.map +1 -0
- package/dist/js/deprecated/components/DragDrop/DroppableContext.js.map +1 -0
- package/dist/js/deprecated/components/DragDrop/index.d.ts.map +1 -0
- package/dist/js/deprecated/components/DragDrop/index.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/umd/react-core.min.js +3 -3
- package/helpers/package.json +1 -1
- package/layouts/package.json +1 -1
- package/next/package.json +1 -1
- package/package.json +2 -2
- package/src/components/Checkbox/Checkbox.tsx +4 -4
- package/src/components/Checkbox/__tests__/Checkbox.test.tsx +2 -2
- package/src/components/DataList/examples/DataList.md +2 -1
- package/src/components/DataList/examples/DataListDraggable.tsx +1 -3
- package/src/components/DualListSelector/examples/DualListSelector.md +2 -1
- package/src/components/DualListSelector/examples/DualListSelectorComposableDragDrop.tsx +2 -5
- package/src/components/Form/FormFieldGroupHeader.tsx +2 -5
- package/src/components/Form/FormGroup.tsx +8 -7
- package/src/components/Form/FormGroupLabelHelp.tsx +24 -0
- package/src/components/Form/__tests__/__snapshots__/FormGroup.test.tsx.snap +7 -7
- package/src/components/Form/examples/Form.md +1 -16
- package/src/components/Form/examples/FormBasic.tsx +4 -13
- package/src/components/Form/examples/FormGroupLabelInfo.tsx +4 -13
- package/src/components/Form/examples/FormLimitWidth.tsx +4 -13
- package/src/components/Form/index.ts +1 -0
- package/src/components/LoginPage/__tests__/__snapshots__/LoginForm.test.tsx.snap +6 -6
- package/src/components/Modal/examples/ModalWithForm.tsx +16 -33
- package/src/components/Radio/Radio.tsx +4 -4
- package/src/components/Radio/__tests__/Radio.test.tsx +4 -4
- package/src/components/Radio/__tests__/__snapshots__/Radio.test.tsx.snap +25 -25
- package/src/components/Radio/examples/RadioReversed.tsx +1 -1
- package/src/components/SearchInput/__tests__/__snapshots__/SearchInput.test.tsx.snap +3 -3
- package/src/components/index.ts +0 -1
- package/src/demos/examples/PasswordStrength/PasswordStrengthDemo.tsx +3 -11
- package/src/{components → deprecated/components}/DragDrop/examples/DragDrop.md +2 -1
- package/src/{components → deprecated/components}/DragDrop/examples/DragDropBasic.tsx +1 -1
- package/src/{components → deprecated/components}/DragDrop/examples/DragDropMultipleLists.tsx +2 -1
- package/src/deprecated/components/index.ts +1 -0
- package/src/next/components/DualListSelector/examples/DualListSelector.md +1 -0
- package/src/next/components/DualListSelector/examples/DualListSelectorDragDrop.tsx +2 -5
- package/src/next/components/Modal/examples/ModalWithForm.tsx +7 -33
- package/dist/dynamic/components/DragDrop/package.json +0 -1
- package/dist/esm/components/DragDrop/DragDrop.d.ts.map +0 -1
- package/dist/esm/components/DragDrop/DragDrop.js.map +0 -1
- package/dist/esm/components/DragDrop/Draggable.d.ts.map +0 -1
- package/dist/esm/components/DragDrop/Draggable.js.map +0 -1
- package/dist/esm/components/DragDrop/Droppable.d.ts.map +0 -1
- package/dist/esm/components/DragDrop/Droppable.js.map +0 -1
- package/dist/esm/components/DragDrop/DroppableContext.d.ts.map +0 -1
- package/dist/esm/components/DragDrop/DroppableContext.js.map +0 -1
- package/dist/esm/components/DragDrop/index.d.ts.map +0 -1
- package/dist/esm/components/DragDrop/index.js.map +0 -1
- package/dist/js/components/DragDrop/DragDrop.d.ts.map +0 -1
- package/dist/js/components/DragDrop/DragDrop.js.map +0 -1
- package/dist/js/components/DragDrop/Draggable.d.ts.map +0 -1
- package/dist/js/components/DragDrop/Draggable.js.map +0 -1
- package/dist/js/components/DragDrop/Droppable.d.ts.map +0 -1
- package/dist/js/components/DragDrop/Droppable.js.map +0 -1
- package/dist/js/components/DragDrop/DroppableContext.d.ts.map +0 -1
- package/dist/js/components/DragDrop/DroppableContext.js.map +0 -1
- package/dist/js/components/DragDrop/index.d.ts.map +0 -1
- package/dist/js/components/DragDrop/index.js.map +0 -1
- /package/dist/esm/{components → deprecated/components}/DragDrop/DragDrop.d.ts +0 -0
- /package/dist/esm/{components → deprecated/components}/DragDrop/DragDrop.js +0 -0
- /package/dist/esm/{components → deprecated/components}/DragDrop/Draggable.d.ts +0 -0
- /package/dist/esm/{components → deprecated/components}/DragDrop/Draggable.js +0 -0
- /package/dist/esm/{components → deprecated/components}/DragDrop/Droppable.d.ts +0 -0
- /package/dist/esm/{components → deprecated/components}/DragDrop/Droppable.js +0 -0
- /package/dist/esm/{components → deprecated/components}/DragDrop/DroppableContext.d.ts +0 -0
- /package/dist/esm/{components → deprecated/components}/DragDrop/DroppableContext.js +0 -0
- /package/dist/esm/{components → deprecated/components}/DragDrop/index.d.ts +0 -0
- /package/dist/esm/{components → deprecated/components}/DragDrop/index.js +0 -0
- /package/dist/js/{components → deprecated/components}/DragDrop/DragDrop.d.ts +0 -0
- /package/dist/js/{components → deprecated/components}/DragDrop/DragDrop.js +0 -0
- /package/dist/js/{components → deprecated/components}/DragDrop/Draggable.d.ts +0 -0
- /package/dist/js/{components → deprecated/components}/DragDrop/Draggable.js +0 -0
- /package/dist/js/{components → deprecated/components}/DragDrop/Droppable.d.ts +0 -0
- /package/dist/js/{components → deprecated/components}/DragDrop/Droppable.js +0 -0
- /package/dist/js/{components → deprecated/components}/DragDrop/DroppableContext.d.ts +0 -0
- /package/dist/js/{components → deprecated/components}/DragDrop/DroppableContext.js +0 -0
- /package/dist/js/{components → deprecated/components}/DragDrop/index.d.ts +0 -0
- /package/dist/js/{components → deprecated/components}/DragDrop/index.js +0 -0
- /package/src/{components → deprecated/components}/DragDrop/DragDrop.tsx +0 -0
- /package/src/{components → deprecated/components}/DragDrop/Draggable.tsx +0 -0
- /package/src/{components → deprecated/components}/DragDrop/Droppable.tsx +0 -0
- /package/src/{components → deprecated/components}/DragDrop/DroppableContext.ts +0 -0
- /package/src/{components → deprecated/components}/DragDrop/__tests__/DragDrop.test.tsx +0 -0
- /package/src/{components → deprecated/components}/DragDrop/__tests__/__snapshots__/DragDrop.test.tsx.snap +0 -0
- /package/src/{components → deprecated/components}/DragDrop/index.ts +0 -0
package/helpers/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"6.0.0-alpha.
|
|
1
|
+
{"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"6.0.0-alpha.45","private":true}
|
package/layouts/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-core-layouts","main":"../dist/js/layouts/index.js","module":"../dist/esm/layouts/index.js","typings":"../dist/esm/layouts/index.d.ts","version":"6.0.0-alpha.
|
|
1
|
+
{"name":"@patternfly/react-core-layouts","main":"../dist/js/layouts/index.js","module":"../dist/esm/layouts/index.js","typings":"../dist/esm/layouts/index.d.ts","version":"6.0.0-alpha.45","private":true}
|
package/next/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-core-next","main":"../dist/js/next/index.js","module":"../dist/esm/next/index.js","typings":"../dist/esm/next/index.d.ts","version":"6.0.0-alpha.
|
|
1
|
+
{"name":"@patternfly/react-core-next","main":"../dist/js/next/index.js","module":"../dist/esm/next/index.js","typings":"../dist/esm/next/index.d.ts","version":"6.0.0-alpha.45","private":true}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@patternfly/react-core",
|
|
3
|
-
"version": "6.0.0-alpha.
|
|
3
|
+
"version": "6.0.0-alpha.46",
|
|
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",
|
|
@@ -74,5 +74,5 @@
|
|
|
74
74
|
"react": "^17 || ^18",
|
|
75
75
|
"react-dom": "^17 || ^18"
|
|
76
76
|
},
|
|
77
|
-
"gitHead": "
|
|
77
|
+
"gitHead": "c3f0ac633b7bca82d53f146a0844cdef0851096b"
|
|
78
78
|
}
|
|
@@ -16,8 +16,6 @@ export interface CheckboxProps
|
|
|
16
16
|
inputClassName?: string;
|
|
17
17
|
/** Flag to indicate whether the checkbox wrapper element is a <label> element for the checkbox input. Will not apply if a component prop (with a value other than a "label") is specified. */
|
|
18
18
|
isLabelWrapped?: boolean;
|
|
19
|
-
/** Flag to show if the checkbox label is shown before the checkbox input. */
|
|
20
|
-
isLabelBeforeButton?: boolean;
|
|
21
19
|
/** Flag to show if the checkbox selection is valid or invalid. */
|
|
22
20
|
isValid?: boolean;
|
|
23
21
|
/** Flag to show if the checkbox is disabled. */
|
|
@@ -31,6 +29,8 @@ export interface CheckboxProps
|
|
|
31
29
|
onChange?: (event: React.FormEvent<HTMLInputElement>, checked: boolean) => void;
|
|
32
30
|
/** Label text of the checkbox. */
|
|
33
31
|
label?: React.ReactNode;
|
|
32
|
+
/** Sets the position of the label. Defaults to 'end' (after the checkbox input). */
|
|
33
|
+
labelPosition?: 'start' | 'end';
|
|
34
34
|
/** Id of the checkbox. */
|
|
35
35
|
id: string;
|
|
36
36
|
/** Aria-label of the checkbox. */
|
|
@@ -85,7 +85,7 @@ class Checkbox extends React.Component<CheckboxProps, CheckboxState> {
|
|
|
85
85
|
inputClassName,
|
|
86
86
|
onChange,
|
|
87
87
|
isLabelWrapped,
|
|
88
|
-
|
|
88
|
+
labelPosition = 'end',
|
|
89
89
|
isValid,
|
|
90
90
|
isDisabled,
|
|
91
91
|
isRequired,
|
|
@@ -156,7 +156,7 @@ class Checkbox extends React.Component<CheckboxProps, CheckboxState> {
|
|
|
156
156
|
className={css(styles.check, !label && styles.modifiers.standalone, className)}
|
|
157
157
|
htmlFor={wrapWithLabel ? props.id : undefined}
|
|
158
158
|
>
|
|
159
|
-
{
|
|
159
|
+
{labelPosition === 'start' ? (
|
|
160
160
|
<>
|
|
161
161
|
{labelRendered}
|
|
162
162
|
{inputRendered}
|
|
@@ -263,8 +263,8 @@ test('Renders with span element around the inner label text if component is set
|
|
|
263
263
|
expect(screen.getByText(labelText).tagName).toBe('SPAN');
|
|
264
264
|
});
|
|
265
265
|
|
|
266
|
-
test('Renders label before checkbox input if
|
|
267
|
-
render(<Checkbox id="test-id"
|
|
266
|
+
test('Renders label before checkbox input if labelPosition is "start"', () => {
|
|
267
|
+
render(<Checkbox id="test-id" labelPosition="start" label={'test checkbox label'} />);
|
|
268
268
|
|
|
269
269
|
const wrapper = screen.getByRole('checkbox').parentElement!;
|
|
270
270
|
|
|
@@ -23,6 +23,7 @@ import AngleDownIcon from '@patternfly/react-icons/dist/esm/icons/angle-down-ico
|
|
|
23
23
|
import AngleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-right-icon';
|
|
24
24
|
import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
|
|
25
25
|
import { css } from '@patternfly/react-styles';
|
|
26
|
+
import { DragDrop, Draggable, Droppable } from '@patternfly/react-core/deprecated';
|
|
26
27
|
|
|
27
28
|
## Examples
|
|
28
29
|
|
|
@@ -86,7 +87,7 @@ Note: There is a new recommended drag and drop implementation with full keyboard
|
|
|
86
87
|
|
|
87
88
|
Previously, draggable data lists had their own API for the [drag and drop component](/components/drag-and-drop), which wasn't flexible enough to allow custom styling for items as they are dragged. To address this disparity, `<DragDrop>`, `<Draggable>`, and `<Droppable>` components were added to replace our now deprecated HTML5-based API. Keyboard and screen reader accessibility for the `<DragDrop>` component is still in development.
|
|
88
89
|
|
|
89
|
-
```ts
|
|
90
|
+
```ts isDeprecated file="./DataListDraggable.tsx"
|
|
90
91
|
|
|
91
92
|
```
|
|
92
93
|
|
|
@@ -8,11 +8,9 @@ import {
|
|
|
8
8
|
DataListControl,
|
|
9
9
|
DataListDragButton,
|
|
10
10
|
DataListItemCells,
|
|
11
|
-
DragDrop,
|
|
12
|
-
Draggable,
|
|
13
|
-
Droppable,
|
|
14
11
|
getUniqueId
|
|
15
12
|
} from '@patternfly/react-core';
|
|
13
|
+
import { DragDrop, Draggable, Droppable } from '@patternfly/react-core/deprecated';
|
|
16
14
|
|
|
17
15
|
interface ItemType {
|
|
18
16
|
id: string;
|
|
@@ -22,6 +22,7 @@ import AngleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-right-i
|
|
|
22
22
|
import PficonSortCommonAscIcon from '@patternfly/react-icons/dist/esm/icons/pficon-sort-common-asc-icon';
|
|
23
23
|
import SearchIcon from '@patternfly/react-icons/dist/esm/icons/search-icon';
|
|
24
24
|
import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
|
|
25
|
+
import { DragDrop, Draggable, Droppable } from '@patternfly/react-core/deprecated';
|
|
25
26
|
|
|
26
27
|
## Examples
|
|
27
28
|
|
|
@@ -103,7 +104,7 @@ This example only allows reordering the contents of the "chosen" pane with drag
|
|
|
103
104
|
|
|
104
105
|
Keyboard and screen reader accessibility for the `<DragDrop>` component is still in development.
|
|
105
106
|
|
|
106
|
-
```ts file="DualListSelectorComposableDragDrop.tsx"
|
|
107
|
+
```ts isDeprecated file="DualListSelectorComposableDragDrop.tsx"
|
|
107
108
|
|
|
108
109
|
```
|
|
109
110
|
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import {
|
|
3
|
-
DragDrop,
|
|
4
|
-
Droppable,
|
|
5
|
-
Draggable,
|
|
6
3
|
DualListSelector,
|
|
7
4
|
DualListSelectorPane,
|
|
8
5
|
DualListSelectorList,
|
|
9
6
|
DualListSelectorListItem,
|
|
10
7
|
DualListSelectorControlsWrapper,
|
|
11
|
-
DualListSelectorControl
|
|
12
|
-
DraggableItemPosition
|
|
8
|
+
DualListSelectorControl
|
|
13
9
|
} from '@patternfly/react-core';
|
|
10
|
+
import { DragDrop, Draggable, Droppable, DraggableItemPosition } from '@patternfly/react-core/deprecated';
|
|
14
11
|
import AngleDoubleLeftIcon from '@patternfly/react-icons/dist/esm/icons/angle-double-left-icon';
|
|
15
12
|
import AngleLeftIcon from '@patternfly/react-icons/dist/esm/icons/angle-left-icon';
|
|
16
13
|
import AngleDoubleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-double-right-icon';
|
|
@@ -2,16 +2,13 @@ import * as React from 'react';
|
|
|
2
2
|
import styles from '@patternfly/react-styles/css/components/Form/form';
|
|
3
3
|
import { css } from '@patternfly/react-styles';
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
export interface FormFiledGroupHeaderTitleTextObject {
|
|
5
|
+
export interface FormFieldGroupHeaderTitleTextObject {
|
|
7
6
|
/** Title text. */
|
|
8
7
|
text: React.ReactNode;
|
|
9
|
-
/** The applied to the title div for accessibility */
|
|
8
|
+
/** The id applied to the title div for accessibility */
|
|
10
9
|
id: string;
|
|
11
10
|
}
|
|
12
11
|
|
|
13
|
-
export interface FormFieldGroupHeaderTitleTextObject extends FormFiledGroupHeaderTitleTextObject {}
|
|
14
|
-
|
|
15
12
|
export interface FormFieldGroupHeaderProps extends React.HTMLProps<HTMLDivElement> {
|
|
16
13
|
/** Additional classes added to the section */
|
|
17
14
|
className?: string;
|
|
@@ -13,8 +13,8 @@ export interface FormGroupProps extends Omit<React.HTMLProps<HTMLDivElement>, 'l
|
|
|
13
13
|
label?: React.ReactNode;
|
|
14
14
|
/** Additional label information displayed after the label. */
|
|
15
15
|
labelInfo?: React.ReactNode;
|
|
16
|
-
/**
|
|
17
|
-
|
|
16
|
+
/** A help button for the label. We recommend using FormGroupLabelHelp element as a help icon button. The help button should be wrapped or linked to our popover component. */
|
|
17
|
+
labelHelp?: React.ReactElement;
|
|
18
18
|
/** Sets the FormGroup required. */
|
|
19
19
|
isRequired?: boolean;
|
|
20
20
|
/** Sets the FormGroup isInline. */
|
|
@@ -38,7 +38,7 @@ export const FormGroup: React.FunctionComponent<FormGroupProps> = ({
|
|
|
38
38
|
className = '',
|
|
39
39
|
label,
|
|
40
40
|
labelInfo,
|
|
41
|
-
|
|
41
|
+
labelHelp,
|
|
42
42
|
isRequired = false,
|
|
43
43
|
isInline = false,
|
|
44
44
|
hasNoPaddingTop = false,
|
|
@@ -51,7 +51,7 @@ export const FormGroup: React.FunctionComponent<FormGroupProps> = ({
|
|
|
51
51
|
const LabelComponent = isGroupOrRadioGroup ? 'span' : 'label';
|
|
52
52
|
|
|
53
53
|
const labelContent = (
|
|
54
|
-
|
|
54
|
+
<>
|
|
55
55
|
<LabelComponent className={css(styles.formLabel)} {...(!isGroupOrRadioGroup && { htmlFor: fieldId })}>
|
|
56
56
|
<span className={css(styles.formLabelText)}>{label}</span>
|
|
57
57
|
{isRequired && (
|
|
@@ -60,9 +60,10 @@ export const FormGroup: React.FunctionComponent<FormGroupProps> = ({
|
|
|
60
60
|
{ASTERISK}
|
|
61
61
|
</span>
|
|
62
62
|
)}
|
|
63
|
-
</LabelComponent>
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
</LabelComponent>
|
|
64
|
+
<> </>
|
|
65
|
+
{React.isValidElement(labelHelp) && <span className={styles.formGroupLabelHelp}>{labelHelp}</span>}
|
|
66
|
+
</>
|
|
66
67
|
);
|
|
67
68
|
|
|
68
69
|
return (
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Button, ButtonProps } from '../Button';
|
|
3
|
+
import QuestionCircleIcon from '@patternfly/react-icons/dist/esm/icons/question-circle-icon';
|
|
4
|
+
|
|
5
|
+
/** A help button to be passed to the FormGroup's labelHelp property. This should be wrapped or linked
|
|
6
|
+
* to our Popover component.
|
|
7
|
+
*/
|
|
8
|
+
export interface FormGroupLabelHelpProps extends ButtonProps {
|
|
9
|
+
/** Adds an accessible name for the help button. */
|
|
10
|
+
'aria-label': string;
|
|
11
|
+
/** Additional classes added to the help button. */
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export const FormGroupLabelHelp: React.FunctionComponent<FormGroupLabelHelpProps> = ({
|
|
16
|
+
'aria-label': ariaLabel,
|
|
17
|
+
className,
|
|
18
|
+
...props
|
|
19
|
+
}) => (
|
|
20
|
+
<Button aria-label={ariaLabel} className={className} variant="plain" hasNoPadding {...props}>
|
|
21
|
+
<QuestionCircleIcon />
|
|
22
|
+
</Button>
|
|
23
|
+
);
|
|
24
|
+
FormGroupLabelHelp.displayName = 'FormGroupLabelHelp';
|
|
@@ -20,7 +20,7 @@ exports[`FormGroup should render correctly when label is not a string with Child
|
|
|
20
20
|
</div>
|
|
21
21
|
</span>
|
|
22
22
|
</label>
|
|
23
|
-
|
|
23
|
+
|
|
24
24
|
</div>
|
|
25
25
|
<div
|
|
26
26
|
class="pf-v6-c-form__group-control"
|
|
@@ -55,7 +55,7 @@ exports[`FormGroup should render default form group variant 1`] = `
|
|
|
55
55
|
label
|
|
56
56
|
</span>
|
|
57
57
|
</label>
|
|
58
|
-
|
|
58
|
+
|
|
59
59
|
</div>
|
|
60
60
|
<div
|
|
61
61
|
class="pf-v6-c-form__group-control"
|
|
@@ -88,7 +88,7 @@ exports[`FormGroup should render form group variant with node label 1`] = `
|
|
|
88
88
|
</h1>
|
|
89
89
|
</span>
|
|
90
90
|
</label>
|
|
91
|
-
|
|
91
|
+
|
|
92
92
|
</div>
|
|
93
93
|
<div
|
|
94
94
|
class="pf-v6-c-form__group-control"
|
|
@@ -125,7 +125,7 @@ exports[`FormGroup should render form group variant with required label 1`] = `
|
|
|
125
125
|
*
|
|
126
126
|
</span>
|
|
127
127
|
</label>
|
|
128
|
-
|
|
128
|
+
|
|
129
129
|
</div>
|
|
130
130
|
<div
|
|
131
131
|
class="pf-v6-c-form__group-control"
|
|
@@ -177,7 +177,7 @@ exports[`FormGroup should render form group with additonal label info 1`] = `
|
|
|
177
177
|
</h1>
|
|
178
178
|
</span>
|
|
179
179
|
</label>
|
|
180
|
-
|
|
180
|
+
|
|
181
181
|
</div>
|
|
182
182
|
<div
|
|
183
183
|
class="pf-v6-c-form__group-label-info"
|
|
@@ -218,7 +218,7 @@ exports[`FormGroup should render horizontal form group variant 1`] = `
|
|
|
218
218
|
label
|
|
219
219
|
</span>
|
|
220
220
|
</label>
|
|
221
|
-
|
|
221
|
+
|
|
222
222
|
</div>
|
|
223
223
|
<div
|
|
224
224
|
class="pf-v6-c-form__group-control"
|
|
@@ -254,7 +254,7 @@ exports[`FormGroup should render stacked horizontal form group variant 1`] = `
|
|
|
254
254
|
label
|
|
255
255
|
</span>
|
|
256
256
|
</label>
|
|
257
|
-
|
|
257
|
+
|
|
258
258
|
</div>
|
|
259
259
|
<div
|
|
260
260
|
class="pf-v6-c-form__group-control pf-m-stack"
|
|
@@ -8,6 +8,7 @@ propComponents:
|
|
|
8
8
|
'ActionGroup',
|
|
9
9
|
'Form',
|
|
10
10
|
'FormGroup',
|
|
11
|
+
'FormGroupLabelHelp',
|
|
11
12
|
'FormSection',
|
|
12
13
|
'FormHelperText',
|
|
13
14
|
'FormFieldGroup',
|
|
@@ -21,22 +22,6 @@ propComponents:
|
|
|
21
22
|
]
|
|
22
23
|
---
|
|
23
24
|
|
|
24
|
-
import {
|
|
25
|
-
Button,
|
|
26
|
-
Form,
|
|
27
|
-
FormGroup,
|
|
28
|
-
Popover,
|
|
29
|
-
TextInput,
|
|
30
|
-
TextArea,
|
|
31
|
-
FormSelect,
|
|
32
|
-
FormHelperText,
|
|
33
|
-
FormFieldGroup,
|
|
34
|
-
FormFieldGroupHeader,
|
|
35
|
-
FormFieldGroupExpandable,
|
|
36
|
-
Checkbox,
|
|
37
|
-
ActionGroup,
|
|
38
|
-
Radio
|
|
39
|
-
} from '@patternfly/react-core';
|
|
40
25
|
import ExclamationCircleIcon from '@patternfly/react-icons/dist/esm/icons/exclamation-circle-icon';
|
|
41
26
|
import HelpIcon from '@patternfly/react-icons/dist/esm/icons/help-icon';
|
|
42
27
|
import TrashIcon from '@patternfly/react-icons/dist/esm/icons/trash-icon';
|
|
@@ -10,10 +10,9 @@ import {
|
|
|
10
10
|
Radio,
|
|
11
11
|
HelperText,
|
|
12
12
|
HelperTextItem,
|
|
13
|
-
FormHelperText
|
|
13
|
+
FormHelperText,
|
|
14
|
+
FormGroupLabelHelp
|
|
14
15
|
} from '@patternfly/react-core';
|
|
15
|
-
import HelpIcon from '@patternfly/react-icons/dist/esm/icons/help-icon';
|
|
16
|
-
import styles from '@patternfly/react-styles/css/components/Form/form';
|
|
17
16
|
|
|
18
17
|
export const FormBasic: React.FunctionComponent = () => {
|
|
19
18
|
const [name, setName] = React.useState('');
|
|
@@ -36,7 +35,7 @@ export const FormBasic: React.FunctionComponent = () => {
|
|
|
36
35
|
<Form>
|
|
37
36
|
<FormGroup
|
|
38
37
|
label="Full name"
|
|
39
|
-
|
|
38
|
+
labelHelp={
|
|
40
39
|
<Popover
|
|
41
40
|
headerContent={
|
|
42
41
|
<div>
|
|
@@ -64,15 +63,7 @@ export const FormBasic: React.FunctionComponent = () => {
|
|
|
64
63
|
</div>
|
|
65
64
|
}
|
|
66
65
|
>
|
|
67
|
-
<
|
|
68
|
-
type="button"
|
|
69
|
-
aria-label="More info for name field"
|
|
70
|
-
onClick={(e) => e.preventDefault()}
|
|
71
|
-
aria-describedby="simple-form-name-01"
|
|
72
|
-
className={styles.formGroupLabelHelp}
|
|
73
|
-
>
|
|
74
|
-
<HelpIcon />
|
|
75
|
-
</button>
|
|
66
|
+
<FormGroupLabelHelp aria-label="More info for name field" />
|
|
76
67
|
</Popover>
|
|
77
68
|
}
|
|
78
69
|
isRequired
|
|
@@ -6,10 +6,9 @@ import {
|
|
|
6
6
|
Popover,
|
|
7
7
|
HelperText,
|
|
8
8
|
HelperTextItem,
|
|
9
|
-
FormHelperText
|
|
9
|
+
FormHelperText,
|
|
10
|
+
FormGroupLabelHelp
|
|
10
11
|
} from '@patternfly/react-core';
|
|
11
|
-
import HelpIcon from '@patternfly/react-icons/dist/esm/icons/help-icon';
|
|
12
|
-
import styles from '@patternfly/react-styles/css/components/Form/form';
|
|
13
12
|
|
|
14
13
|
export const FormGroupLabelInfo: React.FunctionComponent = () => {
|
|
15
14
|
const [name, setName] = React.useState('');
|
|
@@ -23,7 +22,7 @@ export const FormGroupLabelInfo: React.FunctionComponent = () => {
|
|
|
23
22
|
<FormGroup
|
|
24
23
|
label="Full name"
|
|
25
24
|
labelInfo="Additional label info"
|
|
26
|
-
|
|
25
|
+
labelHelp={
|
|
27
26
|
<Popover
|
|
28
27
|
headerContent={
|
|
29
28
|
<div>
|
|
@@ -51,15 +50,7 @@ export const FormGroupLabelInfo: React.FunctionComponent = () => {
|
|
|
51
50
|
</div>
|
|
52
51
|
}
|
|
53
52
|
>
|
|
54
|
-
<
|
|
55
|
-
type="button"
|
|
56
|
-
aria-label="More info for name field"
|
|
57
|
-
onClick={(e) => e.preventDefault()}
|
|
58
|
-
aria-describedby="form-group-label-info"
|
|
59
|
-
className={styles.formGroupLabelHelp}
|
|
60
|
-
>
|
|
61
|
-
<HelpIcon />
|
|
62
|
-
</button>
|
|
53
|
+
<FormGroupLabelHelp aria-label="More info for name field" />
|
|
63
54
|
</Popover>
|
|
64
55
|
}
|
|
65
56
|
isRequired
|
|
@@ -10,10 +10,9 @@ import {
|
|
|
10
10
|
Radio,
|
|
11
11
|
HelperText,
|
|
12
12
|
HelperTextItem,
|
|
13
|
-
FormHelperText
|
|
13
|
+
FormHelperText,
|
|
14
|
+
FormGroupLabelHelp
|
|
14
15
|
} from '@patternfly/react-core';
|
|
15
|
-
import HelpIcon from '@patternfly/react-icons/dist/esm/icons/help-icon';
|
|
16
|
-
import styles from '@patternfly/react-styles/css/components/Form/form';
|
|
17
16
|
|
|
18
17
|
export const FormLimitWidth: React.FunctionComponent = () => {
|
|
19
18
|
const [name, setName] = React.useState('');
|
|
@@ -36,7 +35,7 @@ export const FormLimitWidth: React.FunctionComponent = () => {
|
|
|
36
35
|
<Form isWidthLimited>
|
|
37
36
|
<FormGroup
|
|
38
37
|
label="Full name"
|
|
39
|
-
|
|
38
|
+
labelHelp={
|
|
40
39
|
<Popover
|
|
41
40
|
headerContent={
|
|
42
41
|
<div>
|
|
@@ -64,15 +63,7 @@ export const FormLimitWidth: React.FunctionComponent = () => {
|
|
|
64
63
|
</div>
|
|
65
64
|
}
|
|
66
65
|
>
|
|
67
|
-
<
|
|
68
|
-
type="button"
|
|
69
|
-
aria-label="More info for name field"
|
|
70
|
-
onClick={(e) => e.preventDefault()}
|
|
71
|
-
aria-describedby="simple-form-name-02"
|
|
72
|
-
className={styles.formGroupLabelHelp}
|
|
73
|
-
>
|
|
74
|
-
<HelpIcon />
|
|
75
|
-
</button>
|
|
66
|
+
<FormGroupLabelHelp aria-label="More info for name field" />
|
|
76
67
|
</Popover>
|
|
77
68
|
}
|
|
78
69
|
isRequired
|
|
@@ -5,6 +5,7 @@ export * from './FormFieldGroup';
|
|
|
5
5
|
export * from './FormFieldGroupExpandable';
|
|
6
6
|
export * from './FormFieldGroupHeader';
|
|
7
7
|
export * from './FormGroup';
|
|
8
|
+
export * from './FormGroupLabelHelp';
|
|
8
9
|
export * from './FormHelperText';
|
|
9
10
|
export * from './FormSection';
|
|
10
11
|
export * from './FormContext';
|
|
@@ -28,7 +28,7 @@ exports[`LoginForm LoginForm with rememberMeLabel 1`] = `
|
|
|
28
28
|
*
|
|
29
29
|
</span>
|
|
30
30
|
</label>
|
|
31
|
-
|
|
31
|
+
|
|
32
32
|
</div>
|
|
33
33
|
<div
|
|
34
34
|
class="pf-v6-c-form__group-control"
|
|
@@ -72,7 +72,7 @@ exports[`LoginForm LoginForm with rememberMeLabel 1`] = `
|
|
|
72
72
|
*
|
|
73
73
|
</span>
|
|
74
74
|
</label>
|
|
75
|
-
|
|
75
|
+
|
|
76
76
|
</div>
|
|
77
77
|
<div
|
|
78
78
|
class="pf-v6-c-form__group-control"
|
|
@@ -175,7 +175,7 @@ exports[`LoginForm LoginForm with show password 1`] = `
|
|
|
175
175
|
*
|
|
176
176
|
</span>
|
|
177
177
|
</label>
|
|
178
|
-
|
|
178
|
+
|
|
179
179
|
</div>
|
|
180
180
|
<div
|
|
181
181
|
class="pf-v6-c-form__group-control"
|
|
@@ -219,7 +219,7 @@ exports[`LoginForm LoginForm with show password 1`] = `
|
|
|
219
219
|
*
|
|
220
220
|
</span>
|
|
221
221
|
</label>
|
|
222
|
-
|
|
222
|
+
|
|
223
223
|
</div>
|
|
224
224
|
<div
|
|
225
225
|
class="pf-v6-c-form__group-control"
|
|
@@ -330,7 +330,7 @@ exports[`LoginForm should render Login form 1`] = `
|
|
|
330
330
|
*
|
|
331
331
|
</span>
|
|
332
332
|
</label>
|
|
333
|
-
|
|
333
|
+
|
|
334
334
|
</div>
|
|
335
335
|
<div
|
|
336
336
|
class="pf-v6-c-form__group-control"
|
|
@@ -374,7 +374,7 @@ exports[`LoginForm should render Login form 1`] = `
|
|
|
374
374
|
*
|
|
375
375
|
</span>
|
|
376
376
|
</label>
|
|
377
|
-
|
|
377
|
+
|
|
378
378
|
</div>
|
|
379
379
|
<div
|
|
380
380
|
class="pf-v6-c-form__group-control"
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import {
|
|
3
|
+
Modal,
|
|
4
|
+
ModalVariant,
|
|
5
|
+
Button,
|
|
6
|
+
Form,
|
|
7
|
+
FormGroup,
|
|
8
|
+
FormGroupLabelHelp,
|
|
9
|
+
Popover,
|
|
10
|
+
TextInput
|
|
11
|
+
} from '@patternfly/react-core';
|
|
5
12
|
|
|
6
13
|
export const ModalWithForm: React.FunctionComponent = () => {
|
|
7
14
|
const [isModalOpen, setModalOpen] = React.useState(false);
|
|
@@ -47,7 +54,7 @@ export const ModalWithForm: React.FunctionComponent = () => {
|
|
|
47
54
|
<Form id="modal-with-form-form">
|
|
48
55
|
<FormGroup
|
|
49
56
|
label="Name"
|
|
50
|
-
|
|
57
|
+
labelHelp={
|
|
51
58
|
<Popover
|
|
52
59
|
headerContent={
|
|
53
60
|
<div>
|
|
@@ -75,15 +82,7 @@ export const ModalWithForm: React.FunctionComponent = () => {
|
|
|
75
82
|
</div>
|
|
76
83
|
}
|
|
77
84
|
>
|
|
78
|
-
<
|
|
79
|
-
type="button"
|
|
80
|
-
aria-label="More info for name field"
|
|
81
|
-
onClick={(e) => e.preventDefault()}
|
|
82
|
-
aria-describedby="modal-with-form-form-name"
|
|
83
|
-
className={formStyles.formGroupLabelHelp}
|
|
84
|
-
>
|
|
85
|
-
<HelpIcon />
|
|
86
|
-
</button>
|
|
85
|
+
<FormGroupLabelHelp aria-label="More info for name field" />
|
|
87
86
|
</Popover>
|
|
88
87
|
}
|
|
89
88
|
isRequired
|
|
@@ -100,7 +99,7 @@ export const ModalWithForm: React.FunctionComponent = () => {
|
|
|
100
99
|
</FormGroup>
|
|
101
100
|
<FormGroup
|
|
102
101
|
label="E-mail"
|
|
103
|
-
|
|
102
|
+
labelHelp={
|
|
104
103
|
<Popover
|
|
105
104
|
headerContent={
|
|
106
105
|
<div>
|
|
@@ -124,15 +123,7 @@ export const ModalWithForm: React.FunctionComponent = () => {
|
|
|
124
123
|
</div>
|
|
125
124
|
}
|
|
126
125
|
>
|
|
127
|
-
<
|
|
128
|
-
type="button"
|
|
129
|
-
aria-label="More info for e-mail field"
|
|
130
|
-
onClick={(e) => e.preventDefault()}
|
|
131
|
-
aria-describedby="modal-with-form-form-email"
|
|
132
|
-
className={formStyles.formGroupLabelHelp}
|
|
133
|
-
>
|
|
134
|
-
<HelpIcon />
|
|
135
|
-
</button>
|
|
126
|
+
<FormGroupLabelHelp aria-label="More info for e-mail field" />
|
|
136
127
|
</Popover>
|
|
137
128
|
}
|
|
138
129
|
isRequired
|
|
@@ -149,7 +140,7 @@ export const ModalWithForm: React.FunctionComponent = () => {
|
|
|
149
140
|
</FormGroup>
|
|
150
141
|
<FormGroup
|
|
151
142
|
label="Address"
|
|
152
|
-
|
|
143
|
+
labelHelp={
|
|
153
144
|
<Popover
|
|
154
145
|
headerContent={
|
|
155
146
|
<div>
|
|
@@ -172,15 +163,7 @@ export const ModalWithForm: React.FunctionComponent = () => {
|
|
|
172
163
|
</div>
|
|
173
164
|
}
|
|
174
165
|
>
|
|
175
|
-
<
|
|
176
|
-
type="button"
|
|
177
|
-
aria-label="More info for address field"
|
|
178
|
-
onClick={(e) => e.preventDefault()}
|
|
179
|
-
aria-describedby="modal-with-form-form-address"
|
|
180
|
-
className={formStyles.formGroupLabelHelp}
|
|
181
|
-
>
|
|
182
|
-
<HelpIcon />
|
|
183
|
-
</button>
|
|
166
|
+
<FormGroupLabelHelp aria-label="More info for address field" />
|
|
184
167
|
</Popover>
|
|
185
168
|
}
|
|
186
169
|
isRequired
|
|
@@ -17,8 +17,6 @@ export interface RadioProps
|
|
|
17
17
|
id: string;
|
|
18
18
|
/** Flag to indicate whether the radio wrapper element is a native label element for the radio input. Will not apply if a component prop (with a value other than a "label") is specified. */
|
|
19
19
|
isLabelWrapped?: boolean;
|
|
20
|
-
/** Flag to show if the radio label is shown before the radio input. */
|
|
21
|
-
isLabelBeforeButton?: boolean;
|
|
22
20
|
/** Flag to show if the radio is checked. */
|
|
23
21
|
checked?: boolean;
|
|
24
22
|
/** Flag to show if the radio is checked. */
|
|
@@ -29,6 +27,8 @@ export interface RadioProps
|
|
|
29
27
|
isValid?: boolean;
|
|
30
28
|
/** Label text of the radio. */
|
|
31
29
|
label?: React.ReactNode;
|
|
30
|
+
/** Sets the position of the label. Defaults to 'end' (after the radio input). */
|
|
31
|
+
labelPosition?: 'start' | 'end';
|
|
32
32
|
/** Name for group of radios */
|
|
33
33
|
name: string;
|
|
34
34
|
/** A callback for when the radio selection changes. */
|
|
@@ -79,7 +79,7 @@ class Radio extends React.Component<RadioProps, { ouiaStateId: string }> {
|
|
|
79
79
|
inputClassName,
|
|
80
80
|
defaultChecked,
|
|
81
81
|
isLabelWrapped,
|
|
82
|
-
|
|
82
|
+
labelPosition = 'end',
|
|
83
83
|
isChecked,
|
|
84
84
|
isDisabled,
|
|
85
85
|
isValid,
|
|
@@ -132,7 +132,7 @@ class Radio extends React.Component<RadioProps, { ouiaStateId: string }> {
|
|
|
132
132
|
className={css(styles.radio, !label && styles.modifiers.standalone, className)}
|
|
133
133
|
htmlFor={wrapWithLabel ? props.id : undefined}
|
|
134
134
|
>
|
|
135
|
-
{
|
|
135
|
+
{labelPosition === 'start' ? (
|
|
136
136
|
<>
|
|
137
137
|
{labelRendered}
|
|
138
138
|
{inputRendered}
|
|
@@ -25,9 +25,9 @@ describe('Radio', () => {
|
|
|
25
25
|
expect(asFragment()).toMatchSnapshot();
|
|
26
26
|
});
|
|
27
27
|
|
|
28
|
-
test('
|
|
28
|
+
test('labelPosition is "start"', () => {
|
|
29
29
|
const { asFragment } = render(
|
|
30
|
-
<Radio id="check"
|
|
30
|
+
<Radio id="check" labelPosition="start" label="Radio label" aria-label="check" name="check" />
|
|
31
31
|
);
|
|
32
32
|
expect(asFragment()).toMatchSnapshot();
|
|
33
33
|
});
|
|
@@ -133,8 +133,8 @@ describe('Radio', () => {
|
|
|
133
133
|
expect(screen.getByText(labelText).tagName).toBe('SPAN');
|
|
134
134
|
});
|
|
135
135
|
|
|
136
|
-
test('Renders label before radio input if
|
|
137
|
-
render(<Radio id="test-id" name="check"
|
|
136
|
+
test('Renders label before radio input if labelPosition is "start"', () => {
|
|
137
|
+
render(<Radio id="test-id" name="check" labelPosition="start" label={'test radio label'} />);
|
|
138
138
|
|
|
139
139
|
const wrapper = screen.getByRole('radio').parentElement!;
|
|
140
140
|
|