mirror of
https://github.com/Hopiu/wagtail.git
synced 2026-03-25 10:20:23 +00:00
* Remove useless CSS declaration * Remove commented out styles * Merge duplicate declarations * Remove even more commented out code * Move footer mq to footer declaration * Remove more useless code * Stop vendor prefixing for IE below 11 * Remove useless vendor prefixing * Merge identical declarations * Fix 1px overflow in content wrapper * Fix explorer scrolling when open on mobile * Remove unused import * Add Redux performance measurements to explorer menu * Rewrite explorer reducer to avoid unnecessary operations * Stop changing reducer state on every action regardless of type * Remove redundant children.isFetching property in nodes reducer * Remove redundant children.isLoaded property in nodes reducer * Remove redundant children.isError property in nodes reducer * Refactor nodes explorer reducer with sub-reducer * Fix linting issue * Remove unused class name * Change default icon className from empty string to null * Remove old TODO comment * Hoist icons in ExplorerItem component for better performance * Add comment * Add tooling for performance measurement of React components * Clean up explorer panel component definition * Make performance measurements opt-in * Improve alignment of page explorer menu on mobile * Close explorer on touchend rather than touchstart * Comment out performance measurement code * Remove fade transition completely
30 lines
680 B
JavaScript
30 lines
680 B
JavaScript
import PropTypes from 'prop-types';
|
|
import React from 'react';
|
|
|
|
/**
|
|
* Abstracts away the actual icon implementation (font icons, SVG icons, CSS sprite).
|
|
* Provide a `title` as an accessible label intended for screen readers.
|
|
*/
|
|
const Icon = ({ name, className, title }) => (
|
|
<span>
|
|
<span className={`icon icon-${name} ${className || ''}`} aria-hidden></span>
|
|
{title ? (
|
|
<span className="visuallyhidden">
|
|
{title}
|
|
</span>
|
|
) : null}
|
|
</span>
|
|
);
|
|
|
|
Icon.propTypes = {
|
|
name: PropTypes.string.isRequired,
|
|
className: PropTypes.string,
|
|
title: PropTypes.string,
|
|
};
|
|
|
|
Icon.defaultProps = {
|
|
className: null,
|
|
title: null,
|
|
};
|
|
|
|
export default Icon;
|