#StandWithUkraine

Migration Guide - v3

Migrate to v3.12.0

Alert heading

DEPRECATED Alert’s ability to turn heading into semantic heading, will render regular text in an upcoming version. This means, starting with GDS v4, the heading prop of all Alerts will be treated like ModalAlert headings are treated today, where the “headings” are simply semi-bold text without additional semantic meaning.

We are quite certain that no action is required, as the old behaviour is most likely undesired or plain wrong. If for some reason the heading from an Alert is needed for a document outline to make sense, you should set a heading manually to be future-proof.

jsx// old
<Alert heading={heading}>{…}</Alert>

// new
<Alert heading={<Heading level={n}>{heading}</Heading>}>{…}</Alert>
// ^ most likely this isn't needed, keep sending plain/rich content instead

Migrate to v3.10.0

TransactionGroup noGroup

DEPRECATED TransactionGroup’s noGroup prop, TransactionGroup’s ability to create its own CardGroup will get in the way of the ongoing CardGroup removal process. Therefore, noGroup={true} will become the norm in an upcoming major version.

Check out the TransactionGroup chapter in the CardGroup migration guide for more details.

DEPRECATED TransactionGroup’s header and footer prop, in a post-CardGroup world a header should be placed before the TransactionGroup, and a footer afterwards.

Check out the TransactionGroup chapter in the CardGroup migration guide for more details.

TransactionGroupFooter

DEPRECATED TransactionGroupFooter component, CardFooter can be used as a 1 to 1 replacement.

DEPRECATED TransactionDetail’s footer prop, place its content at the end of children instead:

jsx// old
<TransactionDetail footer={footer}>
  {children}
</TransactionDetail>

// new
<TransactionDetail>
  {children}
  <Separator />
  {footer}
</TransactionDetail>

If there are no children, there’s obviously no need for a Separator:

jsx// old
<TransactionDetail footer={footer} />

// new
<TransactionDetail>
  {footer}
</TransactionDetail>

Migrate to v3.3.0

TransactionGroup

As described below in the v3.0.0-beta.0 chapter, a huge CardGroup migration process is under way. Given that TransactionGroup creates its own CardGroup, an additional chapter about what to do for transactions has been added to the existing dedicated migration guide. For more details, see the TransactionGroup chapter in the CardGroup migration guide. (For the record, this has nothing to do with v3.3.0 per se, everything needed to do the migration was already in place, only the proper documentation was missing.)

Migrate to v3.0.0-beta.0

Bootstrap 4.x

With version 3.0, Bootstrap is no longer a dependency of GDS. To ensure a smooth transition a copy of Bootstrap’s utility classes is still bundled with the GDS styles.

CardGroup

CardGroup has been DEPRECATED, from now on a single Card can accomplish its tasks. Given how fundamental Card and CardGroup are, a dedicated guide informs about the process. As this will be quite the undertaking, in the foreseeable future CardGroup isn’t going anywhere, as stated under CardGroup:

While CardGroup will still be part of the next major release, it is no longer maintained and should slowly but surely be refactored to Card instead.

To learn more, head over to the CardGroup migration guide.

VerticalFunctionCardGroup

VerticalFunctionCardGroup has been DEPRECATED, it can be refactored to CardRow instead.

Adding a CardFooter to aforementioned CardRow takes care of what VerticalFunctionCardGroup’s footer prop has achieved so far. As a result, the classes .g-card-function-footer and .g-card-function-footer-shared have been DEPRECATED too, because .g-card-footer can be utilised to create the shared FunctionCard footer.

To learn more, head over to the CardGroup migration guide.