Simple React component including two buttons to increae and decrease font size
React Font Size Changer
React Font Size Changer is a simple React component including two buttons to increae and decrease font size of a target text.
Install
npm install --save react-font-size-changer
Props
targets
Array of CSS query selectors for target elements
options
property | detail | default |
---|---|---|
stepSize | Number of px to change for each action (up/down) | 2 |
range | Max number of changes for both increment and decrement | 3 |
onChange
Handle font size change. Triggered each target element separately.
param | detail |
---|---|
element | DOM element whose font size has changed |
newValue | New font size for the element |
oldValue | Old font size for the element |
customButtons
property | detail | default |
---|---|---|
up | Font size increaser element | |
down | Font size decreaser element | |
style | Custom style for each button | |
buttonsMargin | Margin between buttons | 4px |
Example Usage
import React, { Component } from 'react';
import FontSizeChanger from 'react-font-size-changer';
class App extends Component {
render() {
return (
<div className="app">
<FontSizeChanger
targets={['#target .content']}
onChange={(element, newValue, oldValue) => {
console.log(element, newValue, oldValue);
}}
options={{
stepSize: 2,
range: 3
}}
customButtons={{
up: <span style={{'fontSize': '36px'}}>A</span>,
down: <span style={{'fontSize': '20px'}}>A</span>,
style: {
backgroundColor: 'red',
color: 'white',
WebkitBoxSizing: 'border-box',
WebkitBorderRadius: '5px',
width: '60px'
},
buttonsMargin: 10
}}
/>
<div id="target">
<p className="title">This is the title of my target text</p>
<p className="content">This is the content of my target text</p>
</div>
</div>
);
}
}