14.3.5 • Published 8 months ago

@rmwc/icon-button v14.3.5

Weekly downloads
7,830
License
MIT
Repository
github
Last release
8 months ago

Icon Buttons

Icon buttons allow users to take actions, and make choices, with a single tap.

Basic Usage

IconButton inherits from the Icon component and can be passed icons in the same way.

<>
  <IconButton icon="star" label="Rate this!" />

  <IconButton icon="favorite" label="Favorite" disabled />

  <IconButton
    icon="images/icons/twitter.png"
    aria-label="Tweet it!"
    tag="a"
    target="_blank"
    href={`https://twitter.com/intent/tweet?text=${encodeURIComponent(
      'You should definitely be using RMWC for your next project! https://rmwc.io'
    )}`}
  />
</>

Usage as a Toggle

To use as a toggle, specify an additional toggled on state using 'onIcon'.

<>
  <IconButton
    aria-label="favorite"
    icon="favorite_border"
    onIcon="favorite"
  />
  <IconButton
    aria-label="favorite"
    icon="favorite"
    onIcon="favorite"
    disabled
  />
</>
function Controlled() {
  const [isChecked, setIsChecked] = React.useState(false);
  return (
    <>
      <IconButton
        aria-label="start"
        checked={isChecked}
        onClick={() => setIsChecked(!isChecked)}
        onIcon="star"
        icon="star_border"
      />

      <IconButton
        aria-label="social media"
        checked={isChecked}
        onClick={() => setIsChecked(!isChecked)}
        onIcon="images/icons/twitter.png"
        icon="images/icons/facebook.png"
      />
    </>
  );
}
<IconButton
  aria-label="red and green"
  onIcon={
    <div
      style={{
        background: 'red',
        width: '24px',
        height: '24px'
      }}
    />
  }
  icon={
    <div
      style={{
        background: 'green',
        width: '24px',
        height: '24px',
        borderRadius: '50%'
      }}
    />
  }
/>

IconButton

An IconButton component that can also be used as a toggle.

Props

NameTypeDescription
checkedbooleanControls the on / off state of the a toggleable button.
disabledbooleanMakes the button disabled
foundationRefRef<MDCIconButtonToggleFoundation<>>Advanced: A reference to the MDCFoundation. Only for Toggleable buttons.
iconIconPropTIcon for the button
labelstringApply an aria label.
onChange(evt: IconButtonOnChangeEventT) => voidAn onChange callback that receives a custom event. evt.detail = { isOn: boolean }
onIconIconPropTIf specified, renders a toggle with this icon as the on state.
rippleRipplePropTAdds a ripple effect to the component
14.3.5

8 months ago

14.3.4

9 months ago

14.3.3

10 months ago

14.2.7

12 months ago

14.2.8

12 months ago

14.2.9

12 months ago

14.2.5

12 months ago

14.2.6

12 months ago

14.3.0

11 months ago

14.3.1

11 months ago

14.3.2

10 months ago

14.2.2

1 year ago

14.2.0

1 year ago

14.2.1

1 year ago

14.1.5

1 year ago

14.1.4

1 year ago

14.1.3

1 year ago

14.1.2

1 year ago

14.1.1

1 year ago

14.1.0

1 year ago

14.0.12

1 year ago

14.0.11

1 year ago

14.0.10

1 year ago

14.0.9

1 year ago

14.0.8

1 year ago

14.0.7

1 year ago

14.0.6

1 year ago

14.0.5

1 year ago

14.0.4

2 years ago

14.0.1-alpha.0

2 years ago

14.0.2-alpha.3

2 years ago

14.0.2-alpha.0

2 years ago

14.0.2-alpha.1

2 years ago

14.0.2-alpha.6

2 years ago

14.0.2-alpha.7

2 years ago

14.0.2-alpha.4

2 years ago

14.0.2-alpha.5

2 years ago

14.0.0

2 years ago

14.0.1

2 years ago

14.0.0-alpha.0

2 years ago

14.0.2

2 years ago

14.0.3

2 years ago

8.0.8

2 years ago

8.0.7

2 years ago

8.0.6

2 years ago

8.0.5

2 years ago

8.0.4

2 years ago

8.0.3

3 years ago

8.0.2

3 years ago

8.0.1

3 years ago

8.0.0

3 years ago

7.0.3

3 years ago

7.0.2

3 years ago

7.0.1

3 years ago

7.0.0

3 years ago

6.1.4

5 years ago

6.1.3

5 years ago

6.1.2

5 years ago

6.1.1

5 years ago

6.0.14

5 years ago

6.0.13

5 years ago

6.0.12

5 years ago

6.0.11

5 years ago

6.0.10

5 years ago

6.0.9

5 years ago

6.0.5

5 years ago

6.0.4

5 years ago

6.0.1

5 years ago

6.0.0

5 years ago

6.0.3

5 years ago

6.0.2

5 years ago

6.0.0-rc.4

5 years ago

6.0.0-rc.1

5 years ago

6.0.0-rc.3

5 years ago

6.0.0-rc.2

5 years ago

6.0.0-rc.0

5 years ago

6.0.0-alpha.16

5 years ago

6.0.0-alpha.14

5 years ago

6.0.0-alpha.15

5 years ago

6.0.0-alpha.13

5 years ago

6.0.0-alpha.12

5 years ago

6.0.0-alpha.11

5 years ago

6.0.0-alpha.7

5 years ago

5.7.2

6 years ago

6.0.0-alpha.5

6 years ago

6.0.0-alpha.6

6 years ago

6.0.0-alpha.3

6 years ago

5.7.0

6 years ago

5.6.0

6 years ago

5.5.2

6 years ago

5.5.1

6 years ago

5.5.0

6 years ago

5.4.3

6 years ago

5.4.2

6 years ago

5.4.1

6 years ago

5.4.0

6 years ago

5.3.1

6 years ago

5.3.0

6 years ago

5.2.2

6 years ago

5.2.1

6 years ago

5.2.0

6 years ago

5.2.0-alpha.0

6 years ago

5.1.8

6 years ago

5.1.7

6 years ago

5.1.6

6 years ago

5.1.5

6 years ago

5.1.4

6 years ago

5.1.3

6 years ago

5.1.2

6 years ago

5.1.1

6 years ago

5.1.0

6 years ago

5.0.30-rc.0

6 years ago

5.0.29-rc.0

6 years ago

5.0.28-rc.0

6 years ago

5.0.27-rc.0

6 years ago

5.0.26-rc.0

6 years ago

5.0.25-rc.0

6 years ago

5.0.24-rc.0

6 years ago

5.0.23-rc.0

6 years ago

5.0.23-alpha.0

6 years ago

5.0.22-alpha.0

6 years ago

5.0.21-alpha.0

6 years ago

5.0.20-alpha.0

6 years ago

5.0.19-alpha.0

6 years ago

5.0.18-alpha.0

6 years ago

5.0.17-alpha.0

6 years ago

5.0.16-alpha.0

6 years ago

5.0.15-alpha.0

6 years ago

5.0.14-alpha.0

6 years ago

5.0.13-alpha.0

6 years ago

5.0.12-alpha.0

6 years ago

5.0.11-alpha.0

6 years ago

5.0.8-alpha.0

6 years ago

5.0.7-alpha.0

6 years ago

5.0.6-alpha.0

6 years ago

5.0.5-alpha.0

6 years ago

5.0.4-alpha.0

6 years ago

5.0.3-alpha.0

6 years ago

5.0.2-alpha.0

6 years ago

5.0.1-alpha.0

6 years ago

5.0.0-alpha.0

6 years ago

4.0.6

6 years ago

4.0.5

6 years ago

4.0.4

6 years ago

4.0.1

7 years ago

4.0.0

7 years ago

3.0.11

7 years ago

3.0.10

7 years ago

3.0.9

7 years ago

3.0.8

7 years ago

3.0.7

7 years ago

3.0.6

7 years ago

3.0.5

7 years ago

3.0.4

7 years ago

3.0.3

7 years ago

3.0.0

7 years ago

2.2.2

7 years ago

2.2.0

7 years ago

2.1.3

7 years ago

2.1.2

7 years ago

2.1.0

7 years ago

2.0.2

7 years ago

2.0.1

7 years ago

2.0.0

7 years ago

2.0.0-alpha.7

7 years ago

2.0.0-alpha.6

7 years ago

2.0.0-alpha.5

7 years ago

2.0.0-alpha.4

7 years ago

2.0.0-alpha.3

7 years ago

2.0.0-alpha.2

7 years ago

2.0.0-alpha.1

7 years ago

2.0.0-alpha.0

7 years ago

1.10.1-alpha.0

7 years ago

1.10.0-alpha.0

7 years ago