/** * External dependencies */ import { range } from 'lodash'; /** * WordPress dependencies */ import { __, sprintf } from '@wordpress/i18n'; import { Component } from '@wordpress/element'; import { ToolbarGroup } from '@wordpress/components'; /** * Internal dependencies */ import HeadingLevelIcon from './heading-level-icon'; class HeadingToolbar extends Component { createLevelControl(targetLevel, selectedLevel, onChange) { const isActive = targetLevel === selectedLevel; return { icon: , // translators: %s: heading level e.g: "1", "2", "3" title: sprintf(__('Heading %d'), targetLevel), isActive, onClick: () => onChange(targetLevel), }; } render() { const { isCollapsed = true, minLevel, maxLevel, selectedLevel, onChange, } = this.props; return ( } controls={range(minLevel, maxLevel).map((index) => this.createLevelControl(index, selectedLevel, onChange) )} label={__('Change heading level')} /> ); } } export default HeadingToolbar;