- {` handler(id)} />
-const handler1 = (_event, id) => {};
-
-function handler2(_event, id) {};
-`}
+ {`import { Avatar } from '@patternfly/react-core';
+
+export const AvatarReplaceBorderForIsBorderedInput = () => (
+
+);`}
- )
- }, {
- component: "Card",
- description: "Updated the internal default value of the `component` property from 'article' to 'div'.",
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8601",
- repo: "React",
- fixedWithCodeMod: false
- }, {
- component: "Card",
- description: "`CardHeaderMain` and `CardActions` are no longer exported from PatternFly, and are instead rendered internally within the `CardHeader` sub-component. Any `CardHeaderMain` content and `CardActions` content or properties should be passed directly to `CardHeader` instead.",
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8759",
+ ),
+ },
+ {
+ component: "Banner",
+ description:
+ "The `variant` property has been removed from Banner. We recommend using our new `color` or `status` properties, depending on the original intent of the `variant` property. Codemods will either replace the `variant` property with the `color` property, or remove the `variant` property entirely, but additional updates may need to be made.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/9891",
repo: "React",
fixedWithCodeMod: true,
+ title: "banner-replace-variantProp",
details: (
- Codemods will make the following updates:
- Example in
+
- {`>, hasNoOffset: true, className: "test"}} >
- Header content
-
-`}
+ {`import { Banner } from "@patternfly/react-core";
+
+export const BannerReplaceVariantPropInput = () => (
+ <>
+
+
+ >
+);`}
- )
- }, {
- component: "Sidebar",
- description: "Added the ability for a border to separate the sidebar panel and sidebar content.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5221",
- details: "Allowed the sidebar component to support more flexible layouts by adding support for padding to be added to the sidebar panel and sidebar content elements.",
- repo: "HTML/CSS",
- fixedWithCodeMod: false
- }, {
- component: "Skip to content",
- description: "Previously, the skip to content component classes were applied directly to the button classes to create the skip to content component. This pull request added a structural HTML element that wraps the component and serves as the parent element for the skip to content component.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5153",
- repo: "HTML/CSS",
- fixedWithCodeMod: false
- }, {
- component: "Spinner",
- description: "Removed the legacy spinner variation in favor of the SVG spinner variation.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5468",
- repo: "HTML/CSS",
- fixedWithCodeMod: false
- }, {
- component: "Table",
- description: "Renamed the table component's “sticky-column” element to “sticky-cell” to be more flexible in sticky positioning. Added support for a table column to be sticky to the right edge of the table instead of just the left.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5393",
- repo: "HTML/CSS",
- fixedWithCodeMod: false
- }, {
- component: "Table",
- description: "Improved the alignment of the table action column by right-aligning the contents of the table action cell.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5400",
- repo: "HTML/CSS",
- fixedWithCodeMod: false
- }, {
- component: "Table",
- description: "Added unique table component CSS class selectors to all elements of the table that previously did not have a class.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5558",
- details: "For example, '
' is now '
', 'thead' is now ''",
- repo: "HTML/CSS",
- fixedWithCodeMod: false
- }, {
- component: "Table",
- description: "Improved and updated the visual appearance of clickable rows.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5397",
- details: "Renamed “hoverable” table rows to “clickable” to be more consistent with similar features in other components.",
- repo: "HTML/CSS",
- fixedWithCodeMod: false
- }, {
- component: "Tabs",
- description: "Updated secondary tabs to have a border by default. This is more consistent with the presentation of primary tabs.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5171",
- repo: "HTML/CSS",
- fixedWithCodeMod: false
- }, {
- component: "Toolbar",
- description: "Updated the default alignment of toolbar children to use baseline vertical alignment instead of center alignment, which improved the visual appearance of toolbar children of differing heights.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5201",
- details: "Added modifiers to toolbar children to use center and baseline alignment. This is a non-breaking change - it just allows going back to the old default alignment of center, and specifying baseline on specific children.",
- repo: "HTML/CSS",
- fixedWithCodeMod: false
- }, {
- component: "Toolbar",
- description: "Updated the default alignment to use top alignment.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5565",
- details: "Added a modifier for children to use top alignment. This is a non-breaking change that just allows for the previously defined center and baseline alignments to be used, and for top alignment to be used on specific children.",
- repo: "HTML/CSS",
- fixedWithCodeMod: false
- }, {
- component: "Toolbar",
- description: "Added a CSS row gap to wrapping toolbar items. Previously, items would wrap directly underneath items on the previous row, and this update added a visual spacer between wrapping rows.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5398",
- repo: "HTML/CSS",
- fixedWithCodeMod: false
- }, {
- component: "Toolbar",
- description: "Improved the visual appearance of the expanded content element. This isn’t an enhancement, but was to fix a bug introduced in a previous pull request. This change makes breaking changes to CSS variables.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5611",
- repo: "HTML/CSS",
- fixedWithCodeMod: false
- }, {
- component: "Wizard",
- description: "Updated the stacking context of structural elements within the wizard component so that elements from the wizard main content area are able to overflow and display on top of the wizard footer.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5533",
- repo: "HTML/CSS",
- fixedWithCodeMod: false
- }, {
- component: "Wizard",
- description: "Refactored the popover component HTML to be more flexible and consistent with similarly structured components.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5389",
- details: "Added a structural HTML element to the that is used to wrap the close button. Updated the wizard title to be more flexible.",
- repo: "HTML/CSS",
- fixedWithCodeMod: false
- },
- {
- component: "@All",
- description: (
- <>
- Removed unnecessary visibility{" "}
- declaration that was paired with the use of the{" "}
- display property to hide and show
- elements.
- >
- ),
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5209",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "@All",
- description:
- "Prefixed all of our public HTML classes (except for modifiers), CSS variables/custom properties, and SCSS variables/mixins/functions/placeholders with the PatternFly version number to avoid namespace conflicts.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5434",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "@All",
- description: "Added transparent background to various buttons, other cleanup.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5379",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "@All",
- description: (
- <>
- Removed references to any fallback{" "}
- .woff font files for text and icons.
- >
- ),
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5435",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "@All",
- description: (
- <>
- Split the global reset styles into “normalize” and “reset”, which
- can be uniquely disabled/enabled by setting{" "}
- $pf-global--enable-reset and{" "}
- $pf-global--enable-normalize.
- >
- ),
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5435",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "@All",
- description: (
- <>
- Wrapped all global normalize and reset styles in{" "}
- :where() to remove CSS specificity.
- >
- ),
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5435",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "@All",
- description: "Removed an old bootstrap variable mapping stylesheet.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5435",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "@All",
- description:
- "Removed card and button specific styles for use in dark and light blocks within components.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5435",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "@All",
- description: (
- <>
- Removed the SCSS variables{" "}
- $pf-global--enable-shield and{" "}
- $pf-global--load-pf-3.
- >
- ),
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5435",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "@All",
- description: "Renamed the global “default” status color to “custom”.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5418",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "@All",
- description:
- "Updated any use of a non-PatternFly component checkbox/radio input to use the standalone variation of the PatternFly check/radio component.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5355",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "@All",
- description: "Fixed dark theme bugs.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5535",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "@All",
- description: "Removed global “shield” CSS.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5339",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "@All",
- description: (
- <>
- Removed declaration setting font-size on HTML element and associated
- SCSS var{" "}
- $pf-global--unset-root-font-size.
- >
),
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5339",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "@All",
- description: "Updated all of our RedHatFont files to the latest versions.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5503",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "@All",
- description:
- "Renamed the global variables for font family variations, and global class to opt-in to the variable font.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5503",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "@All",
- description: "Removed support for the legacy overpass font.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5169",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "About modal",
- description: "Removed the default background image.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5530",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "About modal",
- description:
- "Refactored the about modal box to be placed inside of the modal component.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5216",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "About modal",
- description: "Updated to support new design of background image.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5328",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "Background image",
- description: "Removed the default background image.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5530",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "Background image",
- description: "Updated to support new design of background image.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5328",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "Accordion",
- description:
- "Renamed the accordion expandable content component from “expanded-content” to “expandable-content”.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5180",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
},
{
- component: "Banner",
- description:
- "Renamed status variations (such as “success”, “warning”, and “danger”) to be more generic color variations (such as “green”, “gold”, and “red”).",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5408",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "Card",
- description: "Updated design for selectable and clickable cards.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5409",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "Card",
- description:
- "Refactored the card header code to be more flexible and improved the visual appearance of card header items.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5280",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "Card",
- description:
- "Refactored the card title to be more flexible, and changed the default card title font weight to “normal”.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5363",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "Check",
+ component: "Button",
description:
- "Updated description and body elements to occupy the available width.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5233",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- }, {
- component: "Divider",
- description: (<>Replaced the isVertical flag with the orientation property that can define verticality on different breakpoints.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8199",
+ 'Icons must now be passed to the `icon` prop of Button instead of as children. Codemods will only update instances of a Button with `variant="plain"` passed in, but you must ensure you are only passing an icon in such instances before running the fix.',
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10663",
+ repo: "React",
+ fixedWithCodeMod: true,
+ title: "button-moveIcons-icon-prop",
details: (
- Example in
+
Codemods will make the following updates:
+
Example in
- {``}
+ {`import { Button, Icon } from "@patternfly/react-core";
+import { SomeIcon } from "@patternfly/react-icons";
+
+export const ButtonMoveIconsIconPropInput = () => (
+ <>
+
+
+
+ >
+);`}
- Example out
+
Example out
- {``}
+ {`import { Button, Icon } from "@patternfly/react-core";
+import { SomeIcon } from "@patternfly/react-icons";
+
+export const ButtonMoveIconsIconPropInput = () => (
+ <>
+
+
+ }>
+
+
+ >
+);`}
),
- repo: "React",
- fixedWithCodeMod: true
},
{
- component: "Drawer",
- description: (<>The onResize property in DrawerPanelContent to take the event as its first parameter. Handlers may require an update.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8736",
+ component: "Button",
+ description: "isActive prop for Button has been renamed to isClicked",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/9934",
+ repo: "React",
+ fixedWithCodeMod: true,
+ title: "button-rename-isActive",
details: (
- Example in
+
- {` onChange(checked)} />
-
- const onResize1 = (_event, width, id) => {};
-
-
- function onResize2(_event, width, id) {};
- `}
+ {`import { Button } from "@patternfly/react-core";
+
+export const ButtonRenameIsActiveInput = () => ;`}
),
- repo: "React",
- fixedWithCodeMod: true
},
{
- component: "Dropdown",
- description: (<>Deprecated the current implementation of dropdown.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8835",
+ component: "Card",
+ description:
+ "Props related to raised or clickable cards have been removed.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10056",
+ repo: "React",
+ fixedWithCodeMod: true,
+ title: "card-remove-various-props",
details: (
- In order to continue using this deprecated implementation, the import path must be updated to our deprecated package and specifiers must be aliased. However, we suggest updating to our newer implementation of dropdown.
-
- The following imports will be affected by this deprecation:
-
-
- BadgeToggle
- Dropdown
- DropdownPosition
- DropdownDirection
- DropdownContext
- DropdownArrowContext
- DropdownGroup
- DropdownItem
- DropdownMenu
- DropdownSeparator
- DropdownToggle
- DropdownToggleAction
- DropdownToggleCheckbox
- DropdownWithContext
- KebabToggle
-
- Example in
+
The following props have been removed:
+
+
isSelectableRaised
+
isDisabledRaised
+
hasSelectableInput
+
selectableInputAriaLabel
+
onSelectableInputChange
+
isFlat
+
isRounded
+
+
Codemods will make the following updates:
+
Example in
- {`import { Dropdown, DropdownPosition, Button } from '@patternfly/react-core';`}
+ {`import { Card } from "@patternfly/react-core";
+
+export const CardRemoveVariousPropsInput = () => (
+ {}}
+ />
+);`}
- Example out
+
Example out
- {`import { Button } from '@patternfly/react-core';
- import { Dropdown, DropdownPosition } from '@patternfly/react-core/deprecated';`}
+ {`import { Card } from "@patternfly/react-core";
+
+export const CardRemoveVariousPropsInput = () => (
+
+);`}
),
- repo: "React",
- fixedWithCodeMod: true
},
{
- component: "Dropdown",
- description: (<>Removed the isHovered property from DropdownItem.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8179",
+ component: "Card",
+ description:
+ "The markup for clickable-only cards has been updated. Additionally, the `selectableActions.selectableActionId` and `selectableActions.name` props are no longer necessary to pass to CardHeader for clickable-only cards. Passing them in will not cause any errors, but running codemods will remove them.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10859",
+ repo: "React",
+ fixedWithCodeMod: true,
+ title: "card-updated-clickable-markup",
details: (
- Example in
-
-
- {``}
-
-
- Example out
+
+
+
+ {`import { Card, CardHeader } from "@patternfly/react-core";
+
+export const CardUpdatedClickableMarkupInput = () => {
+ const selectableActionsObj = {};
+ const selectableActionsObjMany = {to: "#", selectableActionProps: {}};
+
+ return (
+ <>
+
+
+
+
+
+
+
+
+
+ >
+ );
+};`}
),
- repo: "React",
- fixedWithCodeMod: true
},
{
- component: "Dropdown",
- description: (<>Removed the openedOnEnter property from DropdownMenu.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8179",
+ component: "Checkbox",
+ description:
+ 'The `isLabelBeforeButton` prop in Checkbox and Radio has been replaced with `labelPosition="start"`',
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10016",
+ repo: "React",
+ fixedWithCodeMod: true,
+ title: "checkbox-radio-replace-isLabelBeforeButton",
details: (
- Example in
+
Codemods will make the following updates:
+
Example in
- {``}
+ {`import { Checkbox, Radio } from "@patternfly/react-core";
+
+export const CheckboxReplaceIsLabelBeforeButtonInput = () => (
+
+);
+export const RadioReplaceIsLabelBeforeButtonInput = () => (
+
+);`}
- Example out
+
Example out
- {``}
+ {`import { Checkbox, Radio } from "@patternfly/react-core";
+
+export const CheckboxReplaceIsLabelBeforeButtonInput = () => (
+
+);
+export const RadioReplaceIsLabelBeforeButtonInput = () => (
+
+);`}
),
- repo: "React",
- fixedWithCodeMod: true
},
-
{
- component: "Dropdown",
- description: (<>Replaced the deprecated isPrimary property "primary" value on the toggleVariant property from DropdownToggle>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8179",
+ component: "Chip",
+ description:
+ "Chip has been deprecated. Running the fix flag will update your imports to our deprecated package, but we suggest using Label instead.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10049",
+ repo: "React",
+ fixedWithCodeMod: true,
+ title: "chip-deprecated",
details: (
- Example in
+
Codemods will make the following updates:
+
Example in
- {``}
+ {`import { Chip } from '@patternfly/react-core';`}
- Example out
+
Example out
- {``}
+ {`import { Chip } from '@patternfly/react-core/deprecated';`}
),
- repo: "React",
- fixedWithCodeMod: true
},
{
- component: "Dropdown",
- description: (<>Updated onChange property from DropdownToggleCheckbox so that the event parameter is included as the first parameter. Handlers may need to be updated.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8787",
+ component: "Chip",
+ description:
+ "Chip has been deprecated. Running the fix flag will replace Chip and ChipGroup components with Label and LabelGroup components respectively.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10049",
+ repo: "React",
+ fixedWithCodeMod: true,
+ title: "chip-replace-with-label",
details: (
- Example in
+
Codemods will make the following updates:
+
Example in
- {` handler(id)} />
- handler(id, event)} />
- const handler1 = (id, event) => {};
- `}
+ {`import { Chip } from '@patternfly/react-core/deprecated';
+
+export const ChipReplaceWithLabelInput = () => (
+
+ This is a chip
+
+);`}
- Example out
+
Example out
- {` handler(id)} />
- handler(id, event)} />
- const handler1 = (event, id) => {};
- `}
+ {`import { Label } from '@patternfly/react-core';
+
+export const ChipReplaceWithLabelInput = () => (
+
+);`}
),
- repo: "React",
- fixedWithCodeMod: true
},
{
- component: "Dual list selector",
- description: (<>The onAvailableOptionsSearchInputChanged, onChosenOptionsSearchInputChanged and onListChange properties now take event as the first parameter. Handlers may need to be updated.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8793",
+ component: "Color props",
+ description:
+ 'The `color` prop on Banner and Label has been updated to replace "cyan" with "teal" and "gold" with "yellow".',
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10661",
+ repo: "React",
+ fixedWithCodeMod: true,
+ title: "colorProps-replaced-colors",
details: (
- Example in
+
- {` onSelectHandler(value)} clearSelection={(_event, row, cell) => clearSelectionHandler(row, cell)} />
- onSelectHandler(value, event)} />
- const onSelectHandler1 = (event, value) => {};
- const clearSelectionHandler1 = (event, row, cell) => {};
-
- function onSelectHandler2(_event, value) {};
- function clearSelectionHandler2(_event, row, cell) {};
- `}
+ {`import { LogSnippet } from "@patternfly/react-component-groups";
+
+export const LogSnippetRenameLeftBorderVariantInput = () => (
+
+);`}
),
- repo: "React",
- fixedWithCodeMod: true
},
{
- component: "Empty state",
- description: (<>Replaced the EmptyStatePrimary and EmptyStateSecondaryActions components with EmptyStateActions.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8737",
+ component: "Error state",
+ description:
+ "In react-component-groups, we've renamed some ErrorState props to comply with its base component, EmptyState.",
+ pullRequestURL:
+ "https://github.com/patternfly/react-component-groups/pull/145",
+ repo: "React-component-groups",
+ fixedWithCodeMod: true,
+ title: "componentGroups-errorState-rename-props",
details: (
- Example in
+
Codemods will make the following updates:
+
Example in
- {`import { EmptyStatePrimary as Primary, EmptyStateSecondaryActions } from '@patternfly/react-core';
- <>
- Primary action
- Other actions
- >`}
+ {`import { ErrorState } from "@patternfly/react-component-groups";
+
+export const ComponentGroupsErrorStateRenamePropsInput = () => (
+
+);`}
- Example out
+
Example out
- {`import { EmptyStateActions } from '@patternfly/react-core';
- <>
- Primary action
- Other actions
- >`}
+ {`import { ErrorState } from "@patternfly/react-component-groups";
+
+export const ComponentGroupsErrorStateRenamePropsInput = () => (
+
+);`}
),
- repo: "React",
- fixedWithCodeMod: true
},
{
- component: "Empty state",
- description: (<>Added the EmptyStateHeader component, which should now be passed an EmptyStateIcon to the icon property
- and the main title should be passed to titleText property. You can also explicitly specify title's heading level
- with headingLevel property.
- Added the EmptyStateFooter component. It should wrap the content which follows after EmptyStateBody inside EmptyState.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8737",
+ component: "Invalid object",
+ description:
+ "In react-component-groups, we've renamed InvalidObject's props `invalidObjectTitleText` to `titleText` and `invalidObjectBodyText` to `bodyText`.",
+ pullRequestURL:
+ "https://github.com/patternfly/react-component-groups/pull/145",
+ repo: "React-component-groups",
+ fixedWithCodeMod: true,
+ title: "component-groups-invalidObject-rename-props",
details: (
- Example in
+
Codemods will make the following updates:
+
Example in
- {` import { EmptyState, EmptyStateActions, EmptyStateBody, EmptyStateIcon, Title } from '@patternfly/react-core';
+ {`import { InvalidObject } from "@patternfly/react-component-groups";
-
-
-
- Empty state
-
-
- Some content
-
-
- Primary action
-
-
- Other actions
-
- `}
+export const ComponentGroupsInvalidObjectRenamePropsInput = () => (
+
+);`}
- Example out
+
Example out
- {`import { EmptyState, EmptyStateActions, EmptyStateBody, EmptyStateIcon, EmptyStateHeader, EmptyStateFooter, } from '@patternfly/react-core';
-
-
- } headingLevel="h5" />
-
- Some content
-
-
- Primary action
-
-
- Other actions
-
- `}
+ {`import { InvalidObject } from "@patternfly/react-component-groups";
+
+export const ComponentGroupsInvalidObjectRenamePropsInput = () => (
+
+);`}
),
- repo: "React",
- fixedWithCodeMod: true
},
{
- component: "Empty state",
- description: (<>Updated the icon property on EmptyStateIcon to be required.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8737",
- repo: "React",
- fixedWithCodeMod: false
- },
- {
- component: "Empty state",
- description: (<>Removed the variant property from EmtpyStateIcon. Replaced the component property with the icon property.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8737",
+ component: "Multi content card",
+ description:
+ "The `leftBorderVariant` and `withHeaderBorder` props have been removed from MultiContentCard.",
+ pullRequestURL:
+ "https://github.com/patternfly/react-component-groups/pull/145",
+ repo: "React-component-groups",
+ fixedWithCodeMod: true,
+ title: "component-groups-multi-content-card-remove-props",
details: (
- Example in
+
Codemods will make the following updates:
+
Example in
- {`
- `}
+ {`import { MultiContentCard } from "@patternfly/react-component-groups";
+
+export const ComponentGroupsMultiContentCardRemovePropsInput = () => `}
- Example out
+
Example out
- {`
- `}
+ {`import { MultiContentCard } from "@patternfly/react-component-groups";
+
+export const ComponentGroupsMultiContentCardRemovePropsInput = () => `}
),
- repo: "React",
- fixedWithCodeMod: true
},
{
- component: "Empty state",
- description: (<>Renamed the EmptyStateVariant enum and property values "small" to "sm" and "large" to "lg".>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8737",
+ component: "Not authorized",
+ description:
+ "In react-component-groups, we've renamed NotAuthorized's props `description` to `bodyText` and `title` to `titleText`.",
+ pullRequestURL:
+ "https://github.com/patternfly/react-component-groups/pull/145",
+ repo: "React-component-groups",
+ fixedWithCodeMod: true,
+ title: "component-groups-notAuthorized-rename-props",
details: (
- Example in
+
Codemods will make the following updates:
+
Example in
- {`const myVariant = EmptyStateVariant.small;
-
-
- `}
+ {`import { NotAuthorized } from "@patternfly/react-component-groups";
+
+export const ComponentGroupsNotAuthorizedRenamePropsInput = () => (
+
+);`}
- Example out
+
Example out
- {`const myVariant = EmptyStateVariant.sm;
-
-
- `}
+ {`import { NotAuthorized } from "@patternfly/react-component-groups";
+
+export const ComponentGroupsNotAuthorizedRenamePropsInput = () => (
+
+);`}
),
- repo: "React",
- fixedWithCodeMod: true
},
{
- component: "Expandable section",
- description: (<>Renamed the large property value of displaySize to lg.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8212",
+ component: "Unavailable content",
+ description:
+ "In react-component-groups, we have replaced UnavailableContent's props `unavailableBodyPreStatusLinkText` and `unavailableBodyPostStatusLinkText` with one `bodyText` prop.Also status page link button has changed to a primary button. Consider capitalizing the `statusPageLinkText` prop.",
+ pullRequestURL:
+ "https://github.com/patternfly/react-component-groups/pull/244",
+ repo: "React-component-groups",
+ fixedWithCodeMod: true,
+ title: "component-groups-unavailableContent-bodyText-props-update",
details: (
- Example in
+
Codemods will make the following updates:
+
Example in
- {``}
+ {`import { UnavailableContent } from "@patternfly/react-component-groups";
+
+export const ComponentGroupsUnavailableContentBodyTextPropsUpdateInput = () => (
+ <>
+
+
+
+ >
+);`}
- Example out
+
Example out
- {``}
+ {`import { UnavailableContent } from "@patternfly/react-component-groups";
+
+export const ComponentGroupsUnavailableContentBodyTextPropsUpdateInput = () => (
+ <>
+
+
+
+ >
+);`}
),
- repo: "React",
- fixedWithCodeMod: true
},
{
- component: "Expandable section",
- description: (<>Updated the onToggle property so that the event parameter is the first parameter. Handlers may require an update.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8880",
+ component: "Unavailable content",
+ description:
+ "The UnavailableContent component of React Component Groups has had the `unavailableTitleText` prop renamed to `titleText`.",
+ pullRequestURL:
+ "https://github.com/patternfly/react-component-groups/pull/145",
+ repo: "React-component-groups",
+ fixedWithCodeMod: true,
+ title: "component-groups-unavailable-content-rename-props",
details: (
- Example in
+
Codemods will make the following updates:
+
Example in
- {` handler(id)} />
- const handler1 = (id) => {};
-
- function handler2(id) {};
- `}
+ {`import { UnavailableContent } from "@patternfly/react-component-groups";
+
+export const ComponentGroupsUnavailableContentRenamePropsInput = () => (
+
+);`}
- Example out
+
Example out
- {` handler(id)} />
- const handler1 = (_event, id) => {};
-
- function handler2(_event, id) {};
- `}
+ {`import { UnavailableContent } from "@patternfly/react-component-groups";
+
+export const ComponentGroupsUnavailableContentRenamePropsInput = () => (
+
+);`}
),
- repo: "React",
- fixedWithCodeMod: true
},
{
- component: "File upload",
- description: (<>Updated the onTextChange property for FileUploadField and FileUpload so that the event parameter is the first parameter. Handlers may require an update.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8955",
+ component: "All",
+ description:
+ "Codemods will remove `data-codemods` attributes and comments, which were introduced by our codemods in order to work correctly.You should run this codemod only once, after you finish running the codemods.This codemod can only run using the `--only data-codemods-cleanup` option.",
+ repo: "React",
+ fixedWithCodeMod: true,
+ title: "data-codemods-cleanup",
details: (
- Example in
+
+
+
+ {`import {
+ DragDrop,
+ Droppable,
+ Draggable,
+} from '@patternfly/react-core/deprecated';
+
+export const DragDropDeprecatedInput = () => (
+
+
+ Item 1
+ Item 2
+
+
+);`}
),
- repo: "React",
- fixedWithCodeMod: true
},
{
- component: "File upload",
- description: (<>Removed the deprecated onChange property. This rule will remove the property and suggest replacing it with the onFileInputChange, onTextChange, onDataChange, and onClearClick properties as needed.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8155",
+ component: "Drawer content",
+ description:
+ 'The "no-background" value of the `colorVariant` prop on DrawerContent has been removed, and a new "primary" value has been added.Additionally, a new DrawerContentColorVariant enum has been added and should be used instead of the DrawerColorVariant enum. The fix when the DrawerColorVariant enum is being used will replace the `colorVariant` prop value with a string.',
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10211",
+ repo: "React",
+ fixedWithCodeMod: true,
+ title: "drawerContent-replace-noBackground-colorVariant",
details: (
- Example in
+
- {` `}
+ {`import { DrawerContent, DrawerColorVariant } from "@patternfly/react-core";
+
+export const DrawerContentReplaceNoBackgroundColorVariantInput = () => {
+ const stringColor = "no-background";
+ const enumColor = DrawerColorVariant.default;
+
+ return (
+ <>
+
+
+
+
+ >
+ );
+};`}
),
- repo: "React",
- fixedWithCodeMod: true
},
{
- component: "Form control",
- description: (<>Some properties have been removed from a few form control components.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/9132",
+ component: "Drawer",
+ description: "The `hasNoPadding` prop has been removed from DrawerHead.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10036",
+ repo: "React",
+ fixedWithCodeMod: true,
+ title: "drawer-remove-props",
details: (
- Affected components - properties:
-
- FormSelect - isIconSprite
- TextArea - isIconSprite, isReadOnly
- TextInput - isIconSprite, isReadOnly, iconVariant, customIconUrl, customIconDimensions
-
- Example in
-
-
- {`
-
-
-
- // With an existing readOnlyVariant prop
-
),
- repo: "React",
- fixedWithCodeMod: true
},
{
- component: "Form control",
- description: (<>Changed the markup for several form control components. Selectors may need to be updated.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/9132",
- details: (
-
- Affected components:
-
- FormSelect
- TextArea
- TextInput
- TimePicker
- ClipboardCopy
- DatePicker
- FileUpload
- LoginPage
- NumberInput
- SearchInput
- Slider - only when the isInputVisible property is passed in
- TreeViewSearch
- Select - only the deprecated implementation with the hasInlineFilter property passed in
-
-
- ),
+ component: "Drawer head",
+ description:
+ "DrawerPanelBody is no longer rendered internally to DrawerHead. We recommend using these components independent of one another and to not pass DrawerPanelBody to DrawerHead.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10036",
repo: "React",
- fixedWithCodeMod: false
+ fixedWithCodeMod: false,
+ title: "drawerHead-warn-updated-markup",
},
{
- component: "Form group",
- description: (<>Removed the helper text related properties from FormGroup: helperText, helperTextInvalid, validated, helperTextIcon, helperTextInvalidIcon, and isHelperTextBeforeField. The FormHelperText, HelperText, and HelperTextItem components should now be used directly as part of children instead of these properties. This rule will throw an error but not make any changes.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8810",
+ component: "Drawer",
+ description:
+ 'The "light-200" value for the `colorVariant` prop has been replaced with the "secondary" value for DrawerContent, DrawerPanelContent, and DrawerSection components.Additionally, the `light200` property for the DrawerColorVariant enum has been replaced with the `secondary` property.',
+ pullRequestURL:
+ "https://github.com/patternfly/patternfly-react/pull/10017 ",
+ repo: "React",
+ fixedWithCodeMod: true,
+ title: "drawer-replace-colorVariant-light200",
details: (
- Example in
+
+
+
+ {`import { DrawerContent, DrawerColorVariant } from "@patternfly/react-core";
+
+export const DrawerReplaceColorVariantLight200Input = () => (
+ <>
+
+
+ >
+);`}
),
- repo: "React",
- fixedWithCodeMod: false
},
{
- component: "Form helper text",
- description: (<>Removed functionality from FormHelperText, which will instead be covered by HelperText and HelperTextItem. This rule will remove the isError, isHidden, icon, and component properties if present. The HelperText and HelperTextItem components should now be used directly as part of children instead of these properties.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8810",
+ component: "Dual list selector",
+ description:
+ "Our previous implementation of DualListSelector has been deprecated. Codemods will update import paths to our deprecated directory, but we recommend using our newly promoted implementation.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10359",
+ repo: "React",
+ fixedWithCodeMod: true,
+ title: "dualListSelector-deprecated",
details: (
- Example in
+
Codemods will make the following updates:
+
Example in
- {`} component="div" />`}
+ {`import { DualListSelector } from "@patternfly/react-core";`}
- Example out
+
Example out
- {``}
+ {`import {
+ DualListSelector
+} from '@patternfly/react-core/deprecated';`}
),
- repo: "React",
- fixedWithCodeMod: true
},
{
- component: "Form select",
- description: (<>Updated the onChange property so that the event parameter is the first parameter. Handlers may require an update.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8998",
+ component: "Dual list selector next",
+ description:
+ "Our Next implementation of DualListSelector has been promoted as our recommended implementation. Codemods will update import paths.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10359",
+ repo: "React",
+ fixedWithCodeMod: true,
+ title: "dualListSelectorNext-promoted",
details: (
- Example in
+
Codemods will make the following updates:
+
Example in
- {` handler(id)} />
- handler(id, event)} />
- const handler1 = (id, event) => {};
-
- function handler2(id, event) {};
- `}
+ {`import { DualListSelector } from "@patternfly/react-core/next";`}
- Example out
+
Example out
- {` handler(id)} />
- handler(id, event)} />
- const handler1 = (_event, id) => {};
-
- function handler2(_event, id) {};
- `}
+ {`import {
+ DualListSelector /* data-codemods */
+} from '@patternfly/react-core';`}
),
- repo: "React",
- fixedWithCodeMod: true
},
{
- component: "Select",
- description: (<>Renamed the hasCheck property for the next implementation of SelectOption to hasCheckbox.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8403",
+ component: "Empty state header",
+ description:
+ "EmptyStateHeader and EmptyStateIcon are now rendered internally within EmptyState and should only be customized using props. Content passed to the `icon` prop on EmptyState will also be wrapped by EmptyStateIcon automatically.Additionally, the `titleText` prop is now required on EmptyState.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/9947",
+ repo: "React",
+ fixedWithCodeMod: true,
+ title: "emptyStateHeader-move-into-emptyState",
details: (
- Example in
+
- {``}
+ {`import {
+ EmptyState,
+ EmptyStateBody,
+ EmptyStateHeader,
+ EmptyStateIcon,
+ CubesIcon,
+ Title,
+} from "@patternfly/react-core";
+
+export const EmptyStateHeaderMoveIntoEmptyStateInput = () => (
+
+
+);
+
+export const EmptyStateWithoutHeaderMoveIntoEmptyStateInput = () => (
+
+ Foo
+ } icon={CubesIcon}>
+ Body
+
+);`}
),
- repo: "React",
- fixedWithCodeMod: true
},
{
- component: "Menu",
- description: (<>Renamed the hasCheck property on MenuItem to hasCheckbox.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8403",
+ component: "Empty state",
+ description:
+ "EmptyStateHeader and EmptyStateIcon are no longer exported by PatternFly. Codemods will apply fixes for exports of these components.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10364",
+ repo: "React",
+ fixedWithCodeMod: true,
+ title: "emptyState-nonExported-components",
details: (
- Example in
+
Codemods will make the following updates:
+
Example in
- {``}
+ {`import { EmptyStateHeader, EmptyStateIcon } from "@patternfly/react-core";
+
+export { EmptyStateHeader, EmptyStateIcon };
+export {
+ EmptyStateHeader as CustomESHeader,
+ EmptyStateIcon as CustomESIcon,
+} from "@patternfly/react-core";`}
- Example out
+
Example out
- {``}
+ {`import { EmptyStateHeader, EmptyStateIcon } from "@patternfly/react-core";`}
),
- repo: "React",
- fixedWithCodeMod: true
},
{
- component: "Tree view",
- description: (<>Renamed the hasCheck property to hasCheckbox.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8403",
+ component: "Form filed group header title text object",
+ description:
+ "There was a typo in FormFiledGroupHeaderTitleTextObject interface. It was renamed to the intended FormFieldGroupHeaderTitleTextObject.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10016",
+ repo: "React",
+ fixedWithCodeMod: true,
+ title: "formFiledGroupHeaderTitleTextObject-renamed",
details: (
- Example in
+
Codemods will make the following updates:
+
Example in
- {``}
+ {`import { FormFiledGroupHeaderTitleTextObject } from "@patternfly/react-core";
+export { FormFiledGroupHeaderTitleTextObject as HeaderTitleObject } from "@patternfly/react-core";
+
+interface MyExtension extends FormFiledGroupHeaderTitleTextObject {}
+
+const titleTextObject: FormFiledGroupHeaderTitleTextObject = {
+ text: "Some title",
+ id: "form-field-group-header-title-text",
+};`}
- Example out
+
Example out
- {``}
+ {`import { FormFieldGroupHeaderTitleTextObject } from "@patternfly/react-core";
+export { FormFieldGroupHeaderTitleTextObject as HeaderTitleObject } from "@patternfly/react-core";
+
+interface MyExtension extends FormFieldGroupHeaderTitleTextObject {}
+
+const titleTextObject: FormFieldGroupHeaderTitleTextObject = {
+ text: "Some title",
+ id: "form-field-group-header-title-text",
+};`}
),
- repo: "React",
- fixedWithCodeMod: true
},
{
- component: "Navigation",
- description: (<>Updated the default value of the aria-label attribute with a horizontal-subnav variant to "local" (previously the default value was "Global").>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8213",
+ component: "Form group",
+ description:
+ 'The `labelIcon` prop for FormGroup has been renamed to `labelHelp`. We recommend using FormGroupLabelHelp element for the labelHelp prop. The markup has also changed, we now wrap the labelHelp element in ``, so there is no need to add `className="pf-v6-c-form__group-label-help"` to the labelHelp element.',
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10016",
repo: "React",
- fixedWithCodeMod: false
- },
- {
- component: "Input group",
- description: (<>pull request #9176 affects this as well as #9074. Added the InputGroupItem component, which must wrap all non-InputGroupText children passed to an InputGroup. The InputGroupItem component may need to have the isFill, isBox, and/or isPlain properties adjusted to retain styling.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/9074",
+ fixedWithCodeMod: true,
+ title: "formGroup-rename-labelIcon",
details: (
- Example in
+
Codemods will make the following updates:
+
Example in
- {`
-
-
-
-
- Some text
-
- `}
+ {`import { FormGroup } from "@patternfly/react-core";
+
+export const FormGroupRenameLabelIconInput = () => (
+ Help icon>} />
+);`}
- Example out
+
Example out
- {`
-
-
-
-
- Some text
-
- `}
+ {`import { FormGroup } from "@patternfly/react-core";
+
+export const FormGroupRenameLabelIconInput = () => (
+ Help icon>} />
+);`}
),
- repo: "React",
- fixedWithCodeMod: true
},
{
- component: "Input group",
- description: (<>Removed the variant property on InputGroupText.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/9147",
+ component: "Helper text item",
+ description:
+ 'The `hasIcon` and `isDynamic` props have been removed from HelperTextItem. An icon will now render automatically when the `variant` prop has a value other than "default" or when the `icon` prop is passed in.',
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10029",
+ repo: "React",
+ fixedWithCodeMod: true,
+ title: "helperTextItem-remove-props",
details: (
- Example in
+
Codemods will make the following updates:
+
Example in
- {``}
+ {`import { HelperTextItem } from "@patternfly/react-core";
+
+export const HelperTextItemRemovePropsInput = () => (
+
+);`}
- Example out
+
Example out
- {``}
+ {`import { HelperTextItem } from "@patternfly/react-core";
+
+export const HelperTextItemRemovePropsInput = () => (
+
+);`}
),
+ },
+ {
+ component: "Helper text item",
+ description:
+ 'The `screenReaderText` prop on HelperTextItem has been updated, and will now render only when the `variant` prop has a value other than "default". Previously the prop was rendered only when the `isDynamic` prop was true.',
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10029",
repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "About modal",
- description: (<>Removed the AboutModalBoxHero sub-component.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8931",
+ fixedWithCodeMod: false,
+ title: "helperTextItem-warn-screenReaderText-update",
+ },
+ {
+ component: "Jump links item",
+ description: "The `href` prop on JumpLinksItem is now required.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10027",
+ repo: "React",
+ fixedWithCodeMod: false,
+ title: "jumpLinksItem-href-required",
+ },
+ {
+ component: "Jump links item",
+ description:
+ "The markup for JumpLinksItem has changed, as it now uses our Button component internally. Additionally, the `onClick` prop type has been updated to just `React.MouseEvent` (previously `React.MouseEvent`).",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10027",
repo: "React",
- fixedWithCodeMod: false
- }, {
- component: "Accordion",
- description: (<>Renamed the AccordionExpandedContentBody component to AccordionExpandableContentBody.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8525",
+ fixedWithCodeMod: false,
+ title: "jumpLinksItem-warn-markup-change",
+ },
+ {
+ component: "Kebab toggle",
+ description:
+ "KebabToggle has been removed from PatternFly. We recommend using our MenuToggle component instead. Codemods will replace most KebabToggle usage with a MenuToggle. Depending on the use-case, however, additional manual updates may be necessary, such as upgrading from our deprecated Dropdown implementation to our current one.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10345",
+ repo: "React",
+ fixedWithCodeMod: true,
+ title: "kebabToggle-removed",
details: (
- Example in
+
- {`Body`}
+ {`import { MenuToggle } from "@patternfly/react-core";
+import EllipsisVIcon from "@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon";
+
+export const KebabToggleRemovedInput = () => (
+ <>
+ } onClick={() => {}} />
+ } onClick={() => {}} />} />
+ >
+);`}
),
+ },
+ {
+ component: "Label",
+ description:
+ 'The `isOverflowLabel` prop for Label has been replaced with `variant="overflow"`. Codemods will replace an existing `variant` prop (which had no effect if `isOverflowLabel` was used).',
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10037",
repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Accordion",
- description: (<>Renamed the large property value of the displaySize property to lg.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8206",
+ fixedWithCodeMod: true,
+ title: "label-remove-isOverflowLabel",
details: (
- Example in
+
Codemods will make the following updates:
+
Example in
- {``}
+ {`import { Label } from "@patternfly/react-core";
+
+export const LabelRemoveIsOverflowLabelInput = () => ;
+export const LabelRemoveIsOverflowLabelInput2 = () => (
+
+);`}
- Example out
+
Example out
- {``}
+ {`import { Label } from "@patternfly/react-core";
+
+export const LabelRemoveIsOverflowLabelInput = () => (
+
+);
+export const LabelRemoveIsOverflowLabelInput2 = () => (
+
+);`}
),
+ },
+ {
+ component: "Login main footer links item",
+ description:
+ "LoginMainFooterLinksItem structure has changed. Instead of passing it many properties, everything is now passed in a children component directly.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10107",
repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Alert",
- description: (<>Removed the aria-label property.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8649",
+ fixedWithCodeMod: true,
+ title: "loginMainFooterLinksItem-structure-updated",
details: (
- The aria-label property should not be used on an Alert as it is not well supported by assistive technologies.
- Example in
+
Codemods will make the following updates:
+
Example in
- {``}
+ {`import { LoginMainFooterLinksItem } from "@patternfly/react-core";
+
+export const LoginMainFooterLinksItemStructureUpdatedInput = () => (
+
+ GitHub icon
+
+);`}
- Example out
+
Example out
- {``}
+ {`import { LoginMainFooterLinksItem, Button } from "@patternfly/react-core";
+
+export const LoginMainFooterLinksItemStructureUpdatedInput = () => (
+
+
+
+);`}
),
+ },
+ {
+ component: "Login main header",
+ description:
+ "The markup for LoginMainHeader which is used internally within LoginPage has been updated, now using a `div` wrapper instead of a `header` element wrapper.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10880",
+ repo: "React",
+ fixedWithCodeMod: false,
+ title: "loginMainHeader-warn-updated-markup",
+ },
+ {
+ component: "Log viewer",
+ description:
+ "The stylesheet for LogViewer has been moved out of the PatternFly package and into LogViewer itself. You may need to update stylesheet imports or import the stylesheet manually.",
+ pullRequestURL: "https://github.com/patternfly/react-log-viewer/pull/70",
+ repo: "React",
+ fixedWithCodeMod: false,
+ title: "logViewer-moved-styles",
+ },
+ {
+ component: "Masthead",
+ description:
+ 'Our old implementation of `MastheadBrand` has been renamed to `MastheadLogo`, which must be wrapped by our new implementation of `MastheadBrand`. Codemods will handle the renaming and required restructuring.',
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10809",
repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Alert",
- description: (<>Replaced the titleHeadingLevel property with component.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8518",
+ fixedWithCodeMod: true,
+ title: "masthead-name-changes",
details: (
- Example in
+
Codemods will make the following updates:
+
Example in
- {``}
+ {`import { MastheadBrand } from "@patternfly/react-core";
+
+export const MastheadNameChanges = () => Logo;`}
- Example out
+
Example out
- {``}
+ {`import { MastheadLogo } from "@patternfly/react-core";
+
+export const MastheadNameChanges = () => Logo;`}
),
+ },
+ {
+ component: "Masthead",
+ description:
+ "We've removed the `backgroundColor` prop from Masthead as theming is no longer handled React-side.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/9774",
repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Application launcher",
- description: (<>Deprecated the ApplicationLauncher components.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8836",
+ fixedWithCodeMod: true,
+ title: "masthead-remove-background-color",
details: (
- Codemods will update import and export paths to our deprecated directory, but we recommend replacing it with our new Dropdown or Select implementation.
- Example in
+
Codemods will make the following updates:
+
Example in
- {`import { ApplicationLauncher } from '@patternfly/react-core';`}
+ {`import { Masthead } from "@patternfly/react-core";
+
+export const MastheadRemoveBackgroundColorInput = () => `}
- Example out
+
Example out
- {`import { ApplicationLauncher } from '@patternfly/react-core/deprecated';`}
+ {`import { Masthead } from "@patternfly/react-core";
+
+export const MastheadRemoveBackgroundColorInput = () => `}
),
+ },
+ {
+ component: "Masthead",
+ description:
+ "The structure of Masthead has been updated, MastheadToggle and MastheadBrand should now be wrapped in MastheadMain.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10809",
repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Application launcher",
- description: (<>Updated callback properties to include the event parameter as the first parameter.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8756",
+ fixedWithCodeMod: true,
+ title: "masthead-structure-changes",
details: (
- The onFavorite and onSearch propertiesnow take event as the first parameter. Handlers may need to be updated.
- Example in
+
- {` handler(id)} onSearch={(_event, text) => searchHandler(text)}/>
-const handler1 = (_event, id) => {};
-const searchHandler1 = (_event, text) => {};
-
-function handler2(_event, id) {};
-function searchHandler2(_event, text) {};
-`}
+ {`import {
+ Masthead,
+ MastheadBrand,
+ MastheadMain,
+ MastheadToggle,
+ MastheadLogo,
+} from "@patternfly/react-core";
+
+export const MastheadStructureChangesInputPreNameChange = () => (
+
+
+ Foo
+
+ Bar
+
+
+
+);
+
+export const MastheadStructureChangesInputPostNameChange = () => (
+
+
+ Foo
+
+ Bar
+
+
+
+);`}
),
+ },
+ {
+ component: "Menu item action",
+ description:
+ "The markup for MenuItemAction has been updated. It now uses our Button component internally, has a wrapper around the action button, and no longer renders an icon wrapper inside the action button.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10089",
repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Application launcher",
- description: (<>Replaced the internal input element with the SearchInput component.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8293",
+ fixedWithCodeMod: false,
+ title: "menuItemAction-warn-update-markup",
+ },
+ {
+ component: "Menu toggle",
+ description:
+ "We now recommend passing any icon to the `icon` prop instead of passing it as children, such as for plain, icon only toggles. Passing an icon as children will result in incorrect styling.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10097",
repo: "React",
- fixedWithCodeMod: false
- }, {
- component: "Background image",
- description: (<>Removed the filter property and updated the src property.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8931",
+ fixedWithCodeMod: true,
+ title: "menuToggle-warn-iconOnly-toggle",
details: (
- The filter was removed. The src property's type was updated to just a string and will no longer accept a BackgroundImageSrcMap object. Codemods will not update the src properety, but will raise an error if its value is not a string.
- Example in
+
Codemods will make the following updates:
+
Example in
- {`} src={{xs: 'file/path'}} />
+ {`import { MenuToggle } from "@patternfly/react-core";
+import EllipsisVIcon from "@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon";
-const srcPath = {xs: 'file/path'};
-`}
+export const MenuToggleWarnIconOnlyToggleInput = () => (
+
+
+
+);`}
- Example out
+
Example out
- {`// An error is raised for the src prop
-
+ {`import { MenuToggle } from "@patternfly/react-core";
+import EllipsisVIcon from "@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon";
-const srcPath = {xs: 'file/path'};
-// An error is raised for the src prop
-`}
+export const MenuToggleWarnIconOnlyToggleInput = () => (
+
+);`}
),
+ },
+ {
+ component: "Modal",
+ description:
+ "Our previous implementation of Modal has been deprecated. Codemods will update import paths to our deprecated directory, but we recommend using our newly promoted implementation.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10358",
repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Background image",
- description: (<>Removed the BackgroundImageSrcMap interface.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8931",
+ fixedWithCodeMod: true,
+ title: "modal-deprecated",
details: (
- Example in
+
Codemods will make the following updates:
+
Example in
- {`const backgroundImgSrcObj: BackgroundImageSrcMap = {};`}
+ {`import { Modal } from "@patternfly/react-core";`}
- Example out
+
Example out
- {`const backgroundImgSrcObj = {};`}
+ {`import {
+ Modal
+} from '@patternfly/react-core/deprecated';`}
),
+ },
+ {
+ component: "Modal next",
+ description:
+ "Our Next implementation of Modal has been promoted as our recommended implementation. Codemods will update import paths.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10358",
repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Banner",
- description: (<>Updated the variant property's type.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8808",
+ fixedWithCodeMod: true,
+ title: "modalNext-promoted",
details: (
- The default value is still valid, but the following values have been replaced with color values:
-
- info to blue
- danger to red
- success to green
- warning to gold
-
- Example in
+
Codemods will make the following updates:
+
Example in
- {``}
+ {`import { Modal } from "@patternfly/react-core/next";`}
- Example out
+
Example out
- {``}
+ {`import {
+ Modal /* data-codemods */
+} from '@patternfly/react-core';`}
),
+ },
+ {
+ component: "Nav item",
+ description:
+ "The `hasNavLinkWrapper` prop has been removed from NavItem. Additionally, any icons for a NavItem should be passed to its new `icon` prop.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10687",
repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Button",
- description: (<>Replaced the isSmall and isLarge properties with the size property.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8144",
+ fixedWithCodeMod: true,
+ title: "navItem-remove-hasNavLinkWrapper-prop",
details: (
- The size property accepts either sm or lg as a value.
- Example in
+
Codemods will make the following updates:
+
Example in
- {`
-`}
+ {`import { NavItem } from "@patternfly/react-core";
+
+export const NavItemRemoveHasNavLinkWrapperPropInput = () => `}
- Example out
+
Example out
- {`
-`}
+ {`import { NavItem } from "@patternfly/react-core";
+
+export const NavItemRemoveHasNavLinkWrapperPropInput = () => `}
),
+ },
+ {
+ component: "Nav",
+ description:
+ 'The "tertiary" Nav variant is no longer supported. Use `variant="horizontal-subnav"` instead.',
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/9948",
repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Button",
- description: (<>Replaced the isSmall and isLarge properties with the size property.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8144",
+ fixedWithCodeMod: true,
+ title: "nav-remove-tertiary-variant",
details: (
- The size property accepts either sm or lg as a value.
- Example in
+
Codemods will make the following updates:
+
Example in
- {`
-`}
+ {`import { Nav } from "@patternfly/react-core";
+
+export const NavRemoveTertiaryVariantInput = () => ;
+export const NavRemoveTertiaryVariantInput2 = () => (
+
+);`}
- Example out
+
Example out
- {`
-`}
+ {`import { Nav } from "@patternfly/react-core";
+
+export const NavRemoveTertiaryVariantInput = () => (
+
+);
+export const NavRemoveTertiaryVariantInput2 = () => (
+
+);`}
),
+ },
+ {
+ component: "Nav",
+ description:
+ "The `theme` prop is no longer supported in Nav. Use light/dark mode theming instead.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/9948",
repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Calendar month",
- description: (<>Updated callback properties to include the event parameter as the first parameter.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8753",
+ fixedWithCodeMod: true,
+ title: "nav-remove-theme-prop",
details: (
- Updated the onChange and onMonthChange properties to take event as the first parameter. Handlers may need to be updated.
- Example in
+
- {` handler(date)} onMonthChange={(_event, newDate) => handler(newDate)} />
- handler(newDate, event)} />
-const changeHandler1 = (_event, date) => {};
-const handler1 = (_event, newDate) => {};
-
-function changeHandler2(_event, date) {};
-function handler2(_event, newDate) {};
-`}
+ {`import { Nav } from "@patternfly/react-core";
+
+export const NavRemoveThemePropInput = () => ;
+export const NavRemoveThemePropInput2 = () => ;`}
),
+ },
+ {
+ component: "Duplicate imports",
+ description:
+ "Duplicate import specifiers should be removed. This is a cleanup codemod which runs after other codemods. ",
repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Charts",
- description: (<>Removed the getResizeObserver function from @patternfly/react-charts.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8533",
+ fixedWithCodeMod: true,
+ title: "no-duplicate-import-specifiers",
details: (
- The @patternfly/react-core implementation should be used instead, which accepts a third parameter, useRequestAnimationFrame.
- Example in
+
Codemods will make the following updates:
+
Example in
- {`import { getResizeObserver } from "@patternfly/react-charts";`}
+ {`import { Button, Button } from "@patternfly/react-core";
+
+export const NoDuplicateImportSpecifiersInput = () => (
+
+);`}
- Example out
+
Example out
- {`import { getResizeObserver } from "@patternfly/react-core";`}
+ {`import { Button } from "@patternfly/react-core";
+
+export const NoDuplicateImportSpecifiersInput = () => (
+
+);`}
),
+ },
+ {
+ component: "Notification badge",
+ description:
+ "The markup for NotificationBadge has changed, as it now uses stateful button internally.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10020",
repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Charts",
- description: (<>Renamed light theme objects to remove "light" from their name, and marked these objects as @private. These objects should not be used directly, and should be replaced with the getTheme function.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8590",
+ fixedWithCodeMod: false,
+ title: "notificationBadge-warn-markup-change",
+ },
+ {
+ component: "Notification drawer header",
+ description:
+ "NotificationDrawerHeader no longer uses our Text component internally, and instead renders a native `h1` element.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10378",
repo: "React",
- fixedWithCodeMod: false
- }, {
- component: "Charts",
- description: (<>Removed ChartThemeVariant from @patternfly/react-charts.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8590",
- details: (
-
- Example in
-
-
- {`import { Chart, ChartThemeVariant } from '@patternfly/react-charts';`}
-
-
- Example out
-
-
- {`import { Chart } from '@patternfly/react-charts';`}
-
-
-
- ),
+ fixedWithCodeMod: false,
+ title: "notificationDrawerHeader-warn-update-markup",
+ },
+ {
+ component: "Unused imports",
+ description:
+ "PatternFly imports that are unused imports should be removed.",
repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Charts",
- description: (<>Removed dark theme objects from @patternfly/react-charts.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8590",
+ fixedWithCodeMod: true,
+ title: "no-unused-imports-v6",
details: (
- Example in
+
Codemods will make the following updates:
+
Example in
- {`import { DarkBlueColorTheme, DarkCyanColorTheme, DarkGoldColorTheme, DarkGrayColorTheme, DarkGreenColorTheme, DarkMultiColorOrderedTheme, DarkMultiColorUnorderedTheme,
-DarkOrangeColorTheme, DarkPurpleColorTheme, ChartLegend } from '@patternfly/react-charts';`}
+ {`import { Foo, Bar } from "@patternfly/react-core";
+
+export const NoUnusedImportsInput = () => ;`}
- Example out
+
Example out
- {`import { ChartLegend } from '@patternfly/react-charts';`}
+ {`import { Bar } from "@patternfly/react-core";
+
+export const NoUnusedImportsInput = () => ;`}
),
+ },
+ {
+ component: "Page breadcrumb and section",
+ description:
+ "The `isWidthLimited` prop on PageBreadcrumb and PageSection will no longer determine whether the children of either component are wrapped in a PageBody. Instead the new `hasBodyWrapper` prop must be used. By default this new prop is set to true. Codemods will apply `hasBodyWrapper` with the same value as the `isWidthLimited` prop or false if `isWidthLimited` is not passed.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10650",
repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Charts",
- description: (<>Removed themeVariant properties from all components and the getCustomTheme function in @patternfly/react-charts.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8590",
+ fixedWithCodeMod: true,
+ title: "pageBreadcrumbAndSection-warn-updated-wrapperLogic",
details: (
- Example in
+
+);`}
),
+ },
+ {
+ component: "Page",
+ description: "We've renamed the `header` prop for Page to `masthead`.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10454",
repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Clipboard copy",
- description: (<>Removed the switchDelay property.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8619",
+ fixedWithCodeMod: true,
+ title: "page-rename-header",
details: (
- Example in
+
Codemods will make the following updates:
+
Example in
- {``}
+ {`import { Page } from '@patternfly/react-core';
+
+export const PageRenameHeaderInput = () => } />;`}
- Example out
+
Example out
- {``}
+ {`import { Page } from '@patternfly/react-core';
+
+export const PageRenameHeaderInput = () => } />;`}
),
+ },
+ {
+ component: "Page",
+ description:
+ "We've renamed the \`isTertiaryNavGrouped\` prop to \`isHorizontalSubnavGrouped\`.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/9948",
repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Code editor",
- description: (<>Removed various deprecated properties from CodeEditorControl. Codemods will suggest using the tooltipProps property instead.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8624",
+ fixedWithCodeMod: true,
+ title: "page-rename-isTertiaryNavGrouped",
details: (
- The following deprecated properties were removed:
-
- entryDelay
- exitDelay
- maxWidth
- position
- toolTipText
-
- Example in
+
Codemods will make the following updates:
+
Example in
- {``}
+ {`import { Page } from '@patternfly/react-core';
+
+export const PageRenameIsTertiaryNavGroupedInput = () => (
+
+);`}
- Example out
+
Example out
- {``}
+ {`import { Page } from '@patternfly/react-core';
+
+export const PageRenameIsTertiaryNavGroupedInput = () => (
+
+);`}
),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Wizard",
- description: (<>Updated the mainAriaLabel and mainAriaLabelledBy properties for the deprecated implementation, and aria-label and aria-labelledby properties for the new implementation, to conditionally apply only when the Wizard's body content overflows and causes a scrollbar. A tabindex="0" will also be applied.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8649",
- repo: "React",
- fixedWithCodeMod: false
- }, {
- component: "Menu",
- description: (<>Updated the aria-label property for MenuItem so that it is applied to the internal li element when the hasCheckbox property is also passed. Otherwise it is applied to the element specified by the component property.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8649",
- repo: "React",
- fixedWithCodeMod: false
- }, {
+ },
+ {
component: "Page",
- description: (<>Updated the aria-label property for PageGroup and PageNavigation to conditionally apply only when the hasOverflowScroll property is true.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8649",
- repo: "React",
- fixedWithCodeMod: false
- }, {
- component: "Progress stepper",
- description: (<>Updated the internal aria-labelledby for ProgressStep to be conditionally applied only when the popoverRender property is also passed.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8649",
+ description:
+ "We've renamed the \`isTertiaryNavWidthLimited\` prop to \`isHorizontalSubnavWidthLimited\`.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/9948",
repo: "React",
- fixedWithCodeMod: false
- }, {
- component: "Context selector",
- description: (<>Deprecated the ContextSelector components.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8840",
+ fixedWithCodeMod: true,
+ title: "page-rename-isTertiaryNavWidthLimited",
details: (
- Codemods will update import and export paths to our deprecated directory, but we recommend replacing it with our new Dropdown or Select implementation.:
- Example in
+
Codemods will make the following updates:
+
Example in
- {`import { ContextSelector, ContextSelectorItem } from '@patternfly/react-core';`}
+ {`import { Page } from '@patternfly/react-core';
+
+export const PageRenameIsTertiaryNavWidthLimitedInput = () => (
+
+);`}
- Example out
+
Example out
- {`import { ContextSelector, ContextSelectorItem } from '@patternfly/react-core/deprecated';`}
+ {`import { Page } from '@patternfly/react-core';
+
+export const PageRenameIsTertiaryNavWidthLimitedInput = () => (
+
+);`}
),
+ },
+ {
+ component: "Page",
+ description:
+ "We've renamed the \`tertiaryNav\` prop to \`horizontalSubnav\`.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/9948",
repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Data list",
- description: (<>Replaced the selectableRow property with onSelectableRowChange, which also takes the event parameter as its first parameter.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8827",
+ fixedWithCodeMod: true,
+ title: "page-rename-tertiaryNav",
details: (
- Example in
+
Codemods will make the following updates:
+
Example in
- {`
- Example out
+
Example out
- {` handler(id)} />
- handler(id, event)} />
-const handler1 = (_event, id) => {};
-
-function handler2(_event, id) {};
-`}
+ {`import { Page } from '@patternfly/react-core';
+
+export const PageRenameTertiaryNavInput = () => ;`}
),
+ },
+ {
+ component: "Page section",
+ description: 'The "nav" type for PageSection has been removed.',
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10650",
repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Data list",
- description: (<>Removed various deprecated properties.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8388",
+ fixedWithCodeMod: true,
+ title: "pageSection-remove-nav-type",
details: (
- The following deprecated properties were removed:
-
- onDragFinish
- onDragStart
- onDragMove
- onDragCancel
- itemOrder
-
- In addition to removing these properties, Codemods will suggest instead using the DragDrop component.
- Example in
+
- {``}
+ {`import { PageSection, PageSectionTypes } from "@patternfly/react-core";
+
+const chosenType = PageSectionTypes.nav;
+
+export const PageSectionRemoveNavTypeInput = () => (
+ <>
+
+
+
+ >
+);`}
),
+ },
+ {
+ component: "Page section",
+ description:
+ 'The `variant` prop for PageSection now only accepts a value of "default" or "secondary". Codemods will remove the prop so it uses the default value of "default".',
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/9774 ",
repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Data list",
- description: (<>Updated the onSelectDataListItem property to include the event parameter as the first parameter.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8756",
+ fixedWithCodeMod: true,
+ title: "pageSection-update-variant-values",
details: (
- Example in
+
- {` onSelect(id)} />
-
-const toggle1 = (_event, id) => {};
-
+ {`import { PageSection, PageSectionVariants } from "@patternfly/react-core";
-function toggle2(_event, id) {};
-`}
+export const PageSectionUpdateVariantValuesInput = () => (
+ <>
+
+
+ >
+);`}
),
+ },
+ {
+ component: "Page section",
+ description:
+ 'Classes from the `variant` prop will now only be applied to PageSection when the `type` prop has a value of "default".',
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/9848",
+ repo: "React",
+ fixedWithCodeMod: false,
+ title: "pageSection-warn-variantClasses-applied",
+ },
+ {
+ component: "Page sidebar",
+ description:
+ "The `theme` prop has been removed from PageSidebar as theming is no longer handled React-side.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/9774",
repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Data list",
- description: (<>Updated the onChange property for the DataListCheck component to include the event parameter as the first parameter.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8756",
+ fixedWithCodeMod: true,
+ title: "pageSidebar-remove-theme-prop",
details: (
- Example in
+
- {` onChange(checked)} />
+ {`import { PageSidebar } from "@patternfly/react-core";
-const onChange1 = (_event, checked) => {};
-
-
-function onChange2(_event, checked) {};
-`}
+export const PageSidebarRemoveThemePropInput = () => (
+
+);`}
),
+ },
+ {
+ component: "Page",
+ description:
+ "The markup for Page has changed. When either the `horizontalSubnav` or `breadcrumb` props are passed, a PageBody component will always wrap the contents.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10650",
repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Date picker",
- description: (<>Updated the default value of the appendTo property, which may cause markup changes that require updating selectors.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8636",
- repo: "React",
- fixedWithCodeMod: false
- }, {
- component: "Date picker",
- description: (<>Updated the helperText property to now expect the HelperText component to be passed in. Error helper text also now renders internally within a HelperText component.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8833",
- repo: "React",
- fixedWithCodeMod: false
- }, {
- component: "Various",
- description: (
- <>
- Removed the KEY_CODES constant.
- >
- ),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8174",
+ fixedWithCodeMod: false,
+ title: "page-warn-updated-markup",
+ },
+ {
+ component: "Pagination",
+ description:
+ "The markup for Pagination has changed. There is now a wrapper element rendered around the PaginationOptionsMenu toggle.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10662",
repo: "React",
fixedWithCodeMod: false,
+ title: "pagination-warn-markup-changed",
},
{
- component: "Label",
- description: (
- <>
- Removed the isTruncated property from
- Label. This is now the default behavior. In addition, you can limit the
- text width using the new textMaxWidth{" "}
- property.
- >
- ),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8771",
- details: (
-
- Example in
-
- {``}
-
- Example out
-
- {``}
-
-
- ),
+ component: "Popper",
+ description:
+ "The default value of appendTo on Dropdown, Select, and Popper has been updated to `document.body`.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10675",
repo: "React",
- fixedWithCodeMod: true,
+ fixedWithCodeMod: false,
+ title: "popper-update-appendTo-default",
+
},
{
- component: "Login page",
- description: (
- <>
- Updated callback properties on LoginForm to include the event{" "}
- parameter as the first parameter. Handlers may require an update.
- >
- ),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8996",
+ component: "Deprecated components",
+ description:
+ "Some deprecated components have been removed from PatternFly",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10345",
+ repo: "React",
+ fixedWithCodeMod: false,
+ title: "remove-deprecated-components",
+ details: (
+
+
The following components have been removed and must be deprecated accordingly:
+ Dropdown: we recommend using either our current composable Dropdown or our Dropdown template implementation
+
+
+ Options Menu: we recommend using either our current composable Select or our Select template implementation
+
+
+ Page Header: we recommend using our Masthead and Toolbar components to build a page header
+
+
+ Select: we recommend using either our current composable Select or our Select template implementation.
+
+
+
+ ),
+ },
+ {
+ component: "Simple file upload",
+ description:
+ 'The `aria-describedby` attribute was removed from the TextInput within the SimpleFileUpload, and the `id` attribute was removed from the "browse" button. Instead use the new `browseButtonAriaDescribedby` prop to provide a description to the browse button.',
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10026",
+ repo: "React",
+ fixedWithCodeMod: false,
+ title: "simpleFileUpload-warn-changes",
details: (
-
- The onChangeUsername,{" "}
- onChangePassword, and{" "}
- onChangeRememberMe properties now take{" "}
- event as the first parameter. Handlers
- may require an update.
-
- Example in
-
-
- {` handler(id)} />
- handler(id, event)} />
-const usernameHandler1 = (id, event) => {};
-
-function usernameHandler2(id, event) {};
-
-
- handler(id)} />
- handler(id, event)} />
-const passwordHandler1 = (id, event) => {};
-
-function passwordHandler2(id, event) {};
-
-
- handler(id)} />
- handler(id, event)} />
-const rememberMeHandler1 = (id, event) => {};
-
-function rememberMeHandler2(id, event) {};
-`}
-
-
- Example out
-
- {` handler(id)} />
- handler(id, event)} />
-const usernameHandler1 = (_event, id) => {};
-
-function usernameHandler2(_event, id) {};
-
-
- handler(id)} />
- handler(id, event)} />
-const passwordHandler1 = (_event, id) => {};
-
-function passwordHandler2(_event, id) {};
-
-
- handler(id)} />
- handler(id, event)} />
-const rememberMeHandler1 = (_event, id) => {};
-
-function rememberMeHandler2(_event, id) {};
-`}
-
+
Additionally, we recommend using our FileUploadHelperText component as a child to the FileUpload, instead of using our FormHelperText (the previous recommendation).
),
+ },
+ {
+ component: "Slider step",
+ description:
+ "The `--pf-v6-c-slider__step--Left` CSS variable applied as an inline style has been updated to the `--pf-v6-c-slider__step--InsetInlineStart` CSS variable.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10378",
repo: "React",
- fixedWithCodeMod: true,
+ fixedWithCodeMod: false,
+ title: "sliderStep-warn-update-markup",
},
{
- component: "Login page",
- description: (
- <>
- Removed the backgroundImgAlt property.
- Updated the type of the{" "}
- backgroundImgSrc property to just a string,
- and the property will no longer accept a{" "}
- BackgroundImageSrcMap object.
- >
- ),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8931",
+ component: "Switch",
+ description:
+ "The `labelOff` prop has been removed from Switch. The label for a Switch should not dynamically update based on the on/off state.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10646",
+ repo: "React",
+ fixedWithCodeMod: true,
+ title: "switch-remove-labelOff",
details: (
- Example in
+
Codemods will make the following updates:
+
Example in
- {`
+ {`import { Switch } from "@patternfly/react-core";
-const srcPath = {xs: 'file/path'};
-`}
+export const SwitchRemoveLabelOffInput = () => ;`}
- Example out
+
Example out
- {`// An error is raised for the backgroundImgSrc prop
-
+
+ {`import { Switch } from "@patternfly/react-core";
-const srcPath = {xs: 'file/path'};
-// An error is raised for the backgroundImgSrc prop
-`}
+export const SwitchRemoveLabelOffInput = () => `}
+
),
- repo: "React",
- fixedWithCodeMod: false,
},
{
- component: "Masthead",
- description: (
- <>
- Updated MastheadBrand to only be
- an anchor if an
- href is specified, otherwise it will be
- a span.
- >
- ),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8655",
+ component: "Tabs",
+ description:
+ "The `isSecondary` prop for Tabs has been renamed to \`isSubtab\`.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10044",
+ repo: "React",
+ fixedWithCodeMod: true,
+ title: "tabs-renamed-isSecondary-prop",
details: (
-
- Explicitly declared component properties will remain unchanged, but if
- it is not specified a default will be added.
-
- Example in
+
Codemods will make the following updates:
+
Example in
- {`
-`}
+
+ {`import { Tabs } from "@patternfly/react-core";
+
+export const TabsRenamedIsSecondaryPropInput = () => ;`}
+
- Example out
+
Example out
- {`
-`}
+
+ {`import { Tabs } from "@patternfly/react-core";
+
+export const TabsRenamedIsSecondaryPropInput = () => ;`}
+
),
- repo: "React",
- fixedWithCodeMod: true,
},
{
- component: "Menu",
- description: (
- <>
- Removed the aria-label property on
- Menu as it should be passed to MenuList instead.
- >
- ),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8649",
- details: (
-
-
- If you are also using MenuGroup with a{" "}
- label property passed to it, an{" "}
- aria-label on MenuList is not
- necessary.
-
- Example in
-
-
- {`
-
-
-
-`}
-
-
- Example out
-
-
- {`
-
-
-
-`}
-
-
-
- ),
+ component: "Tabs",
+ description:
+ 'The "light300" value for the `variant` prop on Tabs has been replaced with the "secondary" value.',
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/9930 ",
repo: "React",
fixedWithCodeMod: true,
- },
- {
- component: "Menu",
- description: (
- <>
- MenuInput has been renamed to{" "}
- MenuSearchInput and{" "}
- MenuSearch has been added as a wrapper.
- >
- ),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8820",
+ title: "tabs-replace-variant-light300",
details: (
- Example in
+
Codemods will make the following updates:
+
Example in
- {`
-`}
+ {`import { Tabs } from "@patternfly/react-core";
+
+export const TabsReplaceVariantLight300Input = () => (
+
+);`}
- Example out
+
Example out
- {` `}
+ {`import { Tabs } from "@patternfly/react-core";
+
+export const TabsReplaceVariantLight300Input = () => (
+
+);`}
),
- repo: "React",
- fixedWithCodeMod: true,
},
{
- component: "Menu",
- description: (
- <>
- Updated the aria-label property on
- MenuItemAction, making it required instead of optional.
- >
- ),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8617",
+ component: "Tabs",
+ description:
+ "The markup for the Tabs scroll buttons have been updated",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10044",
repo: "React",
fixedWithCodeMod: false,
- },
- {
- component: "File upload (multiple)",
- description: (
- <>
- Updated the onFileDrop property for
- MultipleFileUpload so that the event{" "}
- parameter is the first parameter. Handlers may require an update.
- >
- ),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8931",
+ title: "tabs-update-markup",
details: (
- Example in
-
-
- {` handler(id)} />
-const handler1 = (id) => {};
-
-function handler2(id) {};
-`}
-
-
- Example out
-
-
- {` handler(id)} />
-const handler1 = (_event, id) => {};
-
-function handler2(_event, id) {};
-`}
-
-
+
The markup for the Tabs scroll buttons have been updated in the following ways:
+
+
Replaced the native `button` HTML element internally with our Button components
+
Added a wrapper `div` around them- Removed styling when the `isSubtab` (previously `isSecondary`) prop is true
+
),
- repo: "React",
- fixedWithCodeMod: true,
},
{
- component: "Navigation",
- description: (
- <>
- Updated the onSelect and{" "}
- onToggle properties for nav so that the{" "}
- event parameter is the first parameter, and
- have removed the event property from the{" "}
- selectedItem and{" "}
- toggledItem object parameters respectively.
- Handlers may require an update.
- >
- ),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8997",
+ component: "Text",
+ description:
+ 'We have replaced Text, TextContent, TextList and TextListItem with one Content component. Running this fix will change all of those components names to Content and add a "component" prop where necessary.',
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10643",
+ repo: "React",
+ fixedWithCodeMod: true,
+ title: "text-replace-with-content",
details: (
- Example in
+
- {` onToggle(isOpen)} />
-
-const toggleBadge = (_event, isOpen) => {};
-
+ {`import {
+ ToolbarGroup,
+ ToolbarToggleGroup,
+ ToolbarGroupVariant,
+} from "@patternfly/react-core";
-function toggleDropdown(_event, isOpen) {};
->`}
+export const ToolbarGroupUpdatedVariantInput = () => (
+ <>
+
+
+
+
+ >
+);`}
),
- repo: "React",
- fixedWithCodeMod: true,
},
{
- component: "Options menu",
- description: (
- <>
- Deprecated OptionsMenu components.
- >
- ),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8798",
+ component: "Toolbar item",
+ description:
+ 'The variant prop for ToolbarItem has been updated: "bulk-select", "overflow-menu" and "search-filter" were removed and "chip-group" was renamed to "label-group".',
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10649",
+ repo: "React",
+ fixedWithCodeMod: true,
+ title: "toolbarItem-variant-prop-updates",
details: (
- Example in
+
Codemods will make the following updates:
+
Example in
- {`import { OptionsMenu, OptionsMenuToggle } from '@patternfly/react-core';`}
+ {`import { ToolbarItem } from "@patternfly/react-core";
+
+export const ToolbarItemVariantPropUpdatesInput = () => (
+ <>
+
+
+
+
+ >
+);`}
- Example out
+
Example out
- {`import { OptionsMenu, OptionsMenuToggle } from '@patternfly/react-core/deprecated';`}
+ {`import { ToolbarItem } from "@patternfly/react-core";
+
+export const ToolbarItemVariantPropUpdatesInput = () => (
+ <>
+
+
+
+
+ >
+);`}
),
- repo: "React",
- fixedWithCodeMod: true,
},
{
- component: "Overflow menu",
- description: (
- <>
- OverflowMenuDropdownItem now uses the Next implementation of
- DropdownItem and DropdownItemProps internally.
- >
- ),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8359",
+ component: "Toolbar label group content",
+ description:
+ "The markup for ToolbarLabelGruopContent (formerly ToolbarChipGroupContent) has changed when the `numberOfFilters` value is greater than 0, when the `showClearFiltersButton` prop is true, or when the `customLabelGroupContent` prop is passed.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10674",
repo: "React",
fixedWithCodeMod: false,
+ title: "toolbarLabelGroupContent-updated-markup",
},
{
- component: "Overflow menu",
- description: (
- <>
- Renamed the index property for
- OverflowMenuDropdownItem to itemId, and
- updated its type to string | number.
- >
- ),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8359",
+ component: "Toolbar",
+ description: "A number of props have been removed from Toolbar components",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10674",
+ repo: "React",
+ fixedWithCodeMod: true,
+ title: "toolbar-remove-props",
details: (
- Example in
+
The following props have been removed from Toolbar components:
{`import {
- Button
-} from '@patternfly/react-core';
-import {
- PageHeader,
- PageHeaderTools,
- PageHeaderToolsGroup,
- PageHeaderToolsItem
-} from '@patternfly/react-core/deprecated';`}
+ ToolbarGroup,
+ ToolbarItem,
+ ToolbarToggleGroup,
+} from "@patternfly/react-core";
+
+export const ToolbarReplacedSpacerSpaceItemsInput = () => (
+ <>
+
+
+
+ >
+);`}
),
- repo: "React",
- fixedWithCodeMod: true,
},
{
- component: "Page",
- description: (
- <>
- Updated PageHeader's logo to only be an
- anchor if an href is specified.
- >
- ),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8655",
- details: (
-
- Example in
-
-
- {`
-`}
-
-
- Example out
-
-
- {`
-`}
-
-
-
- ),
+ component: "Toolbar",
+ description:
+ 'The values for the `align` property on ToolbarGroup and ToolbarItem, and the `alignment` property on ToolbarToggleGroup, have been updated from "alignLeft" and "alignRight" to "alignStart" and "alignEnd", respectively.',
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10366",
repo: "React",
fixedWithCodeMod: true,
- },
- {
- component: "Page",
- description: (
- <>
- PageSidebar API has been updated. The nav property has been
- renamed to children. Any content passed to
- the property should be wrapped in PageSidebarBody.
- >
- ),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8942",
+ title: "toolbar-update-align-values",
details: (
- Example in
+
- {`
-
- Content
-
- `}
+ {`import {
+ ToolbarGroup,
+ ToolbarItem,
+ ToolbarToggleGroup,
+} from "@patternfly/react-core";
+
+export const ToolbarUpdateAlignValuesInput = () => (
+ <>
+
+
+
+ >
+);`}
),
+ },
+ {
+ component: "Tree view",
+ description:
+ "Selectable styling attribute (`pf-m-selectable`) has been removed on the list items of the TreeView component. You should update selectors, tests and snapshot tests which are relying on the `pf-m-selectable` class.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10101",
repo: "React",
- fixedWithCodeMod: true,
+ fixedWithCodeMod: false,
+ title: "treeView-warn-selectable-styling-modifier-removed",
},
{
- component: "Pagination",
- description: (
- <>
- Removed the OptionsToggle used by{" "}
- Pagination and replaced it with{" "}
- Menu and{" "}
- MenuToggle.
- >
- ),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8319",
+ component: "Wizard footer",
+ description:
+ "The default WizardFooter now uses an ActionList wrapped around our Button components, rather than just our Button components.",
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10378",
repo: "React",
fixedWithCodeMod: false,
+ title: "wizardFooter-warn-update-markup",
},
{
- component: "Pagination",
- description: (
- <>
- Removed various deprecated properties from{" "}
- Pagination.
- >
- ),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8624",
- details: (
-
-
- The following deprecated properties were renamed and/or removed:
-
-
-
- defaultToFullPage:{" "}
- isLastFullPageShown
-
-
- perPageComponenet: removed
-
-
- The following sub-properties of Pagination's "title" property were renamed:
-
-
- currPage:{" "}
- currPageAriaLabel
-
-
- paginationTitle:{" "}
- paginationAriaLabel
-
-
- toFirstPage:{" "}
- toFirstPageAriaLabel
-
-
- toLastPage:{" "}
- toLastPageAriaLabel
-
-
- toNextPage:{" "}
- toNextPageAriaLabel
-
-
- toPreviousPage:{" "}
- toPreviousPageAriaLabel
-
-
- optionsToggle:{" "}
- optionsToggleAriaLabel
-
-
- Example in
-
-
- {``}
-
-
- Example out
-
- {``}
-
-
- ),
+ component: "Wizard nav item",
+ description:
+ 'There is now a wrapper element with class `pf-v6-c-wizard__nav-link-main` rendered around the nav item content. Additionally, when the nav item has a status of "error" the icon will be rendered before the item content, and the WizardToggle will also now render an error icon.',
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10378",
repo: "React",
- fixedWithCodeMod: true,
+ fixedWithCodeMod: false,
+ title: "wizardNavItem-warn-update-markup",
},
{
- component: "Pagination",
- description: (
- <>
- Renamed the ToggleTemplateProps to{" "}
- PaginationToggleTemplateProps.
- >
- ),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8134",
+ component: "Wizard step",
+ description:
+ 'The `body` prop on WizardStep no longer accepts a value of "null".',
+ pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/10637",
+ repo: "React",
+ fixedWithCodeMod: true,
+ title: "wizardStep-updated-body-typing",
details: (
- Example in
+
Codemods will make the following updates:
+
Example in
- {`import { Pagination, ToggleTemplateProps } from '@patternfly/react-core';
- } />`}
+ {`import { WizardStep } from "@patternfly/react-core";
+
+export const WizardStepUpdatedBodyTypingInput = () => (
+
+);`}
- Example out
+
Example out
- {`import { Pagination, PaginationToggleTemplateProps } from '@patternfly/react-core';
- } />`}
+ {`import { WizardStep } from "@patternfly/react-core";
+
+export const WizardStepUpdatedBodyTypingInput = () => (
+
+);`}
),
- repo: "React",
- fixedWithCodeMod: true,
- },{
- component: "Chip group",
- description: (
- <>
- Updated the component to require the use of the{" "}
- .pf-c-chip-group__main element.
- >
- ),
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5356",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
},
- {
- component: "Chip group",
- description:
- "Added wrapping elements for both the chip content and actions to make the layout more flexible and to style embedded components.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5360",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "Chip group",
- description:
- 'Updated the chip component to use CSS "gap" to space its children instead of using "margin".',
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5293",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "Data list",
- description:
- 'Renamed "selectable" data list rows to "clickable" for consistency across components, and improved and updated the visual appearance of clickable rows.',
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5397",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "Drawer",
- description:
- 'Removed a "min-height" declaration on the drawer body that caused layout issues.',
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5322",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "Dropdown",
- description:
- "Fixed the alignment of items in the toggle when the toggle is wider than the width of its content.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5425",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "Empty state",
- description:
- "Refactored the component structure to be more flexible and more inline with existing structural conventions.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5307",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "Flex",
- description: "Added gap support.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5516",
- details:
- 'This is more of an enhancement that is not breaking. However, there is a new "row" spacer (a gap between rows) that is set by default that didn\'t exist previously, and the default column spacer has been updated from medium to large to be consistent with other layouts.',
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "Form control",
- description:
- "Wrapped form control elements in HTML divs to be more flexible, and updated status and custom icon form control elements to use regular icons instead of icons as background images.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5531",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "Form control",
- description:
- "Refactored the form control borders to be placed on the wrapping HTML div instead of the form elements themselves.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5641",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "Helper text",
- description:
- "Updated components that include helper text to use the helper text component.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5417",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "Icons",
- description: (
- <>
- Updated the pf-icon class prefix for
- custom icons to pficon
- >
- ),
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5538",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "Icons",
- description: (
- <>
- Removed the .pf-svg-size-[size] classes
- used to modify SVG sizes with .pf-svg.
- The Icon component should now be used
- to resize an icon.
- >
- ),
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5388",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "Icons",
- description:
- "Updated the global variables for small and medium icon font sizes.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5525",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "Icons",
- description:
- "Updated components that have static icons to use the appropriate icon color.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5526",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- },
- {
- component: "Input group",
- description:
- "Refactored the component to be more flexible and require the use of input group items to wrap all children of the input group.",
- pullRequestURL: "https://github.com/patternfly/patternfly/pull/5382",
- repo: "HTML/CSS",
- fixedWithCodeMod: false,
- }, {
- component: "Popover",
- description: (<>Updated the default value of the appendTo property, which may cause markup changes that require updating selectors.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8621",
- repo: "React",
- fixedWithCodeMod: false
- }, {
- component: "Popover",
- description: (<>Removed the boundary and tippyProps properties and updated removed parameters from various callback properties.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8201",
- details: (
-
- The shouldClose property's first parameter was removed, and all parameters were removed from the onHidden, onHide, onMount, onShow, and onShown properties.
- Example in
-
-
- {` {/* ... */}} onHidden={(tip) => {/* ... */}} onHide={(tip) => {/* ... */}} onMount={(tip) => {/* ... */}} onShow={(tip) => {/* ... */}} onShown={(tip) => {/* ... */}} />`}
-
-
- Example out
-
-
- {` {
- /* ... */
- }}
- onHidden={() => {
- /* ... */
- }}
- onHide={() => {
- /* ... */
- }}
- onMount={() => {
- /* ... */
- }}
- onShow={() => {
- /* ... */
- }}
- onShown={() => {
- /* ... */
- }}
-/>`}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Popover",
- description: (<>Updated the shouldClose and shouldOpen callback properties so that the event parameter is the first parameter.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/9054",
- details: (
-
- Example in
-
-
- {` openHandler(fn)} shouldClose={(fn2) => closeHandler(fn2)} />
- openHandler(fn, event)} shouldClose={(fn, event) => closeHandler(fn, event)}/>
-const openHandler1 = (fn, event) => {};
-const closeHandler1 = (fn, event) => {};
-
-function openHandler2(fn, event) {};
-function closeHandler2(fn, event) {};
-`}
-
-
- Example out
-
-
- {` openHandler(fn)} shouldClose={(_event, fn2) => closeHandler(fn2)} />
- openHandler(fn, event)} shouldClose={(event, fn) => closeHandler(fn, event)}/>
-const openHandler1 = (event, id) => {};
-const closeHandler1 = (event, id) => {};
-
-function openHandler2(event, id) {};
-function closeHandler2(event, id) {};
-`}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Popper",
- description: (<>Removed the popperMatchesTriggerWidth property. The width, minWidth, and maxWidth properties should be used instead to modify the Popper width.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8724",
- details: (
-
- Example in
-
-
- {``}
-
-
- Example out
-
-
- {``}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Radio",
- description: (<>Updated the onChange callback property so that the event parameter is the first parameter.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8965",
- details: (
-
- Example in
-
-
- {` handler(checked)} />
- handler(checked, event)} />
-const handler1 = (checked, event) => {};
-
-function handler2(checked, event) {};
-`}
-
-
- Example out
-
-
- {` handler(checked)} />
- handler(checked, event)} />
-const handler1 = (_event, checked) => {};
-
-function handler2(_event, checked) {};
-`}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "File upload (simple)",
- description: (<>Updated the type for onFileInputChange and dropzoneProps properties as part of an upgrade of react-dropzone from version 9 to version 14.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/7926",
- repo: "React",
- fixedWithCodeMod: false
- }, {
- component: "File upload (multiple)",
- description: (<>Updated the type for the dropzoneProps property as part of an upgrade of react-dropzone from version 9 to version 14.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/7926",
- repo: "React",
- fixedWithCodeMod: false
- }, {
- component: "Code editor",
- description: (<>Upgraded the react-dropzone dependency used internally to the component from version 9 to version 14.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/7926",
- repo: "React",
- fixedWithCodeMod: false
- }, {
- component: "@patternfly/react-icons",
- description: (<>Removed the size, color, and noVerticalAlign properties from icons imported from @patternfly/react-icons.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/5275",
- repo: "React",
- fixedWithCodeMod: false,
- details: (
-
- To change the default size or color on an icon, it is recommended to wrap the icon in a Icon React component.
- If the icon used the noVerticalAlign prop in PatternFly 4, the same style can be achieved by wrapping the icon in a Icon React component and using the isInline prop.
-
- )
- }, {
- component: "Application launcher",
- description: (<>Removed the removeFindDomNode property as it is now the default behavior.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8316",
- details: (
-
- Example in
-
-
- {``}
-
-
- Example out
-
-
- {``}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Clipboard copy",
- description: (<>Removed the removeFindDomNode property as it is now the default behavior.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8371",
- details: (
-
- Example in
-
-
- {``}
-
-
- Example out
-
-
- {``}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Truncate",
- description: (<>Removed the removeFindDomNode property as it is now the default behavior.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8371",
- details: (
-
- Example in
-
-
- {``}
-
-
- Example out
-
-
- {``}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Context selector",
- description: (<>Removed the removeFindDomNode property as it is now the default behavior.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8316",
- details: (
-
- Example in
-
-
- {``}
-
-
- Example out
-
-
- {``}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Dropdown",
- description: (<>Removed the removeFindDomNode property from the deprecated implementation as it is now the default behavior.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8316",
- details: (
-
- Example in
-
-
- {``}
-
-
- Example out
-
-
- {``}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Navigation",
- description: (<>Removed the removeFindDomNode property from the NavItem component as it is now the default behavior.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8316",
- details: (
-
- Example in
-
-
- {``}
-
-
- Example out
-
-
- {``}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Options menu",
- description: (<>Removed the removeFindDomNode property as it is now the default behavior.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8316",
- details: (
-
- Example in
-
-
- {``}
-
-
- Example out
-
-
- {``}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Popover",
- description: (<>Removed the removeFindDomNode property as it is now the default behavior.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8316",
- details: (
-
- Example in
-
-
- {``}
-
-
- Example out
-
-
- {``}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Search input",
- description: (<>Removed the removeFindDomNode property as it is now the default behavior.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8316",
- details: (
-
- Example in
-
-
- {``}
-
-
- Example out
-
-
- {``}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Select",
- description: (<>Removed the removeFindDomNode property from the deprecated implementation as it is now the default behavior.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8316",
- details: (
-
- Example in
-
-
- {``}
-
-
- Example out
-
-
- {``}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Tabs",
- description: (<>Removed the removeFindDomNode property from the OverflowTab component as it is now the default behavior.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8316",
- details: (
-
- Example in
-
-
- {``}
-
-
- Example out
-
-
- {``}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Time picker",
- description: (<>Removed the removeFindDomNode property as it is now the default behavior.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8316",
- details: (
-
- Example in
-
-
- {``}
-
-
- Example out
-
-
- {``}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Tooltip",
- description: (<>Removed the removeFindDomNode property as it is now the default behavior.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8316",
- details: (
-
- Example in
-
-
- {``}
-
-
- Example out
-
-
- {``}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Application launcher",
- description: (<>Removed the ToggleMenuBaseProps interface.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8235",
- repo: "React",
- fixedWithCodeMod: false
- }, {
- component: "Context selector",
- description: (<>Removed the ToggleMenuBaseProps interface.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8235",
- repo: "React",
- fixedWithCodeMod: false
- }, {
- component: "Dropdown",
- description: (<>Removed the ToggleMenuBaseProps interface from the deprecated implementation.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8235",
- repo: "React",
- fixedWithCodeMod: false
- }, {
- component: "Options menu",
- description: (<>Removed the ToggleMenuBaseProps interface.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8235",
- repo: "React",
- fixedWithCodeMod: false
- }, {
- component: "Select",
- description: (<>Removed the ToggleMenuBaseProps interface from the deprecated implementation.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8235",
- repo: "React",
- fixedWithCodeMod: false
- }, {
- component: "Popper",
- description: (<>Removed the ToggleMenuBaseProps interface.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8235",
- repo: "React",
- fixedWithCodeMod: false
- }, {
- component: "@patternfly/react-core",
- description: (<>Removed the default value of the getResizeObserver function's third parameter, useRequestAnimationFrame.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8324",
- repo: "React",
- fixedWithCodeMod: false
- }, {
- component: "Select",
- description: (<>Updated the internal markup of the deprecated typeahead and multi-typeahead implementations. Selectors may need to be updated.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/9172",
- repo: "React",
- fixedWithCodeMod: false
- }, {
- component: "Select",
- description: (<>Deprecated the Select components and replaced them with a newer implementation.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8825",
- details: (
-
- Codemods will update import and export paths to our deprecated directory, but we recommend replacing it with our new Select implementation.
- Example in
-
-
- {`import { Button, Select, SelectOption, SelectVariant, SelectDirection, SelectGroup } from "@patternfly/react-core";`}
-
-
- Example out
-
-
- {`import {
- Button
-} from '@patternfly/react-core';
-import {
- Select,
- SelectOption,
- SelectVariant,
- SelectDirection,
- SelectGroup
-} from '@patternfly/react-core/deprecated';`}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Select",
- description: (<>Renamed the itemId property for the new implementation of SelectOption to value.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8825",
- details: (
-
- Example in
-
-
- {``}
-
-
- Example out
-
-
- {``}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Dropdown",
- description: (<>Renamed the itemId property for the new implementation of DropdownItem to value.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8825",
- details: (
-
- Example in
-
-
- {``}
-
-
- Example out
-
-
- {``}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Time picker",
- description: (<>Updated the internal markup to render the invalidFormatErrorMessage and invalidMinMaxErrorMessage properties within HelperText components.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8833",
- repo: "React",
- fixedWithCodeMod: false
- }, {
- component: "Simple list",
- description: (<>Removed the isCurrent property, which should be replaced with the isActive property.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8132",
- details: (
-
- Example in
-
-
- {``}
-
-
- Example out
-
-
- {``}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Slider",
- description: (<>Updated the onChange callback property so that the event parameter is the first parameter.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8970",
- details: (
-
- Example in
-
-
- {` handler(value)} />
-const handler1 = (value) => {};
-
-function handler2(value) {};
-`}
-
-
- Example out
-
-
- {` handler(value)} />
-const handler1 = (_event, value) => {};
-
-function handler2(_event, value) {};
-`}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Spinner",
- description: (<>Removed the isSVG property as the component now uses an SVG exclusively.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8616",
- details: (
-
- Example in
-
-
- {``}
-
-
- Example out
-
-
- {``}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Switch",
- description: (<>Updated the onChange callback property so that the event parameter is the first parameter.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/9037",
- details: (
-
- Example in
-
-
- {` handler(id)} />
- handler(id, event)} />
-const handler1 = (id, event) => {};
-
-function handler2(id, event) {};
-`}
-
-
- Example out
-
-
- {` handler(id)} />
- handler(id, event)} />
-const handler1 = (_event, id) => {};
-
-function handler2(_event, id) {};
-`}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Table",
- description: (<>Renamed the isHoverable property to isClickable. Codemods will provide a fix when the property is passed to the Tr component of our composable implementation, but will otherwise only raise an error for our deprecated implementation.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/9083",
- details: (
-
- Example in
-
-
- {`
`}
-
-
- Example out
-
-
- {`
`}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Table",
- description: (<>Renamed the TableComposable component to just Table.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8892",
- details: (
-
- The fix provided by Codemods will insert a /* data- Codemods */ comment after the import specifier. This should only be removed once Codemods is no longer being ran as it prevents other fixes from overwriting this update.
- Example in
-
-
- {`import { TableComposable } from '@patternfly/react-table';
-
-`}
-
-
- Example out
-
-
- {`import { Table /* data- Codemods */ } from '@patternfly/react-table';
-
-
`}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Table",
- description: (<>Deprecated the Table components, which should be replaced with the composable implementation.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8892",
- details: (
-
- Codemods will update import and export paths to our deprecated directory, but we recommend replacing it with our composable implementation.
- Example in
-
-
- {`import { Table, TableBody, TableHeader, TableProps } from "@patternfly/react-table";`}
-
-
- Example out
-
-
- {`import {
- Table,
- TableBody,
- TableHeader,
- TableProps
-} from '@patternfly/react-table/deprecated';`}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Table",
- description: (<>Updated the ActionsColumn to use the new implementation of Dropdown. This applies to both the deprecated and composable implementations.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8629",
- details: (
-
- The following changes were also made:
-
- The toggle passed to the ActionsColumn must be a MenuToggle component
- Removed the dropdownPosition, dropdownDirection, and menuAppendTo properties, which should be replaced with the popperProps property
-
-
- ),
- repo: "React",
- fixedWithCodeMod: false
- }, {
- component: "Table",
- description: (<>Updated the type of the collapseAllAriaLabel property on ThExpandType to a string instead of an empty string ''. Workarounds casting this property to an empty string are no longer needed.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8634",
- repo: "React",
- fixedWithCodeMod: false
- }, {
- component: "Table",
- description: (<>Removed the deprecated hasSelectableRowCaption property from our composable implementation.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8352",
- details: (
-
- Example in
-
-
- {``}
-
-
- Example out
-
-
- {``}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Tabs",
- description: (<>Updated the onToggle callback property so that the event parameter is the first parameter.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/9059",
- details: (
-
- Example in
-
-
- {` handler(id)} />
-const handler1 = (id) => {};
-
-function handler2(id) {};
-`}
-
-
- Example out
-
-
- {` handler(id)} />
-const handler1 = (_event, id) => {};
-
-function handler2(_event, id) {};
-`}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Tabs",
- description: (<>Renamed the hasBorderBottom property to hasNoBorderBottom.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8517",
- details: (
-
- Example in
-
-
- {`
-
-
-`}
-
-
- Example out
-
-
- {`
-
-
-`}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Tabs",
- description: (<>Removed the hasSecondaryBorderBottom property.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8517",
- details: (
-
- Example in
-
-
- {``}
-
-
- Example out
-
-
- {``}
-
-
-
- ),
- repo: "React",
- fixedWithCodeMod: true
- }, {
- component: "Tabs",
- description: (<>Updated the type of children that can be passed. Codemods will raise a warning when this component is imported, even if valid children are passed, but will not make any code changes.>),
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8217",
- repo: "React",
- fixedWithCodeMod: false
- }, {
- component: "Table",
- description: (<>Renamed the disable property to isDisabled for the Td component.>),
- // TODO: Update to include both pull requests for this codemod
- pullRequestURL: "https://github.com/patternfly/patternfly-react/pull/8861",
- details: (
-
- This change affects the TdSelectType interface used within the select property, and the TdActionsType interface used within the actions property.
- Example in
-
-
- {`let myObj = { disable: true };
-myObj["disable"] = false;
-myObj.disable = true;
-myObj = { disable: false };
-
-