@lifterlms/fontawesome
v0.0.1
Published
A no-conflict fork of Font Awesome for use in LifterLMS projects.
Downloads
5
Readme
LifterLMS Font Awesome
A wrapper around Font Awesome and a collection of related React components for use in LifterLMS projects.
Changelog
Configure and generate CSS files
To create the relevant CSS file which includes all the free icons and necessary CSS classes, create an SCSS file:
$llms-css-prefix: my-prefix-fa;
@import '@lifterlms/fontawesome/src/fontawesome';
The $llms-css-prefix
variable allows creation of the Font Awesome CSS file in a "no-conflict" mode using a different prefix than the default fa
prefix commonly used with Font Awesome. The default prefix, llms-fa
is used by the LifterLMS core plugin. Any other projects should choose a unique prefix in order to avoid conflicts with other plugins (or LifterLMS) which may be loading various other versions of Font Awesome.
Then add an entry to your webpack config file, if you're using @lifterlms/scripts/config/webpack.config.js
:
const { resolve } = require( 'path' ),
config = generate( {} );
config.entry.fontawesome = resolve( './src/scss/fa-file.scss' );
module.exports = config;
When building you'll now find the Font Awesome CSS file at assets/css/fa-file.scss
and the assets/fonts
directory will contain copies of the Font Awesome font files.
Using SVGs
The above steps enable using Font Awesome as a webfont. If you wish to instead use SVGs, you may wish to copy the SVGs to your project's directory. The svg script can be used to copy the source SVGs into you project.
node ./node_modules/@lifterlms/fontawesome/bin/svg.js [destDir]
The destDir
parameter defaults to ./src/img/fontawesome
if omitted.
Component and API Docs
getMetadata
Retrieves metadata for a given icon.
Parameters
- iconId
string
: The icon ID.
Returns
IconMeta|boolean
: An icon metadata object orfalse
if the icon can't be found.
Icon
Renders a Font Awesome icon.
Parameters
- props
Object
: Component properties. - props.icon
string
: The Icon ID. - props.iconStyle
string
: The icon style, enum: "solid", "regular", or "brands". - props.iconPrefix
string
: The project's icon prefix. - props.label
string
: The (optional) accessibility label to display for the icon. - props.wrapperProps
...Object
: Any remaining properties which are passed to the icon wrapper component.
Returns
WPElement
: The component.
IconPicker
Renders an icon picker component, intended to be used within the WordPress block editor.
Parameters
- props
Object
: Component properties. - props.icon
string
: The Icon ID. - props.iconStyle
string
: The icon style, enum: "solid", "regular", or "brands". - props.iconPrefix
string
: The project's icon prefix. - props.controlProps
Object
: Properties to pass through to the component. - props.onChange
Function
: Function called when an icon is selected from the picker. The function is passed three properties: The icon ID, the currently selected style, and the icon's predefined label.
Returns
BaseControl
: A BaseControl containing the icon picker component.