IconTile - `shape` prop and circular tile support removed in `@atlaskit/icon`
- Announced
- Tags
- library-atlaskit
- Severity
- breaking, set by
reef/atlassian-rule-v2 - Source
- https://developer.atlassian.com/changelog/#CHANGE-3332
The deprecated shape prop and UNSAFE_circleReplacementComponent prop have been removed from IconTile in @atlaskit/icon. Circular icon tiles are no longer supported. This follows the deprecation notice issued 6+ months ago.
What’s removed
shapeprop -shape="circle"andshape="square"are no longer accepted. Square is the only shape and is now the default with no prop needed.UNSAFE_circleReplacementComponentprop - the escape hatch introduced during the deprecation period has been removed.
Related resources
- IconTile documentation on atlassian.design
- Previous announcement: CHANGE-3273 - Icon Tile design language improvements
More details
Migration
If you used shape="square" - simply remove the prop. No visual change:
- <IconTile icon={MyIcon} label="" appearance="gray" size="medium" shape="square" />
+ <IconTile icon={MyIcon} label="" appearance="gray" size="medium" />
If you used shape="circle" with UNSAFE_circleReplacementComponent - the replacement component you were already providing is now rendered directly. Remove the IconTile wrapper and render your replacement directly:
- <IconTile
- icon={MyIcon}
- label=""
- appearance="gray"
- shape="circle"
- size="small"
- UNSAFE_circleReplacementComponent={<Box xcss={myCircleStyles}><MyIcon label="" /></Box>}
- />
+ <Box xcss={myCircleStyles}>
+ <MyIcon label="" />
+ </Box>
If you used shape="circle" without a replacement component - use ADS primitives to recreate a circular appearance:
- <IconTile icon={MyIcon} label="" appearance="gray" shape="circle" size="small" />
+ <Box xcss={xcss({ borderRadius: 'border.radius.circle', backgroundColor: 'color.background.neutral' })}>
+ <MyIcon label="" color={token('color.icon.subtle')} />
+ </Box>The text above is the source's. reef added the severity, the dates it could read from the text, and the endpoints and scopes named in code.