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:
token | previous value | new value | action |
---|---|---|---|
fontSizes.0 | 10px | 10px | no change |
fontSizes.1 | 11px | 11px | no change |
fontSizes.2 | 14px | 12px | fontSizes.2 --> fontSizes.3 |
fontSizes.3 | 16px | 14px | fontSizes.3 --> fontSizes.4 |
fontSizes.4 | 20px | 16px | fontSizes.4 --> fontSizes.5 |
fontSizes.5 | 24px | 18px | fontSizes.5 --> fontSizes.6 |
fontSizes.6 | 28px | 20px | fontSizes.6 --> fontSizes.7 |
fontSizes.7 | 36px | 24px | fontSizes.7 --> fontSizes.11 |
fontSizes.8 | 47px | 28px | fontSizes.8 --> fontSizes.12 |
fontSizes.9 | 62px | 29px | fontSizes.9 --> fontSizes.13 |
fontSizes.10 | 84px | 35px | '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 name | updated token name | previous value | new value | action |
---|---|---|---|---|
themeGet('fontSizes.0 ') | - | 10px | 10px | no change |
themeGet('fontSizes.1 ') | - | 11px | 11px | no change |
themeGet('fontSizes.2 ') | themeGet('fontSizes.3') | 14px | 12px | fontSizes.2 --> fontSizes.3 |
themeGet('fontSizes.3 ') | themeGet('fontSizes.4') | 16px | 14px | fontSizes.3 --> fontSizes.4 |
themeGet('fontSizes.4 ') | themeGet('fontSizes.5') | 20px | 16px | fontSizes.4 --> fontSizes.5 |
themeGet('fontSizes.5 ') | themeGet('fontSizes.6') | 24px | 18px | fontSizes.5 --> fontSizes.6 |
themeGet('fontSizes.6 ') | themeGet('fontSizes.7 ) | 28px | 20px | fontSizes.6 --> fontSizes.7 |
themeGet('fontSizes.7 ') | themeGet('fontSizes.11') | 36px | 24px | fontSizes.7 --> fontSizes.11 |
themeGet('fontSizes.8 ') | themeGet('fontSizes.12') | 47px | 28px | fontSizes.8 --> fontSizes.12 |
themeGet('fontSizes.9 ') | themeGet('fontSizes.13') | 62px | 29px | fontSizes.9 --> fontSizes.13 |
themeGet('fontSizes.10') | - | 84px | 35px | '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 name | new token name | value | action |
---|---|---|---|
- | fontWeights.extraLight | 200 | - |
fontWeights.light | fontWeights.light | 300 | no change |
fontWeights.normal | fontWeights.normal | 400 | no change |
fontWeights.semibold | fontWeights.medium | 500 | fontWeights.semibold --> fontWeights.medium |
fontWeights.bold | fontWeights.semibold | 600 | fontWeights.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:
token | previous value | new value | action |
---|---|---|---|
radii.0 | 0px | 0px | no change |
radii.1 | 3px | 3px | no change |
radii.2 | 4px | 4px | no change |
radii.3 | 6px | 6px | no change |
radii.4 | 100px | 8px | radii.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 name | updated token name | action |
---|---|---|
shadows.shadow.raised | shadows.elevation.shadow.raised | change to updated name |
shadows.shadow.overlay | shadows.elevation.shadow.overlay | change to updated name |
shadows.shadow.overflow | shadows.elevation.shadow.overflow.default | change 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 group | previous token name | updated token name | action |
---|---|---|---|
surface (elevation) | surface.default | elevation.surface.default.[default] | change to updated name |
surface (elevation) | - | elevation.surface.default.hovered | new token; no change |
surface (elevation) | - | elevation.surface.default.pressed | new token; no change |
surface (elevation) | surface.raised | elevation.surface.raised.default | change to updated name |
surface (elevation) | - | elevation.surface.raised.hovered | new token; no change |
surface (elevation) | - | elevation.surface.raised.pressed | new token; no change |
surface (elevation) | surface.overlay | elevation.surface.overlay.default | change to updated name |
surface (elevation) | - | elevation.surface.overlay.hovered | new token; no change |
surface (elevation) | - | elevation.surface.overlay.pressed | new token; no change |
surface (elevation) | surface.sunken | elevation.surface.sunken | change to updated name |
Updated background
color token names.
token group | previous token name | updated token name | action |
---|---|---|---|
background | background.neutral.default | background.neutral.default.[default] | change to updated name |
background | background.neutral.hovered | background.neutral.default.hovered | change to updated name |
background | background.neutral.pressed | background.neutral.default.pressed | change to updated name |
background | background.success.default | background.success.default.[default] | change to updated name |
background | background.success.hovered | background.success.default.hovered | change to updated name |
background | background.success.pressed | background.success.default.pressed | change to updated name |
background | background.danger.default | background.danger.default.[default] | change to updated name |
background | background.danger.hovered | background.danger.default.hovered | change to updated name |
background | background.danger.pressed | background.danger.default.pressed | change to updated name |
background | background.discovery.default | background.discovery.default.[default] | change to updated name |
background | background.discovery.hovered | background.discovery.default.hovered | change to updated name |
background | background.discovery.pressed | background.discovery.default.pressed | change to updated name |
background | background.danger.bold | background.danger.bold.default | change to updated name |
background | background.selected.default | background.selected.default.[default] | change to updated name |
background | background.selected.hovered | background.selected.default.hovered | change to updated name |
background | background.selected.pressed | background.selected.default.pressed | change to updated name |
background | background.information.default | background.information.default.[default] | change to updated name |
background | background.information.hovered | background.information.default.hovered | change to updated name |
background | background.information.pressed | background.information.default.pressed | change to updated name |
background | background.accent.blue.default | removed | change to accent.blue.subtler |
background | background.accent.blue.bold | removed | change to accent.blue.subtle |
background | background.accent.gray.default | removed | change to accent.gray.subtler |
background | background.accent.gray.bold | removed | change to accent.gray.subtle |
background | background.accent.purple.default | removed | change to accent.purple.subtler |
background | background.accent.purple.bold | removed | change to accent.purple.subtle |
background | background.accent.red.default | removed | change to accent.red.subtler |
background | background.accent.red.bold | removed | change to accent.red.subtle |
background | background.brand.default | background.brand.bold.default | change to correct token |
background | background.brand.bold.hovered | background.brand.bold.hovered | change 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 group | previous token name | status |
---|---|---|
background | background.accent.blue.bolder | no change |
background | background.accent.blue.subtle | no change |
background | background.accent.blue.subtler | no change |
background | background.accent.blue.subtlest | no change |
background | background.accent.gray.bolder | no change |
background | background.accent.gray.subtle | no change |
background | background.accent.gray.subtler | no change |
background | background.accent.gray.subtlest | no change |
background | background.accent.green.bolder | no change |
background | background.accent.green.subtle | no change |
background | background.accent.green.subtler | no change |
background | background.accent.green.subtlest | no change |
background | background.accent.magenta.bolder | no change |
background | background.accent.magenta.subtle | no change |
background | background.accent.magenta.subtler | no change |
background | background.accent.magenta.subtlest | no change |
background | background.accent.orange.bolder | no change |
background | background.accent.orange.subtle | no change |
background | background.accent.orange.subtler | no change |
background | background.accent.orange.subtlest | no change |
background | background.accent.purple.bolder | no change |
background | background.accent.purple.subtle | no change |
background | background.accent.purple.subtler | no change |
background | background.accent.purple.subtlest | no change |
background | background.accent.red.bolder | no change |
background | background.accent.red.subtle | no change |
background | background.accent.red.subtler | no change |
background | background.accent.red.subtlest | no change |
background | background.accent.teal.bolder | no change |
background | background.accent.teal.subtle | no change |
background | background.accent.teal.subtler | no change |
background | background.accent.teal.subtlest | no change |
background | background.accent.yellow.bolder | no change |
background | background.accent.yellow.subtle | no change |
background | background.accent.yellow.subtler | no change |
background | background.accent.yellow.subtlest | no change |
background | background.brand.bold | no change |
background | background.danger.bold | no change |
background | background.danger.default | no change |
background | background.information.bold | no change |
background | background.information.default | no change |
background | background.discovery.bold | no change |
background | background.discovery.default | no change |
background | background.neutral.bold.default | no change |
background | background.neutral.bold.hovered | no change |
background | background.neutral.bold.pressed | no change |
background | background.neutral.subtle.default | no change |
background | background.neutral.subtle.hovered | no change |
background | background.neutral.subtle.pressed | no change |
background | background.selected.bold.default | no change |
background | background.selected.bold.hovered | no change |
background | background.selected.bold.pressed | no change |
background | background.success.bold.default | no change |
background | background.success.bold.hovered | no change |
background | background.success.bold.pressed | no change |
background | background.warning.bold.default | no change |
background | background.warning.bold.hovered | no change |
background | background.warning.bold.pressed | no change |
background | background.input.default | no change |
background | background.input.hovered | no change |
background | background.input.pressed | no change |
background | background.input.inverse.subtle | no change |
background | background.disabled | no change |
Unchanged text
color token names.
text
Unchanged text
color tokens.
token group | previous token name | status |
---|---|---|
text | text.brand | no change |
text | text.danger | no change |
text | text.default | no change |
text | text.disabled | no change |
text | text.discovery | no change |
text | text.information | no change |
text | text.inverse | no change |
text | text.selected | no change |
text | text.subtle | no change |
text | text.subtlest | no change |
text | text.success | no change |
text | text.warning.inverse | no change |
text | text.warning.default | no change |
text | text.accent.blue.bolder | no change |
text | text.accent.gray.bolder | no change |
text | text.accent.green.bolder | no change |
text | text.accent.magenta.bolder | no change |
text | text.accent.orange.bolder | no change |
text | text.accent.purple.bolder | no change |
text | text.accent.red.bolder | no change |
text | text.accent.teal.bolder | no change |
text | text.accent.yellow.bolder | no change |
text | text.accent.blue.default | no change |
text | text.accent.gray.default | no change |
text | text.accent.green.default | no change |
text | text.accent.magenta.default | no change |
text | text.accent.orange.default | no change |
text | text.accent.purple.default | no change |
text | text.accent.red.default | no change |
text | text.accent.teal.default | no change |
text | text.accent.yellow.default | no change |
link | link.default | no change |
link | link.pressed | no change |
Unchanged icon
overlay color token names.
icon
Unchanged icon
color tokens.
token group | previous token name | status |
---|---|---|
icon | icon.accent.blue | no change |
icon | icon.accent.gray | no change |
icon | icon.accent.green | no change |
icon | icon.accent.magenta | no change |
icon | icon.accent.orange | no change |
icon | icon.accent.purple | no change |
icon | icon.accent.red | no change |
icon | icon.accent.teal | no change |
icon | icon.accent.yellow | no change |
icon | icon.brand | no change |
icon | icon.danger | no change |
icon | icon.default | no change |
icon | icon.disabled | no change |
icon | icon.discovery | no change |
icon | icon.information | no change |
icon | icon.inverse | no change |
icon | icon.selected | no change |
icon | icon.subtle | no change |
icon | icon.success | no change |
icon | icon.warning.default | no change |
icon | icon.warning.default | no change |
Unchanged border
color token names.
border
Unchanged border
color tokens.
token group | previous token name | status |
---|---|---|
border | border.brand | no change |
border | border.danger | no change |
border | border.default | no change |
border | border.disabled | no change |
border | border.discovery | no change |
border | border.focused | no change |
border | border.information | no change |
border | border.input | no change |
border | border.inverse | no change |
border | border.selected | no change |
border | border.success | no change |
border | border.warning | no change |
border | border.subtle | no change |
border | border.accent.blue | no change |
border | border.accent.gray | no change |
border | border.accent.green | no change |
border | border.accent.blue | no change |
border | border.accent.magenta | no change |
border | border.accent.orange | no change |
border | border.accent.purple | no change |
border | border.accent.red | no change |
border | border.accent.teal | no change |
border | border.accent.yellow | no change |
Unchanged link
loading color token names.
link
Unchanged link
color token names.
token group | previous token name | status |
---|---|---|
link | link.default | no change |
link | link.pressed | no change |
Unchanged blanket
overlay color token names.
blanket
Unchanged blanket
overlay color tokens.
token group | previous token name | status |
---|---|---|
blanket | blanket.default | no change |
blanket | blanket.danger | no change |
blanket | blanket.selected | no change |
Unchanged skeleton
loading color token names.
skeleton
Unchanged skeleton
loading color token names.
token group | previous token name | status |
---|---|---|
skeleton | skeleton.default | no change |
skeleton | skeleton.subtle | no change |
Unchanged interaction
color token names.
interaction
Unchanged interaction
color token names.
token group | previous token name | status |
---|---|---|
interaction | interaction.hovered | no change |
interaction | skeleton.pressed | no change |
Unchanged chart
color token names.
chart
Unchanged chart
color token names.
token group | previous token name | status |
---|---|---|
chart | chart.brand.default | no change |
chart | chart.brand.hovered | no change |
chart | chart.neutral.default | no change |
chart | chart.neutral.hovered | no change |
chart | chart.success.default.[default] | no change |
chart | chart.success.default.hovered | no change |
chart | chart.success.bold.default | no change |
chart | chart.success.bold.hovered | no change |
chart | chart.danger.default.[default] | no change |
chart | chart.danger.default.hovered | no change |
chart | chart.danger.bold.default | no change |
chart | chart.danger.bold.hovered | no change |
chart | chart.warning.default.[default] | no change |
chart | chart.warning.default.hovered | no change |
chart | chart.warning.bold.default | no change |
chart | chart.warning.bold.hovered | no change |
chart | chart.information.default.[default] | no change |
chart | chart.information.default.hovered | no change |
chart | chart.information.bold.default | no change |
chart | chart.information.bold.hovered | no change |
chart | chart.discovery.default.[default] | no change |
chart | chart.discovery.default.hovered | no change |
chart | chart.discovery.bold.default | no change |
chart | chart.discovery.bold.hovered | no change |
chart | chart.categorical.1.default | no change |
chart | chart.categorical.1.hovered | no change |
chart | chart.categorical.2.default | no change |
chart | chart.categorical.2.hovered | no change |
chart | chart.categorical.3.default | no change |
chart | chart.categorical.3.hovered | no change |
chart | chart.categorical.4.default | no change |
chart | chart.categorical.4.hovered | no change |
chart | chart.categorical.5.default | no change |
chart | chart.categorical.5.hovered | no change |
chart | chart.categorical.6.default | no change |
chart | chart.categorical.6.hovered | no change |
chart | chart.categorical.7.default | no change |
chart | chart.categorical.7.hovered | no change |
chart | chart.categorical.8.default | no change |
chart | chart.categorical.8.hovered | no change |
chart | chart.blue.bold.default | no change |
chart | chart.blue.bold.hovered | no change |
chart | chart.blue.bolder.default | no change |
chart | chart.blue.bolder.hovered | no change |
chart | chart.blue.boldest.default | no change |
chart | chart.blue.boldest.hovered | no change |
chart | chart.red.bold.default | no change |
chart | chart.red.bold.hovered | no change |
chart | chart.red.bolder.default | no change |
chart | chart.red.bolder.hovered | no change |
chart | chart.red.boldest.default | no change |
chart | chart.red.boldest.hovered | no change |
chart | chart.orange.bold.default | no change |
chart | chart.orange.bold.hovered | no change |
chart | chart.orange.bolder.default | no change |
chart | chart.orange.bolder.hovered | no change |
chart | chart.orange.boldest.default | no change |
chart | chart.orange.boldest.hovered | no change |
chart | chart.yellow.bold.default | no change |
chart | chart.yellow.bold.hovered | no change |
chart | chart.yellow.bolder.default | no change |
chart | chart.yellow.bolder.hovered | no change |
chart | chart.yellow.boldest.default | no change |
chart | chart.yellow.boldest.hovered | no change |
chart | chart.green.bold.default | no change |
chart | chart.green.bold.hovered | no change |
chart | chart.green.bolder.default | no change |
chart | chart.green.bolder.hovered | no change |
chart | chart.green.boldest.default | no change |
chart | chart.green.boldest.hovered | no change |
chart | chart.teal.bold.default | no change |
chart | chart.teal.bold.hovered | no change |
chart | chart.teal.bolder.default | no change |
chart | chart.teal.bolder.hovered | no change |
chart | chart.teal.boldest.default | no change |
chart | chart.teal.boldest.hovered | no change |
chart | chart.purple.bold.default | no change |
chart | chart.purple.bold.hovered | no change |
chart | chart.purple.bolder.default | no change |
chart | chart.purple.bolder.hovered | no change |
chart | chart.purple.boldest.default | no change |
chart | chart.purple.boldest.hovered | no change |
chart | chart.magenta.bold.default | no change |
chart | chart.magenta.bold.hovered | no change |
chart | chart.magenta.bolder.default | no change |
chart | chart.magenta.bolder.hovered | no change |
chart | chart.magenta.boldest.default | no change |
chart | chart.magenta.boldest.hovered | no change |
chart | chart.gray.bold.default | no change |
chart | chart.gray.bold.hovered | no change |
chart | chart.gray.bolder.default | no change |
chart | chart.gray.bolder.hovered | no change |
chart | chart.gray.boldest.default | no change |
chart | chart.gray.boldest.hovered | no 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.
- Avatar
- Code
- Collapse
- Combobox
- Dropdown
- GlobalHeader
- GlobalHeaderMenu
- Popover
- ProductSurvey
- ActionsFilter
- Autocomplete
- RuleItem
- IconWithTooltip
- ScrollableList
- Select
- Switch
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
- Move into a deprecated bundle
- Receive limited ongoing support as the Design Systems team shifts focus to graduated versions and new component work
- Be marked as end-of-life 6 months after the date of deprecation
- Be removed entirely from Fuegokit React after the end-of-life date has passed
Summary of deprecated components
- AdminFeaturesCard
- AdminFeaturesCardGrid
- AdvancedFeaturesCardGrid
- ButtonCard
- CoreFeaturesCard
- CoreFeaturesCardGrid
- ListCard
- MicroHeader
- SectionHeader
- MktgButton
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