Update all assets
This commit is contained in:
@@ -23,7 +23,7 @@ as SVG and JS file types.
|
||||
In the Font Awesome Free download, the SIL OFL license applies to all icons
|
||||
packaged as web and desktop font files.
|
||||
|
||||
Copyright (c) 2023 Fonticons, Inc. (https://fontawesome.com)
|
||||
Copyright (c) 2024 Fonticons, Inc. (https://fontawesome.com)
|
||||
with Reserved Font Name: "Font Awesome".
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
@@ -123,7 +123,7 @@ OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
In the Font Awesome Free download, the MIT license applies to all non-font and
|
||||
non-icon files.
|
||||
|
||||
Copyright 2023 Fonticons, Inc.
|
||||
Copyright 2024 Fonticons, Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in the
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
console.log(`Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com
|
||||
License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
Copyright 2023 Fonticons, Inc.
|
||||
`)
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,37 +1,23 @@
|
||||
const { createMacro, MacroError } = require('babel-plugin-macros')
|
||||
const { addNamed } = require('@babel/helper-module-imports')
|
||||
const { FAFamilyIds } = require('@fortawesome-internal-tools/fontawesome-icons/canonical')
|
||||
const { FALegacyStyleIds } = require('@fortawesome-internal-tools/fontawesome-icons/legacy')
|
||||
|
||||
module.exports = createMacro(importer, {
|
||||
configName: 'fontawesome-svg-core'
|
||||
})
|
||||
|
||||
const styles = [
|
||||
'solid',
|
||||
'regular',
|
||||
'light',
|
||||
'thin',
|
||||
'duotone',
|
||||
'brands'
|
||||
]
|
||||
const styles = FALegacyStyleIds
|
||||
|
||||
const macroNames = [
|
||||
...styles,
|
||||
'icon'
|
||||
]
|
||||
const macroNames = [...styles, 'icon']
|
||||
|
||||
const families = [
|
||||
'classic',
|
||||
'duotone',
|
||||
'sharp'
|
||||
]
|
||||
const families = FAFamilyIds.map((family) => family.toLowerCase())
|
||||
|
||||
function importer ({references, state, babel, source, config}) {
|
||||
const license = (config !== undefined ? config.license : 'free')
|
||||
function importer({ references, state, babel, source, config }) {
|
||||
const license = config !== undefined ? config.license : 'free'
|
||||
|
||||
if (!['free', 'pro'].includes(license)) {
|
||||
throw new Error(
|
||||
"config license must be either 'free' or 'pro'"
|
||||
)
|
||||
throw new Error("config license must be either 'free' or 'pro'")
|
||||
}
|
||||
|
||||
Object.keys(references).forEach((key) => {
|
||||
@@ -46,12 +32,12 @@ function importer ({references, state, babel, source, config}) {
|
||||
})
|
||||
}
|
||||
|
||||
function replace ({ macroName, license, references, state, babel, source }) {
|
||||
function replace({ macroName, license, references, state, babel, source }) {
|
||||
references.forEach((nodePath) => {
|
||||
const {iconName, style, family} = resolveReplacement({ nodePath, babel, state, macroName })
|
||||
const { iconName, style, family } = resolveReplacement({ nodePath, babel, state, macroName })
|
||||
|
||||
const name = `fa${capitalize(camelCase(iconName))}`
|
||||
const importFrom = getImport({family, style, license, name})
|
||||
const importFrom = getImport({ family, style, license, name })
|
||||
|
||||
const importName = addNamed(nodePath, name, importFrom)
|
||||
|
||||
@@ -59,7 +45,7 @@ function replace ({ macroName, license, references, state, babel, source }) {
|
||||
})
|
||||
}
|
||||
|
||||
function getImport ({family, style, license, name}) {
|
||||
function getImport({ family, style, license, name }) {
|
||||
if (family) {
|
||||
return `@fortawesome/${family.toLowerCase()}-${style}-svg-icons/${name}`
|
||||
} else if (style === 'brands') {
|
||||
@@ -69,8 +55,8 @@ function getImport ({family, style, license, name}) {
|
||||
}
|
||||
}
|
||||
|
||||
function resolveReplacement ({ nodePath, babel, state, macroName }) {
|
||||
if('icon' === macroName) {
|
||||
function resolveReplacement({ nodePath, babel, state, macroName }) {
|
||||
if ('icon' === macroName) {
|
||||
return resolveReplacementIcon({ nodePath, babel, state, macroName })
|
||||
} else {
|
||||
return resolveReplacementLegacyStyle({ nodePath, babel, state, macroName })
|
||||
@@ -83,52 +69,31 @@ function resolveReplacementLegacyStyle({ nodePath, babel, state, macroName }) {
|
||||
const { parentPath } = nodePath
|
||||
|
||||
if (!styles.includes(macroName)) {
|
||||
throw parentPath.buildCodeFrameError(
|
||||
`${macroName} is not a valid macro name. Use one of ${macroNames.join(', ')}`,
|
||||
MacroError
|
||||
)
|
||||
throw parentPath.buildCodeFrameError(`${macroName} is not a valid macro name. Use one of ${macroNames.join(', ')}`, MacroError)
|
||||
}
|
||||
|
||||
if (parentPath.node.arguments) {
|
||||
if (parentPath.node.arguments.length < 1) {
|
||||
throw parentPath.buildCodeFrameError(
|
||||
`Received an invalid number of arguments for ${macroName} macro: must be exactly 1`,
|
||||
MacroError
|
||||
)
|
||||
throw parentPath.buildCodeFrameError(`Received an invalid number of arguments for ${macroName} macro: must be exactly 1`, MacroError)
|
||||
}
|
||||
|
||||
if (parentPath.node.arguments.length > 1) {
|
||||
throw parentPath.buildCodeFrameError(
|
||||
`Received an invalid number of arguments for ${macroName} macro: must be exactly 1`,
|
||||
MacroError
|
||||
)
|
||||
throw parentPath.buildCodeFrameError(`Received an invalid number of arguments for ${macroName} macro: must be exactly 1`, MacroError)
|
||||
}
|
||||
|
||||
if (
|
||||
(parentPath.node.arguments.length === 1 ||
|
||||
parentPath.node.arguments.length === 2) &&
|
||||
(parentPath.node.arguments.length === 1 || parentPath.node.arguments.length === 2) &&
|
||||
t.isStringLiteral(parentPath.node.arguments[0]) &&
|
||||
nodePath.parentPath.node.arguments[0].value.startsWith('fa-')
|
||||
) {
|
||||
throw parentPath.buildCodeFrameError(
|
||||
`Don't begin the icon name with fa-, just use ${nodePath.parentPath.node.arguments[0].value.slice(3)}`,
|
||||
MacroError
|
||||
)
|
||||
throw parentPath.buildCodeFrameError(`Don't begin the icon name with fa-, just use ${nodePath.parentPath.node.arguments[0].value.slice(3)}`, MacroError)
|
||||
}
|
||||
|
||||
if ((parentPath.node.arguments.length === 1 ||
|
||||
parentPath.node.arguments.length === 2) &&
|
||||
!t.isStringLiteral(parentPath.node.arguments[0])) {
|
||||
throw parentPath.buildCodeFrameError(
|
||||
'Only string literals are supported when referencing icons (use a string here instead)',
|
||||
MacroError
|
||||
)
|
||||
if ((parentPath.node.arguments.length === 1 || parentPath.node.arguments.length === 2) && !t.isStringLiteral(parentPath.node.arguments[0])) {
|
||||
throw parentPath.buildCodeFrameError('Only string literals are supported when referencing icons (use a string here instead)', MacroError)
|
||||
}
|
||||
} else {
|
||||
throw parentPath.buildCodeFrameError(
|
||||
'Pass the icon name you would like to import as an argument.',
|
||||
MacroError
|
||||
)
|
||||
throw parentPath.buildCodeFrameError('Pass the icon name you would like to import as an argument.', MacroError)
|
||||
}
|
||||
|
||||
return {
|
||||
@@ -139,108 +104,78 @@ function resolveReplacementLegacyStyle({ nodePath, babel, state, macroName }) {
|
||||
}
|
||||
|
||||
// The icon() macro.
|
||||
function resolveReplacementIcon ({ nodePath, babel, state, macroName }) {
|
||||
function resolveReplacementIcon({ nodePath, babel, state, macroName }) {
|
||||
const { types: t } = babel
|
||||
const { parentPath } = nodePath
|
||||
|
||||
if ('icon' !== macroName) {
|
||||
throw parentPath.buildCodeFrameError(
|
||||
`${macroName} is not a valid macro name. Use one of ${macroNames.join(', ')}`,
|
||||
MacroError
|
||||
)
|
||||
throw parentPath.buildCodeFrameError(`${macroName} is not a valid macro name. Use one of ${macroNames.join(', ')}`, MacroError)
|
||||
}
|
||||
|
||||
if (parentPath.node.arguments.length !== 1) {
|
||||
throw parentPath.buildCodeFrameError(
|
||||
`Received an invalid number of arguments for ${macroName} macro: must be exactly 1`,
|
||||
MacroError
|
||||
)
|
||||
throw parentPath.buildCodeFrameError(`Received an invalid number of arguments for ${macroName} macro: must be exactly 1`, MacroError)
|
||||
}
|
||||
|
||||
if (!t.isObjectExpression(parentPath.node.arguments[0])) {
|
||||
throw parentPath.buildCodeFrameError(
|
||||
'Only object expressions are supported when referencing icons with this macro, like this: { name: \'star\' }',
|
||||
"Only object expressions are supported when referencing icons with this macro, like this: { name: 'star' }",
|
||||
MacroError
|
||||
)
|
||||
}
|
||||
|
||||
const properties = (parentPath.node.arguments[0].properties || [])
|
||||
const properties = parentPath.node.arguments[0].properties || []
|
||||
|
||||
const namePropIndex = properties.findIndex((prop) => 'name' === prop.key.name)
|
||||
|
||||
const name = namePropIndex >= 0
|
||||
? getStringLiteralPropertyValue(t, parentPath, parentPath.node.arguments[0].properties[namePropIndex])
|
||||
: undefined
|
||||
const name = namePropIndex >= 0 ? getStringLiteralPropertyValue(t, parentPath, parentPath.node.arguments[0].properties[namePropIndex]) : undefined
|
||||
|
||||
if(!name) {
|
||||
throw parentPath.buildCodeFrameError(
|
||||
'The object argument to the icon() macro must have a name property',
|
||||
MacroError
|
||||
)
|
||||
if (!name) {
|
||||
throw parentPath.buildCodeFrameError('The object argument to the icon() macro must have a name property', MacroError)
|
||||
}
|
||||
|
||||
const stylePropIndex = properties.findIndex((prop) => 'style' === prop.key.name)
|
||||
|
||||
let style = stylePropIndex >= 0
|
||||
? getStringLiteralPropertyValue(t, parentPath, parentPath.node.arguments[0].properties[stylePropIndex])
|
||||
: undefined
|
||||
let style = stylePropIndex >= 0 ? getStringLiteralPropertyValue(t, parentPath, parentPath.node.arguments[0].properties[stylePropIndex]) : undefined
|
||||
|
||||
if(style && !styles.includes(style)) {
|
||||
throw parentPath.buildCodeFrameError(
|
||||
`Invalid style name: ${style}. It must be one of the following: ${styles.join(', ')}`,
|
||||
MacroError
|
||||
)
|
||||
if (style && !styles.includes(style)) {
|
||||
throw parentPath.buildCodeFrameError(`Invalid style name: ${style}. It must be one of the following: ${styles.join(', ')}`, MacroError)
|
||||
}
|
||||
|
||||
const familyPropIndex = properties.findIndex((prop) => 'family' === prop.key.name)
|
||||
|
||||
let family = familyPropIndex >= 0
|
||||
? getStringLiteralPropertyValue(t, parentPath, parentPath.node.arguments[0].properties[familyPropIndex])
|
||||
: undefined
|
||||
let family = familyPropIndex >= 0 ? getStringLiteralPropertyValue(t, parentPath, parentPath.node.arguments[0].properties[familyPropIndex]) : undefined
|
||||
|
||||
if(family && !families.includes(family)) {
|
||||
throw parentPath.buildCodeFrameError(
|
||||
`Invalid family name: ${family}. It must be one of the following: ${families.join(', ')}`,
|
||||
MacroError
|
||||
)
|
||||
if (family && !families.includes(family)) {
|
||||
throw parentPath.buildCodeFrameError(`Invalid family name: ${family}. It must be one of the following: ${families.join(', ')}`, MacroError)
|
||||
}
|
||||
|
||||
if('duotone' === style && family && 'classic' !== family) {
|
||||
throw parentPath.buildCodeFrameError(
|
||||
`duotone cannot be used as a style name with any family other than classic`,
|
||||
MacroError
|
||||
)
|
||||
if ('duotone' === style && family && 'classic' !== family) {
|
||||
throw parentPath.buildCodeFrameError(`duotone cannot be used as a style name with any family other than classic`, MacroError)
|
||||
}
|
||||
|
||||
if('brands' === style && family && 'classic' !== family) {
|
||||
throw parentPath.buildCodeFrameError(
|
||||
`brands cannot be used as a style name with any family other than classic`,
|
||||
MacroError
|
||||
)
|
||||
if ('brands' === style && family && 'classic' !== family) {
|
||||
throw parentPath.buildCodeFrameError(`brands cannot be used as a style name with any family other than classic`, MacroError)
|
||||
}
|
||||
|
||||
if(family && !style) {
|
||||
throw parentPath.buildCodeFrameError(
|
||||
`When a family is specified, a style must also be specified`,
|
||||
MacroError
|
||||
)
|
||||
if (family && !style) {
|
||||
throw parentPath.buildCodeFrameError(`When a family is specified, a style must also be specified`, MacroError)
|
||||
}
|
||||
|
||||
if('duotone' === style || 'duotone' === family) {
|
||||
if ('duotone' === style || 'duotone' === family) {
|
||||
family = undefined
|
||||
style = 'duotone'
|
||||
}
|
||||
|
||||
if('brands' === style) {
|
||||
if ('brands' === style) {
|
||||
family = undefined
|
||||
}
|
||||
|
||||
// defaults
|
||||
if(!style) {
|
||||
if (!style) {
|
||||
style = 'solid'
|
||||
}
|
||||
|
||||
if('classic' === family) {
|
||||
if ('classic' === family) {
|
||||
family = undefined
|
||||
}
|
||||
|
||||
@@ -252,40 +187,34 @@ function resolveReplacementIcon ({ nodePath, babel, state, macroName }) {
|
||||
}
|
||||
|
||||
function getStringLiteralPropertyValue(t, parentPath, property) {
|
||||
if(!('object' === typeof t && 'function' === typeof t.isStringLiteral)) {
|
||||
throw Error("ERROR: invalid babel-types arg. This is probably a programming error in import.macro")
|
||||
if (!('object' === typeof t && 'function' === typeof t.isStringLiteral)) {
|
||||
throw Error('ERROR: invalid babel-types arg. This is probably a programming error in import.macro')
|
||||
}
|
||||
|
||||
if(!('object' === typeof property && 'object' === typeof property.value && 'object' == typeof property.key)) {
|
||||
throw Error("ERROR: invalid babel property arg. This is probably a programming error in import.macro")
|
||||
if (!('object' === typeof property && 'object' === typeof property.value && 'object' == typeof property.key)) {
|
||||
throw Error('ERROR: invalid babel property arg. This is probably a programming error in import.macro')
|
||||
}
|
||||
|
||||
if(!('object' === typeof parentPath && 'function' === typeof parentPath.buildCodeFrameError)) {
|
||||
throw Error("ERROR: invalid babel parentPath arg. This is probably a programming error in import.macro")
|
||||
if (!('object' === typeof parentPath && 'function' === typeof parentPath.buildCodeFrameError)) {
|
||||
throw Error('ERROR: invalid babel parentPath arg. This is probably a programming error in import.macro')
|
||||
}
|
||||
|
||||
if(!t.isStringLiteral(property.value)) {
|
||||
throw parentPath.buildCodeFrameError(
|
||||
`Only string literals are supported for the ${property.key.name} property (use a string here instead)`,
|
||||
MacroError
|
||||
)
|
||||
if (!t.isStringLiteral(property.value)) {
|
||||
throw parentPath.buildCodeFrameError(`Only string literals are supported for the ${property.key.name} property (use a string here instead)`, MacroError)
|
||||
}
|
||||
|
||||
return property.value.value
|
||||
}
|
||||
|
||||
function capitalize (str) {
|
||||
function capitalize(str) {
|
||||
return str[0].toUpperCase() + str.slice(1)
|
||||
}
|
||||
|
||||
function camelCase (str) {
|
||||
function camelCase(str) {
|
||||
return str
|
||||
.split('-')
|
||||
.map((s, index) => {
|
||||
return (
|
||||
(index === 0 ? s[0].toLowerCase() : s[0].toUpperCase()) +
|
||||
s.slice(1).toLowerCase()
|
||||
)
|
||||
return (index === 0 ? s[0].toLowerCase() : s[0].toUpperCase()) + s.slice(1).toLowerCase()
|
||||
})
|
||||
.join('')
|
||||
}
|
||||
|
||||
@@ -52,6 +52,7 @@ export interface Config {
|
||||
observeMutations: boolean;
|
||||
keepOriginalSource: boolean;
|
||||
measurePerformance: boolean;
|
||||
mutateApproach: "async" | "sync";
|
||||
showMissingIcons: boolean;
|
||||
}
|
||||
export interface AbstractElement {
|
||||
@@ -120,6 +121,6 @@ export interface DOM {
|
||||
}
|
||||
type IconDefinitionOrPack = IconDefinition | IconPack;
|
||||
export interface Library {
|
||||
add(...definitions: IconDefinitionOrPack[]): void;
|
||||
add(...definitions: IconDefinitionOrPack[] | IconDefinitionOrPack[][]): void;
|
||||
reset(): void;
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -21,9 +21,9 @@
|
||||
"node": ">=6"
|
||||
},
|
||||
"dependencies": {
|
||||
"@fortawesome/fontawesome-common-types": "6.4.0"
|
||||
"@fortawesome/fontawesome-common-types": "6.6.0"
|
||||
},
|
||||
"version": "6.4.0",
|
||||
"version": "6.6.0",
|
||||
"name": "@fortawesome/fontawesome-svg-core",
|
||||
"main": "index.js",
|
||||
"module": "index.mjs",
|
||||
@@ -33,6 +33,7 @@
|
||||
"types": "./index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"types": "./index.d.ts",
|
||||
"module": "./index.mjs",
|
||||
"import": "./index.mjs",
|
||||
"require": "./index.js",
|
||||
@@ -40,18 +41,21 @@
|
||||
"default": "./index.js"
|
||||
},
|
||||
"./index": {
|
||||
"types": "./index.d.ts",
|
||||
"module": "./index.mjs",
|
||||
"import": "./index.mjs",
|
||||
"require": "./index.js",
|
||||
"default": "./index.js"
|
||||
},
|
||||
"./index.js": {
|
||||
"types": "./index.d.ts",
|
||||
"module": "./index.mjs",
|
||||
"import": "./index.mjs",
|
||||
"require": "./index.js",
|
||||
"default": "./index.js"
|
||||
},
|
||||
"./plugins": {
|
||||
"types": "./index.d.ts",
|
||||
"module": "./plugins.mjs",
|
||||
"import": "./plugins.mjs",
|
||||
"default": "./plugins.mjs"
|
||||
@@ -66,8 +70,5 @@
|
||||
"./index.js",
|
||||
"./index.mjs",
|
||||
"./styles.css"
|
||||
],
|
||||
"scripts": {
|
||||
"postinstall": "node attribution.js"
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,13 +1,15 @@
|
||||
:root, :host {
|
||||
--fa-font-solid: normal 900 1em/1 'Font Awesome 6 Solid';
|
||||
--fa-font-regular: normal 400 1em/1 'Font Awesome 6 Regular';
|
||||
--fa-font-light: normal 300 1em/1 'Font Awesome 6 Light';
|
||||
--fa-font-thin: normal 100 1em/1 'Font Awesome 6 Thin';
|
||||
--fa-font-solid: normal 900 1em/1 'Font Awesome 6 Free';
|
||||
--fa-font-regular: normal 400 1em/1 'Font Awesome 6 Free';
|
||||
--fa-font-light: normal 300 1em/1 'Font Awesome 6 Pro';
|
||||
--fa-font-thin: normal 100 1em/1 'Font Awesome 6 Pro';
|
||||
--fa-font-duotone: normal 900 1em/1 'Font Awesome 6 Duotone';
|
||||
--fa-font-brands: normal 400 1em/1 'Font Awesome 6 Brands';
|
||||
--fa-font-sharp-solid: normal 900 1em/1 'Font Awesome 6 Sharp';
|
||||
--fa-font-sharp-regular: normal 400 1em/1 'Font Awesome 6 Sharp';
|
||||
--fa-font-sharp-light: normal 300 1em/1 'Font Awesome 6 Sharp';
|
||||
--fa-font-brands: normal 400 1em/1 'Font Awesome 6 Brands'; }
|
||||
--fa-font-sharp-thin: normal 100 1em/1 'Font Awesome 6 Sharp';
|
||||
--fa-font-sharp-duotone-solid: normal 900 1em/1 'Font Awesome 6 Sharp Duotone'; }
|
||||
|
||||
svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
|
||||
overflow: visible;
|
||||
@@ -63,16 +65,13 @@ svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
|
||||
vertical-align: -.125em;
|
||||
width: 1em; }
|
||||
.fa-layers svg.svg-inline--fa {
|
||||
-webkit-transform-origin: center center;
|
||||
transform-origin: center center; }
|
||||
transform-origin: center center; }
|
||||
|
||||
.fa-layers-text {
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
-webkit-transform: translate(-50%, -50%);
|
||||
transform: translate(-50%, -50%);
|
||||
-webkit-transform-origin: center center;
|
||||
transform-origin: center center; }
|
||||
transform: translate(-50%, -50%);
|
||||
transform-origin: center center; }
|
||||
|
||||
.fa-layers-counter {
|
||||
background-color: var(--fa-counter-background-color, #ff253a);
|
||||
@@ -87,46 +86,36 @@ svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
|
||||
right: var(--fa-right, 0);
|
||||
text-overflow: ellipsis;
|
||||
top: var(--fa-top, 0);
|
||||
-webkit-transform: scale(var(--fa-counter-scale, 0.25));
|
||||
transform: scale(var(--fa-counter-scale, 0.25));
|
||||
-webkit-transform-origin: top right;
|
||||
transform-origin: top right; }
|
||||
transform: scale(var(--fa-counter-scale, 0.25));
|
||||
transform-origin: top right; }
|
||||
|
||||
.fa-layers-bottom-right {
|
||||
bottom: var(--fa-bottom, 0);
|
||||
right: var(--fa-right, 0);
|
||||
top: auto;
|
||||
-webkit-transform: scale(var(--fa-layers-scale, 0.25));
|
||||
transform: scale(var(--fa-layers-scale, 0.25));
|
||||
-webkit-transform-origin: bottom right;
|
||||
transform-origin: bottom right; }
|
||||
transform: scale(var(--fa-layers-scale, 0.25));
|
||||
transform-origin: bottom right; }
|
||||
|
||||
.fa-layers-bottom-left {
|
||||
bottom: var(--fa-bottom, 0);
|
||||
left: var(--fa-left, 0);
|
||||
right: auto;
|
||||
top: auto;
|
||||
-webkit-transform: scale(var(--fa-layers-scale, 0.25));
|
||||
transform: scale(var(--fa-layers-scale, 0.25));
|
||||
-webkit-transform-origin: bottom left;
|
||||
transform-origin: bottom left; }
|
||||
transform: scale(var(--fa-layers-scale, 0.25));
|
||||
transform-origin: bottom left; }
|
||||
|
||||
.fa-layers-top-right {
|
||||
top: var(--fa-top, 0);
|
||||
right: var(--fa-right, 0);
|
||||
-webkit-transform: scale(var(--fa-layers-scale, 0.25));
|
||||
transform: scale(var(--fa-layers-scale, 0.25));
|
||||
-webkit-transform-origin: top right;
|
||||
transform-origin: top right; }
|
||||
transform: scale(var(--fa-layers-scale, 0.25));
|
||||
transform-origin: top right; }
|
||||
|
||||
.fa-layers-top-left {
|
||||
left: var(--fa-left, 0);
|
||||
right: auto;
|
||||
top: var(--fa-top, 0);
|
||||
-webkit-transform: scale(var(--fa-layers-scale, 0.25));
|
||||
transform: scale(var(--fa-layers-scale, 0.25));
|
||||
-webkit-transform-origin: top left;
|
||||
transform-origin: top left; }
|
||||
transform: scale(var(--fa-layers-scale, 0.25));
|
||||
transform-origin: top left; }
|
||||
|
||||
.fa-1x {
|
||||
font-size: 1em; }
|
||||
@@ -200,7 +189,7 @@ svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
|
||||
position: relative; }
|
||||
|
||||
.fa-li {
|
||||
left: calc(var(--fa-li-width, 2em) * -1);
|
||||
left: calc(-1 * var(--fa-li-width, 2em));
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
width: var(--fa-li-width, 2em);
|
||||
@@ -222,118 +211,71 @@ svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
|
||||
margin-left: var(--fa-pull-margin, 0.3em); }
|
||||
|
||||
.fa-beat {
|
||||
-webkit-animation-name: fa-beat;
|
||||
animation-name: fa-beat;
|
||||
-webkit-animation-delay: var(--fa-animation-delay, 0s);
|
||||
animation-delay: var(--fa-animation-delay, 0s);
|
||||
-webkit-animation-direction: var(--fa-animation-direction, normal);
|
||||
animation-direction: var(--fa-animation-direction, normal);
|
||||
-webkit-animation-duration: var(--fa-animation-duration, 1s);
|
||||
animation-duration: var(--fa-animation-duration, 1s);
|
||||
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
-webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
||||
animation-timing-function: var(--fa-animation-timing, ease-in-out); }
|
||||
animation-name: fa-beat;
|
||||
animation-delay: var(--fa-animation-delay, 0s);
|
||||
animation-direction: var(--fa-animation-direction, normal);
|
||||
animation-duration: var(--fa-animation-duration, 1s);
|
||||
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
animation-timing-function: var(--fa-animation-timing, ease-in-out); }
|
||||
|
||||
.fa-bounce {
|
||||
-webkit-animation-name: fa-bounce;
|
||||
animation-name: fa-bounce;
|
||||
-webkit-animation-delay: var(--fa-animation-delay, 0s);
|
||||
animation-delay: var(--fa-animation-delay, 0s);
|
||||
-webkit-animation-direction: var(--fa-animation-direction, normal);
|
||||
animation-direction: var(--fa-animation-direction, normal);
|
||||
-webkit-animation-duration: var(--fa-animation-duration, 1s);
|
||||
animation-duration: var(--fa-animation-duration, 1s);
|
||||
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
-webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
|
||||
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); }
|
||||
animation-name: fa-bounce;
|
||||
animation-delay: var(--fa-animation-delay, 0s);
|
||||
animation-direction: var(--fa-animation-direction, normal);
|
||||
animation-duration: var(--fa-animation-duration, 1s);
|
||||
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); }
|
||||
|
||||
.fa-fade {
|
||||
-webkit-animation-name: fa-fade;
|
||||
animation-name: fa-fade;
|
||||
-webkit-animation-delay: var(--fa-animation-delay, 0s);
|
||||
animation-delay: var(--fa-animation-delay, 0s);
|
||||
-webkit-animation-direction: var(--fa-animation-direction, normal);
|
||||
animation-direction: var(--fa-animation-direction, normal);
|
||||
-webkit-animation-duration: var(--fa-animation-duration, 1s);
|
||||
animation-duration: var(--fa-animation-duration, 1s);
|
||||
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
-webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
||||
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); }
|
||||
animation-name: fa-fade;
|
||||
animation-delay: var(--fa-animation-delay, 0s);
|
||||
animation-direction: var(--fa-animation-direction, normal);
|
||||
animation-duration: var(--fa-animation-duration, 1s);
|
||||
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); }
|
||||
|
||||
.fa-beat-fade {
|
||||
-webkit-animation-name: fa-beat-fade;
|
||||
animation-name: fa-beat-fade;
|
||||
-webkit-animation-delay: var(--fa-animation-delay, 0s);
|
||||
animation-delay: var(--fa-animation-delay, 0s);
|
||||
-webkit-animation-direction: var(--fa-animation-direction, normal);
|
||||
animation-direction: var(--fa-animation-direction, normal);
|
||||
-webkit-animation-duration: var(--fa-animation-duration, 1s);
|
||||
animation-duration: var(--fa-animation-duration, 1s);
|
||||
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
-webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
||||
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); }
|
||||
animation-name: fa-beat-fade;
|
||||
animation-delay: var(--fa-animation-delay, 0s);
|
||||
animation-direction: var(--fa-animation-direction, normal);
|
||||
animation-duration: var(--fa-animation-duration, 1s);
|
||||
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); }
|
||||
|
||||
.fa-flip {
|
||||
-webkit-animation-name: fa-flip;
|
||||
animation-name: fa-flip;
|
||||
-webkit-animation-delay: var(--fa-animation-delay, 0s);
|
||||
animation-delay: var(--fa-animation-delay, 0s);
|
||||
-webkit-animation-direction: var(--fa-animation-direction, normal);
|
||||
animation-direction: var(--fa-animation-direction, normal);
|
||||
-webkit-animation-duration: var(--fa-animation-duration, 1s);
|
||||
animation-duration: var(--fa-animation-duration, 1s);
|
||||
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
-webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
||||
animation-timing-function: var(--fa-animation-timing, ease-in-out); }
|
||||
animation-name: fa-flip;
|
||||
animation-delay: var(--fa-animation-delay, 0s);
|
||||
animation-direction: var(--fa-animation-direction, normal);
|
||||
animation-duration: var(--fa-animation-duration, 1s);
|
||||
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
animation-timing-function: var(--fa-animation-timing, ease-in-out); }
|
||||
|
||||
.fa-shake {
|
||||
-webkit-animation-name: fa-shake;
|
||||
animation-name: fa-shake;
|
||||
-webkit-animation-delay: var(--fa-animation-delay, 0s);
|
||||
animation-delay: var(--fa-animation-delay, 0s);
|
||||
-webkit-animation-direction: var(--fa-animation-direction, normal);
|
||||
animation-direction: var(--fa-animation-direction, normal);
|
||||
-webkit-animation-duration: var(--fa-animation-duration, 1s);
|
||||
animation-duration: var(--fa-animation-duration, 1s);
|
||||
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
-webkit-animation-timing-function: var(--fa-animation-timing, linear);
|
||||
animation-timing-function: var(--fa-animation-timing, linear); }
|
||||
animation-name: fa-shake;
|
||||
animation-delay: var(--fa-animation-delay, 0s);
|
||||
animation-direction: var(--fa-animation-direction, normal);
|
||||
animation-duration: var(--fa-animation-duration, 1s);
|
||||
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
animation-timing-function: var(--fa-animation-timing, linear); }
|
||||
|
||||
.fa-spin {
|
||||
-webkit-animation-name: fa-spin;
|
||||
animation-name: fa-spin;
|
||||
-webkit-animation-delay: var(--fa-animation-delay, 0s);
|
||||
animation-delay: var(--fa-animation-delay, 0s);
|
||||
-webkit-animation-direction: var(--fa-animation-direction, normal);
|
||||
animation-direction: var(--fa-animation-direction, normal);
|
||||
-webkit-animation-duration: var(--fa-animation-duration, 2s);
|
||||
animation-duration: var(--fa-animation-duration, 2s);
|
||||
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
-webkit-animation-timing-function: var(--fa-animation-timing, linear);
|
||||
animation-timing-function: var(--fa-animation-timing, linear); }
|
||||
animation-name: fa-spin;
|
||||
animation-delay: var(--fa-animation-delay, 0s);
|
||||
animation-direction: var(--fa-animation-direction, normal);
|
||||
animation-duration: var(--fa-animation-duration, 2s);
|
||||
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
animation-timing-function: var(--fa-animation-timing, linear); }
|
||||
|
||||
.fa-spin-reverse {
|
||||
--fa-animation-direction: reverse; }
|
||||
|
||||
.fa-pulse,
|
||||
.fa-spin-pulse {
|
||||
-webkit-animation-name: fa-spin;
|
||||
animation-name: fa-spin;
|
||||
-webkit-animation-direction: var(--fa-animation-direction, normal);
|
||||
animation-direction: var(--fa-animation-direction, normal);
|
||||
-webkit-animation-duration: var(--fa-animation-duration, 1s);
|
||||
animation-duration: var(--fa-animation-duration, 1s);
|
||||
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
-webkit-animation-timing-function: var(--fa-animation-timing, steps(8));
|
||||
animation-timing-function: var(--fa-animation-timing, steps(8)); }
|
||||
animation-name: fa-spin;
|
||||
animation-direction: var(--fa-animation-direction, normal);
|
||||
animation-duration: var(--fa-animation-duration, 1s);
|
||||
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||
animation-timing-function: var(--fa-animation-timing, steps(8)); }
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
.fa-beat,
|
||||
@@ -345,219 +287,97 @@ svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
|
||||
.fa-shake,
|
||||
.fa-spin,
|
||||
.fa-spin-pulse {
|
||||
-webkit-animation-delay: -1ms;
|
||||
animation-delay: -1ms;
|
||||
-webkit-animation-duration: 1ms;
|
||||
animation-duration: 1ms;
|
||||
-webkit-animation-iteration-count: 1;
|
||||
animation-iteration-count: 1;
|
||||
-webkit-transition-delay: 0s;
|
||||
transition-delay: 0s;
|
||||
-webkit-transition-duration: 0s;
|
||||
transition-duration: 0s; } }
|
||||
|
||||
@-webkit-keyframes fa-beat {
|
||||
0%, 90% {
|
||||
-webkit-transform: scale(1);
|
||||
transform: scale(1); }
|
||||
45% {
|
||||
-webkit-transform: scale(var(--fa-beat-scale, 1.25));
|
||||
transform: scale(var(--fa-beat-scale, 1.25)); } }
|
||||
animation-delay: -1ms;
|
||||
animation-duration: 1ms;
|
||||
animation-iteration-count: 1;
|
||||
transition-delay: 0s;
|
||||
transition-duration: 0s; } }
|
||||
|
||||
@keyframes fa-beat {
|
||||
0%, 90% {
|
||||
-webkit-transform: scale(1);
|
||||
transform: scale(1); }
|
||||
transform: scale(1); }
|
||||
45% {
|
||||
-webkit-transform: scale(var(--fa-beat-scale, 1.25));
|
||||
transform: scale(var(--fa-beat-scale, 1.25)); } }
|
||||
|
||||
@-webkit-keyframes fa-bounce {
|
||||
0% {
|
||||
-webkit-transform: scale(1, 1) translateY(0);
|
||||
transform: scale(1, 1) translateY(0); }
|
||||
10% {
|
||||
-webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
|
||||
transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); }
|
||||
30% {
|
||||
-webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
|
||||
transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); }
|
||||
50% {
|
||||
-webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
|
||||
transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); }
|
||||
57% {
|
||||
-webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
|
||||
transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); }
|
||||
64% {
|
||||
-webkit-transform: scale(1, 1) translateY(0);
|
||||
transform: scale(1, 1) translateY(0); }
|
||||
100% {
|
||||
-webkit-transform: scale(1, 1) translateY(0);
|
||||
transform: scale(1, 1) translateY(0); } }
|
||||
transform: scale(var(--fa-beat-scale, 1.25)); } }
|
||||
|
||||
@keyframes fa-bounce {
|
||||
0% {
|
||||
-webkit-transform: scale(1, 1) translateY(0);
|
||||
transform: scale(1, 1) translateY(0); }
|
||||
transform: scale(1, 1) translateY(0); }
|
||||
10% {
|
||||
-webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
|
||||
transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); }
|
||||
transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); }
|
||||
30% {
|
||||
-webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
|
||||
transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); }
|
||||
transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); }
|
||||
50% {
|
||||
-webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
|
||||
transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); }
|
||||
transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); }
|
||||
57% {
|
||||
-webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
|
||||
transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); }
|
||||
transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); }
|
||||
64% {
|
||||
-webkit-transform: scale(1, 1) translateY(0);
|
||||
transform: scale(1, 1) translateY(0); }
|
||||
transform: scale(1, 1) translateY(0); }
|
||||
100% {
|
||||
-webkit-transform: scale(1, 1) translateY(0);
|
||||
transform: scale(1, 1) translateY(0); } }
|
||||
|
||||
@-webkit-keyframes fa-fade {
|
||||
50% {
|
||||
opacity: var(--fa-fade-opacity, 0.4); } }
|
||||
transform: scale(1, 1) translateY(0); } }
|
||||
|
||||
@keyframes fa-fade {
|
||||
50% {
|
||||
opacity: var(--fa-fade-opacity, 0.4); } }
|
||||
|
||||
@-webkit-keyframes fa-beat-fade {
|
||||
0%, 100% {
|
||||
opacity: var(--fa-beat-fade-opacity, 0.4);
|
||||
-webkit-transform: scale(1);
|
||||
transform: scale(1); }
|
||||
50% {
|
||||
opacity: 1;
|
||||
-webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));
|
||||
transform: scale(var(--fa-beat-fade-scale, 1.125)); } }
|
||||
|
||||
@keyframes fa-beat-fade {
|
||||
0%, 100% {
|
||||
opacity: var(--fa-beat-fade-opacity, 0.4);
|
||||
-webkit-transform: scale(1);
|
||||
transform: scale(1); }
|
||||
transform: scale(1); }
|
||||
50% {
|
||||
opacity: 1;
|
||||
-webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));
|
||||
transform: scale(var(--fa-beat-fade-scale, 1.125)); } }
|
||||
|
||||
@-webkit-keyframes fa-flip {
|
||||
50% {
|
||||
-webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
|
||||
transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } }
|
||||
transform: scale(var(--fa-beat-fade-scale, 1.125)); } }
|
||||
|
||||
@keyframes fa-flip {
|
||||
50% {
|
||||
-webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
|
||||
transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } }
|
||||
|
||||
@-webkit-keyframes fa-shake {
|
||||
0% {
|
||||
-webkit-transform: rotate(-15deg);
|
||||
transform: rotate(-15deg); }
|
||||
4% {
|
||||
-webkit-transform: rotate(15deg);
|
||||
transform: rotate(15deg); }
|
||||
8%, 24% {
|
||||
-webkit-transform: rotate(-18deg);
|
||||
transform: rotate(-18deg); }
|
||||
12%, 28% {
|
||||
-webkit-transform: rotate(18deg);
|
||||
transform: rotate(18deg); }
|
||||
16% {
|
||||
-webkit-transform: rotate(-22deg);
|
||||
transform: rotate(-22deg); }
|
||||
20% {
|
||||
-webkit-transform: rotate(22deg);
|
||||
transform: rotate(22deg); }
|
||||
32% {
|
||||
-webkit-transform: rotate(-12deg);
|
||||
transform: rotate(-12deg); }
|
||||
36% {
|
||||
-webkit-transform: rotate(12deg);
|
||||
transform: rotate(12deg); }
|
||||
40%, 100% {
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg); } }
|
||||
transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } }
|
||||
|
||||
@keyframes fa-shake {
|
||||
0% {
|
||||
-webkit-transform: rotate(-15deg);
|
||||
transform: rotate(-15deg); }
|
||||
transform: rotate(-15deg); }
|
||||
4% {
|
||||
-webkit-transform: rotate(15deg);
|
||||
transform: rotate(15deg); }
|
||||
transform: rotate(15deg); }
|
||||
8%, 24% {
|
||||
-webkit-transform: rotate(-18deg);
|
||||
transform: rotate(-18deg); }
|
||||
transform: rotate(-18deg); }
|
||||
12%, 28% {
|
||||
-webkit-transform: rotate(18deg);
|
||||
transform: rotate(18deg); }
|
||||
transform: rotate(18deg); }
|
||||
16% {
|
||||
-webkit-transform: rotate(-22deg);
|
||||
transform: rotate(-22deg); }
|
||||
transform: rotate(-22deg); }
|
||||
20% {
|
||||
-webkit-transform: rotate(22deg);
|
||||
transform: rotate(22deg); }
|
||||
transform: rotate(22deg); }
|
||||
32% {
|
||||
-webkit-transform: rotate(-12deg);
|
||||
transform: rotate(-12deg); }
|
||||
transform: rotate(-12deg); }
|
||||
36% {
|
||||
-webkit-transform: rotate(12deg);
|
||||
transform: rotate(12deg); }
|
||||
transform: rotate(12deg); }
|
||||
40%, 100% {
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg); } }
|
||||
|
||||
@-webkit-keyframes fa-spin {
|
||||
0% {
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg); }
|
||||
100% {
|
||||
-webkit-transform: rotate(360deg);
|
||||
transform: rotate(360deg); } }
|
||||
transform: rotate(0deg); } }
|
||||
|
||||
@keyframes fa-spin {
|
||||
0% {
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg); }
|
||||
transform: rotate(0deg); }
|
||||
100% {
|
||||
-webkit-transform: rotate(360deg);
|
||||
transform: rotate(360deg); } }
|
||||
transform: rotate(360deg); } }
|
||||
|
||||
.fa-rotate-90 {
|
||||
-webkit-transform: rotate(90deg);
|
||||
transform: rotate(90deg); }
|
||||
transform: rotate(90deg); }
|
||||
|
||||
.fa-rotate-180 {
|
||||
-webkit-transform: rotate(180deg);
|
||||
transform: rotate(180deg); }
|
||||
transform: rotate(180deg); }
|
||||
|
||||
.fa-rotate-270 {
|
||||
-webkit-transform: rotate(270deg);
|
||||
transform: rotate(270deg); }
|
||||
transform: rotate(270deg); }
|
||||
|
||||
.fa-flip-horizontal {
|
||||
-webkit-transform: scale(-1, 1);
|
||||
transform: scale(-1, 1); }
|
||||
transform: scale(-1, 1); }
|
||||
|
||||
.fa-flip-vertical {
|
||||
-webkit-transform: scale(1, -1);
|
||||
transform: scale(1, -1); }
|
||||
transform: scale(1, -1); }
|
||||
|
||||
.fa-flip-both,
|
||||
.fa-flip-horizontal.fa-flip-vertical {
|
||||
-webkit-transform: scale(-1, -1);
|
||||
transform: scale(-1, -1); }
|
||||
transform: scale(-1, -1); }
|
||||
|
||||
.fa-rotate-by {
|
||||
-webkit-transform: rotate(var(--fa-rotate-angle, none));
|
||||
transform: rotate(var(--fa-rotate-angle, none)); }
|
||||
transform: rotate(var(--fa-rotate-angle, 0)); }
|
||||
|
||||
.fa-stack {
|
||||
display: inline-block;
|
||||
|
||||
Reference in New Issue
Block a user