@fortawesome/fontawesome-svg-core
Version:
The iconic font, CSS, and SVG framework
1,749 lines (1,724 loc) • 153 kB
JavaScript
function _arrayLikeToArray(r, a) {
(null == a || a > r.length) && (a = r.length);
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
return n;
}
function _arrayWithHoles(r) {
if (Array.isArray(r)) return r;
}
function _arrayWithoutHoles(r) {
if (Array.isArray(r)) return _arrayLikeToArray(r);
}
function _classCallCheck(a, n) {
if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
}
function _defineProperties(e, r) {
for (var t = 0; t < r.length; t++) {
var o = r[t];
o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o);
}
}
function _createClass(e, r, t) {
return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", {
writable: !1
}), e;
}
function _createForOfIteratorHelper(r, e) {
var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
if (!t) {
if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) {
t && (r = t);
var n = 0,
F = function () {};
return {
s: F,
n: function () {
return n >= r.length ? {
done: !0
} : {
done: !1,
value: r[n++]
};
},
e: function (r) {
throw r;
},
f: F
};
}
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
var o,
a = !0,
u = !1;
return {
s: function () {
t = t.call(r);
},
n: function () {
var r = t.next();
return a = r.done, r;
},
e: function (r) {
u = !0, o = r;
},
f: function () {
try {
a || null == t.return || t.return();
} finally {
if (u) throw o;
}
}
};
}
function _defineProperty(e, r, t) {
return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
value: t,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[r] = t, e;
}
function _inherits(t, e) {
if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function");
t.prototype = Object.create(e && e.prototype, {
constructor: {
value: t,
writable: !0,
configurable: !0
}
}), Object.defineProperty(t, "prototype", {
writable: !1
}), e && _setPrototypeOf(t, e);
}
function _iterableToArray(r) {
if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
}
function _iterableToArrayLimit(r, l) {
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
if (null != t) {
var e,
n,
i,
u,
a = [],
f = !0,
o = !1;
try {
if (i = (t = t.call(r)).next, 0 === l) {
if (Object(t) !== t) return;
f = !1;
} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
} catch (r) {
o = !0, n = r;
} finally {
try {
if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
} finally {
if (o) throw n;
}
}
return a;
}
}
function _nonIterableRest() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _nonIterableSpread() {
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function ownKeys(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function (r) {
return Object.getOwnPropertyDescriptor(e, r).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread2(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
_defineProperty(e, r, t[r]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
});
}
return e;
}
function _setPrototypeOf(t, e) {
return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {
return t.__proto__ = e, t;
}, _setPrototypeOf(t, e);
}
function _slicedToArray(r, e) {
return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
}
function _toConsumableArray(r) {
return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();
}
function _toPrimitive(t, r) {
if ("object" != typeof t || !t) return t;
var e = t[Symbol.toPrimitive];
if (void 0 !== e) {
var i = e.call(t, r || "default");
if ("object" != typeof i) return i;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return ("string" === r ? String : Number)(t);
}
function _toPropertyKey(t) {
var i = _toPrimitive(t, "string");
return "symbol" == typeof i ? i : i + "";
}
function _typeof(o) {
"@babel/helpers - typeof";
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
return typeof o;
} : function (o) {
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
}, _typeof(o);
}
function _unsupportedIterableToArray(r, a) {
if (r) {
if ("string" == typeof r) return _arrayLikeToArray(r, a);
var t = {}.toString.call(r).slice(8, -1);
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
}
}
function _wrapRegExp() {
_wrapRegExp = function (e, r) {
return new BabelRegExp(e, void 0, r);
};
var e = RegExp.prototype,
r = new WeakMap();
function BabelRegExp(e, t, p) {
var o = RegExp(e, t);
return r.set(o, p || r.get(e)), _setPrototypeOf(o, BabelRegExp.prototype);
}
function buildGroups(e, t) {
var p = r.get(t);
return Object.keys(p).reduce(function (r, t) {
var o = p[t];
if ("number" == typeof o) r[t] = e[o];else {
for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++;
r[t] = e[o[i]];
}
return r;
}, Object.create(null));
}
return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) {
var t = e.exec.call(this, r);
if (t) {
t.groups = buildGroups(t, this);
var p = t.indices;
p && (p.groups = buildGroups(p, this));
}
return t;
}, BabelRegExp.prototype[Symbol.replace] = function (t, p) {
if ("string" == typeof p) {
var o = r.get(this);
return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) {
if ("" === t) return e;
var p = o[r];
return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : "";
}));
}
if ("function" == typeof p) {
var i = this;
return e[Symbol.replace].call(this, t, function () {
var e = arguments;
return "object" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e);
});
}
return e[Symbol.replace].call(this, t, p);
}, _wrapRegExp.apply(this, arguments);
}
var _plugins = [];
var _hooks = {};
var providers = {};
var defaultProviderKeys = Object.keys(providers);
function registerPlugins(nextPlugins, _ref) {
var obj = _ref.mixoutsTo;
_plugins = nextPlugins;
_hooks = {};
Object.keys(providers).forEach(function (k) {
if (defaultProviderKeys.indexOf(k) === -1) {
delete providers[k];
}
});
_plugins.forEach(function (plugin) {
var mixout = plugin.mixout ? plugin.mixout() : {};
Object.keys(mixout).forEach(function (tk) {
if (typeof mixout[tk] === 'function') {
obj[tk] = mixout[tk];
}
if (_typeof(mixout[tk]) === 'object') {
Object.keys(mixout[tk]).forEach(function (sk) {
if (!obj[tk]) {
obj[tk] = {};
}
obj[tk][sk] = mixout[tk][sk];
});
}
});
if (plugin.hooks) {
var hooks = plugin.hooks();
Object.keys(hooks).forEach(function (hook) {
if (!_hooks[hook]) {
_hooks[hook] = [];
}
_hooks[hook].push(hooks[hook]);
});
}
if (plugin.provides) {
plugin.provides(providers);
}
});
return obj;
}
function chainHooks(hook, accumulator) {
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
args[_key - 2] = arguments[_key];
}
var hookFns = _hooks[hook] || [];
hookFns.forEach(function (hookFn) {
accumulator = hookFn.apply(null, [accumulator].concat(args));
});
return accumulator;
}
function callHooks(hook) {
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
args[_key2 - 1] = arguments[_key2];
}
var hookFns = _hooks[hook] || [];
hookFns.forEach(function (hookFn) {
hookFn.apply(null, args);
});
return undefined;
}
function callProvided() {
var hook = arguments[0];
var args = Array.prototype.slice.call(arguments, 1);
return providers[hook] ? providers[hook].apply(null, args) : undefined;
}
var noop = function noop() {};
var _WINDOW = {};
var _DOCUMENT = {};
var _MUTATION_OBSERVER = null;
var _PERFORMANCE = {
mark: noop,
measure: noop
};
try {
if (typeof window !== 'undefined') _WINDOW = window;
if (typeof document !== 'undefined') _DOCUMENT = document;
if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER = MutationObserver;
if (typeof performance !== 'undefined') _PERFORMANCE = performance;
} catch (e) {} // eslint-disable-line no-empty
var _ref = _WINDOW.navigator || {},
_ref$userAgent = _ref.userAgent,
userAgent = _ref$userAgent === void 0 ? '' : _ref$userAgent;
var WINDOW = _WINDOW;
var DOCUMENT = _DOCUMENT;
var MUTATION_OBSERVER = _MUTATION_OBSERVER;
var PERFORMANCE = _PERFORMANCE;
var IS_BROWSER = !!WINDOW.document;
var IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';
var IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');
var _cl;
var Z = /fa(k|kd|s|r|l|t|d|dr|dl|dt|b|slr|slpr|wsb|tl|ns|nds|es|gt|jr|jfr|jdr|usb|ufsb|udsb|cr|ss|sr|sl|st|sds|sdr|sdl|sdt|sldr|slpdr|pr|ms|vs)?[\-\ ]/,
$ = /Font ?Awesome ?([567 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit|Notdog Duo|Notdog|Chisel|Etch|Graphite|Thumbprint|Jelly Fill|Jelly Duo|Jelly|Utility|Utility Fill|Utility Duo|Slab Press|Slab|Slab Duo|Slab Press Duo|Pixel|Mosaic|Vellum|Whiteboard)?.*/i;
var rl = {
classic: {
fa: "solid",
fas: "solid",
"fa-solid": "solid",
far: "regular",
"fa-regular": "regular",
fal: "light",
"fa-light": "light",
fat: "thin",
"fa-thin": "thin",
fab: "brands",
"fa-brands": "brands"
},
duotone: {
fa: "solid",
fad: "solid",
"fa-solid": "solid",
"fa-duotone": "solid",
fadr: "regular",
"fa-regular": "regular",
fadl: "light",
"fa-light": "light",
fadt: "thin",
"fa-thin": "thin"
},
sharp: {
fa: "solid",
fass: "solid",
"fa-solid": "solid",
fasr: "regular",
"fa-regular": "regular",
fasl: "light",
"fa-light": "light",
fast: "thin",
"fa-thin": "thin"
},
"sharp-duotone": {
fa: "solid",
fasds: "solid",
"fa-solid": "solid",
fasdr: "regular",
"fa-regular": "regular",
fasdl: "light",
"fa-light": "light",
fasdt: "thin",
"fa-thin": "thin"
},
slab: {
"fa-regular": "regular",
faslr: "regular"
},
"slab-press": {
"fa-regular": "regular",
faslpr: "regular"
},
"slab-duo": {
"fa-regular": "regular",
fasldr: "regular"
},
"slab-press-duo": {
"fa-regular": "regular",
faslpdr: "regular"
},
thumbprint: {
"fa-light": "light",
fatl: "light"
},
vellum: {
"fa-solid": "solid",
favs: "solid"
},
pixel: {
"fa-regular": "regular",
fapr: "regular"
},
mosaic: {
"fa-solid": "solid",
fams: "solid"
},
whiteboard: {
"fa-semibold": "semibold",
fawsb: "semibold"
},
notdog: {
"fa-solid": "solid",
fans: "solid"
},
"notdog-duo": {
"fa-solid": "solid",
fands: "solid"
},
etch: {
"fa-solid": "solid",
faes: "solid"
},
graphite: {
"fa-thin": "thin",
fagt: "thin"
},
jelly: {
"fa-regular": "regular",
fajr: "regular"
},
"jelly-fill": {
"fa-regular": "regular",
fajfr: "regular"
},
"jelly-duo": {
"fa-regular": "regular",
fajdr: "regular"
},
chisel: {
"fa-regular": "regular",
facr: "regular"
},
utility: {
"fa-semibold": "semibold",
fausb: "semibold"
},
"utility-duo": {
"fa-semibold": "semibold",
faudsb: "semibold"
},
"utility-fill": {
"fa-semibold": "semibold",
faufsb: "semibold"
}
},
il = {
GROUP: "duotone-group",
SWAP_OPACITY: "swap-opacity",
PRIMARY: "primary",
SECONDARY: "secondary"
},
dl = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone", "fa-thumbprint", "fa-whiteboard", "fa-notdog", "fa-notdog-duo", "fa-chisel", "fa-etch", "fa-graphite", "fa-jelly", "fa-jelly-fill", "fa-jelly-duo", "fa-slab", "fa-slab-press", "fa-slab-press-duo", "fa-slab-duo", "fa-mosaic", "fa-pixel", "fa-vellum", "fa-utility", "fa-utility-duo", "fa-utility-fill"];
var u = "classic",
l = "duotone",
h = "sharp",
t = "sharp-duotone",
g = "chisel",
n = "etch",
m = "graphite",
p = "jelly",
s = "jelly-duo",
y = "jelly-fill",
w = "mosaic",
x = "notdog",
e = "notdog-duo",
b = "pixel",
c = "slab",
o = "slab-duo",
I = "slab-press",
a = "slab-press-duo",
r = "thumbprint",
v = "utility",
i = "utility-duo",
F = "utility-fill",
d = "vellum",
S = "whiteboard",
A = "Classic",
P = "Duotone",
j = "Sharp",
B = "Sharp Duotone",
N = "Chisel",
D = "Etch",
k = "Graphite",
T = "Jelly",
C = "Jelly Duo",
W = "Jelly Fill",
R = "Mosaic",
K = "Notdog",
L = "Notdog Duo",
U = "Pixel",
J = "Slab",
_ = "Slab Duo",
M = "Slab Press",
E = "Slab Press Duo",
G = "Thumbprint",
V = "Utility",
z = "Utility Duo",
O = "Utility Fill",
Y = "Vellum",
q = "Whiteboard",
xl = [u, l, h, t, g, n, m, p, s, y, w, x, e, b, c, o, I, a, r, v, i, F, d, S],
cl = (_cl = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_cl, u, A), l, P), h, j), t, B), g, N), n, D), m, k), p, T), s, C), y, W), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_cl, w, R), x, K), e, L), b, U), c, J), o, _), I, M), a, E), r, G), v, V), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_cl, i, z), F, O), d, Y), S, q));
var Al = {
classic: {
900: "fas",
400: "far",
normal: "far",
300: "fal",
100: "fat"
},
duotone: {
900: "fad",
400: "fadr",
300: "fadl",
100: "fadt"
},
sharp: {
900: "fass",
400: "fasr",
300: "fasl",
100: "fast"
},
"sharp-duotone": {
900: "fasds",
400: "fasdr",
300: "fasdl",
100: "fasdt"
},
slab: {
400: "faslr"
},
"slab-press": {
400: "faslpr"
},
"slab-duo": {
400: "fasldr"
},
"slab-press-duo": {
400: "faslpdr"
},
vellum: {
900: "favs"
},
mosaic: {
900: "fams"
},
pixel: {
400: "fapr"
},
whiteboard: {
600: "fawsb"
},
thumbprint: {
300: "fatl"
},
notdog: {
900: "fans"
},
"notdog-duo": {
900: "fands"
},
etch: {
900: "faes"
},
graphite: {
100: "fagt"
},
chisel: {
400: "facr"
},
jelly: {
400: "fajr"
},
"jelly-fill": {
400: "fajfr"
},
"jelly-duo": {
400: "fajdr"
},
utility: {
600: "fausb"
},
"utility-duo": {
600: "faudsb"
},
"utility-fill": {
600: "faufsb"
}
};
var zl = {
"Font Awesome 7 Free": {
900: "fas",
400: "far"
},
"Font Awesome 7 Pro": {
900: "fas",
400: "far",
normal: "far",
300: "fal",
100: "fat"
},
"Font Awesome 7 Brands": {
400: "fab",
normal: "fab"
},
"Font Awesome 7 Duotone": {
900: "fad",
400: "fadr",
normal: "fadr",
300: "fadl",
100: "fadt"
},
"Font Awesome 7 Sharp": {
900: "fass",
400: "fasr",
normal: "fasr",
300: "fasl",
100: "fast"
},
"Font Awesome 7 Sharp Duotone": {
900: "fasds",
400: "fasdr",
normal: "fasdr",
300: "fasdl",
100: "fasdt"
},
"Font Awesome 7 Jelly": {
400: "fajr",
normal: "fajr"
},
"Font Awesome 7 Jelly Fill": {
400: "fajfr",
normal: "fajfr"
},
"Font Awesome 7 Jelly Duo": {
400: "fajdr",
normal: "fajdr"
},
"Font Awesome 7 Slab": {
400: "faslr",
normal: "faslr"
},
"Font Awesome 7 Slab Press": {
400: "faslpr",
normal: "faslpr"
},
"Font Awesome 7 Slab Duo": {
400: "fasldr",
normal: "fasldr"
},
"Font Awesome 7 Slab Press Duo": {
400: "faslpdr",
normal: "faslpdr"
},
"Font Awesome 7 Pixel": {
400: "fapr",
normal: "fapr"
},
"Font Awesome 7 Mosaic": {
900: "fams",
normal: "fams"
},
"Font Awesome 7 Vellum": {
900: "favs",
normal: "favs"
},
"Font Awesome 7 Thumbprint": {
300: "fatl",
normal: "fatl"
},
"Font Awesome 7 Notdog": {
900: "fans",
normal: "fans"
},
"Font Awesome 7 Notdog Duo": {
900: "fands",
normal: "fands"
},
"Font Awesome 7 Etch": {
900: "faes",
normal: "faes"
},
"Font Awesome 7 Graphite": {
100: "fagt",
normal: "fagt"
},
"Font Awesome 7 Chisel": {
400: "facr",
normal: "facr"
},
"Font Awesome 7 Whiteboard": {
600: "fawsb",
normal: "fawsb"
},
"Font Awesome 7 Utility": {
600: "fausb",
normal: "fausb"
},
"Font Awesome 7 Utility Duo": {
600: "faudsb",
normal: "faudsb"
},
"Font Awesome 7 Utility Fill": {
600: "faufsb",
normal: "faufsb"
}
};
var Ql = new Map([["classic", {
defaultShortPrefixId: "fas",
defaultStyleId: "solid",
styleIds: ["solid", "regular", "light", "thin", "brands"],
futureStyleIds: [],
defaultFontWeight: 900
}], ["duotone", {
defaultShortPrefixId: "fad",
defaultStyleId: "solid",
styleIds: ["solid", "regular", "light", "thin"],
futureStyleIds: [],
defaultFontWeight: 900
}], ["sharp", {
defaultShortPrefixId: "fass",
defaultStyleId: "solid",
styleIds: ["solid", "regular", "light", "thin"],
futureStyleIds: [],
defaultFontWeight: 900
}], ["sharp-duotone", {
defaultShortPrefixId: "fasds",
defaultStyleId: "solid",
styleIds: ["solid", "regular", "light", "thin"],
futureStyleIds: [],
defaultFontWeight: 900
}], ["chisel", {
defaultShortPrefixId: "facr",
defaultStyleId: "regular",
styleIds: ["regular"],
futureStyleIds: [],
defaultFontWeight: 400
}], ["etch", {
defaultShortPrefixId: "faes",
defaultStyleId: "solid",
styleIds: ["solid"],
futureStyleIds: [],
defaultFontWeight: 900
}], ["graphite", {
defaultShortPrefixId: "fagt",
defaultStyleId: "thin",
styleIds: ["thin"],
futureStyleIds: [],
defaultFontWeight: 100
}], ["jelly", {
defaultShortPrefixId: "fajr",
defaultStyleId: "regular",
styleIds: ["regular"],
futureStyleIds: [],
defaultFontWeight: 400
}], ["jelly-duo", {
defaultShortPrefixId: "fajdr",
defaultStyleId: "regular",
styleIds: ["regular"],
futureStyleIds: [],
defaultFontWeight: 400
}], ["jelly-fill", {
defaultShortPrefixId: "fajfr",
defaultStyleId: "regular",
styleIds: ["regular"],
futureStyleIds: [],
defaultFontWeight: 400
}], ["mosaic", {
defaultShortPrefixId: "fams",
defaultStyleId: "solid",
styleIds: ["solid"],
futureStyleIds: [],
defaultFontWeight: 900
}], ["notdog", {
defaultShortPrefixId: "fans",
defaultStyleId: "solid",
styleIds: ["solid"],
futureStyleIds: [],
defaultFontWeight: 900
}], ["notdog-duo", {
defaultShortPrefixId: "fands",
defaultStyleId: "solid",
styleIds: ["solid"],
futureStyleIds: [],
defaultFontWeight: 900
}], ["pixel", {
defaultShortPrefixId: "fapr",
defaultStyleId: "regular",
styleIds: ["regular"],
futureStyleIds: [],
defaultFontWeight: 400
}], ["slab", {
defaultShortPrefixId: "faslr",
defaultStyleId: "regular",
styleIds: ["regular"],
futureStyleIds: [],
defaultFontWeight: 400
}], ["slab-duo", {
defaultShortPrefixId: "fasldr",
defaultStyleId: "regular",
styleIds: ["regular"],
futureStyleIds: [],
defaultFontWeight: 400
}], ["slab-press", {
defaultShortPrefixId: "faslpr",
defaultStyleId: "regular",
styleIds: ["regular"],
futureStyleIds: [],
defaultFontWeight: 400
}], ["slab-press-duo", {
defaultShortPrefixId: "faslpdr",
defaultStyleId: "regular",
styleIds: ["regular"],
futureStyleIds: [],
defaultFontWeight: 400
}], ["thumbprint", {
defaultShortPrefixId: "fatl",
defaultStyleId: "light",
styleIds: ["light"],
futureStyleIds: [],
defaultFontWeight: 300
}], ["utility", {
defaultShortPrefixId: "fausb",
defaultStyleId: "semibold",
styleIds: ["semibold"],
futureStyleIds: [],
defaultFontWeight: 600
}], ["utility-duo", {
defaultShortPrefixId: "faudsb",
defaultStyleId: "semibold",
styleIds: ["semibold"],
futureStyleIds: [],
defaultFontWeight: 600
}], ["utility-fill", {
defaultShortPrefixId: "faufsb",
defaultStyleId: "semibold",
styleIds: ["semibold"],
futureStyleIds: [],
defaultFontWeight: 600
}], ["vellum", {
defaultShortPrefixId: "favs",
defaultStyleId: "solid",
styleIds: ["solid"],
futureStyleIds: [],
defaultFontWeight: 900
}], ["whiteboard", {
defaultShortPrefixId: "fawsb",
defaultStyleId: "semibold",
styleIds: ["semibold"],
futureStyleIds: [],
defaultFontWeight: 600
}]]),
$l = {
chisel: {
regular: "facr"
},
classic: {
brands: "fab",
light: "fal",
regular: "far",
solid: "fas",
thin: "fat"
},
duotone: {
light: "fadl",
regular: "fadr",
solid: "fad",
thin: "fadt"
},
etch: {
solid: "faes"
},
graphite: {
thin: "fagt"
},
jelly: {
regular: "fajr"
},
"jelly-duo": {
regular: "fajdr"
},
"jelly-fill": {
regular: "fajfr"
},
mosaic: {
solid: "fams"
},
notdog: {
solid: "fans"
},
"notdog-duo": {
solid: "fands"
},
pixel: {
regular: "fapr"
},
sharp: {
light: "fasl",
regular: "fasr",
solid: "fass",
thin: "fast"
},
"sharp-duotone": {
light: "fasdl",
regular: "fasdr",
solid: "fasds",
thin: "fasdt"
},
slab: {
regular: "faslr"
},
"slab-duo": {
regular: "fasldr"
},
"slab-press": {
regular: "faslpr"
},
"slab-press-duo": {
regular: "faslpdr"
},
thumbprint: {
light: "fatl"
},
utility: {
semibold: "fausb"
},
"utility-duo": {
semibold: "faudsb"
},
"utility-fill": {
semibold: "faufsb"
},
vellum: {
solid: "favs"
},
whiteboard: {
semibold: "fawsb"
}
};
var at = ["fak", "fa-kit", "fakd", "fa-kit-duotone"],
rt = {
kit: {
fak: "kit",
"fa-kit": "kit"
},
"kit-duotone": {
fakd: "kit-duotone",
"fa-kit-duotone": "kit-duotone"
}
},
it = ["kit"];
var H = "kit",
f = "kit-duotone",
Q = "Kit",
X = "Kit Duotone",
ht = _defineProperty(_defineProperty({}, H, Q), f, X);
var mt = {
kit: {
"fa-kit": "fak"
},
"kit-duotone": {
"fa-kit-duotone": "fakd"
}
};
var ct = {
"Font Awesome Kit": {
400: "fak",
normal: "fak"
},
"Font Awesome Kit Duotone": {
400: "fakd",
normal: "fakd"
}
},
It = {
kit: {
fak: "fa-kit"
},
"kit-duotone": {
fakd: "fa-kit-duotone"
}
};
var St = {
kit: {
kit: "fak"
},
"kit-duotone": {
"kit-duotone": "fakd"
}
};
var _jl;
var l$1 = {
GROUP: "duotone-group",
SWAP_OPACITY: "swap-opacity",
PRIMARY: "primary",
SECONDARY: "secondary"
},
n$1 = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone", "fa-thumbprint", "fa-whiteboard", "fa-notdog", "fa-notdog-duo", "fa-chisel", "fa-etch", "fa-graphite", "fa-jelly", "fa-jelly-fill", "fa-jelly-duo", "fa-slab", "fa-slab-press", "fa-slab-press-duo", "fa-slab-duo", "fa-mosaic", "fa-pixel", "fa-vellum", "fa-utility", "fa-utility-duo", "fa-utility-fill"];
var g$1 = "classic",
a$1 = "duotone",
m$1 = "sharp",
t$1 = "sharp-duotone",
p$1 = "chisel",
y$1 = "etch",
b$1 = "graphite",
w$1 = "jelly",
e$1 = "jelly-duo",
x$1 = "jelly-fill",
c$1 = "mosaic",
I$1 = "notdog",
o$1 = "notdog-duo",
v$1 = "pixel",
F$1 = "slab",
r$1 = "slab-duo",
S$1 = "slab-press",
i$1 = "slab-press-duo",
d$1 = "thumbprint",
A$1 = "utility",
f$1 = "utility-duo",
P$1 = "utility-fill",
u$1 = "vellum",
j$1 = "whiteboard",
B$1 = "Classic",
N$1 = "Duotone",
D$1 = "Sharp",
k$1 = "Sharp Duotone",
C$1 = "Chisel",
T$1 = "Etch",
L$1 = "Graphite",
W$1 = "Jelly",
R$1 = "Jelly Duo",
K$1 = "Jelly Fill",
U$1 = "Mosaic",
J$1 = "Notdog",
_$1 = "Notdog Duo",
M$1 = "Pixel",
E$1 = "Slab",
G$1 = "Slab Duo",
O$1 = "Slab Press",
V$1 = "Slab Press Duo",
z$1 = "Thumbprint",
Y$1 = "Utility",
$$1 = "Utility Duo",
q$1 = "Utility Fill",
H$1 = "Vellum",
Q$1 = "Whiteboard",
jl$1 = (_jl = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_jl, g$1, B$1), a$1, N$1), m$1, D$1), t$1, k$1), p$1, C$1), y$1, T$1), b$1, L$1), w$1, W$1), e$1, R$1), x$1, K$1), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_jl, c$1, U$1), I$1, J$1), o$1, _$1), v$1, M$1), F$1, E$1), r$1, G$1), S$1, O$1), i$1, V$1), d$1, z$1), A$1, Y$1), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_jl, f$1, $$1), P$1, q$1), u$1, H$1), j$1, Q$1));
var X$1 = "kit",
h$1 = "kit-duotone",
Z$1 = "Kit",
ll$1 = "Kit Duotone",
ws = _defineProperty(_defineProperty({}, X$1, Z$1), h$1, ll$1);
var ra = {
classic: {
"fa-brands": "fab",
"fa-duotone": "fad",
"fa-light": "fal",
"fa-regular": "far",
"fa-solid": "fas",
"fa-thin": "fat"
},
duotone: {
"fa-regular": "fadr",
"fa-light": "fadl",
"fa-thin": "fadt"
},
sharp: {
"fa-solid": "fass",
"fa-regular": "fasr",
"fa-light": "fasl",
"fa-thin": "fast"
},
"sharp-duotone": {
"fa-solid": "fasds",
"fa-regular": "fasdr",
"fa-light": "fasdl",
"fa-thin": "fasdt"
},
slab: {
"fa-regular": "faslr"
},
"slab-press": {
"fa-regular": "faslpr"
},
"slab-duo": {
"fa-regular": "fasldr"
},
"slab-press-duo": {
"fa-regular": "faslpdr"
},
pixel: {
"fa-regular": "fapr"
},
mosaic: {
"fa-solid": "fams"
},
vellum: {
"fa-solid": "favs"
},
whiteboard: {
"fa-semibold": "fawsb"
},
thumbprint: {
"fa-light": "fatl"
},
notdog: {
"fa-solid": "fans"
},
"notdog-duo": {
"fa-solid": "fands"
},
etch: {
"fa-solid": "faes"
},
graphite: {
"fa-thin": "fagt"
},
jelly: {
"fa-regular": "fajr"
},
"jelly-fill": {
"fa-regular": "fajfr"
},
"jelly-duo": {
"fa-regular": "fajdr"
},
chisel: {
"fa-regular": "facr"
},
utility: {
"fa-semibold": "fausb"
},
"utility-duo": {
"fa-semibold": "faudsb"
},
"utility-fill": {
"fa-semibold": "faufsb"
}
},
al$1 = {
classic: ["fas", "far", "fal", "fat", "fad"],
duotone: ["fadr", "fadl", "fadt"],
sharp: ["fass", "fasr", "fasl", "fast"],
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"],
slab: ["faslr"],
"slab-press": ["faslpr"],
"slab-duo": ["fasldr"],
"slab-press-duo": ["faslpdr"],
pixel: ["fapr"],
mosaic: ["fams"],
vellum: ["favs"],
whiteboard: ["fawsb"],
thumbprint: ["fatl"],
notdog: ["fans"],
"notdog-duo": ["fands"],
etch: ["faes"],
graphite: ["fagt"],
jelly: ["fajr"],
"jelly-fill": ["fajfr"],
"jelly-duo": ["fajdr"],
chisel: ["facr"],
utility: ["fausb"],
"utility-duo": ["faudsb"],
"utility-fill": ["faufsb"]
},
da = {
classic: {
fab: "fa-brands",
fad: "fa-duotone",
fal: "fa-light",
far: "fa-regular",
fas: "fa-solid",
fat: "fa-thin"
},
duotone: {
fadr: "fa-regular",
fadl: "fa-light",
fadt: "fa-thin"
},
sharp: {
fass: "fa-solid",
fasr: "fa-regular",
fasl: "fa-light",
fast: "fa-thin"
},
"sharp-duotone": {
fasds: "fa-solid",
fasdr: "fa-regular",
fasdl: "fa-light",
fasdt: "fa-thin"
},
slab: {
faslr: "fa-regular"
},
"slab-press": {
faslpr: "fa-regular"
},
"slab-duo": {
fasldr: "fa-regular"
},
"slab-press-duo": {
faslpdr: "fa-regular"
},
pixel: {
fapr: "fa-regular"
},
mosaic: {
fams: "fa-solid"
},
vellum: {
favs: "fa-solid"
},
whiteboard: {
fawsb: "fa-semibold"
},
thumbprint: {
fatl: "fa-light"
},
notdog: {
fans: "fa-solid"
},
"notdog-duo": {
fands: "fa-solid"
},
etch: {
faes: "fa-solid"
},
graphite: {
fagt: "fa-thin"
},
jelly: {
fajr: "fa-regular"
},
"jelly-fill": {
fajfr: "fa-regular"
},
"jelly-duo": {
fajdr: "fa-regular"
},
chisel: {
facr: "fa-regular"
},
utility: {
fausb: "fa-semibold"
},
"utility-duo": {
faudsb: "fa-semibold"
},
"utility-fill": {
faufsb: "fa-semibold"
}
},
tl = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands", "fa-semibold"],
ha = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", "faslr", "faslpr", "fasldr", "faslpdr", "fapr", "fams", "favs", "fawsb", "fatl", "fans", "fands", "faes", "fagt", "fajr", "fajfr", "fajdr", "facr", "fausb", "faudsb", "faufsb"].concat(n$1, tl),
el$1 = ["solid", "regular", "light", "thin", "duotone", "brands", "semibold"],
sl$1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
ol$1 = sl$1.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]),
rl$1 = ["aw", "fw", "pull-left", "pull-right"],
ga = [].concat(_toConsumableArray(Object.keys(al$1)), el$1, rl$1, ["2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "beat-fade", "border", "bounce", "buzz", "canvas-square", "canvas-roomy", "fade", "flip-360", "flip-both", "flip-horizontal", "flip-vertical", "flip", "float", "inverse", "jello", "layers", "layers-bottom-left", "layers-bottom-right", "layers-counter", "layers-text", "layers-top-left", "layers-top-right", "li", "pull-end", "pull-start", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "spin-snap", "spin-snap-4", "spin-snap-8", "stack-1x", "stack-2x", "stack", "swing", "ul", "wag", "width-auto", "width-fixed", l$1.GROUP, l$1.SWAP_OPACITY, l$1.PRIMARY, l$1.SECONDARY]).concat(sl$1.map(function (s) {
return "".concat(s, "x");
})).concat(ol$1.map(function (s) {
return "w-".concat(s);
}));
var wa = {
"Font Awesome 5 Free": {
900: "fas",
400: "far"
},
"Font Awesome 5 Pro": {
900: "fas",
400: "far",
normal: "far",
300: "fal"
},
"Font Awesome 5 Brands": {
400: "fab",
normal: "fab"
},
"Font Awesome 5 Duotone": {
900: "fad"
}
};
var NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';
var UNITS_IN_GRID = 16;
var DEFAULT_CSS_PREFIX = 'fa';
var DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';
var DATA_FA_I2SVG = 'data-fa-i2svg';
var DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';
var DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';
var DATA_PREFIX = 'data-prefix';
var DATA_ICON = 'data-icon';
var HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';
var MUTATION_APPROACH_ASYNC = 'async';
var TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];
var PSEUDO_ELEMENTS = ['::before', '::after', ':before', ':after'];
var PRODUCTION = function () {
try {
return process.env.NODE_ENV === 'production';
} catch (e$$1) {
return false;
}
}();
function familyProxy(obj) {
// Defaults to the classic family if family is not available
return new Proxy(obj, {
get: function get(target, prop) {
return prop in target ? target[prop] : target[u];
}
});
}
var _PREFIX_TO_STYLE = _objectSpread2({}, rl);
// We changed FACSSClassesToStyleId in the icons repo to be canonical and as such, "classic" family does not have any
// duotone styles. But we do still need duotone in _PREFIX_TO_STYLE below, so we are manually adding
// {'fa-duotone': 'duotone'}
_PREFIX_TO_STYLE[u] = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {
'fa-duotone': 'duotone'
}), rl[u]), rt['kit']), rt['kit-duotone']);
var PREFIX_TO_STYLE = familyProxy(_PREFIX_TO_STYLE);
var _STYLE_TO_PREFIX = _objectSpread2({}, $l);
// We changed FAStyleIdToShortPrefixId in the icons repo to be canonical and as such, "classic" family does not have any
// duotone styles. But we do still need duotone in _STYLE_TO_PREFIX below, so we are manually adding {duotone: 'fad'}
_STYLE_TO_PREFIX[u] = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {
duotone: 'fad'
}), _STYLE_TO_PREFIX[u]), St['kit']), St['kit-duotone']);
var STYLE_TO_PREFIX = familyProxy(_STYLE_TO_PREFIX);
var _PREFIX_TO_LONG_STYLE = _objectSpread2({}, da);
_PREFIX_TO_LONG_STYLE[u] = _objectSpread2(_objectSpread2({}, _PREFIX_TO_LONG_STYLE[u]), It['kit']);
var PREFIX_TO_LONG_STYLE = familyProxy(_PREFIX_TO_LONG_STYLE);
var _LONG_STYLE_TO_PREFIX = _objectSpread2({}, ra);
_LONG_STYLE_TO_PREFIX[u] = _objectSpread2(_objectSpread2({}, _LONG_STYLE_TO_PREFIX[u]), mt['kit']);
var LONG_STYLE_TO_PREFIX = familyProxy(_LONG_STYLE_TO_PREFIX);
var ICON_SELECTION_SYNTAX_PATTERN = Z;
var LAYERS_TEXT_CLASSNAME = 'fa-layers-text';
var FONT_FAMILY_PATTERN = $;
var _FONT_WEIGHT_TO_PREFIX = _objectSpread2({}, Al);
var FONT_WEIGHT_TO_PREFIX = familyProxy(_FONT_WEIGHT_TO_PREFIX);
var ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];
var DUOTONE_CLASSES = il;
var RESERVED_CLASSES = [].concat(_toConsumableArray(it), _toConsumableArray(ga));
var initial = WINDOW.FontAwesomeConfig || {};
function getAttrConfig(attr) {
var element = DOCUMENT.querySelector('script[' + attr + ']');
if (element) {
return element.getAttribute(attr);
}
}
function coerce(val) {
// Getting an empty string will occur if the attribute is set on the HTML tag but without a value
// We'll assume that this is an indication that it should be toggled to true
if (val === '') return true;
if (val === 'false') return false;
if (val === 'true') return true;
return val;
}
if (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {
var attrs = [['data-family-prefix', 'familyPrefix'], ['data-css-prefix', 'cssPrefix'], ['data-family-default', 'familyDefault'], ['data-style-default', 'styleDefault'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-search-pseudo-elements-warnings', 'searchPseudoElementsWarnings'], ['data-search-pseudo-elements-full-scan', 'searchPseudoElementsFullScan'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];
attrs.forEach(function (_ref) {
var _ref2 = _slicedToArray(_ref, 2),
attr = _ref2[0],
key = _ref2[1];
var val = coerce(getAttrConfig(attr));
if (val !== undefined && val !== null) {
initial[key] = val;
}
});
}
var _default = {
styleDefault: 'solid',
familyDefault: u,
cssPrefix: DEFAULT_CSS_PREFIX,
replacementClass: DEFAULT_REPLACEMENT_CLASS,
autoReplaceSvg: true,
autoAddCss: true,
searchPseudoElements: false,
searchPseudoElementsWarnings: true,
searchPseudoElementsFullScan: false,
observeMutations: true,
mutateApproach: 'async',
keepOriginalSource: true,
measurePerformance: false,
showMissingIcons: true
};
// familyPrefix is deprecated but we must still support it if present
if (initial.familyPrefix) {
initial.cssPrefix = initial.familyPrefix;
}
var _config = _objectSpread2(_objectSpread2({}, _default), initial);
if (!_config.autoReplaceSvg) _config.observeMutations = false;
var config = {};
Object.keys(_default).forEach(function (key) {
Object.defineProperty(config, key, {
enumerable: true,
set: function set(val) {
_config[key] = val;
_onChangeCb.forEach(function (cb) {
return cb(config);
});
},
get: function get() {
return _config[key];
}
});
});
// familyPrefix is deprecated as of 6.2.0 and should be removed in 7.0.0
Object.defineProperty(config, 'familyPrefix', {
enumerable: true,
set: function set(val) {
_config.cssPrefix = val;
_onChangeCb.forEach(function (cb) {
return cb(config);
});
},
get: function get() {
return _config.cssPrefix;
}
});
WINDOW.FontAwesomeConfig = config;
var _onChangeCb = [];
function onChange(cb) {
_onChangeCb.push(cb);
return function () {
_onChangeCb.splice(_onChangeCb.indexOf(cb), 1);
};
}
var w$2 = WINDOW || {};
if (!w$2[NAMESPACE_IDENTIFIER]) w$2[NAMESPACE_IDENTIFIER] = {};
if (!w$2[NAMESPACE_IDENTIFIER].styles) w$2[NAMESPACE_IDENTIFIER].styles = {};
if (!w$2[NAMESPACE_IDENTIFIER].hooks) w$2[NAMESPACE_IDENTIFIER].hooks = {};
if (!w$2[NAMESPACE_IDENTIFIER].shims) w$2[NAMESPACE_IDENTIFIER].shims = [];
var namespace = w$2[NAMESPACE_IDENTIFIER];
var functions = [];
var _listener = function listener() {
DOCUMENT.removeEventListener('DOMContentLoaded', _listener);
loaded = 1;
functions.map(function (fn) {
return fn();
});
};
var loaded = false;
if (IS_DOM) {
loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);
if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', _listener);
}
function domready (fn) {
if (!IS_DOM) return;
loaded ? setTimeout(fn, 0) : functions.push(fn);
}
var d$2 = UNITS_IN_GRID;
var meaninglessTransform = {
size: 16,
x: 0,
y: 0,
rotate: 0,
flipX: false,
flipY: false
};
function insertCss(css) {
if (!css || !IS_DOM) {
return;
}
var style = DOCUMENT.createElement('style');
style.setAttribute('type', 'text/css');
style.innerHTML = css;
var headChildren = DOCUMENT.head.childNodes;
var beforeChild = null;
for (var i = headChildren.length - 1; i > -1; i--) {
var child = headChildren[i];
var tagName = (child.tagName || '').toUpperCase();
if (['STYLE', 'LINK'].indexOf(tagName) > -1) {
beforeChild = child;
}
}
DOCUMENT.head.insertBefore(style, beforeChild);
return css;
}
var idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
function nextUniqueId() {
var size = 12;
var id = '';
while (size-- > 0) {
id += idPool[Math.random() * 62 | 0];
}
return id;
}
function toArray(obj) {
var array = [];
for (var i = (obj || []).length >>> 0; i--;) {
array[i] = obj[i];
}
return array;
}
function classArray(node) {
if (node.classList) {
return toArray(node.classList);
} else {
return (node.getAttribute('class') || '').split(' ').filter(function (i) {
return i;
});
}
}
function htmlEscape(str) {
return "".concat(str).replace(/&/g, '&').replace(/"/g, '"').replace(/'/g, ''').replace(/</g, '<').replace(/>/g, '>');
}
function joinAttributes(attributes) {
return Object.keys(attributes || {}).reduce(function (acc, attributeName) {
return acc + "".concat(attributeName, "=\"").concat(htmlEscape(attributes[attributeName]), "\" ");
}, '').trim();
}
function joinStyles(styles) {
return Object.keys(styles || {}).reduce(function (acc, styleName) {
return acc + "".concat(styleName, ": ").concat(styles[styleName].trim(), ";");
}, '');
}
function transformIsMeaningful(transform) {
return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;
}
function transformForSvg(_ref) {
var transform = _ref.transform,
containerWidth = _ref.containerWidth,
iconWidth = _ref.iconWidth;
var outer = {
transform: "translate(".concat(containerWidth / 2, " 256)")
};
var innerTranslate = "translate(".concat(transform.x * 32, ", ").concat(transform.y * 32, ") ");
var innerScale = "scale(".concat(transform.size / 16 * (transform.flipX ? -1 : 1), ", ").concat(transform.size / 16 * (transform.flipY ? -1 : 1), ") ");
var innerRotate = "rotate(".concat(transform.rotate, " 0 0)");
var inner = {
transform: "".concat(innerTranslate, " ").concat(innerScale, " ").concat(innerRotate)
};
var path = {
transform: "translate(".concat(iconWidth / 2 * -1, " -256)")
};
return {
outer: outer,
inner: inner,
path: path
};
}
function transformForCss(_ref2) {
var transform = _ref2.transform,
_ref2$width = _ref2.width,
width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,
_ref2$height = _ref2.height,
height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,
_ref2$startCentered = _ref2.startCentered,
startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;
var val = '';
if (startCentered && IS_IE) {
val += "translate(".concat(transform.x / d$2 - width / 2, "em, ").concat(transform.y / d$2 - height / 2, "em) ");
} else if (startCentered) {
val += "translate(calc(-50% + ".concat(transform.x / d$2, "em), calc(-50% + ").concat(transform.y / d$2, "em)) ");
} else {
val += "translate(".concat(transform.x / d$2, "em, ").concat(transform.y / d$2, "em) ");
}
val += "scale(".concat(transform.size / d$2 * (transform.flipX ? -1 : 1), ", ").concat(transform.size / d$2 * (transform.flipY ? -1 : 1), ") ");
val += "rotate(".concat(transform.rotate, "deg) ");
return val;
}
function toHtml(abstractNodes) {
var tag = abstractNodes.tag,
_abstractNodes$attrib = abstractNodes.attributes,
attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,
_abstractNodes$childr = abstractNodes.children,
children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;
if (typeof abstractNodes === 'string') {
return htmlEscape(abstractNodes);
} else {
return "<".concat(tag, " ").concat(joinAttributes(attributes), ">").concat(children.map(toHtml).join(''), "</").concat(tag, ">");
}
}
function iconFromMapping(mapping, prefix, iconName) {
if (mapping && mapping[prefix] && mapping[prefix][iconName]) {
return {
prefix: prefix,
iconName: iconName,
icon: mapping[prefix][iconName]
};
}
}
/**
* Internal helper to bind a function known to have 4 arguments
* to a given context.
*/
var bindInternal4 = function bindInternal4(func, thisContext) {
return function (a, b, c, d) {
return func.call(thisContext, a, b, c, d);
};
};
/**
* # Reduce
*
* A fast object `.reduce()` implementation.
*
* @param {Object} subject The object to reduce over.
* @param {Function} fn The reducer function.
* @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].
* @param {Object} thisContext The context for the reducer.
* @return {mixed} The final result.
*/
var reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {
var keys = Object.keys(subject),
length = keys.length,
iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,
i,
key,
result;
if (initialValue === undefined) {
i = 1;
result = subject[keys[0]];
} else {
i = 0;
result = initialValue;
}
for (; i < length; i++) {
key = keys[i];
result = iterator(result, subject[key], key, subject);
}
return result;
};
/**
* Return hexadecimal string for a unicode character
* Returns `null` when more than one character (not bytes!) are passed
* For example: 'K' → '7B'
*/
function toHex(unicode) {
if (_toConsumableArray(unicode).length !== 1) return null;
return unicode.codePointAt(0).toString(16);
}
function normalizeIcons(icons) {
return Object.keys(icons).reduce(function (acc, iconName) {
var icon = icons[iconName];
var expanded = !!icon.icon;
if (expanded) {
acc[icon.iconName] = icon.icon;
} else {
acc[iconName] = icon;
}
return acc;
}, {});
}
function defineIcons(prefix, icons) {
var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
var _params$skipHooks = params.skipHooks,
skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;
var normalized = normalizeIcons(icons);
if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {
namespace.hooks.addPack(prefix, normalizeIcons(icons));
} else {
namespace.styles[prefix] = _objectSpread2(_objectSpread2({}, namespace.styles[prefix] || {}), normalized);
}
/**
* Font Awesome 4 used the prefix of `fa` for all icons. With the introduction
* of new styles we needed to differentiate between them. Prefix `fa` is now an alias
* for `fas` so we'll ease the upgrade process for our users by automatically defining
* this as well.
*/
if (prefix === 'fas') {
defineIcons('fa', icons);
}
}
var MONO = 0x1;
var DUO = 0x2;
// New v7 compatible matchers using the style attribute to determine layer membership
var modernMatches = [[DUO, /*#__PURE__*/_wrapRegExp(/path opacity="([^"]*)".*d="([^"]*)".*path.*d="([^"]*)"/, {
d2: 2,
d1: 3
})], [DUO, /*#__PURE__*/_wrapRegExp(/path opacity="([^"]*)".*d="([^"]*)"/, {
d2: 2
})], [MONO, /*#__PURE__*/_wrapRegExp(/path fill="currentColor".*d="([^"]+)"/, {
d1: 1
})]];
// Old <= v6 matchers, these should rarely get used.
//
// Why are there so many? Over the lifecycle of version 5 and 6 we modified the
// syntax for our source SVG files several times. These patterns match the
// historical record and attempt to handle backwards-compatibility in rare edge
// cases (loading version 6 SVG source files using the version 7 SVG parser)
var legacyMatches = [[DUO, /*#__PURE__*/_wrapRegExp(/path class="([^"]*secondary[^"]*)".*d="([^"]+)".*path class="([^"]*primary[^"]*)".*d="([^"]+)"/, {
attr2: 1,
d2: 2,
attr1: 3,
d1: 4
})], [DUO, /*#__PURE__*/_wrapRegExp(/path class="([^"]*primary[^"]*)".*d="([^"]+)".*path class="([^"]*secondary[^"]*)".*d="([^"]+)"/, {
attr1: 1,
d1: 2,
attr2: 3,
d2: 4
})], [DUO, /*#__PURE__*/_wrapRegExp(/path class="([^"]*primary[^"]*)".*d="([^"]+)"/, {
attr1: 1,
d1: 2
})], [DUO, /*#__PURE__*/_wrapRegExp(/path class="([^"]*secondary[^"]*)".*d="([^"]+)"/, {
attr2: 1,
d2: 2
})], [DUO, /*#__PURE__*/_wrapRegExp(/path d="([^"]+)".*class="([^"]*secondary[^"]*)".*path d="([^"]+)".*class="([^"]*primary[^"]*)"/, {
d2: 1,
attr2: 2,
d1: 3,
attr1: 4
})], [DUO, /*#__PURE__*/_wrapRegExp(/path d="([^"]+)".*class="([^"]*primary[^"]*)".*path d="([^"]+)".*class="([^"]*secondary[^"]*)"/, {
d1: 1,
attr1: 2,
d2: 3,
attr2: 4
})], [DUO, /*#__PURE__*/_wrapRegExp(/path d="([^"]+)".*class="([^"]*primary[^"]*)"/, {
d1: 1,
attr1: 2
})], [DUO, /*#__PURE__*/_wrapRegExp(/path d="([^"]+)".*class