Skip to main content

Component Changes

Overview

This guide focuses on breaking prop changes to be aware of when migrating from Abyss V1 to V2. These include:

  • Props that have been removed
  • Props whose behavior or typings have been updated
  • Props whose names have been changed but whose functionality remains the same.

This guide does not cover:

  • New props added in V2
  • Class changes
  • Token changes
  • Additional features and enhancements

For complete documentation of all available props, including new features added, refer to each component's dedicated documentation page.

AI-Powered Component Migration

Need help with component migration? Use our AI-powered migration tool to help convert V1 components to their V2 equivalents with proper prop mapping.

Badge

import { Badge } from '@uhg-abyss/mobile/ui/Badge';
Same in V1 and V2

Badge changes

V1 PropStatusMigration Details
roundedRemoved

The rounded prop has been removed. All badges now have a standard rounded appearance.

import { Banner } from '@uhg-abyss/mobile/ui/Banner';
Same in V1 and V2

Banner changes

V1 PropStatusMigration Details
titleRenamed

The title prop has been renamed to heading.

descriptionRenamed

The description prop has been renamed to paragraph.

colorRenamed

The color prop has been renamed to background and values have changed.

footerRemoved

The footer prop has been removed.

contentRemoved

The content prop has been removed.

eyebrowRemoved

The eyebrow prop has been removed.

linkTextRemoved

The linkText and href props have been removed. Use the new cta prop to provide a link or button.

hrefRemoved

The href and linkText props have been removed. Use the new cta prop to provide a link or button.

linkIconRemoved

The linkIcon prop has been removed. Add icons directly to the cta element if needed.

showExternalIconRemoved

The showExternalIcon prop has been removed. Add icons directly to the cta element if needed.

centerTextRemoved

The centerText prop has been removed. Use custom layout or styles if center alignment is needed.

textSizeRemoved

The textSize prop has been removed. Text size is now determined by the variant and design tokens.

growRemoved

The grow prop has been removed. Banner sizing is now determined by the variant.

fixedRemoved

The fixed prop has been removed. Banner sizing is now determined by the variant.

isCloseableRemoved

The isCloseable prop has been removed.

onCloseRemoved

The onClose prop has been removed.

variantModified

The variant prop values have changed. Use the new values to match the desired layout.

ctaTypeRemoved

The ctaType prop has been removed. Use the new cta prop to provide a link or button.

Button

import { Button } from '@uhg-abyss/mobile/ui/Button';
Same in V1 and V2

Button changes

V1 PropStatusMigration Details
variantModified

The variant prop has new accepted values and works together with the new prop type to manage the appearance of the Button.

beforeRemoved

Use the icon and iconPosition props instead.

afterRemoved

Use the icon and iconPosition props instead.

roundedRemoved

Use the iconPosition prop with value iconOnly for icon-only buttons.

typeModified

The type prop has new accepted values and works together with the variant prop to manage the appearance of the Button. If you used type="submit" in v1 to submit a form, use the new boolean prop submit in v2.

import { Carousel } from '@uhg-abyss/mobile/ui/Carousel';
Same in V1 and V2

Carousel changes

V1 PropStatusMigration Details
titleRenamed

The title prop has been renamed to heading.

slidesRenamed

The slides prop has been renamed to data and now expects an array of data objects instead of React nodes. Use the renderSlide prop to render each slide.

CellGroup

import { CellGroup } from '@uhg-abyss/mobile/ui/CellGroup';
Same in V1 and V2

CellGroup changes

V1 PropStatusMigration Details
fullBorderRemoved

The fullBorder prop has been removed. Borders are now handled by design tokens and cannot be toggled via props.

hideBorderTopRemoved

The hideBorderTop prop has been removed. Borders are now handled by design tokens and cannot be toggled via props.

hideBorderBottomRemoved

The hideBorderBottom prop has been removed. Borders are now handled by design tokens and cannot be toggled via props.

hideBorderAllRemoved

The hideBorderAll prop has been removed. Borders are now handled by design tokens and cannot be toggled via props.

dataRemoved

The data prop for drag-and-drop cell creation is removed. Use static children instead.

setDataRemoved

The setData prop for drag-and-drop cell creation is removed. Use static children instead.

onAddCellRemoved

The onAddCell prop for drag-and-drop cell creation is removed. Use static children instead.

onRemoveCellRemoved

The onRemoveCell prop for drag-and-drop cell creation is removed. Use static children instead.

titleRemoved

The title prop for drag-and-drop cell creation is removed.

typeModified

The type prop value dragAndDrop has been removed. Only default, radio, toggle, and checkbox are supported.

valueModified

The value prop type is now only string | string[]. Passing other types is no longer supported.

Cell

V1
import { CellGroup } from '@uhg-abyss/mobile/ui/CellGroup';
V2
import { Cell } from '@uhg-abyss/mobile/ui/Cell';
Changed from V1

Cell changes

V1 PropStatusMigration Details
childrenRemoved

The children prop is no longer supported. Use the new structured content props such as heading, subheading, paragraph, and eyebrow.

titleRenamed

The title prop has been renamed to heading.

subtitleRenamed

The subtitle prop has been renamed to subheading.

descriptionRenamed

The description prop has been renamed to paragraph.

footerRemoved

The footer prop has been removed. Use paragraph or custom trailing content as needed.

highlightRemoved

The highlight prop has been removed. Highlighting is now handled by design tokens.

iconRemoved

The icon and iconBackgroundColor props have been replaced by leadingContent.

pressIconRemoved

The pressIcon prop has been replaced by navIcon.

fullBorderRemoved

The fullBorder prop has been removed. Borders are now handled by design tokens.

hideBorderTopRemoved

The hideBorderTop prop has been removed. Borders are now handled by design tokens.

hideBorderBottomRemoved

The hideBorderBottom prop has been removed. Borders are now handled by design tokens.

onInfoButtonPressRemoved

The onInfoButtonPress prop has been removed. Use a custom trailing icon and handle its press event as needed.

titleColorRemoved

The titleColor prop has been removed. Use design tokens for color.

titleWeightRemoved

The titleWeight prop has been removed. Use design tokens for font weight.

Chip

import { Chip } from '@uhg-abyss/mobile/ui/Chip';
Same in V1 and V2

Chip.Group changes

V1 PropStatusMigration Details
titleRenamed

The title prop has been renamed to heading.

Coachmark

import { Coachmark } from '@uhg-abyss/mobile/ui/Coachmark';
Same in V1 and V2

Coachmark changes

V1 PropStatusMigration Details
childrenRenamed

The children prop has been renamed to heading.

orientationRenamed

The orientation prop has been renamed to position.

colorSchemeRenamed

The colorScheme prop has been renamed to type.

descriptionRenamed

The description prop has been renamed to children.

showBorderRemoved

The showBorder prop has been removed. Use the type prop and set it to "light-border" to achieve similar styling.

DonutChart

import { DonutChart } from '@uhg-abyss/mobile/ui/DonutChart';
Same in V1 and V2

DonutChart changes

V1 PropStatusMigration Details
sizeModified

The default value for size has changed from 50 to 40. Update your usage if you rely on the default.

animationDurationModified

The default value for animationDuration has changed from 1000 to 500. Update your usage if you rely on the default.

IconBrand

import { IconBrand } from '@uhg-abyss/web/ui/IconBrand';
Same in V1 and V2

IconBrand changes

V1 PropStatusMigration Details
useDeprecatedRemoved

The useDeprecated prop has been removed. The old Optum icons are no longer available.

LoadingSpinner

import { LoadingSpinner } from '@uhg-abyss/mobile/ui/LoadingSpinner';
Same in V1 and V2

LoadingSpinner changes

V1 PropStatusMigration Details
childrenRemoved

The children prop has been removed.

labelRenamed

The label prop has been renamed to heading.

sizeModified

The size prop values have changed. Use "xs" or "sm" in v2. The default is now "sm".

NeedHelp

import { NeedHelp } from '@uhg-abyss/mobile/ui/NeedHelp';
Same in V1 and V2

NeedHelp changes

V1 PropStatusMigration Details
headingRenamed

The prop formerly named title in v1 is now heading in v2.

paragraphRenamed

The prop formerly named description in v1 is now paragraph in v2. It accepts React nodes for rich content.

Popover

import { Popover } from '@uhg-abyss/mobile/ui/Popover';
Same in V1 and V2

Popover changes

V1 PropStatusMigration Details
titleRenamed

The title prop has been renamed to heading and must be a string.

childrenRenamed

The children prop has been renamed to content.

footerModified

The footer prop is now required in v2.

variantRemoved

The variant prop has been removed. Styling is now handled by design tokens.

Rating

import { Rating } from '@uhg-abyss/mobile/ui/Rating';
Same in V1 and V2

Rating changes

V1 PropStatusMigration Details
variantModified

The default value for variant has changed from "large" to "small". Update your usage if you rely on the default.

showRatingRemoved

The showRating prop has been removed. Use hideRating instead to control the display of the rating number.

childrenRemoved

The children prop is no longer supported. Use the provided props (rating, reviews, etc.) to control content.

SelectInput

import { SelectInput } from '@uhg-abyss/mobile/ui/SelectInput';
Same in V1 and V2

SelectInput changes

V1 PropStatusMigration Details
modalTitleRenamed

The modalTitle prop has been renamed to modalHeading.

SelectInputMulti

import { SelectInputMulti } from '@uhg-abyss/mobile/ui/SelectInputMulti';
Same in V1 and V2

SelectInputMulti changes

V1 PropStatusMigration Details
modalTitleRenamed

The modalTitle prop has been renamed to modalHeading.

onSubmitRemoved

The onSubmit prop is no longer supported. Use the native TextInput onSubmitEditing prop instead.

Skeleton

import { Skeleton } from '@uhg-abyss/mobile/ui/Skeleton';
Same in V1 and V2

Skeleton changes

V1 PropStatusMigration Details
variantModified

The variant prop values have changed. Use "text", "square", or "round" in v2. The default is now "text".

staleRemoved

The stale prop has been removed.

Tabs

import { Tabs } from '@uhg-abyss/mobile/ui/Tabs';
Same in V1 and V2

Tabs changes

V1 PropStatusMigration Details
activeTabRemoved

The activeTab prop has been removed. Use the TabsRef methods (goToTab, goToNextTab, goToPrevTab) to control tab navigation imperatively, or read the current active tab from ref.current.activeTab.

onChangeRemoved

The onChange prop has been removed. Use the TabsRef methods to control tab navigation imperatively. If you need to track tab changes, you can use useEffect with the ref to monitor tab changes.

titleRenamed

The title prop has been renamed to heading.

colorSchemeRenamed

The colorScheme prop has been renamed to alt.

TextArea

V1
import { TextField } from '@uhg-abyss/mobile/ui/TextField';
V2
import { TextArea } from '@uhg-abyss/mobile/ui/TextArea';
Changed from V1

Quick Overview

The TextField component has been renamed to TextArea to better reflect its purpose as a multi-line text input. All associated props, classes, and translation keys have been updated accordingly.

TextInput

V1
import { TextInput } from '@uhg-abyss/mobile/ui/TextInput';
V2
import { InputField } from '@uhg-abyss/mobile/ui/InputField';
Changed from V1

Quick Overview

The TextInput component was renamed to InputField in v2. There are no prop or behavior changes — only the component name and import path were updated.

TextInput / InputField changes

V1 PropStatusMigration Details
componentRenamed

The component was renamed from TextInput to InputField. Update both the import path and the component name.

Timeline

import { Timeline } from '@uhg-abyss/mobile/ui/Timeline';
Same in V1 and V2

Timeline changes

V1 PropStatusMigration Details
descriptionRenamed

The description prop has been renamed to paragraph in v2. Use paragraph to provide custom description text for the active step card.

titleWeightRenamed

The titleWeight prop has been renamed to headingWeight in v2. Use headingWeight to control the font weight of inactive step headings. The default is now $normal.

TimelineStep.titleRenamed

The title prop on Timeline.Step has been renamed to heading in v2. Use heading for the step heading.

TimelineStep.descriptionRenamed

The description prop on Timeline.Step has been renamed to paragraph in v2. Use paragraph for the step description.

TimelineStep.isDisabledRemoved

The isDisabled prop on Timeline.Step has been removed. All steps are now enabled by default.

Toast

import { Toast } from '@uhg-abyss/mobile/ui/Toast';
Same in V1 and V2

Toast changes

V1 PropStatusMigration Details
childrenRenamed

The children prop has been renamed to paragraph.

Table of Contents