Skip to content

Commit

Permalink
fix(button): added logical start/end vals to iconPosition (#9611)
Browse files Browse the repository at this point in the history
* fix(button): added logical start/end vals to iconposition

* chore: updated snaps

* chore: prop desc wording

* chore: note deprecated prop vals

* chore: fix test
  • Loading branch information
mcoker authored Sep 12, 2023
1 parent f916354 commit 50b1bc3
Show file tree
Hide file tree
Showing 7 changed files with 14 additions and 14 deletions.
2 changes: 1 addition & 1 deletion packages/react-core/src/components/BackToTop/BackToTop.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ const BackToTopBase: React.FunctionComponent<BackToTopProps> = ({
onClick={handleClick}
{...props}
>
<Button variant="primary" icon={<AngleUpIcon aria-hidden="true" />} iconPosition="right">
<Button variant="primary" icon={<AngleUpIcon aria-hidden="true" />} iconPosition="end">
{title}
</Button>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ test('Passes correct variant to button child component', () => {
test('Passes correct iconPosition to button child component', () => {
render(<BackToTop />);

expect(screen.getByText('iconPosition: right')).toBeVisible();
expect(screen.getByText('iconPosition: end')).toBeVisible();
});

test('Passes correct icon to button child component', () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ exports[`Matches the snapshot 1`] = `
isInline: undefined
</p>
<p>
iconPosition: right
iconPosition: end
</p>
<div
data-testid="icon"
Expand Down
10 changes: 5 additions & 5 deletions packages/react-core/src/components/Button/Button.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,8 @@ export interface ButtonProps extends Omit<React.HTMLProps<HTMLButtonElement>, 'r
type?: 'button' | 'submit' | 'reset';
/** Adds button variant styles */
variant?: 'primary' | 'secondary' | 'tertiary' | 'danger' | 'warning' | 'link' | 'plain' | 'control';
/** Sets position of the link icon */
iconPosition?: 'left' | 'right';
/** Sets position of the icon. Note: "left" and "right" are deprecated. Use "start" and "end" instead */
iconPosition?: 'start' | 'end' | 'left' | 'right';
/** Adds accessible text to the button. */
'aria-label'?: string;
/** Icon for the button. Usable by all variants except for plain. */
Expand Down Expand Up @@ -108,7 +108,7 @@ const ButtonBase: React.FunctionComponent<ButtonProps> = ({
isInline = false,
type = ButtonType.button,
variant = ButtonVariant.primary,
iconPosition = 'left',
iconPosition = 'start',
'aria-label': ariaLabel = null,
icon = null,
ouiaId,
Expand Down Expand Up @@ -183,11 +183,11 @@ const ButtonBase: React.FunctionComponent<ButtonProps> = ({
</span>
)}
{variant === ButtonVariant.plain && children === null && icon ? icon : null}
{variant !== ButtonVariant.plain && icon && iconPosition === 'left' && (
{variant !== ButtonVariant.plain && icon && (iconPosition === 'start' || iconPosition === 'left') && (
<span className={css(styles.buttonIcon, styles.modifiers.start)}>{icon}</span>
)}
{children}
{variant !== ButtonVariant.plain && icon && iconPosition === 'right' && (
{variant !== ButtonVariant.plain && icon && (iconPosition === 'end' || iconPosition === 'right') && (
<span className={css(styles.buttonIcon, styles.modifiers.end)}>{icon}</span>
)}
{countOptions && (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ export const ButtonVariations: React.FunctionComponent = () => (
<Button variant="link" icon={<PlusCircleIcon />}>
Link
</Button>{' '}
<Button variant="link" icon={<ExternalLinkSquareAltIcon />} iconPosition="right">
<Button variant="link" icon={<ExternalLinkSquareAltIcon />} iconPosition="end">
Link
</Button>{' '}
<Button variant="link" isInline>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ export const SearchInputAdvanced: React.FunctionComponent = () => {
formAdditionalItems={
useCustomFooter ? (
<FormGroup>
<Button variant="link" isInline icon={<ExternalLinkSquareAltIcon />} iconPosition="right">
<Button variant="link" isInline icon={<ExternalLinkSquareAltIcon />} iconPosition="end">
Link
</Button>
</FormGroup>
Expand Down
8 changes: 4 additions & 4 deletions packages/react-core/src/demos/CardDemos.md
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ class CardGridDemo extends React.Component {
</ListItem>
</List>
</Flex>
<Button href="#" component="a" variant="link" isInline icon={<ArrowRightIcon />} iconPosition="right">
<Button href="#" component="a" variant="link" isInline icon={<ArrowRightIcon />} iconPosition="end">
View all set up cluster steps
</Button>
</Flex>
Expand Down Expand Up @@ -196,7 +196,7 @@ class CardGridDemo extends React.Component {
</ListItem>
</List>
</Flex>
<Button href="#" component="a" variant="link" isInline icon={<ArrowRightIcon />} iconPosition="right">
<Button href="#" component="a" variant="link" isInline icon={<ArrowRightIcon />} iconPosition="end">
View all guided tours
</Button>
</Flex>
Expand Down Expand Up @@ -227,7 +227,7 @@ class CardGridDemo extends React.Component {
</ListItem>
</List>
</Flex>
<Button href="#" component="a" variant="link" isInline icon={<ArrowRightIcon />} iconPosition="right">
<Button href="#" component="a" variant="link" isInline icon={<ArrowRightIcon />} iconPosition="end">
View all quick starts
</Button>
</Flex>
Expand Down Expand Up @@ -261,7 +261,7 @@ class CardGridDemo extends React.Component {
</ListItem>
</List>
</Flex>
<Button href="#" component="a" variant="link" isInline icon={<ArrowRightIcon />} iconPosition="right">
<Button href="#" component="a" variant="link" isInline icon={<ArrowRightIcon />} iconPosition="end">
View all learning resources
</Button>
</Flex>
Expand Down

0 comments on commit 50b1bc3

Please sign in to comment.