-
Notifications
You must be signed in to change notification settings - Fork 429
/
Copy pathicon.jsx
35 lines (29 loc) · 923 Bytes
/
icon.jsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import React from 'react';
import IconSettings from '~/components/icon-settings';
import ButtonIcon from '~/components/icon/button-icon';
import ButtonStateful from '~/components/button-stateful'; // `~` is replaced with design-system-react at runtime
class Example extends React.Component {
static displayName = 'ButtonStatefulExample';
state = {
isActive: false,
};
handleOnClick = () => {
this.setState({
isActive: !this.state.isActive,
});
};
render() {
return (
<IconSettings iconPath="/assets/icons">
<ButtonStateful
assistiveText={{ icon: this.state.isActive ? 'liked' : 'not liked' }}
aria-pressed={this.state.isActive}
icon={<ButtonIcon name="like" size="medium" />}
onClick={this.handleOnClick}
variant="icon-filled"
/>
</IconSettings>
);
}
}
export default Example; // export is replaced with `ReactDOM.render(<Example />, mountNode);` at runtime