Migration to Fuegokit React v3

This guide explains how and why to migrate from Fuegokit React v2 to v3.
Access to Fuegokit npm packages, source code repositories, and some content is limited to Appfire staff. Log in with Slack to continue.

Fuegokit React ships with Fuegokit design tokens at its source. Because this introduces some slight changes to the naming convention in the CSS-in-JS that shipped with v1 and v2, this is a breaking change. We recommend running our codemods for efficiency. The codemods will refactor your code for you and automatically address many of the changes in v3.

Fuegokit React v3 Migration Guide

The Design Systems team is thrilled to announce the release of Fuegokit React v3. 🎉

This guide describes how you can easily migrate and get the latest changes, either manually, or using our codemods, and it describes changes made in the library itself.

What's changing

Fuegokit React v3:

  • ships with a default theme built with Fuegokit design tokens
  • introduces new components
  • migrates several components to deprecated status
  • deprecates system props

Why you should upgrade

Fuegokit React v3 ships with a default theme built with design tokens.

Why you should upgrade to v3:

  • Fuegokit's design tokens provide a more stable and predictable API.
  • Appfire's designers use design tokens, and Fuegokit's design tokens integrates designer tools like Figma with the actual code shipped into Fuegokit design tokens. Designers and developers at Appfire now share a single source of truth.
  • You will always be able to opt in to the most up-to-date design decisions in your app after upgrading to v3.
  • Tokens make features like accessibility color modes, more responsive design, and other types of user customization possible.
  • Changes can be made once and propagate across the system
  • Tokens are at the core of how Appfire is implementing its visual design foundations. This delivers visual consistency and other improvements to every Appfire product that adopts Fuegokit.

Fuegokit React v3 also ships with many new "batteries-included" and fully-styled React components you can use as 1:1 drop-in replacements in the product environment, as well as ecosystem-agnostic and accessible React components authored according to WAI-ARIA authoring principles.

Try it today

You can preview the latest changes in your app by installing @fuegokit/react@0.0.0-20230613172515.

The release candidate is available for preview and feedback -- we don't recommend using it in production until you've had a chance to try the release candidate in a testing environment.

Codemods

Running codemods will bulk apply all of the necessary changes to Fuegokit React components installed in your project in one command.

If using the fuegokit-v2-to-v3 codemod, you should only run the codemod once.

You can run the codemods by installing the Fuegokit codemod CLI utility:

npm install @fuegokit/codemod

Then run the V3 codemods in your project:

npx @fuegokit/codemod v3.0.0/fuegokit-v2-to-v3 ./path/to/your/file

This will make all of the necessary changes in your project at once.

Additionally, you can run codemods individually. See the Codemods docs for details.

Breaking changes

The most significant changes have to do with adopting Fuegokit's design tokens stable taxonomy.

That means that some CSS-in-JS token names are getting updates in the default theme. In CSS-in-JS, surface.default becomes elevation.surface.default.[default]. CSS variables are not changing.

Additionally, there are additional scale values now included in the default theme scales for fontSizes, fontWeights, and radii.

Adopting the stable taxonomy introduced with Fuegokit design tokens means more stability, greater multi-ecosystem theming support, and less maintenance.

How to update manually

The default theme that ships with Fuegokit React is now shipped directly via Fuegokit's design tokens.

When you install Fuegokit React v3, you will need to update a few of the design token values that originally shipped with Fuegokit React v2.

If you are not using codemods, you can use find-replace and exchange the new value for the previous value in your app, for example:

- <MyStyledComponent>My text</MyStyledComponent>;
-
- const MyStyledComponent = styled(Text)`
- font-size: ${themeGet('fontSize: 2')};
- `
-
+ <MyStyledComponent>My text</MyStyledComponent>;
+
+ const MyStyledComponent = styled(Text)`

Each of the following contain values that are changing in the default Fuegokit React theme. The guide below provides details about how to update each.

Summary of values that contain token names that are being updated to the stable taxonomy in V3:


Updating font-size token names

Fuegokit React now ships with a default theme built with tokens.

The new font-size scale adds several additional steps on the font-size scale for greater utility.

You should update your use of this set of tokens as follows:

tokenprevious valuenew valueaction
fontSizes.010px10pxno change
fontSizes.111px11pxno change
fontSizes.214px12pxfontSizes.2 --> fontSizes.3
fontSizes.316px14pxfontSizes.3 --> fontSizes.4
fontSizes.420px16pxfontSizes.4 --> fontSizes.5
fontSizes.524px18pxfontSizes.5 --> fontSizes.6
fontSizes.628px20pxfontSizes.6 --> fontSizes.7
fontSizes.736px24pxfontSizes.7 --> fontSizes.11
fontSizes.847px28pxfontSizes.8 --> fontSizes.12
fontSizes.962px29pxfontSizes.9 --> fontSizes.13
fontSizes.1084px35px'84px' step removed
fontSizes.11-36px-
fontSizes.12-47px-
fontSizes.13-62px-

with themeGet

If you're using a token with the themeGet function, you can find-replace or use regex to make the following substitutions.

previous token nameupdated token nameprevious valuenew valueaction
themeGet('fontSizes.0 ')-10px10pxno change
themeGet('fontSizes.1 ')-11px11pxno change
themeGet('fontSizes.2 ')themeGet('fontSizes.3')14px12pxfontSizes.2 --> fontSizes.3
themeGet('fontSizes.3 ')themeGet('fontSizes.4')16px14pxfontSizes.3 --> fontSizes.4
themeGet('fontSizes.4 ')themeGet('fontSizes.5')20px16pxfontSizes.4 --> fontSizes.5
themeGet('fontSizes.5 ')themeGet('fontSizes.6')24px18pxfontSizes.5 --> fontSizes.6
themeGet('fontSizes.6 ')themeGet('fontSizes.7 )28px20pxfontSizes.6 --> fontSizes.7
themeGet('fontSizes.7 ')themeGet('fontSizes.11')36px24pxfontSizes.7 --> fontSizes.11
themeGet('fontSizes.8 ')themeGet('fontSizes.12')47px28pxfontSizes.8 --> fontSizes.12
themeGet('fontSizes.9 ')themeGet('fontSizes.13')62px29pxfontSizes.9 --> fontSizes.13
themeGet('fontSizes.10')-84px35px'84px' step removed
themeGet('fontSizes.11')--36px-
themeGet('fontSizes.12')--47px-
themeGet('fontSizes.13')--62px-

Example

- <Text sx={{fontSize: 2}}>My text</Text>;
-
- const StyledText = styled(Text)`
- font-size: ${themeGet('fontSize: 2')};
- `
-
+ <StyledText>My text</StyledText>;
+
+ const StyledText = styled(Text)`

with the sx prop

If you're using a token with the sx prop, you can find-replace or use regex to make the following substitutions.

  • fontSize: 2 --> fontSize: 3
  • fontSize: 3 --> fontSize: 4
  • fontSize: 4 --> fontSize: 5
  • fontSize: 5 --> fontSize: 6
  • fontSize: 6 --> fontSize: 7
  • fontSize: 7 --> fontSize: 11
  • fontSize: 8 --> fontSize: 12
  • fontSize: 9 --> fontSize: 13

Example

- <Text sx={{fontSize: 2}}>My text</Text>;
+ <Text sx={{fontSize: 3}}>My app</Text>;

with system props

System props are deprecated. Migrate to the sx prop or create a styled component using the themeGet function.

If you're using a token with the system props, you can find-replace or use regex to make the following substitutions.

  • fontSize={2} --> fontSize={3}
  • fontSize={3} --> fontSize={4}
  • fontSize={4} --> fontSize={5}
  • fontSize={5} --> fontSize={6}
  • fontSize={6} --> fontSize={7}
  • fontSize={7} --> fontSize={11}
  • fontSize={8} --> fontSize={12}
  • fontSize={9} --> fontSize={13}

Example

- <Text fontSize={2}>My text</Text>;
+ <Text fontSize={3}>My text</Text>;

Updating font-weight token names

Fuegokit React now ships with a default theme built with tokens.

The new font-weights scale adds additional font-weights for greater flexibility and cross-ecosystem translation.

You should update your use of this set of tokens as follows:

previous token namenew token namevalueaction
-fontWeights.extraLight200-
fontWeights.lightfontWeights.light300no change
fontWeights.normalfontWeights.normal400no change
fontWeights.semiboldfontWeights.medium500fontWeights.semibold --> fontWeights.medium
fontWeights.boldfontWeights.semibold600fontWeights.bold --> fontWeights.semibold
-fontWeights.bold 700-

with themeGet

If you're using a token with the themeGet function, you can find-replace or use regex to make the following substitutions.

  • fontWeights.semibold --> fontWeights.medium
  • fontWeights.bold --> fontWeights.semibold

Example

- <Text sx={{fontSize: 2}}>My text</Text>;
-
- const StyledText = styled(Text)`
- font-size: ${themeGet('fontSizes.2')};
- `
-
+ <StyledText>My text</StyledText>;
+
+ const StyledText = styled(Text)`

with the sx prop

If you're using a token with the sx prop, you can find-replace or use regex to make the following substitutions.

  • fontWeight: 'semibold' --> fontWeight: 'medium'
  • fontWeight: 'bold' --> fontWeight: 'semibold'
- <Text sx={{fontWeight: 'bold'}}>My text</Text>;
+ <Text sx={{fontWeight: 'semibold'}}>My text</Text>;

with system props

System props are deprecated. Migrate to the sx prop or create a styled component using the themeGet function.

If you're using a token with the system props, you can find-replace or use regex to make the following substitutions.

  • fontWeight="semibold" --> fontWeight="medium"
  • fontWeight={'semibold'} --> fontWeight="medium"
  • fontWeight="bold" --> fontWeight="semibold"

Example

- <Text fontWeight={'semibold'}>My text</Text>;
-
+ <Text fontWeight={'medium'}>My text</Text>;
+

Updating border-radius token names

Fuegokit React now ships with a default theme built with tokens.

The new border radius scale adds an additional step for greater flexibility and cross-ecosystem translation.

You should update your use of this set of tokens as follows:

tokenprevious valuenew valueaction
radii.00px0pxno change
radii.13px3pxno change
radii.24px4pxno change
radii.36px6pxno change
radii.4100px8pxradii.4 --> radii.5
radii.5-99999px-

with themeGet

If you're using a token with the themeGet function, you can find-replace or use regex to make the following substitutions.

  • radii.4 --> radii.5

Example

- <Box >My box</Box>;
-
- const StyledBox = styled(Box)`
- border-radius: ${themeGet('radii.4')};
- `
-
+ <StyledBox>My box</StyledBox>;
+
+ const StyledBox = styled(Box)`

with the sx prop

If you're using a token with the sx prop, you can find-replace or use regex to make the following substitutions.

  • borderRadius: 4 --> borderRadius: 5

Example

- <Text sx={{borderRadius: 4}}>My text</Text>;
+ <Text sx={{borderRadius: 5}}>My app</Text>;

with system props

System props are deprecated. Migrate to the sx prop or create a styled component using the themeGet function.

If you're using a token with system props, you can find-replace or use regex to make the following substitutions.

  • borderRadius={4} --> borderRadius={5}

Example

- <Box borderRadius={4}>My text</Box>;
+ <Box borderRadius={5}>My text</Box>;

Updating box-shadow token names

Fuegokit React now ships with a default theme built with tokens.

The new shadow tokens add a modifer to overflow.

You should update your use of this set of tokens as follows:

previous token nameupdated token nameaction
shadows.shadow.raisedshadows.elevation.shadow.raisedchange to updated name
shadows.shadow.overlayshadows.elevation.shadow.overlaychange to updated name
shadows.shadow.overflowshadows.elevation.shadow.overflow.defaultchange to updated name
-shadows.elevation.shadow.overflow.spread-
-shadows.elevation.shadow.overflow.perimeter-

with themeGet

If you're using a token with the themeGet function, you can find-replace or use regex to make the following substitutions.

  • shadows.shadow.raised --> shadows.elevation.shadow.raised
  • shadows.shadow.overlay --> shadows.elevation.shadow.overlay
  • shadows.shadow.overflow --> shadows.elevation.shadow.overflow.default

Example

- <StyledBox>My box</StyledBox>;
-
- const StyledBox = styled(Box)`
- box-shadow: ${themeGet('shadows.shadow.overlay')};
- `
-
+ <StyledBox>My box</StyledBox>;
+
+ const StyledBox = styled(Box)`

with the sx prop

If you're using a token with the sx prop, you can find-replace or use regex to make the following substitutions.

  • boxShadow: shadow.raised --> boxShadow: elevation.shadow.raised
  • boxShadow: shadow.overlay --> boxShadow: elevation.shadow.overlay
  • boxShadow: shadow.overflow --> boxShadow: elevation.shadow.overflow.default

Example

- <Box sx={{boxShadow: 'shadow.overlay'}}>My box>/Box>;
+ <Box sx={{boxShadow: 'elevation.shadow.overlay'}}>My box>/Box>;

with system props

System props are deprecated. Migrate to the sx prop or create a styled component using the themeGet function.

  • boxShadow={shadow.raised} --> boxShadow={elevation.shadow.raised}
  • boxShadow={shadow.overlay} --> boxShadow={elevation.shadow.overlay}
  • boxShadow={shadow.overflow} --> boxShadow={elevation.shadow.overflow.default}

Example

- <Box boxShadow={'shadow.overflow'}>My box</Box>;
-
+ <Box boxShadow={'elevation.shadow.overflow.default'}>My box</Box>;
+

Updating color token names

Fuegokit React now ships with a default theme built with tokens.

You can easily and safely make all of the required updates at once with the Fuegokit V3 codemods.

You can also manually substitute the updated token names using the values below.

Depending on how you use Fuegokit React and its default theme tokens, you might search for different patterns:

  • with the themeGet function: ${themeGet('colors.<token>')}
  • with the sx prop: sx={{color: '<token>'}}
  • with system props:backgroundColor={'<token>'}

with themeGet

If you're using a token with the themeGet function, you can find-replace or use regex to make the following substitutions.

Example

- <StyledBox>My box</StyledBox>;
-
- const StyledBox = styled(Box)`
- background-color: ${themeGet('colors.background.neutral.default')};
- `
-
+ <StyledBox>My text</StyledBox>;
+
+ const StyledBox = styled(Box)`

with the sx prop

If you're using a token with the sx prop, you can find-replace or use regex to make the following substitutions.

Example

- <Box sx={{backgroundColor: 'background.neutral.default'}}>My box</Box>;
-
+ <Box sx={{backgroundColor: 'background.neutral.default.[default]'}}>My box</Box>;
+

Updated color token names

Only color tokens in the elevation.surface and background token groups have had additional modifiers added.

The tables below contains the token names that have changed. Additionally, we've included the tokens that have not changed for reference below.

Updated surface color token names.
token groupprevious token nameupdated token nameaction
surface (elevation)surface.defaultelevation.surface.default.[default]change to updated name
surface (elevation)-elevation.surface.default.hoverednew token; no change
surface (elevation)-elevation.surface.default.pressednew token; no change
surface (elevation)surface.raisedelevation.surface.raised.defaultchange to updated name
surface (elevation)-elevation.surface.raised.hoverednew token; no change
surface (elevation)-elevation.surface.raised.pressednew token; no change
surface (elevation)surface.overlayelevation.surface.overlay.defaultchange to updated name
surface (elevation)-elevation.surface.overlay.hoverednew token; no change
surface (elevation)-elevation.surface.overlay.pressednew token; no change
surface (elevation)surface.sunkenelevation.surface.sunkenchange to updated name
Updated background color token names.
token groupprevious token nameupdated token nameaction
backgroundbackground.neutral.defaultbackground.neutral.default.[default]change to updated name
backgroundbackground.neutral.hoveredbackground.neutral.default.hoveredchange to updated name
backgroundbackground.neutral.pressedbackground.neutral.default.pressedchange to updated name
backgroundbackground.success.defaultbackground.success.default.[default]change to updated name
backgroundbackground.success.hoveredbackground.success.default.hoveredchange to updated name
backgroundbackground.success.pressedbackground.success.default.pressedchange to updated name
backgroundbackground.danger.defaultbackground.danger.default.[default]change to updated name
backgroundbackground.danger.hoveredbackground.danger.default.hoveredchange to updated name
backgroundbackground.danger.pressedbackground.danger.default.pressedchange to updated name
backgroundbackground.discovery.defaultbackground.discovery.default.[default]change to updated name
backgroundbackground.discovery.hoveredbackground.discovery.default.hoveredchange to updated name
backgroundbackground.discovery.pressedbackground.discovery.default.pressedchange to updated name
backgroundbackground.danger.boldbackground.danger.bold.defaultchange to updated name
backgroundbackground.selected.defaultbackground.selected.default.[default]change to updated name
backgroundbackground.selected.hoveredbackground.selected.default.hoveredchange to updated name
backgroundbackground.selected.pressedbackground.selected.default.pressedchange to updated name
backgroundbackground.information.defaultbackground.information.default.[default]change to updated name
backgroundbackground.information.hoveredbackground.information.default.hoveredchange to updated name
backgroundbackground.information.pressedbackground.information.default.pressedchange to updated name
backgroundbackground.accent.blue.defaultremovedchange to accent.blue.subtler
backgroundbackground.accent.blue.boldremovedchange to accent.blue.subtle
backgroundbackground.accent.gray.defaultremovedchange to accent.gray.subtler
backgroundbackground.accent.gray.boldremovedchange to accent.gray.subtle
backgroundbackground.accent.purple.defaultremovedchange to accent.purple.subtler
backgroundbackground.accent.purple.boldremovedchange to accent.purple.subtle
backgroundbackground.accent.red.defaultremovedchange to accent.red.subtler
backgroundbackground.accent.red.boldremovedchange to accent.red.subtle
backgroundbackground.brand.defaultbackground.brand.bold.defaultchange to correct token
backgroundbackground.brand.bold.hoveredbackground.brand.bold.hoveredchange to correct token

Unchanged color token names

Most color tokens in the default Fuegokit React theme are unchanged. They are listed here for reference.

Unchanged background color token names.

background

Unchanged background color tokens.

token groupprevious token namestatus
backgroundbackground.accent.blue.bolderno change
backgroundbackground.accent.blue.subtleno change
backgroundbackground.accent.blue.subtlerno change
backgroundbackground.accent.blue.subtlestno change
backgroundbackground.accent.gray.bolderno change
backgroundbackground.accent.gray.subtleno change
backgroundbackground.accent.gray.subtlerno change
backgroundbackground.accent.gray.subtlestno change
backgroundbackground.accent.green.bolderno change
backgroundbackground.accent.green.subtleno change
backgroundbackground.accent.green.subtlerno change
backgroundbackground.accent.green.subtlestno change
backgroundbackground.accent.magenta.bolderno change
backgroundbackground.accent.magenta.subtleno change
backgroundbackground.accent.magenta.subtlerno change
backgroundbackground.accent.magenta.subtlestno change
backgroundbackground.accent.orange.bolderno change
backgroundbackground.accent.orange.subtleno change
backgroundbackground.accent.orange.subtlerno change
backgroundbackground.accent.orange.subtlestno change
backgroundbackground.accent.purple.bolderno change
backgroundbackground.accent.purple.subtleno change
backgroundbackground.accent.purple.subtlerno change
backgroundbackground.accent.purple.subtlestno change
backgroundbackground.accent.red.bolderno change
backgroundbackground.accent.red.subtleno change
backgroundbackground.accent.red.subtlerno change
backgroundbackground.accent.red.subtlestno change
backgroundbackground.accent.teal.bolderno change
backgroundbackground.accent.teal.subtleno change
backgroundbackground.accent.teal.subtlerno change
backgroundbackground.accent.teal.subtlestno change
backgroundbackground.accent.yellow.bolderno change
backgroundbackground.accent.yellow.subtleno change
backgroundbackground.accent.yellow.subtlerno change
backgroundbackground.accent.yellow.subtlestno change
backgroundbackground.brand.boldno change
backgroundbackground.danger.boldno change
backgroundbackground.danger.defaultno change
backgroundbackground.information.boldno change
backgroundbackground.information.defaultno change
backgroundbackground.discovery.boldno change
backgroundbackground.discovery.defaultno change
backgroundbackground.neutral.bold.defaultno change
backgroundbackground.neutral.bold.hoveredno change
backgroundbackground.neutral.bold.pressedno change
backgroundbackground.neutral.subtle.defaultno change
backgroundbackground.neutral.subtle.hoveredno change
backgroundbackground.neutral.subtle.pressedno change
backgroundbackground.selected.bold.defaultno change
backgroundbackground.selected.bold.hoveredno change
backgroundbackground.selected.bold.pressedno change
backgroundbackground.success.bold.defaultno change
backgroundbackground.success.bold.hoveredno change
backgroundbackground.success.bold.pressedno change
backgroundbackground.warning.bold.defaultno change
backgroundbackground.warning.bold.hoveredno change
backgroundbackground.warning.bold.pressedno change
backgroundbackground.input.defaultno change
backgroundbackground.input.hoveredno change
backgroundbackground.input.pressedno change
backgroundbackground.input.inverse.subtleno change
backgroundbackground.disabledno change
Unchanged text color token names.

text

Unchanged text color tokens.

token groupprevious token namestatus
texttext.brandno change
texttext.dangerno change
texttext.defaultno change
texttext.disabledno change
texttext.discoveryno change
texttext.informationno change
texttext.inverseno change
texttext.selectedno change
texttext.subtleno change
texttext.subtlestno change
texttext.successno change
texttext.warning.inverseno change
texttext.warning.defaultno change
texttext.accent.blue.bolderno change
texttext.accent.gray.bolderno change
texttext.accent.green.bolderno change
texttext.accent.magenta.bolderno change
texttext.accent.orange.bolderno change
texttext.accent.purple.bolderno change
texttext.accent.red.bolderno change
texttext.accent.teal.bolderno change
texttext.accent.yellow.bolderno change
texttext.accent.blue.defaultno change
texttext.accent.gray.defaultno change
texttext.accent.green.defaultno change
texttext.accent.magenta.defaultno change
texttext.accent.orange.defaultno change
texttext.accent.purple.defaultno change
texttext.accent.red.defaultno change
texttext.accent.teal.defaultno change
texttext.accent.yellow.defaultno change
linklink.defaultno change
linklink.pressedno change
Unchanged icon overlay color token names.

icon

Unchanged icon color tokens.

token groupprevious token namestatus
iconicon.accent.blueno change
iconicon.accent.grayno change
iconicon.accent.greenno change
iconicon.accent.magentano change
iconicon.accent.orangeno change
iconicon.accent.purpleno change
iconicon.accent.redno change
iconicon.accent.tealno change
iconicon.accent.yellowno change
iconicon.brandno change
iconicon.dangerno change
iconicon.defaultno change
iconicon.disabledno change
iconicon.discoveryno change
iconicon.informationno change
iconicon.inverseno change
iconicon.selectedno change
iconicon.subtleno change
iconicon.successno change
iconicon.warning.defaultno change
iconicon.warning.defaultno change
Unchanged border color token names.

border

Unchanged border color tokens.

token groupprevious token namestatus
borderborder.brandno change
borderborder.dangerno change
borderborder.defaultno change
borderborder.disabledno change
borderborder.discoveryno change
borderborder.focusedno change
borderborder.informationno change
borderborder.inputno change
borderborder.inverseno change
borderborder.selectedno change
borderborder.successno change
borderborder.warningno change
borderborder.subtleno change
borderborder.accent.blueno change
borderborder.accent.grayno change
borderborder.accent.greenno change
borderborder.accent.blueno change
borderborder.accent.magentano change
borderborder.accent.orangeno change
borderborder.accent.purpleno change
borderborder.accent.redno change
borderborder.accent.tealno change
borderborder.accent.yellowno change
Unchanged link loading color token names.

Unchanged link color token names.

token groupprevious token namestatus
linklink.defaultno change
linklink.pressedno change
Unchanged blanket overlay color token names.

blanket

Unchanged blanket overlay color tokens.

token groupprevious token namestatus
blanketblanket.defaultno change
blanketblanket.dangerno change
blanketblanket.selectedno change
Unchanged skeleton loading color token names.

skeleton

Unchanged skeleton loading color token names.

token groupprevious token namestatus
skeletonskeleton.defaultno change
skeletonskeleton.subtleno change
Unchanged interaction color token names.

interaction

Unchanged interaction color token names.

token groupprevious token namestatus
interactioninteraction.hoveredno change
interactionskeleton.pressedno change
Unchanged chart color token names.

chart

Unchanged chart color token names.

token groupprevious token namestatus
chartchart.brand.defaultno change
chartchart.brand.hoveredno change
chartchart.neutral.defaultno change
chartchart.neutral.hoveredno change
chartchart.success.default.[default] no change
chartchart.success.default.hoveredno change
chartchart.success.bold.defaultno change
chartchart.success.bold.hoveredno change
chartchart.danger.default.[default]no change
chartchart.danger.default.hoveredno change
chartchart.danger.bold.defaultno change
chartchart.danger.bold.hoveredno change
chartchart.warning.default.[default]no change
chartchart.warning.default.hoveredno change
chartchart.warning.bold.defaultno change
chartchart.warning.bold.hoveredno change
chartchart.information.default.[default]no change
chartchart.information.default.hoveredno change
chartchart.information.bold.defaultno change
chartchart.information.bold.hoveredno change
chartchart.discovery.default.[default]no change
chartchart.discovery.default.hoveredno change
chartchart.discovery.bold.defaultno change
chartchart.discovery.bold.hoveredno change
chartchart.categorical.1.defaultno change
chartchart.categorical.1.hoveredno change
chartchart.categorical.2.defaultno change
chartchart.categorical.2.hoveredno change
chartchart.categorical.3.defaultno change
chartchart.categorical.3.hoveredno change
chartchart.categorical.4.defaultno change
chartchart.categorical.4.hoveredno change
chartchart.categorical.5.defaultno change
chartchart.categorical.5.hoveredno change
chartchart.categorical.6.defaultno change
chartchart.categorical.6.hoveredno change
chartchart.categorical.7.defaultno change
chartchart.categorical.7.hoveredno change
chartchart.categorical.8.defaultno change
chartchart.categorical.8.hoveredno change
chartchart.blue.bold.defaultno change
chartchart.blue.bold.hoveredno change
chartchart.blue.bolder.defaultno change
chartchart.blue.bolder.hoveredno change
chartchart.blue.boldest.defaultno change
chartchart.blue.boldest.hoveredno change
chartchart.red.bold.defaultno change
chartchart.red.bold.hoveredno change
chartchart.red.bolder.defaultno change
chartchart.red.bolder.hoveredno change
chartchart.red.boldest.defaultno change
chartchart.red.boldest.hoveredno change
chartchart.orange.bold.defaultno change
chartchart.orange.bold.hoveredno change
chartchart.orange.bolder.defaultno change
chartchart.orange.bolder.hoveredno change
chartchart.orange.boldest.defaultno change
chartchart.orange.boldest.hoveredno change
chartchart.yellow.bold.defaultno change
chartchart.yellow.bold.hoveredno change
chartchart.yellow.bolder.defaultno change
chartchart.yellow.bolder.hoveredno change
chartchart.yellow.boldest.defaultno change
chartchart.yellow.boldest.hoveredno change
chartchart.green.bold.defaultno change
chartchart.green.bold.hoveredno change
chartchart.green.bolder.defaultno change
chartchart.green.bolder.hoveredno change
chartchart.green.boldest.defaultno change
chartchart.green.boldest.hoveredno change
chartchart.teal.bold.defaultno change
chartchart.teal.bold.hoveredno change
chartchart.teal.bolder.defaultno change
chartchart.teal.bolder.hoveredno change
chartchart.teal.boldest.defaultno change
chartchart.teal.boldest.hoveredno change
chartchart.purple.bold.defaultno change
chartchart.purple.bold.hoveredno change
chartchart.purple.bolder.defaultno change
chartchart.purple.bolder.hoveredno change
chartchart.purple.boldest.defaultno change
chartchart.purple.boldest.hoveredno change
chartchart.magenta.bold.defaultno change
chartchart.magenta.bold.hoveredno change
chartchart.magenta.bolder.defaultno change
chartchart.magenta.bolder.hoveredno change
chartchart.magenta.boldest.defaultno change
chartchart.magenta.boldest.hoveredno change
chartchart.gray.bold.defaultno change
chartchart.gray.bold.hoveredno change
chartchart.gray.bolder.defaultno change
chartchart.gray.bolder.hoveredno change
chartchart.gray.boldest.defaultno change
chartchart.gray.boldest.hoveredno change

New components

Unless marked otherwise, all new components are considered Experimental. They graduate to Alpha once used in a production application for one month, after which they graduate to Beta status.

Batteries-included components

Additionally, Fuegokit React v3 will begin shipping a selection of ecosystem-specific, "batteries-included" React components that you can use as drop-in replacements in different product ecosystems.

These offer a familiar API and the props that you're used to, but offer some extended capabilities that are unique to Appfire products. They include:

To replace these using codemods, you can run this command:

npx @fuegokit/codemod v3.0.0/transforms/atlaskit-components/transform-atlaskit-to-fuegokit-v3 ./path/to/your/file

For additional details on how to use these Codemods, see this page on the v3 Codemods.


Deprecated components

Components that have been marked as deprecated will

  1. Move into a deprecated bundle
  2. Receive limited ongoing support as the Design Systems team shifts focus to graduated versions and new component work
  3. Be marked as end-of-life 6 months after the date of deprecation
  4. Be removed entirely from Fuegokit React after the end-of-life date has passed

Summary of deprecated components


System props are deprecated

System props are deprecated in all components except the Box and Text utility components.

You can install the Fuegokit React ESLint plugin to lint your React projects for system props and migration help.

npm install @fuegokit/eslint-plugin-fuegokit-react