Codemods

Automated migrations that move a consuming app across Pluma breaking changes, grouped by the @customerio/pluma-components version each change lands in. Run them with the Pluma CLI.

3.0.0

Button Variant Rename

Rename Button variant props: tertiary→secondary, subtle→tertiary.

Data Table Tanstack V9

Migrate DataTable to TanStack Table v9: Ember flexRenderWrapper→flexRenderComponent (@props→@options), sortingFn→sortFn, table.getState()→table.store.state, and the createColumnHelper features type parameter.

Deprecated Props Removal

Migrate removed deprecated props: Button/Snackbar/Link isError, isDanger→isCritical on Button and the dropdown/filters components that inherit it, Popover content, Banner/Snackbar variant "warning"→"caution" and "error"→"critical".

Event Handler Rename

Rename the deprecated onChange handler to onCheckedChange on Checkbox, Radio, and OptionCard.

Icon Deprecations

Migrate deprecated icons: rename/merge icon names (including error→critical, warning→caution), fold v1-only sizes (xxs/xs→sm), and remove the Icon sizeVersion prop.

Label Icon To Coin

Migrate the removed LabelIcon component to Coin with a child Icon.

Label To Badge

Replace the deprecated Label with Badge, and Badge isOutline/isEmphasized with color values.

Primitive Rename

Rename the primitive components: PopoverPrimitive→PlainPopover, ModalPrimitive→PlainModal, SelectPrimitive→SelectController (and their subcomponents/types).

Size Longhand Rename

Rename long-hand size props (medium→md, small→sm, large→lg) on Button, ButtonGroup, ProgressBar, SegmentedControl, Select, TextField, Toggle, and friends.

Test Helper Get Rename

Migrate the removed PlumaTestHelpers.get test helper to find (review notes flag sites that should use extract).

Text Size Shorthand Rename

Rename Text/Heading/Paragraph short-hand size props: s→sm, m→md, l→lg (and product-ps text style→product-psm).

Toggle Button To Button

Migrate the removed ToggleButton component to Button (defaults to variant="tertiary").

2.204.0

2.170.0