Skip to Content
DocsMigration

Migration Guide

UI Kit v6 is a major cleanup release focused on removing deprecated APIs, simplifying theming, modernizing tokens, and improving the overall developer experience. This guide outlines what changed and how to migrate smoothly.

Table of Contents

What’s New in v6

  • Updated dependencies: React 18+ and MUI v7
  • Theme updates: DS3 removed, pentahoPluspentaho, ds5next
  • HvProvider simplified: single theme required, only light/dark modes
  • Removed deprecated components, props, and CSS classes
  • Updated component specs and modernized theme tokens
  • Streamlined TypeScript types with improved DX

Installation & Dependencies

Peer Dependencies

Make sure your app meets the following minimum versions before upgrading to UI Kit v6:

Updated requirements:

  • @mui/material: ^7.0.2 (upgraded from v5.x)
  • react: >=18.0.0 (upgraded from v17.x)
  • react-dom: >=18.0.0

Unchanged:

  • @emotion/react: ^11.11.1
  • @emotion/styled: ^11.11.0

Breaking Changes & Migration Steps

This section lists breaking changes introduced in v6 and how to migrate.

1. Theme System Changes

The theme system has been simplified to reduce complexity and align with modern usage patterns and supported design systems naming.

HvProvider API Changes

  • theme prop is now required.
  • themes and selectedTheme props were removed (multi-theme support must now be handled by your application, not by HvProvider).
  • colorMode only supports light and dark (legacy color modes dawn and wicked have been removed).

Themes & Color Modes

  • pentahoPluspentaho (renamed for clarity aligned with Pentaho Design System).
  • ds5next (renamed for clarity aligned with NEXT Design System).
  • Only light and dark modes are supported. Use application logic (e.g., prefers-color-scheme, user preferences) to control mode switching.
<HvProvider - themes={[ds5, pentaho]} - selectedTheme="ds5" - colorMode="dawn" + theme={next} + colorMode="light" >

DS3 Theme Removal

  • The DS3 theme has been removed as it is no longer supported.
  • You must migrate to next or pentaho.
- import { ds3 } from "@hitachivantara/uikit-react-core"; + import { next } from "@hitachivantara/uikit-react-core"; - <HvProvider theme={ds3}> + <HvProvider theme={next}>

2. Component Changes

Removed Components

The following components have been removed. Use the suggested replacements:

ComponentReplacement
HvBoxnative div + styling
HvKpiHvCard + HvTypography patterns
HvLinkHvTypography with link variant

Deprecated Props

The following props have been removed. Update your code with the suggested replacements:

Common Patterns:

  • actionsCallbackonAction (ActionsGeneric, Banner, BannerContent, BulkActions, Snackbar, SnackbarContent)
  • categoryvariant (ActionsGeneric, DropDownMenu)
  • selectAllLabel → removed (BulkActions, CheckBoxGroup)
  • hasTooltips → always enabled (Dropdown, List)

Component-Specific Changes:

ComponentRemoved PropReplacement
Badgecountuse label
Badgetextuse children
BadgetextVariantuse HvTypography on children
ButtonoverrideIconColorsremoved
DialogfirstFocusableuse autoFocus on the element
DrawershowBackdropuse hideBackdrop
FileUploaderacceptedFilesuse accept
FileUploaderlabels.dropzoneuse label
Iconsviewboxuse size
Iconsheight, widthuse size
Iconsinverted, semanticuse color
Input.labelsrevealPasswordButtonLabelremoved
Pagination.labelspaginationFirstPageTitleuse firstPage
Pagination.labelspaginationPreviousPageTitleuse previousPage
Pagination.labelspaginationNextPageTitleuse nextPage
Pagination.labelspaginationLastPageTitleuse lastPage
QueryBuilderqueryuse defaultValue
QueryBuilder ContextselectLocationremoved
ScrollTo*scrollTouse navigationMode
Suggestionsexpandeduse open
TagdeleteButtonAriaLabelremoved
TooltipuseSingleremoved (multiline supported)
Typographyparagraphuse component="p"

Deprecated CSS Classes

The following CSS classes have been removed. Use the suggested replacements or modern CSS selectors:

Component-Specific Changes:

ComponentRemoved ClassesReplacement
Avatarstatusclasses.container
BannerContentbaseVariant, outContainerclasses.root
BannerContentactionsInnerContainerclasses.actionContainer
BaseDropdownheaderOpen*, panelOpened*[data-popper-placement]
BaseInputinputRoot*, inputBorderContainerclasses.* or ::after
Dialog.TitlemessageContainer, titleTextclasses.root
DotPaginationradioRootclasses.radio
DropDownMenucontainer, iconclasses.root
FormElement.Adornmenticon, adornment*classes.root
GlobalActionsglobalSectionAreaclasses.global wrapper
GlobalActionsglobalWrapperComplementclasses.section wrapper
GlobalActionssectionNameclasses.name
HeaderbackgroundColorclasses.root
InlineEditorinputBorderContainerclasses.root::after
InputinputExtensionclasses.suggestionsContainer::before
InputinputBorderContainer::after
ListContainer.ListItemwithStartAdornment:has($startAdornment)
ListContainer.ListItemwithEndAdornment:has($endAdornment)
Loadingsmall*, regular*data-size="small/regular"
PaginationtotalPagesTextContainerremoved
PaginationpageSizeOptionsSelectclasses.pageSizeRoot
PaginationpageSizeInput*classes.pageJump
SectionspaceTophasHeader
SelectpanelOpened*[data-popper-placement]
SnackbarContentmessageSpanclasses.message
TableSectionspaceTophasHeader
TagchipRootroot
Tagbutton, tagButton, focusVisible, disabledDeleteIcon, categoricalFocus, categoricalDisabledremoved
TagsInputlistItemGuttersremoved
TagsInputlistItemRootchipRoot
TagsInputtagInputContainer*, tagInputRootclasses.input
TagsInputtagSelected, tagInputRootFocused:focus or :focus-visible
TagsInputtagInputBorderContainer::after
TagsInputtagInputRootEmptyremoved
TooltiptooltipMulti, title, value*, color, separator*removed

Deprecated TypeScript Types

The following TypeScript types have been updated or removed:

Consolidated Types:

  • HvAvatarSize, HvButtonSizeHvSize
  • HvScrollToVerticalOption, HvScrollToHorizontalOptionHvScrollToOption

Renamed Types:

  • HvButtonRadiusHvRadius
  • HvDatePickerStatusHvFormStatus
  • HvDropdownLabelsPropsHvDropdownLabels
  • HvTypographyLegacyVariantsHvTypographyVariants
  • Spacing (SimpleGrid) → HvBreakpoints

Removed Types:

  • HvQueryBuilderChangedQuery → removed

Migration Checklist

Use this checklist to verify a complete and successful upgrade to v6:

  • UI matches expected design — layout, spacing, colors, and typography look correct
  • Components work correctly — dialogs, dropdowns, focus, and interactions work as expected
  • Accessibility checks pass — focus management, roles, and contrast remain valid
  • No TypeScript errors — no errors from removed props or updated types
  • No console warnings or errors — no runtime warnings or deprecated API messages
  • Themes behave as expected — light/dark mode switching works; next / pentaho tokens applied correctly
  • Styling updated — replaced old CSS classes with updated ones or data-* attributes
  • Removed components replacedHvBox, HvKpi, HvLink fully migrated to supported alternatives

Getting Help

Resources

Last updated on