@medely/fontawesome-svg-core 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/plugins.mjs CHANGED
@@ -1,287 +1,55 @@
1
- function ownKeys(object, enumerableOnly) {
2
- var keys = Object.keys(object);
3
-
4
- if (Object.getOwnPropertySymbols) {
5
- var symbols = Object.getOwnPropertySymbols(object);
6
- enumerableOnly && (symbols = symbols.filter(function (sym) {
7
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
8
- })), keys.push.apply(keys, symbols);
9
- }
10
-
11
- return keys;
12
- }
13
-
14
- function _objectSpread2(target) {
15
- for (var i = 1; i < arguments.length; i++) {
16
- var source = null != arguments[i] ? arguments[i] : {};
17
- i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
18
- _defineProperty(target, key, source[key]);
19
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
20
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
21
- });
22
- }
23
-
24
- return target;
25
- }
26
-
27
- function _typeof(obj) {
28
- "@babel/helpers - typeof";
29
-
30
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
31
- return typeof obj;
32
- } : function (obj) {
33
- return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
34
- }, _typeof(obj);
35
- }
36
-
37
- function _wrapRegExp() {
38
- _wrapRegExp = function (re, groups) {
39
- return new BabelRegExp(re, void 0, groups);
40
- };
41
-
42
- var _super = RegExp.prototype,
43
- _groups = new WeakMap();
44
-
45
- function BabelRegExp(re, flags, groups) {
46
- var _this = new RegExp(re, flags);
47
-
48
- return _groups.set(_this, groups || _groups.get(re)), _setPrototypeOf(_this, BabelRegExp.prototype);
49
- }
50
-
51
- function buildGroups(result, re) {
52
- var g = _groups.get(re);
53
-
54
- return Object.keys(g).reduce(function (groups, name) {
55
- return groups[name] = result[g[name]], groups;
56
- }, Object.create(null));
57
- }
58
-
59
- return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (str) {
60
- var result = _super.exec.call(this, str);
61
-
62
- return result && (result.groups = buildGroups(result, this)), result;
63
- }, BabelRegExp.prototype[Symbol.replace] = function (str, substitution) {
64
- if ("string" == typeof substitution) {
65
- var groups = _groups.get(this);
66
-
67
- return _super[Symbol.replace].call(this, str, substitution.replace(/\$<([^>]+)>/g, function (_, name) {
68
- return "$" + groups[name];
69
- }));
70
- }
71
-
72
- if ("function" == typeof substitution) {
73
- var _this = this;
74
-
75
- return _super[Symbol.replace].call(this, str, function () {
76
- var args = arguments;
77
- return "object" != typeof args[args.length - 1] && (args = [].slice.call(args)).push(buildGroups(args, _this)), substitution.apply(this, args);
78
- });
79
- }
80
-
81
- return _super[Symbol.replace].call(this, str, substitution);
82
- }, _wrapRegExp.apply(this, arguments);
83
- }
84
-
85
- function _classCallCheck(instance, Constructor) {
86
- if (!(instance instanceof Constructor)) {
87
- throw new TypeError("Cannot call a class as a function");
88
- }
89
- }
90
-
91
- function _defineProperties(target, props) {
92
- for (var i = 0; i < props.length; i++) {
93
- var descriptor = props[i];
94
- descriptor.enumerable = descriptor.enumerable || false;
95
- descriptor.configurable = true;
96
- if ("value" in descriptor) descriptor.writable = true;
97
- Object.defineProperty(target, descriptor.key, descriptor);
98
- }
99
- }
100
-
101
- function _createClass(Constructor, protoProps, staticProps) {
102
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
103
- if (staticProps) _defineProperties(Constructor, staticProps);
104
- Object.defineProperty(Constructor, "prototype", {
105
- writable: false
106
- });
107
- return Constructor;
108
- }
109
-
110
- function _defineProperty(obj, key, value) {
111
- if (key in obj) {
112
- Object.defineProperty(obj, key, {
113
- value: value,
114
- enumerable: true,
115
- configurable: true,
116
- writable: true
117
- });
118
- } else {
119
- obj[key] = value;
120
- }
121
-
122
- return obj;
123
- }
124
-
125
- function _inherits(subClass, superClass) {
126
- if (typeof superClass !== "function" && superClass !== null) {
127
- throw new TypeError("Super expression must either be null or a function");
128
- }
129
-
130
- subClass.prototype = Object.create(superClass && superClass.prototype, {
131
- constructor: {
132
- value: subClass,
133
- writable: true,
134
- configurable: true
135
- }
136
- });
137
- Object.defineProperty(subClass, "prototype", {
138
- writable: false
139
- });
140
- if (superClass) _setPrototypeOf(subClass, superClass);
141
- }
142
-
143
- function _setPrototypeOf(o, p) {
144
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
145
- o.__proto__ = p;
146
- return o;
147
- };
148
-
149
- return _setPrototypeOf(o, p);
150
- }
151
-
152
- function _slicedToArray(arr, i) {
153
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
154
- }
155
-
156
- function _toConsumableArray(arr) {
157
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
158
- }
159
-
160
- function _arrayWithoutHoles(arr) {
161
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
162
- }
163
-
164
- function _arrayWithHoles(arr) {
165
- if (Array.isArray(arr)) return arr;
166
- }
167
-
168
- function _iterableToArray(iter) {
169
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
170
- }
171
-
172
- function _iterableToArrayLimit(arr, i) {
173
- var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
174
-
175
- if (_i == null) return;
176
- var _arr = [];
177
- var _n = true;
178
- var _d = false;
179
-
180
- var _s, _e;
181
-
182
- try {
183
- for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
184
- _arr.push(_s.value);
185
-
186
- if (i && _arr.length === i) break;
187
- }
188
- } catch (err) {
189
- _d = true;
190
- _e = err;
191
- } finally {
192
- try {
193
- if (!_n && _i["return"] != null) _i["return"]();
194
- } finally {
195
- if (_d) throw _e;
196
- }
197
- }
198
-
199
- return _arr;
200
- }
201
-
202
- function _unsupportedIterableToArray(o, minLen) {
203
- if (!o) return;
204
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
205
- var n = Object.prototype.toString.call(o).slice(8, -1);
206
- if (n === "Object" && o.constructor) n = o.constructor.name;
207
- if (n === "Map" || n === "Set") return Array.from(o);
208
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
209
- }
210
-
211
- function _arrayLikeToArray(arr, len) {
212
- if (len == null || len > arr.length) len = arr.length;
213
-
214
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
215
-
216
- return arr2;
217
- }
218
-
219
- function _nonIterableSpread() {
220
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
221
- }
222
-
223
- function _nonIterableRest() {
224
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
225
- }
226
-
227
- var _plugins = [];
228
- var _hooks = {};
229
- var providers = {};
230
- var defaultProviderKeys = Object.keys(providers);
1
+ let _plugins = [];
2
+ let _hooks = {};
3
+ const providers = {};
4
+ const defaultProviderKeys = Object.keys(providers);
231
5
  function registerPlugins(nextPlugins, _ref) {
232
- var obj = _ref.mixoutsTo;
6
+ let {
7
+ mixoutsTo: obj
8
+ } = _ref;
233
9
  _plugins = nextPlugins;
234
10
  _hooks = {};
235
- Object.keys(providers).forEach(function (k) {
11
+ Object.keys(providers).forEach(k => {
236
12
  if (defaultProviderKeys.indexOf(k) === -1) {
237
13
  delete providers[k];
238
14
  }
239
15
  });
240
-
241
- _plugins.forEach(function (plugin) {
242
- var mixout = plugin.mixout ? plugin.mixout() : {};
243
- Object.keys(mixout).forEach(function (tk) {
16
+ _plugins.forEach(plugin => {
17
+ const mixout = plugin.mixout ? plugin.mixout() : {};
18
+ Object.keys(mixout).forEach(tk => {
244
19
  if (typeof mixout[tk] === 'function') {
245
20
  obj[tk] = mixout[tk];
246
21
  }
247
-
248
- if (_typeof(mixout[tk]) === 'object') {
249
- Object.keys(mixout[tk]).forEach(function (sk) {
22
+ if (typeof mixout[tk] === 'object') {
23
+ Object.keys(mixout[tk]).forEach(sk => {
250
24
  if (!obj[tk]) {
251
25
  obj[tk] = {};
252
26
  }
253
-
254
27
  obj[tk][sk] = mixout[tk][sk];
255
28
  });
256
29
  }
257
30
  });
258
-
259
31
  if (plugin.hooks) {
260
- var hooks = plugin.hooks();
261
- Object.keys(hooks).forEach(function (hook) {
32
+ const hooks = plugin.hooks();
33
+ Object.keys(hooks).forEach(hook => {
262
34
  if (!_hooks[hook]) {
263
35
  _hooks[hook] = [];
264
36
  }
265
-
266
37
  _hooks[hook].push(hooks[hook]);
267
38
  });
268
39
  }
269
-
270
40
  if (plugin.provides) {
271
41
  plugin.provides(providers);
272
42
  }
273
43
  });
274
-
275
44
  return obj;
276
45
  }
277
46
  function chainHooks(hook, accumulator) {
278
47
  for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
279
48
  args[_key - 2] = arguments[_key];
280
49
  }
281
-
282
- var hookFns = _hooks[hook] || [];
283
- hookFns.forEach(function (hookFn) {
284
- accumulator = hookFn.apply(null, [accumulator].concat(args)); // eslint-disable-line no-useless-call
50
+ const hookFns = _hooks[hook] || [];
51
+ hookFns.forEach(hookFn => {
52
+ accumulator = hookFn.apply(null, [accumulator, ...args]); // eslint-disable-line no-useless-call
285
53
  });
286
54
  return accumulator;
287
55
  }
@@ -289,187 +57,540 @@ function callHooks(hook) {
289
57
  for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
290
58
  args[_key2 - 1] = arguments[_key2];
291
59
  }
292
-
293
- var hookFns = _hooks[hook] || [];
294
- hookFns.forEach(function (hookFn) {
60
+ const hookFns = _hooks[hook] || [];
61
+ hookFns.forEach(hookFn => {
295
62
  hookFn.apply(null, args);
296
63
  });
297
64
  return undefined;
298
65
  }
299
66
  function callProvided() {
300
- var hook = arguments[0];
301
- var args = Array.prototype.slice.call(arguments, 1);
67
+ const hook = arguments[0];
68
+ const args = Array.prototype.slice.call(arguments, 1);
302
69
  return providers[hook] ? providers[hook].apply(null, args) : undefined;
303
70
  }
304
71
 
305
- var noop = function noop() {};
72
+ function _defineProperty(e, r, t) {
73
+ return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
74
+ value: t,
75
+ enumerable: !0,
76
+ configurable: !0,
77
+ writable: !0
78
+ }) : e[r] = t, e;
79
+ }
80
+ function _inherits(t, e) {
81
+ if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function");
82
+ t.prototype = Object.create(e && e.prototype, {
83
+ constructor: {
84
+ value: t,
85
+ writable: !0,
86
+ configurable: !0
87
+ }
88
+ }), Object.defineProperty(t, "prototype", {
89
+ writable: !1
90
+ }), e && _setPrototypeOf(t, e);
91
+ }
92
+ function ownKeys(e, r) {
93
+ var t = Object.keys(e);
94
+ if (Object.getOwnPropertySymbols) {
95
+ var o = Object.getOwnPropertySymbols(e);
96
+ r && (o = o.filter(function (r) {
97
+ return Object.getOwnPropertyDescriptor(e, r).enumerable;
98
+ })), t.push.apply(t, o);
99
+ }
100
+ return t;
101
+ }
102
+ function _objectSpread2(e) {
103
+ for (var r = 1; r < arguments.length; r++) {
104
+ var t = null != arguments[r] ? arguments[r] : {};
105
+ r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
106
+ _defineProperty(e, r, t[r]);
107
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
108
+ Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
109
+ });
110
+ }
111
+ return e;
112
+ }
113
+ function _setPrototypeOf(t, e) {
114
+ return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {
115
+ return t.__proto__ = e, t;
116
+ }, _setPrototypeOf(t, e);
117
+ }
118
+ function _toPrimitive(t, r) {
119
+ if ("object" != typeof t || !t) return t;
120
+ var e = t[Symbol.toPrimitive];
121
+ if (void 0 !== e) {
122
+ var i = e.call(t, r || "default");
123
+ if ("object" != typeof i) return i;
124
+ throw new TypeError("@@toPrimitive must return a primitive value.");
125
+ }
126
+ return ("string" === r ? String : Number)(t);
127
+ }
128
+ function _toPropertyKey(t) {
129
+ var i = _toPrimitive(t, "string");
130
+ return "symbol" == typeof i ? i : i + "";
131
+ }
132
+ function _wrapRegExp() {
133
+ _wrapRegExp = function (e, r) {
134
+ return new BabelRegExp(e, void 0, r);
135
+ };
136
+ var e = RegExp.prototype,
137
+ r = new WeakMap();
138
+ function BabelRegExp(e, t, p) {
139
+ var o = RegExp(e, t);
140
+ return r.set(o, p || r.get(e)), _setPrototypeOf(o, BabelRegExp.prototype);
141
+ }
142
+ function buildGroups(e, t) {
143
+ var p = r.get(t);
144
+ return Object.keys(p).reduce(function (r, t) {
145
+ var o = p[t];
146
+ if ("number" == typeof o) r[t] = e[o];else {
147
+ for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++;
148
+ r[t] = e[o[i]];
149
+ }
150
+ return r;
151
+ }, Object.create(null));
152
+ }
153
+ return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) {
154
+ var t = e.exec.call(this, r);
155
+ if (t) {
156
+ t.groups = buildGroups(t, this);
157
+ var p = t.indices;
158
+ p && (p.groups = buildGroups(p, this));
159
+ }
160
+ return t;
161
+ }, BabelRegExp.prototype[Symbol.replace] = function (t, p) {
162
+ if ("string" == typeof p) {
163
+ var o = r.get(this);
164
+ return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)>/g, function (e, r) {
165
+ var t = o[r];
166
+ return "$" + (Array.isArray(t) ? t.join("$") : t);
167
+ }));
168
+ }
169
+ if ("function" == typeof p) {
170
+ var i = this;
171
+ return e[Symbol.replace].call(this, t, function () {
172
+ var e = arguments;
173
+ return "object" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e);
174
+ });
175
+ }
176
+ return e[Symbol.replace].call(this, t, p);
177
+ }, _wrapRegExp.apply(this, arguments);
178
+ }
306
179
 
307
- var _WINDOW = {};
308
- var _DOCUMENT = {};
309
- var _MUTATION_OBSERVER = null;
310
- var _PERFORMANCE = {
180
+ const noop = () => {};
181
+ let _WINDOW = {};
182
+ let _DOCUMENT = {};
183
+ let _MUTATION_OBSERVER = null;
184
+ let _PERFORMANCE = {
311
185
  mark: noop,
312
186
  measure: noop
313
187
  };
314
-
315
188
  try {
316
189
  if (typeof window !== 'undefined') _WINDOW = window;
317
190
  if (typeof document !== 'undefined') _DOCUMENT = document;
318
191
  if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER = MutationObserver;
319
192
  if (typeof performance !== 'undefined') _PERFORMANCE = performance;
320
193
  } catch (e) {}
194
+ const {
195
+ userAgent = ''
196
+ } = _WINDOW.navigator || {};
197
+ const WINDOW = _WINDOW;
198
+ const DOCUMENT = _DOCUMENT;
199
+ const MUTATION_OBSERVER = _MUTATION_OBSERVER;
200
+ const PERFORMANCE = _PERFORMANCE;
201
+ const IS_BROWSER = !!WINDOW.document;
202
+ const IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';
203
+ const IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');
204
+
205
+ var p = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/,
206
+ g = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i;
207
+ var S = {
208
+ classic: {
209
+ fa: "solid",
210
+ fas: "solid",
211
+ "fa-solid": "solid",
212
+ far: "regular",
213
+ "fa-regular": "regular",
214
+ fal: "light",
215
+ "fa-light": "light",
216
+ fat: "thin",
217
+ "fa-thin": "thin",
218
+ fab: "brands",
219
+ "fa-brands": "brands"
220
+ },
221
+ duotone: {
222
+ fa: "solid",
223
+ fad: "solid",
224
+ "fa-solid": "solid",
225
+ "fa-duotone": "solid",
226
+ fadr: "regular",
227
+ "fa-regular": "regular",
228
+ fadl: "light",
229
+ "fa-light": "light",
230
+ fadt: "thin",
231
+ "fa-thin": "thin"
232
+ },
233
+ sharp: {
234
+ fa: "solid",
235
+ fass: "solid",
236
+ "fa-solid": "solid",
237
+ fasr: "regular",
238
+ "fa-regular": "regular",
239
+ fasl: "light",
240
+ "fa-light": "light",
241
+ fast: "thin",
242
+ "fa-thin": "thin"
243
+ },
244
+ "sharp-duotone": {
245
+ fa: "solid",
246
+ fasds: "solid",
247
+ "fa-solid": "solid",
248
+ fasdr: "regular",
249
+ "fa-regular": "regular",
250
+ fasdl: "light",
251
+ "fa-light": "light",
252
+ fasdt: "thin",
253
+ "fa-thin": "thin"
254
+ }
255
+ },
256
+ A = {
257
+ GROUP: "duotone-group",
258
+ SWAP_OPACITY: "swap-opacity",
259
+ PRIMARY: "primary",
260
+ SECONDARY: "secondary"
261
+ },
262
+ P = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"];
263
+ var s = "classic",
264
+ t = "duotone",
265
+ r = "sharp",
266
+ o = "sharp-duotone",
267
+ L = [s, t, r, o];
268
+ var G = {
269
+ classic: {
270
+ 900: "fas",
271
+ 400: "far",
272
+ normal: "far",
273
+ 300: "fal",
274
+ 100: "fat"
275
+ },
276
+ duotone: {
277
+ 900: "fad",
278
+ 400: "fadr",
279
+ 300: "fadl",
280
+ 100: "fadt"
281
+ },
282
+ sharp: {
283
+ 900: "fass",
284
+ 400: "fasr",
285
+ 300: "fasl",
286
+ 100: "fast"
287
+ },
288
+ "sharp-duotone": {
289
+ 900: "fasds",
290
+ 400: "fasdr",
291
+ 300: "fasdl",
292
+ 100: "fasdt"
293
+ }
294
+ };
295
+ var lt = {
296
+ "Font Awesome 6 Free": {
297
+ 900: "fas",
298
+ 400: "far"
299
+ },
300
+ "Font Awesome 6 Pro": {
301
+ 900: "fas",
302
+ 400: "far",
303
+ normal: "far",
304
+ 300: "fal",
305
+ 100: "fat"
306
+ },
307
+ "Font Awesome 6 Brands": {
308
+ 400: "fab",
309
+ normal: "fab"
310
+ },
311
+ "Font Awesome 6 Duotone": {
312
+ 900: "fad",
313
+ 400: "fadr",
314
+ normal: "fadr",
315
+ 300: "fadl",
316
+ 100: "fadt"
317
+ },
318
+ "Font Awesome 6 Sharp": {
319
+ 900: "fass",
320
+ 400: "fasr",
321
+ normal: "fasr",
322
+ 300: "fasl",
323
+ 100: "fast"
324
+ },
325
+ "Font Awesome 6 Sharp Duotone": {
326
+ 900: "fasds",
327
+ 400: "fasdr",
328
+ normal: "fasdr",
329
+ 300: "fasdl",
330
+ 100: "fasdt"
331
+ }
332
+ };
333
+ var pt = new Map([["classic", {
334
+ defaultShortPrefixId: "fas",
335
+ defaultStyleId: "solid",
336
+ styleIds: ["solid", "regular", "light", "thin", "brands"],
337
+ futureStyleIds: [],
338
+ defaultFontWeight: 900
339
+ }], ["sharp", {
340
+ defaultShortPrefixId: "fass",
341
+ defaultStyleId: "solid",
342
+ styleIds: ["solid", "regular", "light", "thin"],
343
+ futureStyleIds: [],
344
+ defaultFontWeight: 900
345
+ }], ["duotone", {
346
+ defaultShortPrefixId: "fad",
347
+ defaultStyleId: "solid",
348
+ styleIds: ["solid", "regular", "light", "thin"],
349
+ futureStyleIds: [],
350
+ defaultFontWeight: 900
351
+ }], ["sharp-duotone", {
352
+ defaultShortPrefixId: "fasds",
353
+ defaultStyleId: "solid",
354
+ styleIds: ["solid", "regular", "light", "thin"],
355
+ futureStyleIds: [],
356
+ defaultFontWeight: 900
357
+ }]]),
358
+ xt = {
359
+ classic: {
360
+ solid: "fas",
361
+ regular: "far",
362
+ light: "fal",
363
+ thin: "fat",
364
+ brands: "fab"
365
+ },
366
+ duotone: {
367
+ solid: "fad",
368
+ regular: "fadr",
369
+ light: "fadl",
370
+ thin: "fadt"
371
+ },
372
+ sharp: {
373
+ solid: "fass",
374
+ regular: "fasr",
375
+ light: "fasl",
376
+ thin: "fast"
377
+ },
378
+ "sharp-duotone": {
379
+ solid: "fasds",
380
+ regular: "fasdr",
381
+ light: "fasdl",
382
+ thin: "fasdt"
383
+ }
384
+ };
385
+ var Ft = ["fak", "fa-kit", "fakd", "fa-kit-duotone"],
386
+ St = {
387
+ kit: {
388
+ fak: "kit",
389
+ "fa-kit": "kit"
390
+ },
391
+ "kit-duotone": {
392
+ fakd: "kit-duotone",
393
+ "fa-kit-duotone": "kit-duotone"
394
+ }
395
+ },
396
+ At = ["kit"];
397
+ var Ct = {
398
+ kit: {
399
+ "fa-kit": "fak"
400
+ },
401
+ "kit-duotone": {
402
+ "fa-kit-duotone": "fakd"
403
+ }
404
+ };
405
+ var Lt = ["fak", "fakd"],
406
+ Wt = {
407
+ kit: {
408
+ fak: "fa-kit"
409
+ },
410
+ "kit-duotone": {
411
+ fakd: "fa-kit-duotone"
412
+ }
413
+ };
414
+ var Et = {
415
+ kit: {
416
+ kit: "fak"
417
+ },
418
+ "kit-duotone": {
419
+ "kit-duotone": "fakd"
420
+ }
421
+ };
321
422
 
322
- var _ref = _WINDOW.navigator || {},
323
- _ref$userAgent = _ref.userAgent,
324
- userAgent = _ref$userAgent === void 0 ? '' : _ref$userAgent;
325
- var WINDOW = _WINDOW;
326
- var DOCUMENT = _DOCUMENT;
327
- var MUTATION_OBSERVER = _MUTATION_OBSERVER;
328
- var PERFORMANCE = _PERFORMANCE;
329
- var IS_BROWSER = !!WINDOW.document;
330
- var IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';
331
- var IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');
332
-
333
- var _familyProxy, _familyProxy2, _familyProxy3, _familyProxy4, _familyProxy5;
423
+ var t$1 = {
424
+ GROUP: "duotone-group",
425
+ SWAP_OPACITY: "swap-opacity",
426
+ PRIMARY: "primary",
427
+ SECONDARY: "secondary"
428
+ },
429
+ r$1 = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"];
430
+ var bt$1 = ["fak", "fa-kit", "fakd", "fa-kit-duotone"];
431
+ var Yt = {
432
+ "Font Awesome Kit": {
433
+ 400: "fak",
434
+ normal: "fak"
435
+ },
436
+ "Font Awesome Kit Duotone": {
437
+ 400: "fakd",
438
+ normal: "fakd"
439
+ }
440
+ };
441
+ var ua = {
442
+ classic: {
443
+ "fa-brands": "fab",
444
+ "fa-duotone": "fad",
445
+ "fa-light": "fal",
446
+ "fa-regular": "far",
447
+ "fa-solid": "fas",
448
+ "fa-thin": "fat"
449
+ },
450
+ duotone: {
451
+ "fa-regular": "fadr",
452
+ "fa-light": "fadl",
453
+ "fa-thin": "fadt"
454
+ },
455
+ sharp: {
456
+ "fa-solid": "fass",
457
+ "fa-regular": "fasr",
458
+ "fa-light": "fasl",
459
+ "fa-thin": "fast"
460
+ },
461
+ "sharp-duotone": {
462
+ "fa-solid": "fasds",
463
+ "fa-regular": "fasdr",
464
+ "fa-light": "fasdl",
465
+ "fa-thin": "fasdt"
466
+ }
467
+ },
468
+ I$1 = {
469
+ classic: ["fas", "far", "fal", "fat", "fad"],
470
+ duotone: ["fadr", "fadl", "fadt"],
471
+ sharp: ["fass", "fasr", "fasl", "fast"],
472
+ "sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
473
+ },
474
+ ga = {
475
+ classic: {
476
+ fab: "fa-brands",
477
+ fad: "fa-duotone",
478
+ fal: "fa-light",
479
+ far: "fa-regular",
480
+ fas: "fa-solid",
481
+ fat: "fa-thin"
482
+ },
483
+ duotone: {
484
+ fadr: "fa-regular",
485
+ fadl: "fa-light",
486
+ fadt: "fa-thin"
487
+ },
488
+ sharp: {
489
+ fass: "fa-solid",
490
+ fasr: "fa-regular",
491
+ fasl: "fa-light",
492
+ fast: "fa-thin"
493
+ },
494
+ "sharp-duotone": {
495
+ fasds: "fa-solid",
496
+ fasdr: "fa-regular",
497
+ fasdl: "fa-light",
498
+ fasdt: "fa-thin"
499
+ }
500
+ },
501
+ x = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"],
502
+ Ia = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...r$1, ...x],
503
+ m$1 = ["solid", "regular", "light", "thin", "duotone", "brands"],
504
+ c$1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
505
+ F$1 = c$1.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]),
506
+ ma = [...Object.keys(I$1), ...m$1, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", t$1.GROUP, t$1.SWAP_OPACITY, t$1.PRIMARY, t$1.SECONDARY].concat(c$1.map(a => "".concat(a, "x"))).concat(F$1.map(a => "w-".concat(a)));
507
+ var wa = {
508
+ "Font Awesome 5 Free": {
509
+ 900: "fas",
510
+ 400: "far"
511
+ },
512
+ "Font Awesome 5 Pro": {
513
+ 900: "fas",
514
+ 400: "far",
515
+ normal: "far",
516
+ 300: "fal"
517
+ },
518
+ "Font Awesome 5 Brands": {
519
+ 400: "fab",
520
+ normal: "fab"
521
+ },
522
+ "Font Awesome 5 Duotone": {
523
+ 900: "fad"
524
+ }
525
+ };
334
526
 
335
- var NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';
336
- var UNITS_IN_GRID = 16;
337
- var DEFAULT_CSS_PREFIX = 'fa';
338
- var DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';
339
- var DATA_FA_I2SVG = 'data-fa-i2svg';
340
- var DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';
341
- var DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';
342
- var DATA_PREFIX = 'data-prefix';
343
- var DATA_ICON = 'data-icon';
344
- var HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';
345
- var MUTATION_APPROACH_ASYNC = 'async';
346
- var TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];
347
- var PRODUCTION = function () {
527
+ const NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';
528
+ const UNITS_IN_GRID = 16;
529
+ const DEFAULT_CSS_PREFIX = 'fa';
530
+ const DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';
531
+ const DATA_FA_I2SVG = 'data-fa-i2svg';
532
+ const DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';
533
+ const DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';
534
+ const DATA_PREFIX = 'data-prefix';
535
+ const DATA_ICON = 'data-icon';
536
+ const HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';
537
+ const MUTATION_APPROACH_ASYNC = 'async';
538
+ const TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];
539
+ const PRODUCTION = (() => {
348
540
  try {
349
541
  return process.env.NODE_ENV === 'production';
350
- } catch (e) {
542
+ } catch (e$$1) {
351
543
  return false;
352
544
  }
353
- }();
354
- var FAMILY_CLASSIC = 'classic';
355
- var FAMILY_SHARP = 'sharp';
356
- var FAMILIES = [FAMILY_CLASSIC, FAMILY_SHARP];
357
-
545
+ })();
358
546
  function familyProxy(obj) {
359
547
  // Defaults to the classic family if family is not available
360
548
  return new Proxy(obj, {
361
- get: function get(target, prop) {
362
- return prop in target ? target[prop] : target[FAMILY_CLASSIC];
549
+ get(target, prop) {
550
+ return prop in target ? target[prop] : target[s];
363
551
  }
364
552
  });
365
553
  }
366
- var PREFIX_TO_STYLE = familyProxy((_familyProxy = {}, _defineProperty(_familyProxy, FAMILY_CLASSIC, {
367
- 'fa': 'solid',
368
- 'fas': 'solid',
369
- 'fa-solid': 'solid',
370
- 'far': 'regular',
371
- 'fa-regular': 'regular',
372
- 'fal': 'light',
373
- 'fa-light': 'light',
374
- 'fat': 'thin',
375
- 'fa-thin': 'thin',
376
- 'fad': 'duotone',
377
- 'fa-duotone': 'duotone',
378
- 'fab': 'brands',
379
- 'fa-brands': 'brands',
380
- 'fak': 'kit',
381
- 'fa-kit': 'kit'
382
- }), _defineProperty(_familyProxy, FAMILY_SHARP, {
383
- 'fa': 'solid',
384
- 'fass': 'solid',
385
- 'fa-solid': 'solid',
386
- 'fasr': 'regular',
387
- 'fa-regular': 'regular',
388
- 'fasl': 'light',
389
- 'fa-light': 'light'
390
- }), _familyProxy));
391
- var STYLE_TO_PREFIX = familyProxy((_familyProxy2 = {}, _defineProperty(_familyProxy2, FAMILY_CLASSIC, {
392
- 'solid': 'fas',
393
- 'regular': 'far',
394
- 'light': 'fal',
395
- 'thin': 'fat',
396
- 'duotone': 'fad',
397
- 'brands': 'fab',
398
- 'kit': 'fak'
399
- }), _defineProperty(_familyProxy2, FAMILY_SHARP, {
400
- 'solid': 'fass',
401
- 'regular': 'fasr',
402
- 'light': 'fasl'
403
- }), _familyProxy2));
404
- var PREFIX_TO_LONG_STYLE = familyProxy((_familyProxy3 = {}, _defineProperty(_familyProxy3, FAMILY_CLASSIC, {
405
- 'fab': 'fa-brands',
406
- 'fad': 'fa-duotone',
407
- 'fak': 'fa-kit',
408
- 'fal': 'fa-light',
409
- 'far': 'fa-regular',
410
- 'fas': 'fa-solid',
411
- 'fat': 'fa-thin'
412
- }), _defineProperty(_familyProxy3, FAMILY_SHARP, {
413
- 'fass': 'fa-solid',
414
- 'fasr': 'fa-regular',
415
- 'fasl': 'fa-light'
416
- }), _familyProxy3));
417
- var LONG_STYLE_TO_PREFIX = familyProxy((_familyProxy4 = {}, _defineProperty(_familyProxy4, FAMILY_CLASSIC, {
418
- 'fa-brands': 'fab',
419
- 'fa-duotone': 'fad',
420
- 'fa-kit': 'fak',
421
- 'fa-light': 'fal',
422
- 'fa-regular': 'far',
423
- 'fa-solid': 'fas',
424
- 'fa-thin': 'fat'
425
- }), _defineProperty(_familyProxy4, FAMILY_SHARP, {
426
- 'fa-solid': 'fass',
427
- 'fa-regular': 'fasr',
428
- 'fa-light': 'fasl'
429
- }), _familyProxy4));
430
- var ICON_SELECTION_SYNTAX_PATTERN = /fa(s|r|l|t|d|b|k|ss|sr|sl)?[\-\ ]/; // eslint-disable-line no-useless-escape
431
-
432
- var LAYERS_TEXT_CLASSNAME = 'fa-layers-text';
433
- var FONT_FAMILY_PATTERN = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp|Kit)?.*/i;
434
- var FONT_WEIGHT_TO_PREFIX = familyProxy((_familyProxy5 = {}, _defineProperty(_familyProxy5, FAMILY_CLASSIC, {
435
- '900': 'fas',
436
- '400': 'far',
437
- 'normal': 'far',
438
- '300': 'fal',
439
- '100': 'fat'
440
- }), _defineProperty(_familyProxy5, FAMILY_SHARP, {
441
- '900': 'fass',
442
- '400': 'fasr',
443
- '300': 'fasl'
444
- }), _familyProxy5));
445
- var oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
446
- var oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);
447
- var ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];
448
- var DUOTONE_CLASSES = {
449
- GROUP: 'duotone-group',
450
- SWAP_OPACITY: 'swap-opacity',
451
- PRIMARY: 'primary',
452
- SECONDARY: 'secondary'
453
- };
454
- var prefixes = new Set();
455
- Object.keys(STYLE_TO_PREFIX[FAMILY_CLASSIC]).map(prefixes.add.bind(prefixes));
456
- Object.keys(STYLE_TO_PREFIX[FAMILY_SHARP]).map(prefixes.add.bind(prefixes));
457
- var RESERVED_CLASSES = [].concat(FAMILIES, _toConsumableArray(prefixes), ['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', 'beat', 'border', 'fade', 'beat-fade', 'bounce', 'flip-both', 'flip-horizontal', 'flip-vertical', 'flip', 'fw', 'inverse', 'layers-counter', 'layers-text', 'layers', 'li', 'pull-left', 'pull-right', 'pulse', 'rotate-180', 'rotate-270', 'rotate-90', 'rotate-by', 'shake', 'spin-pulse', 'spin-reverse', 'spin', 'stack-1x', 'stack-2x', 'stack', 'ul', DUOTONE_CLASSES.GROUP, DUOTONE_CLASSES.SWAP_OPACITY, DUOTONE_CLASSES.PRIMARY, DUOTONE_CLASSES.SECONDARY]).concat(oneToTen.map(function (n) {
458
- return "".concat(n, "x");
459
- })).concat(oneToTwenty.map(function (n) {
460
- return "w-".concat(n);
461
- }));
462
-
463
- var initial = WINDOW.FontAwesomeConfig || {};
464
-
554
+ const _PREFIX_TO_STYLE = _objectSpread2({}, S);
555
+
556
+ // We changed FACSSClassesToStyleId in the icons repo to be canonical and as such, "classic" family does not have any
557
+ // duotone styles. But we do still need duotone in _PREFIX_TO_STYLE below, so we are manually adding
558
+ // {'fa-duotone': 'duotone'}
559
+ _PREFIX_TO_STYLE[s] = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {
560
+ 'fa-duotone': 'duotone'
561
+ }), S[s]), St['kit']), St['kit-duotone']);
562
+ const PREFIX_TO_STYLE = familyProxy(_PREFIX_TO_STYLE);
563
+ const _STYLE_TO_PREFIX = _objectSpread2({}, xt);
564
+
565
+ // We changed FAStyleIdToShortPrefixId in the icons repo to be canonical and as such, "classic" family does not have any
566
+ // duotone styles. But we do still need duotone in _STYLE_TO_PREFIX below, so we are manually adding {duotone: 'fad'}
567
+ _STYLE_TO_PREFIX[s] = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {
568
+ duotone: 'fad'
569
+ }), _STYLE_TO_PREFIX[s]), Et['kit']), Et['kit-duotone']);
570
+ const STYLE_TO_PREFIX = familyProxy(_STYLE_TO_PREFIX);
571
+ const _PREFIX_TO_LONG_STYLE = _objectSpread2({}, ga);
572
+ _PREFIX_TO_LONG_STYLE[s] = _objectSpread2(_objectSpread2({}, _PREFIX_TO_LONG_STYLE[s]), Wt['kit']);
573
+ const PREFIX_TO_LONG_STYLE = familyProxy(_PREFIX_TO_LONG_STYLE);
574
+ const _LONG_STYLE_TO_PREFIX = _objectSpread2({}, ua);
575
+ _LONG_STYLE_TO_PREFIX[s] = _objectSpread2(_objectSpread2({}, _LONG_STYLE_TO_PREFIX[s]), Ct['kit']);
576
+ const LONG_STYLE_TO_PREFIX = familyProxy(_LONG_STYLE_TO_PREFIX);
577
+ const ICON_SELECTION_SYNTAX_PATTERN = p; // eslint-disable-line no-useless-escape
578
+
579
+ const LAYERS_TEXT_CLASSNAME = 'fa-layers-text';
580
+ const FONT_FAMILY_PATTERN = g;
581
+ const _FONT_WEIGHT_TO_PREFIX = _objectSpread2({}, G);
582
+ const FONT_WEIGHT_TO_PREFIX = familyProxy(_FONT_WEIGHT_TO_PREFIX);
583
+ const ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];
584
+ const DUOTONE_CLASSES = A;
585
+ const RESERVED_CLASSES = [...At, ...ma];
586
+
587
+ const initial = WINDOW.FontAwesomeConfig || {};
465
588
  function getAttrConfig(attr) {
466
589
  var element = DOCUMENT.querySelector('script[' + attr + ']');
467
-
468
590
  if (element) {
469
591
  return element.getAttribute(attr);
470
592
  }
471
593
  }
472
-
473
594
  function coerce(val) {
474
595
  // Getting an empty string will occur if the attribute is set on the HTML tag but without a value
475
596
  // We'll assume that this is an indication that it should be toggled to true
@@ -478,25 +599,19 @@ function coerce(val) {
478
599
  if (val === 'true') return true;
479
600
  return val;
480
601
  }
481
-
482
602
  if (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {
483
- 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-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];
484
- attrs.forEach(function (_ref) {
485
- var _ref2 = _slicedToArray(_ref, 2),
486
- attr = _ref2[0],
487
- key = _ref2[1];
488
-
489
- var val = coerce(getAttrConfig(attr));
490
-
603
+ const 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-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];
604
+ attrs.forEach(_ref => {
605
+ let [attr, key] = _ref;
606
+ const val = coerce(getAttrConfig(attr));
491
607
  if (val !== undefined && val !== null) {
492
608
  initial[key] = val;
493
609
  }
494
610
  });
495
611
  }
496
-
497
- var _default = {
612
+ const _default = {
498
613
  styleDefault: 'solid',
499
- familyDefault: 'classic',
614
+ familyDefault: s,
500
615
  cssPrefix: DEFAULT_CSS_PREFIX,
501
616
  replacementClass: DEFAULT_REPLACEMENT_CLASS,
502
617
  autoReplaceSvg: true,
@@ -508,86 +623,73 @@ var _default = {
508
623
  keepOriginalSource: true,
509
624
  measurePerformance: false,
510
625
  showMissingIcons: true
511
- }; // familyPrefix is deprecated but we must still support it if present
626
+ };
512
627
 
628
+ // familyPrefix is deprecated but we must still support it if present
513
629
  if (initial.familyPrefix) {
514
630
  initial.cssPrefix = initial.familyPrefix;
515
631
  }
516
-
517
- var _config = _objectSpread2(_objectSpread2({}, _default), initial);
518
-
632
+ const _config = _objectSpread2(_objectSpread2({}, _default), initial);
519
633
  if (!_config.autoReplaceSvg) _config.observeMutations = false;
520
- var config = {};
521
- Object.keys(_default).forEach(function (key) {
634
+ const config = {};
635
+ Object.keys(_default).forEach(key => {
522
636
  Object.defineProperty(config, key, {
523
637
  enumerable: true,
524
- set: function set(val) {
638
+ set: function (val) {
525
639
  _config[key] = val;
526
-
527
- _onChangeCb.forEach(function (cb) {
528
- return cb(config);
529
- });
640
+ _onChangeCb.forEach(cb => cb(config));
530
641
  },
531
- get: function get() {
642
+ get: function () {
532
643
  return _config[key];
533
644
  }
534
645
  });
535
- }); // familyPrefix is deprecated as of 6.2.0 and should be removed in 7.0.0
646
+ });
536
647
 
648
+ // familyPrefix is deprecated as of 6.2.0 and should be removed in 7.0.0
537
649
  Object.defineProperty(config, 'familyPrefix', {
538
650
  enumerable: true,
539
- set: function set(val) {
651
+ set: function (val) {
540
652
  _config.cssPrefix = val;
541
-
542
- _onChangeCb.forEach(function (cb) {
543
- return cb(config);
544
- });
653
+ _onChangeCb.forEach(cb => cb(config));
545
654
  },
546
- get: function get() {
655
+ get: function () {
547
656
  return _config.cssPrefix;
548
657
  }
549
658
  });
550
659
  WINDOW.FontAwesomeConfig = config;
551
- var _onChangeCb = [];
660
+ const _onChangeCb = [];
552
661
  function onChange(cb) {
553
662
  _onChangeCb.push(cb);
554
-
555
- return function () {
663
+ return () => {
556
664
  _onChangeCb.splice(_onChangeCb.indexOf(cb), 1);
557
665
  };
558
666
  }
559
667
 
560
- var w = WINDOW || {};
668
+ const w = WINDOW || {};
561
669
  if (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};
562
670
  if (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};
563
671
  if (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};
564
672
  if (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];
565
673
  var namespace = w[NAMESPACE_IDENTIFIER];
566
674
 
567
- var functions = [];
568
-
569
- var listener = function listener() {
675
+ const functions = [];
676
+ const listener = function () {
570
677
  DOCUMENT.removeEventListener('DOMContentLoaded', listener);
571
678
  loaded = 1;
572
- functions.map(function (fn) {
573
- return fn();
574
- });
679
+ functions.map(fn => fn());
575
680
  };
576
-
577
- var loaded = false;
578
-
681
+ let loaded = false;
579
682
  if (IS_DOM) {
580
683
  loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);
581
684
  if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);
582
685
  }
583
-
584
686
  function domready (fn) {
585
687
  if (!IS_DOM) return;
586
688
  loaded ? setTimeout(fn, 0) : functions.push(fn);
587
689
  }
588
690
 
589
- var d = UNITS_IN_GRID;
590
- var meaninglessTransform = {
691
+ const d$2 = UNITS_IN_GRID;
692
+ const meaninglessTransform = {
591
693
  size: 16,
592
694
  x: 0,
593
695
  y: 0,
@@ -599,64 +701,54 @@ function insertCss(css) {
599
701
  if (!css || !IS_DOM) {
600
702
  return;
601
703
  }
602
-
603
- var style = DOCUMENT.createElement('style');
704
+ const style = DOCUMENT.createElement('style');
604
705
  style.setAttribute('type', 'text/css');
605
706
  style.innerHTML = css;
606
- var headChildren = DOCUMENT.head.childNodes;
607
- var beforeChild = null;
608
-
609
- for (var i = headChildren.length - 1; i > -1; i--) {
610
- var child = headChildren[i];
611
- var tagName = (child.tagName || '').toUpperCase();
612
-
707
+ const headChildren = DOCUMENT.head.childNodes;
708
+ let beforeChild = null;
709
+ for (let i = headChildren.length - 1; i > -1; i--) {
710
+ const child = headChildren[i];
711
+ const tagName = (child.tagName || '').toUpperCase();
613
712
  if (['STYLE', 'LINK'].indexOf(tagName) > -1) {
614
713
  beforeChild = child;
615
714
  }
616
715
  }
617
-
618
716
  DOCUMENT.head.insertBefore(style, beforeChild);
619
717
  return css;
620
718
  }
621
- var idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
719
+ const idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
622
720
  function nextUniqueId() {
623
- var size = 12;
624
- var id = '';
625
-
721
+ let size = 12;
722
+ let id = '';
626
723
  while (size-- > 0) {
627
724
  id += idPool[Math.random() * 62 | 0];
628
725
  }
629
-
630
726
  return id;
631
727
  }
632
728
  function toArray(obj) {
633
- var array = [];
634
-
635
- for (var i = (obj || []).length >>> 0; i--;) {
729
+ const array = [];
730
+ for (let i = (obj || []).length >>> 0; i--;) {
636
731
  array[i] = obj[i];
637
732
  }
638
-
639
733
  return array;
640
734
  }
641
735
  function classArray(node) {
642
736
  if (node.classList) {
643
737
  return toArray(node.classList);
644
738
  } else {
645
- return (node.getAttribute('class') || '').split(' ').filter(function (i) {
646
- return i;
647
- });
739
+ return (node.getAttribute('class') || '').split(' ').filter(i => i);
648
740
  }
649
741
  }
650
742
  function htmlEscape(str) {
651
743
  return "".concat(str).replace(/&/g, '&amp;').replace(/"/g, '&quot;').replace(/'/g, '&#39;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
652
744
  }
653
745
  function joinAttributes(attributes) {
654
- return Object.keys(attributes || {}).reduce(function (acc, attributeName) {
746
+ return Object.keys(attributes || {}).reduce((acc, attributeName) => {
655
747
  return acc + "".concat(attributeName, "=\"").concat(htmlEscape(attributes[attributeName]), "\" ");
656
748
  }, '').trim();
657
749
  }
658
750
  function joinStyles(styles) {
659
- return Object.keys(styles || {}).reduce(function (acc, styleName) {
751
+ return Object.keys(styles || {}).reduce((acc, styleName) => {
660
752
  return acc + "".concat(styleName, ": ").concat(styles[styleName].trim(), ";");
661
753
  }, '');
662
754
  }
@@ -664,57 +756,55 @@ function transformIsMeaningful(transform) {
664
756
  return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;
665
757
  }
666
758
  function transformForSvg(_ref) {
667
- var transform = _ref.transform,
668
- containerWidth = _ref.containerWidth,
669
- iconWidth = _ref.iconWidth;
670
- var outer = {
759
+ let {
760
+ transform,
761
+ containerWidth,
762
+ iconWidth
763
+ } = _ref;
764
+ const outer = {
671
765
  transform: "translate(".concat(containerWidth / 2, " 256)")
672
766
  };
673
- var innerTranslate = "translate(".concat(transform.x * 32, ", ").concat(transform.y * 32, ") ");
674
- var innerScale = "scale(".concat(transform.size / 16 * (transform.flipX ? -1 : 1), ", ").concat(transform.size / 16 * (transform.flipY ? -1 : 1), ") ");
675
- var innerRotate = "rotate(".concat(transform.rotate, " 0 0)");
676
- var inner = {
767
+ const innerTranslate = "translate(".concat(transform.x * 32, ", ").concat(transform.y * 32, ") ");
768
+ const innerScale = "scale(".concat(transform.size / 16 * (transform.flipX ? -1 : 1), ", ").concat(transform.size / 16 * (transform.flipY ? -1 : 1), ") ");
769
+ const innerRotate = "rotate(".concat(transform.rotate, " 0 0)");
770
+ const inner = {
677
771
  transform: "".concat(innerTranslate, " ").concat(innerScale, " ").concat(innerRotate)
678
772
  };
679
- var path = {
773
+ const path = {
680
774
  transform: "translate(".concat(iconWidth / 2 * -1, " -256)")
681
775
  };
682
776
  return {
683
- outer: outer,
684
- inner: inner,
685
- path: path
777
+ outer,
778
+ inner,
779
+ path
686
780
  };
687
781
  }
688
782
  function transformForCss(_ref2) {
689
- var transform = _ref2.transform,
690
- _ref2$width = _ref2.width,
691
- width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,
692
- _ref2$height = _ref2.height,
693
- height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,
694
- _ref2$startCentered = _ref2.startCentered,
695
- startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;
696
- var val = '';
697
-
783
+ let {
784
+ transform,
785
+ width = UNITS_IN_GRID,
786
+ height = UNITS_IN_GRID,
787
+ startCentered = false
788
+ } = _ref2;
789
+ let val = '';
698
790
  if (startCentered && IS_IE) {
699
- val += "translate(".concat(transform.x / d - width / 2, "em, ").concat(transform.y / d - height / 2, "em) ");
791
+ val += "translate(".concat(transform.x / d$2 - width / 2, "em, ").concat(transform.y / d$2 - height / 2, "em) ");
700
792
  } else if (startCentered) {
701
- val += "translate(calc(-50% + ".concat(transform.x / d, "em), calc(-50% + ").concat(transform.y / d, "em)) ");
793
+ val += "translate(calc(-50% + ".concat(transform.x / d$2, "em), calc(-50% + ").concat(transform.y / d$2, "em)) ");
702
794
  } else {
703
- val += "translate(".concat(transform.x / d, "em, ").concat(transform.y / d, "em) ");
795
+ val += "translate(".concat(transform.x / d$2, "em, ").concat(transform.y / d$2, "em) ");
704
796
  }
705
-
706
- val += "scale(".concat(transform.size / d * (transform.flipX ? -1 : 1), ", ").concat(transform.size / d * (transform.flipY ? -1 : 1), ") ");
797
+ val += "scale(".concat(transform.size / d$2 * (transform.flipX ? -1 : 1), ", ").concat(transform.size / d$2 * (transform.flipY ? -1 : 1), ") ");
707
798
  val += "rotate(".concat(transform.rotate, "deg) ");
708
799
  return val;
709
800
  }
710
801
 
711
802
  function toHtml(abstractNodes) {
712
- var tag = abstractNodes.tag,
713
- _abstractNodes$attrib = abstractNodes.attributes,
714
- attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,
715
- _abstractNodes$childr = abstractNodes.children,
716
- children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;
717
-
803
+ const {
804
+ tag,
805
+ attributes = {},
806
+ children = []
807
+ } = abstractNodes;
718
808
  if (typeof abstractNodes === 'string') {
719
809
  return htmlEscape(abstractNodes);
720
810
  } else {
@@ -725,8 +815,8 @@ function toHtml(abstractNodes) {
725
815
  function iconFromMapping(mapping, prefix, iconName) {
726
816
  if (mapping && mapping[prefix] && mapping[prefix][iconName]) {
727
817
  return {
728
- prefix: prefix,
729
- iconName: iconName,
818
+ prefix,
819
+ iconName,
730
820
  icon: mapping[prefix][iconName]
731
821
  };
732
822
  }
@@ -736,7 +826,6 @@ function iconFromMapping(mapping, prefix, iconName) {
736
826
  * Internal helper to bind a function known to have 4 arguments
737
827
  * to a given context.
738
828
  */
739
-
740
829
  var bindInternal4 = function bindInternal4(func, thisContext) {
741
830
  return function (a, b, c, d) {
742
831
  return func.call(thisContext, a, b, c, d);
@@ -754,16 +843,13 @@ var bindInternal4 = function bindInternal4(func, thisContext) {
754
843
  * @param {Object} thisContext The context for the reducer.
755
844
  * @return {mixed} The final result.
756
845
  */
757
-
758
-
759
846
  var reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {
760
847
  var keys = Object.keys(subject),
761
- length = keys.length,
762
- iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,
763
- i,
764
- key,
765
- result;
766
-
848
+ length = keys.length,
849
+ iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,
850
+ i,
851
+ key,
852
+ result;
767
853
  if (initialValue === undefined) {
768
854
  i = 1;
769
855
  result = subject[keys[0]];
@@ -771,12 +857,10 @@ var reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {
771
857
  i = 0;
772
858
  result = initialValue;
773
859
  }
774
-
775
860
  for (; i < length; i++) {
776
861
  key = keys[i];
777
862
  result = iterator(result, subject[key], key, subject);
778
863
  }
779
-
780
864
  return result;
781
865
  };
782
866
 
@@ -804,17 +888,15 @@ var reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {
804
888
  * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
805
889
  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
806
890
  */
807
- function ucs2decode(string) {
808
- var output = [];
809
- var counter = 0;
810
- var length = string.length;
811
891
 
892
+ function ucs2decode(string) {
893
+ const output = [];
894
+ let counter = 0;
895
+ const length = string.length;
812
896
  while (counter < length) {
813
- var value = string.charCodeAt(counter++);
814
-
897
+ const value = string.charCodeAt(counter++);
815
898
  if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
816
- var extra = string.charCodeAt(counter++);
817
-
899
+ const extra = string.charCodeAt(counter++);
818
900
  if ((extra & 0xFC00) == 0xDC00) {
819
901
  // eslint-disable-line eqeqeq
820
902
  output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
@@ -826,181 +908,165 @@ function ucs2decode(string) {
826
908
  output.push(value);
827
909
  }
828
910
  }
829
-
830
911
  return output;
831
912
  }
832
-
833
913
  function toHex(unicode) {
834
- var decoded = ucs2decode(unicode);
914
+ const decoded = ucs2decode(unicode);
835
915
  return decoded.length === 1 ? decoded[0].toString(16) : null;
836
916
  }
837
917
  function codePointAt(string, index) {
838
- var size = string.length;
839
- var first = string.charCodeAt(index);
840
- var second;
841
-
918
+ const size = string.length;
919
+ let first = string.charCodeAt(index);
920
+ let second;
842
921
  if (first >= 0xD800 && first <= 0xDBFF && size > index + 1) {
843
922
  second = string.charCodeAt(index + 1);
844
-
845
923
  if (second >= 0xDC00 && second <= 0xDFFF) {
846
924
  return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;
847
925
  }
848
926
  }
849
-
850
927
  return first;
851
928
  }
852
929
 
853
930
  function normalizeIcons(icons) {
854
- return Object.keys(icons).reduce(function (acc, iconName) {
855
- var icon = icons[iconName];
856
- var expanded = !!icon.icon;
857
-
931
+ return Object.keys(icons).reduce((acc, iconName) => {
932
+ const icon = icons[iconName];
933
+ const expanded = !!icon.icon;
858
934
  if (expanded) {
859
935
  acc[icon.iconName] = icon.icon;
860
936
  } else {
861
937
  acc[iconName] = icon;
862
938
  }
863
-
864
939
  return acc;
865
940
  }, {});
866
941
  }
867
-
868
942
  function defineIcons(prefix, icons) {
869
- var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
870
- var _params$skipHooks = params.skipHooks,
871
- skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;
872
- var normalized = normalizeIcons(icons);
873
-
943
+ let params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
944
+ const {
945
+ skipHooks = false
946
+ } = params;
947
+ const normalized = normalizeIcons(icons);
874
948
  if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {
875
949
  namespace.hooks.addPack(prefix, normalizeIcons(icons));
876
950
  } else {
877
951
  namespace.styles[prefix] = _objectSpread2(_objectSpread2({}, namespace.styles[prefix] || {}), normalized);
878
952
  }
953
+
879
954
  /**
880
955
  * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction
881
956
  * of new styles we needed to differentiate between them. Prefix `fa` is now an alias
882
957
  * for `fas` so we'll ease the upgrade process for our users by automatically defining
883
958
  * this as well.
884
959
  */
885
-
886
-
887
960
  if (prefix === 'fas') {
888
961
  defineIcons('fa', icons);
889
962
  }
890
963
  }
891
964
 
892
- var duotonePathRe = [/*#__PURE__*/_wrapRegExp(/path d="((?:(?!")[\s\S])+)".*path d="((?:(?!")[\s\S])+)"/, {
965
+ const duotonePathRe = [/*#__PURE__*/_wrapRegExp(/path d="([^"]+)".*path d="([^"]+)"/, {
893
966
  d1: 1,
894
967
  d2: 2
895
- }), /*#__PURE__*/_wrapRegExp(/path class="((?:(?!")[\s\S])+)".*d="((?:(?!")[\s\S])+)".*path class="((?:(?!")[\s\S])+)".*d="((?:(?!")[\s\S])+)"/, {
968
+ }), /*#__PURE__*/_wrapRegExp(/path class="([^"]+)".*d="([^"]+)".*path class="([^"]+)".*d="([^"]+)"/, {
896
969
  cls1: 1,
897
970
  d1: 2,
898
971
  cls2: 3,
899
972
  d2: 4
900
- }), /*#__PURE__*/_wrapRegExp(/path class="((?:(?!")[\s\S])+)".*d="((?:(?!")[\s\S])+)"/, {
973
+ }), /*#__PURE__*/_wrapRegExp(/path class="([^"]+)".*d="([^"]+)"/, {
901
974
  cls1: 1,
902
975
  d1: 2
903
976
  })];
904
977
 
905
- var _LONG_STYLE, _PREFIXES, _PREFIXES_FOR_FAMILY;
906
- var styles = namespace.styles,
907
- shims = namespace.shims;
908
- var LONG_STYLE = (_LONG_STYLE = {}, _defineProperty(_LONG_STYLE, FAMILY_CLASSIC, Object.values(PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC])), _defineProperty(_LONG_STYLE, FAMILY_SHARP, Object.values(PREFIX_TO_LONG_STYLE[FAMILY_SHARP])), _LONG_STYLE);
909
- var _defaultUsablePrefix = null;
910
- var _byUnicode = {};
911
- var _byLigature = {};
912
- var _byOldName = {};
913
- var _byOldUnicode = {};
914
- var _byAlias = {};
915
- var PREFIXES = (_PREFIXES = {}, _defineProperty(_PREFIXES, FAMILY_CLASSIC, Object.keys(PREFIX_TO_STYLE[FAMILY_CLASSIC])), _defineProperty(_PREFIXES, FAMILY_SHARP, Object.keys(PREFIX_TO_STYLE[FAMILY_SHARP])), _PREFIXES);
916
-
978
+ const {
979
+ styles,
980
+ shims
981
+ } = namespace;
982
+ const FAMILY_NAMES = Object.keys(PREFIX_TO_LONG_STYLE);
983
+ const PREFIXES_FOR_FAMILY = FAMILY_NAMES.reduce((acc, familyId) => {
984
+ acc[familyId] = Object.keys(PREFIX_TO_LONG_STYLE[familyId]);
985
+ return acc;
986
+ }, {});
987
+ let _defaultUsablePrefix = null;
988
+ let _byUnicode = {};
989
+ let _byLigature = {};
990
+ let _byOldName = {};
991
+ let _byOldUnicode = {};
992
+ let _byAlias = {};
917
993
  function isReserved(name) {
918
994
  return ~RESERVED_CLASSES.indexOf(name);
919
995
  }
920
-
921
996
  function getIconName(cssPrefix, cls) {
922
- var parts = cls.split('-');
923
- var prefix = parts[0];
924
- var iconName = parts.slice(1).join('-');
925
-
997
+ const parts = cls.split('-');
998
+ const prefix = parts[0];
999
+ const iconName = parts.slice(1).join('-');
926
1000
  if (prefix === cssPrefix && iconName !== '' && !isReserved(iconName)) {
927
1001
  return iconName;
928
1002
  } else {
929
1003
  return null;
930
1004
  }
931
1005
  }
932
- var build = function build() {
933
- var lookup = function lookup(reducer) {
934
- return reduce(styles, function (o, style, prefix) {
935
- o[prefix] = reduce(style, reducer, {});
936
- return o;
1006
+ const build = () => {
1007
+ const lookup = reducer => {
1008
+ return reduce(styles, (o$$1, style, prefix) => {
1009
+ o$$1[prefix] = reduce(style, reducer, {});
1010
+ return o$$1;
937
1011
  }, {});
938
1012
  };
939
-
940
- _byUnicode = lookup(function (acc, icon, iconName) {
1013
+ _byUnicode = lookup((acc, icon, iconName) => {
941
1014
  if (icon[3]) {
942
1015
  acc[icon[3]] = iconName;
943
1016
  }
944
-
945
1017
  if (icon[2]) {
946
- var aliases = icon[2].filter(function (a) {
947
- return typeof a === 'number';
1018
+ const aliases = icon[2].filter(a$$1 => {
1019
+ return typeof a$$1 === 'number';
948
1020
  });
949
- aliases.forEach(function (alias) {
1021
+ aliases.forEach(alias => {
950
1022
  acc[alias.toString(16)] = iconName;
951
1023
  });
952
1024
  }
953
-
954
1025
  return acc;
955
1026
  });
956
- _byLigature = lookup(function (acc, icon, iconName) {
1027
+ _byLigature = lookup((acc, icon, iconName) => {
957
1028
  acc[iconName] = iconName;
958
-
959
1029
  if (icon[2]) {
960
- var aliases = icon[2].filter(function (a) {
961
- return typeof a === 'string';
1030
+ const aliases = icon[2].filter(a$$1 => {
1031
+ return typeof a$$1 === 'string';
962
1032
  });
963
- aliases.forEach(function (alias) {
1033
+ aliases.forEach(alias => {
964
1034
  acc[alias] = iconName;
965
1035
  });
966
1036
  }
967
-
968
1037
  return acc;
969
1038
  });
970
- _byAlias = lookup(function (acc, icon, iconName) {
971
- var aliases = icon[2];
1039
+ _byAlias = lookup((acc, icon, iconName) => {
1040
+ const aliases = icon[2];
972
1041
  acc[iconName] = iconName;
973
- aliases.forEach(function (alias) {
1042
+ aliases.forEach(alias => {
974
1043
  acc[alias] = iconName;
975
1044
  });
976
1045
  return acc;
977
- }); // If we have a Kit, we can't determine if regular is available since we
978
- // could be auto-fetching it. We'll have to assume that it is available.
979
-
980
- var hasRegular = 'far' in styles || config.autoFetchSvg;
981
- var shimLookups = reduce(shims, function (acc, shim) {
982
- var maybeNameMaybeUnicode = shim[0];
983
- var prefix = shim[1];
984
- var iconName = shim[2];
1046
+ });
985
1047
 
1048
+ // If we have a Kit, we can't determine if regular is available since we
1049
+ // could be auto-fetching it. We'll have to assume that it is available.
1050
+ const hasRegular = 'far' in styles || config.autoFetchSvg;
1051
+ const shimLookups = reduce(shims, (acc, shim) => {
1052
+ const maybeNameMaybeUnicode = shim[0];
1053
+ let prefix = shim[1];
1054
+ const iconName = shim[2];
986
1055
  if (prefix === 'far' && !hasRegular) {
987
1056
  prefix = 'fas';
988
1057
  }
989
-
990
1058
  if (typeof maybeNameMaybeUnicode === 'string') {
991
1059
  acc.names[maybeNameMaybeUnicode] = {
992
- prefix: prefix,
993
- iconName: iconName
1060
+ prefix,
1061
+ iconName
994
1062
  };
995
1063
  }
996
-
997
1064
  if (typeof maybeNameMaybeUnicode === 'number') {
998
1065
  acc.unicodes[maybeNameMaybeUnicode.toString(16)] = {
999
- prefix: prefix,
1000
- iconName: iconName
1066
+ prefix,
1067
+ iconName
1001
1068
  };
1002
1069
  }
1003
-
1004
1070
  return acc;
1005
1071
  }, {
1006
1072
  names: {},
@@ -1012,8 +1078,8 @@ var build = function build() {
1012
1078
  family: config.familyDefault
1013
1079
  });
1014
1080
  };
1015
- onChange(function (c) {
1016
- _defaultUsablePrefix = getCanonicalPrefix(c.styleDefault, {
1081
+ onChange(c$$1 => {
1082
+ _defaultUsablePrefix = getCanonicalPrefix(c$$1.styleDefault, {
1017
1083
  family: config.familyDefault
1018
1084
  });
1019
1085
  });
@@ -1034,8 +1100,8 @@ function byOldName(name) {
1034
1100
  };
1035
1101
  }
1036
1102
  function byOldUnicode(unicode) {
1037
- var oldUnicode = _byOldUnicode[unicode];
1038
- var newUnicode = byUnicode('fas', unicode);
1103
+ const oldUnicode = _byOldUnicode[unicode];
1104
+ const newUnicode = byUnicode('fas', unicode);
1039
1105
  return oldUnicode || (newUnicode ? {
1040
1106
  prefix: 'fas',
1041
1107
  iconName: newUnicode
@@ -1047,238 +1113,270 @@ function byOldUnicode(unicode) {
1047
1113
  function getDefaultUsablePrefix() {
1048
1114
  return _defaultUsablePrefix;
1049
1115
  }
1050
- var emptyCanonicalIcon = function emptyCanonicalIcon() {
1116
+ const emptyCanonicalIcon = () => {
1051
1117
  return {
1052
1118
  prefix: null,
1053
1119
  iconName: null,
1054
1120
  rest: []
1055
1121
  };
1056
1122
  };
1123
+ function getFamilyId(values) {
1124
+ let family = s;
1125
+ const famProps = FAMILY_NAMES.reduce((acc, familyId) => {
1126
+ acc[familyId] = "".concat(config.cssPrefix, "-").concat(familyId);
1127
+ return acc;
1128
+ }, {});
1129
+ L.forEach(familyId => {
1130
+ if (values.includes(famProps[familyId]) || values.some(v$$1 => PREFIXES_FOR_FAMILY[familyId].includes(v$$1))) {
1131
+ family = familyId;
1132
+ }
1133
+ });
1134
+ return family;
1135
+ }
1057
1136
  function getCanonicalPrefix(styleOrPrefix) {
1058
- var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1059
- var _params$family = params.family,
1060
- family = _params$family === void 0 ? FAMILY_CLASSIC : _params$family;
1061
- var style = PREFIX_TO_STYLE[family][styleOrPrefix];
1062
- var prefix = STYLE_TO_PREFIX[family][styleOrPrefix] || STYLE_TO_PREFIX[family][style];
1063
- var defined = styleOrPrefix in namespace.styles ? styleOrPrefix : null;
1064
- return prefix || defined || null;
1065
- }
1066
- var PREFIXES_FOR_FAMILY = (_PREFIXES_FOR_FAMILY = {}, _defineProperty(_PREFIXES_FOR_FAMILY, FAMILY_CLASSIC, Object.keys(PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC])), _defineProperty(_PREFIXES_FOR_FAMILY, FAMILY_SHARP, Object.keys(PREFIX_TO_LONG_STYLE[FAMILY_SHARP])), _PREFIXES_FOR_FAMILY);
1137
+ let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1138
+ const {
1139
+ family = s
1140
+ } = params;
1141
+ const style = PREFIX_TO_STYLE[family][styleOrPrefix];
1142
+
1143
+ // handles the exception of passing in only a family of 'duotone' with no style
1144
+ if (family === t && !styleOrPrefix) {
1145
+ return 'fad';
1146
+ }
1147
+ const prefix = STYLE_TO_PREFIX[family][styleOrPrefix] || STYLE_TO_PREFIX[family][style];
1148
+ const defined = styleOrPrefix in namespace.styles ? styleOrPrefix : null;
1149
+ const result = prefix || defined || null;
1150
+ return result;
1151
+ }
1152
+ function moveNonFaClassesToRest(classNames) {
1153
+ let rest = [];
1154
+ let iconName = null;
1155
+ classNames.forEach(cls => {
1156
+ const result = getIconName(config.cssPrefix, cls);
1157
+ if (result) {
1158
+ iconName = result;
1159
+ } else if (cls) {
1160
+ rest.push(cls);
1161
+ }
1162
+ });
1163
+ return {
1164
+ iconName,
1165
+ rest
1166
+ };
1167
+ }
1168
+ function sortedUniqueValues(arr) {
1169
+ return arr.sort().filter((value, index, arr) => {
1170
+ return arr.indexOf(value) === index;
1171
+ });
1172
+ }
1067
1173
  function getCanonicalIcon(values) {
1068
- var _famProps;
1069
-
1070
- var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1071
- var _params$skipLookups = params.skipLookups,
1072
- skipLookups = _params$skipLookups === void 0 ? false : _params$skipLookups;
1073
- var famProps = (_famProps = {}, _defineProperty(_famProps, FAMILY_CLASSIC, "".concat(config.cssPrefix, "-").concat(FAMILY_CLASSIC)), _defineProperty(_famProps, FAMILY_SHARP, "".concat(config.cssPrefix, "-").concat(FAMILY_SHARP)), _famProps);
1074
- var givenPrefix = null;
1075
- var family = FAMILY_CLASSIC;
1076
-
1077
- if (values.includes(famProps[FAMILY_CLASSIC]) || values.some(function (v) {
1078
- return PREFIXES_FOR_FAMILY[FAMILY_CLASSIC].includes(v);
1079
- })) {
1080
- family = FAMILY_CLASSIC;
1174
+ let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1175
+ const {
1176
+ skipLookups = false
1177
+ } = params;
1178
+ let givenPrefix = null;
1179
+ const faCombinedClasses = Ia.concat(bt$1);
1180
+ const faStyleOrFamilyClasses = sortedUniqueValues(values.filter(cls => faCombinedClasses.includes(cls)));
1181
+ const nonStyleOrFamilyClasses = sortedUniqueValues(values.filter(cls => !Ia.includes(cls)));
1182
+ const faStyles = faStyleOrFamilyClasses.filter(cls => {
1183
+ givenPrefix = cls;
1184
+ return !P.includes(cls);
1185
+ });
1186
+ const [styleFromValues = null] = faStyles;
1187
+ const family = getFamilyId(faStyleOrFamilyClasses);
1188
+ const canonical = _objectSpread2(_objectSpread2({}, moveNonFaClassesToRest(nonStyleOrFamilyClasses)), {}, {
1189
+ prefix: getCanonicalPrefix(styleFromValues, {
1190
+ family
1191
+ })
1192
+ });
1193
+ return _objectSpread2(_objectSpread2(_objectSpread2({}, canonical), getDefaultCanonicalPrefix({
1194
+ values,
1195
+ family,
1196
+ styles,
1197
+ config,
1198
+ canonical,
1199
+ givenPrefix
1200
+ })), applyShimAndAlias(skipLookups, givenPrefix, canonical));
1201
+ }
1202
+ function applyShimAndAlias(skipLookups, givenPrefix, canonical) {
1203
+ let {
1204
+ prefix,
1205
+ iconName
1206
+ } = canonical;
1207
+ if (skipLookups || !prefix || !iconName) {
1208
+ return {
1209
+ prefix,
1210
+ iconName
1211
+ };
1081
1212
  }
1082
-
1083
- if (values.includes(famProps[FAMILY_SHARP]) || values.some(function (v) {
1084
- return PREFIXES_FOR_FAMILY[FAMILY_SHARP].includes(v);
1085
- })) {
1086
- family = FAMILY_SHARP;
1213
+ const shim = givenPrefix === 'fa' ? byOldName(iconName) : {};
1214
+ const aliasIconName = byAlias(prefix, iconName);
1215
+ iconName = shim.iconName || aliasIconName || iconName;
1216
+ prefix = shim.prefix || prefix;
1217
+ if (prefix === 'far' && !styles['far'] && styles['fas'] && !config.autoFetchSvg) {
1218
+ // Allow a fallback from the regular style to solid if regular is not available
1219
+ // but only if we aren't auto-fetching SVGs
1220
+ prefix = 'fas';
1221
+ }
1222
+ return {
1223
+ prefix,
1224
+ iconName
1225
+ };
1226
+ }
1227
+ const newCanonicalFamilies = L.filter(familyId => {
1228
+ return familyId !== s || familyId !== t;
1229
+ });
1230
+ const newCanonicalStyles = Object.keys(ga).filter(key => key !== s).map(key => Object.keys(ga[key])).flat();
1231
+ function getDefaultCanonicalPrefix(prefixOptions) {
1232
+ const {
1233
+ values,
1234
+ family,
1235
+ canonical,
1236
+ givenPrefix = '',
1237
+ styles = {},
1238
+ config: config$$1 = {}
1239
+ } = prefixOptions;
1240
+ const isDuotoneFamily = family === t;
1241
+ const valuesHasDuotone = values.includes('fa-duotone') || values.includes('fad');
1242
+ const defaultFamilyIsDuotone = config$$1.familyDefault === 'duotone';
1243
+ const canonicalPrefixIsDuotone = canonical.prefix === 'fad' || canonical.prefix === 'fa-duotone';
1244
+ if (!isDuotoneFamily && (valuesHasDuotone || defaultFamilyIsDuotone || canonicalPrefixIsDuotone)) {
1245
+ canonical.prefix = 'fad';
1087
1246
  }
1088
-
1089
- var canonical = values.reduce(function (acc, cls) {
1090
- var iconName = getIconName(config.cssPrefix, cls);
1091
-
1092
- if (styles[cls]) {
1093
- cls = LONG_STYLE[family].includes(cls) ? LONG_STYLE_TO_PREFIX[family][cls] : cls;
1094
- givenPrefix = cls;
1095
- acc.prefix = cls;
1096
- } else if (PREFIXES[family].indexOf(cls) > -1) {
1097
- givenPrefix = cls;
1098
- acc.prefix = getCanonicalPrefix(cls, {
1099
- family: family
1100
- });
1101
- } else if (iconName) {
1102
- acc.iconName = iconName;
1103
- } else if (cls !== config.replacementClass && cls !== famProps[FAMILY_CLASSIC] && cls !== famProps[FAMILY_SHARP]) {
1104
- acc.rest.push(cls);
1105
- }
1106
-
1107
- if (!skipLookups && acc.prefix && acc.iconName) {
1108
- var shim = givenPrefix === 'fa' ? byOldName(acc.iconName) : {};
1109
- var aliasIconName = byAlias(acc.prefix, acc.iconName);
1110
-
1111
- if (shim.prefix) {
1112
- givenPrefix = null;
1113
- }
1114
-
1115
- acc.iconName = shim.iconName || aliasIconName || acc.iconName;
1116
- acc.prefix = shim.prefix || acc.prefix;
1117
-
1118
- if (acc.prefix === 'far' && !styles['far'] && styles['fas'] && !config.autoFetchSvg) {
1119
- // Allow a fallback from the regular style to solid if regular is not available
1120
- // but only if we aren't auto-fetching SVGs
1121
- acc.prefix = 'fas';
1122
- }
1123
- }
1124
-
1125
- return acc;
1126
- }, emptyCanonicalIcon());
1127
-
1128
1247
  if (values.includes('fa-brands') || values.includes('fab')) {
1129
1248
  canonical.prefix = 'fab';
1130
1249
  }
1131
-
1132
- if (values.includes('fa-duotone') || values.includes('fad')) {
1133
- canonical.prefix = 'fad';
1134
- }
1135
-
1136
- if (!canonical.prefix && family === FAMILY_SHARP && (styles['fass'] || config.autoFetchSvg)) {
1137
- canonical.prefix = 'fass';
1138
- canonical.iconName = byAlias(canonical.prefix, canonical.iconName) || canonical.iconName;
1250
+ if (!canonical.prefix && newCanonicalFamilies.includes(family)) {
1251
+ const validPrefix = Object.keys(styles).find(key => newCanonicalStyles.includes(key));
1252
+ if (validPrefix || config$$1.autoFetchSvg) {
1253
+ const defaultPrefix = pt.get(family).defaultShortPrefixId;
1254
+ canonical.prefix = defaultPrefix;
1255
+ canonical.iconName = byAlias(canonical.prefix, canonical.iconName) || canonical.iconName;
1256
+ }
1139
1257
  }
1140
-
1141
1258
  if (canonical.prefix === 'fa' || givenPrefix === 'fa') {
1142
1259
  // The fa prefix is not canonical. So if it has made it through until this point
1143
1260
  // we will shift it to the correct prefix.
1144
1261
  canonical.prefix = getDefaultUsablePrefix() || 'fas';
1145
1262
  }
1146
-
1147
1263
  return canonical;
1148
1264
  }
1149
1265
 
1150
- var Library = /*#__PURE__*/function () {
1151
- function Library() {
1152
- _classCallCheck(this, Library);
1153
-
1266
+ class Library {
1267
+ constructor() {
1154
1268
  this.definitions = {};
1155
1269
  }
1156
-
1157
- _createClass(Library, [{
1158
- key: "add",
1159
- value: function add() {
1160
- var _this = this;
1161
-
1162
- for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {
1163
- definitions[_key] = arguments[_key];
1164
- }
1165
-
1166
- var additions = definitions.reduce(this._pullDefinitions, {});
1167
- Object.keys(additions).forEach(function (key) {
1168
- _this.definitions[key] = _objectSpread2(_objectSpread2({}, _this.definitions[key] || {}), additions[key]);
1169
- defineIcons(key, additions[key]); // TODO can we stop doing this? We can't get the icons by 'fa-solid' any longer so this probably needs to change
1170
-
1171
- var longPrefix = PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC][key];
1172
- if (longPrefix) defineIcons(longPrefix, additions[key]);
1173
- build();
1174
- });
1270
+ add() {
1271
+ for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {
1272
+ definitions[_key] = arguments[_key];
1175
1273
  }
1176
- }, {
1177
- key: "reset",
1178
- value: function reset() {
1179
- this.definitions = {};
1180
- }
1181
- }, {
1182
- key: "_pullDefinitions",
1183
- value: function _pullDefinitions(additions, definition) {
1184
- var normalized = definition.prefix && definition.iconName && definition.icon ? {
1185
- 0: definition
1186
- } : definition;
1187
- Object.keys(normalized).map(function (key) {
1188
- var _normalized$key = normalized[key],
1189
- prefix = _normalized$key.prefix,
1190
- iconName = _normalized$key.iconName,
1191
- icon = _normalized$key.icon;
1192
- var aliases = icon[2];
1193
- if (!additions[prefix]) additions[prefix] = {};
1194
-
1195
- if (aliases.length > 0) {
1196
- aliases.forEach(function (alias) {
1197
- if (typeof alias === 'string') {
1198
- additions[prefix][alias] = icon;
1199
- }
1200
- });
1201
- }
1202
-
1203
- additions[prefix][iconName] = icon;
1204
- });
1205
- return additions;
1206
- }
1207
- }]);
1208
-
1209
- return Library;
1210
- }();
1274
+ const additions = definitions.reduce(this._pullDefinitions, {});
1275
+ Object.keys(additions).forEach(key => {
1276
+ this.definitions[key] = _objectSpread2(_objectSpread2({}, this.definitions[key] || {}), additions[key]);
1277
+ defineIcons(key, additions[key]);
1278
+
1279
+ // TODO can we stop doing this? We can't get the icons by 'fa-solid' any longer so this probably needs to change
1280
+ const longPrefix = PREFIX_TO_LONG_STYLE[s][key];
1281
+ if (longPrefix) defineIcons(longPrefix, additions[key]);
1282
+ build();
1283
+ });
1284
+ }
1285
+ reset() {
1286
+ this.definitions = {};
1287
+ }
1288
+ _pullDefinitions(additions, definition) {
1289
+ const normalized = definition.prefix && definition.iconName && definition.icon ? {
1290
+ 0: definition
1291
+ } : definition;
1292
+ Object.keys(normalized).map(key => {
1293
+ const {
1294
+ prefix,
1295
+ iconName,
1296
+ icon
1297
+ } = normalized[key];
1298
+ const aliases = icon[2];
1299
+ if (!additions[prefix]) additions[prefix] = {};
1300
+ if (aliases.length > 0) {
1301
+ aliases.forEach(alias => {
1302
+ if (typeof alias === 'string') {
1303
+ additions[prefix][alias] = icon;
1304
+ }
1305
+ });
1306
+ }
1307
+ additions[prefix][iconName] = icon;
1308
+ });
1309
+ return additions;
1310
+ }
1311
+ }
1211
1312
 
1212
1313
  function findIconDefinition(iconLookup) {
1213
1314
  if (iconLookup.prefix === 'fa') {
1214
1315
  iconLookup.prefix = 'fas';
1215
1316
  }
1216
-
1217
- var iconName = iconLookup.iconName;
1218
- var prefix = iconLookup.prefix || getDefaultUsablePrefix();
1317
+ let {
1318
+ iconName
1319
+ } = iconLookup;
1320
+ const prefix = iconLookup.prefix || getDefaultUsablePrefix();
1219
1321
  if (!iconName) return;
1220
1322
  iconName = byAlias(prefix, iconName) || iconName;
1221
1323
  return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);
1222
1324
  }
1223
- var library = new Library();
1224
- var noAuto = function noAuto() {
1325
+ const library = new Library();
1326
+ const noAuto = () => {
1225
1327
  config.autoReplaceSvg = false;
1226
1328
  config.observeMutations = false;
1227
1329
  callHooks('noAuto');
1228
1330
  };
1229
- var dom = {
1230
- i2svg: function i2svg() {
1231
- var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1232
-
1331
+ const dom = {
1332
+ i2svg: function () {
1333
+ let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1233
1334
  if (IS_DOM) {
1234
1335
  callHooks('beforeI2svg', params);
1235
1336
  callProvided('pseudoElements2svg', params);
1236
1337
  return callProvided('i2svg', params);
1237
1338
  } else {
1238
- return Promise.reject('Operation requires a DOM of some kind.');
1339
+ return Promise.reject(new Error('Operation requires a DOM of some kind.'));
1239
1340
  }
1240
1341
  },
1241
- watch: function watch() {
1242
- var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1243
- var autoReplaceSvgRoot = params.autoReplaceSvgRoot;
1244
-
1342
+ watch: function () {
1343
+ let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1344
+ const {
1345
+ autoReplaceSvgRoot
1346
+ } = params;
1245
1347
  if (config.autoReplaceSvg === false) {
1246
1348
  config.autoReplaceSvg = true;
1247
1349
  }
1248
-
1249
1350
  config.observeMutations = true;
1250
- domready(function () {
1351
+ domready(() => {
1251
1352
  autoReplace({
1252
- autoReplaceSvgRoot: autoReplaceSvgRoot
1353
+ autoReplaceSvgRoot
1253
1354
  });
1254
1355
  callHooks('watch', params);
1255
1356
  });
1256
1357
  }
1257
1358
  };
1258
- var parse = {
1259
- icon: function icon(_icon) {
1260
- if (_icon === null) {
1359
+ const parse = {
1360
+ icon: icon => {
1361
+ if (icon === null) {
1261
1362
  return null;
1262
1363
  }
1263
-
1264
- if (_typeof(_icon) === 'object' && _icon.prefix && _icon.iconName) {
1364
+ if (typeof icon === 'object' && icon.prefix && icon.iconName) {
1265
1365
  return {
1266
- prefix: _icon.prefix,
1267
- iconName: byAlias(_icon.prefix, _icon.iconName) || _icon.iconName
1366
+ prefix: icon.prefix,
1367
+ iconName: byAlias(icon.prefix, icon.iconName) || icon.iconName
1268
1368
  };
1269
1369
  }
1270
-
1271
- if (Array.isArray(_icon) && _icon.length === 2) {
1272
- var iconName = _icon[1].indexOf('fa-') === 0 ? _icon[1].slice(3) : _icon[1];
1273
- var prefix = getCanonicalPrefix(_icon[0]);
1370
+ if (Array.isArray(icon) && icon.length === 2) {
1371
+ const iconName = icon[1].indexOf('fa-') === 0 ? icon[1].slice(3) : icon[1];
1372
+ const prefix = getCanonicalPrefix(icon[0]);
1274
1373
  return {
1275
- prefix: prefix,
1374
+ prefix,
1276
1375
  iconName: byAlias(prefix, iconName) || iconName
1277
1376
  };
1278
1377
  }
1279
-
1280
- if (typeof _icon === 'string' && (_icon.indexOf("".concat(config.cssPrefix, "-")) > -1 || _icon.match(ICON_SELECTION_SYNTAX_PATTERN))) {
1281
- var canonicalIcon = getCanonicalIcon(_icon.split(' '), {
1378
+ if (typeof icon === 'string' && (icon.indexOf("".concat(config.cssPrefix, "-")) > -1 || icon.match(ICON_SELECTION_SYNTAX_PATTERN))) {
1379
+ const canonicalIcon = getCanonicalIcon(icon.split(' '), {
1282
1380
  skipLookups: true
1283
1381
  });
1284
1382
  return {
@@ -1286,79 +1384,72 @@ var parse = {
1286
1384
  iconName: byAlias(canonicalIcon.prefix, canonicalIcon.iconName) || canonicalIcon.iconName
1287
1385
  };
1288
1386
  }
1289
-
1290
- if (typeof _icon === 'string') {
1291
- var _prefix = getDefaultUsablePrefix();
1292
-
1387
+ if (typeof icon === 'string') {
1388
+ const prefix = getDefaultUsablePrefix();
1293
1389
  return {
1294
- prefix: _prefix,
1295
- iconName: byAlias(_prefix, _icon) || _icon
1390
+ prefix,
1391
+ iconName: byAlias(prefix, icon) || icon
1296
1392
  };
1297
1393
  }
1298
1394
  }
1299
1395
  };
1300
- var api = {
1301
- noAuto: noAuto,
1302
- config: config,
1303
- dom: dom,
1304
- parse: parse,
1305
- library: library,
1306
- findIconDefinition: findIconDefinition,
1307
- toHtml: toHtml
1396
+ const api = {
1397
+ noAuto,
1398
+ config,
1399
+ dom,
1400
+ parse,
1401
+ library,
1402
+ findIconDefinition,
1403
+ toHtml
1308
1404
  };
1309
-
1310
- var autoReplace = function autoReplace() {
1311
- var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1312
- var _params$autoReplaceSv = params.autoReplaceSvgRoot,
1313
- autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;
1405
+ const autoReplace = function () {
1406
+ let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1407
+ const {
1408
+ autoReplaceSvgRoot = DOCUMENT
1409
+ } = params;
1314
1410
  if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({
1315
1411
  node: autoReplaceSvgRoot
1316
1412
  });
1317
1413
  };
1318
1414
 
1319
- var baseStyles = ":root, :host {\n --fa-font-solid: normal 900 1em/1 \"Font Awesome 6 Solid\";\n --fa-font-regular: normal 400 1em/1 \"Font Awesome 6 Regular\";\n --fa-font-light: normal 300 1em/1 \"Font Awesome 6 Light\";\n --fa-font-thin: normal 100 1em/1 \"Font Awesome 6 Thin\";\n --fa-font-duotone: normal 900 1em/1 \"Font Awesome 6 Duotone\";\n --fa-font-sharp-solid: normal 900 1em/1 \"Font Awesome 6 Sharp\";\n --fa-font-sharp-regular: normal 400 1em/1 \"Font Awesome 6 Sharp\";\n --fa-font-sharp-light: normal 300 1em/1 \"Font Awesome 6 Sharp\";\n --fa-font-brands: normal 400 1em/1 \"Font Awesome 6 Brands\";\n}\n\nsvg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {\n overflow: visible;\n box-sizing: content-box;\n}\n\n.svg-inline--fa {\n display: var(--fa-display, inline-block);\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-2xs {\n vertical-align: 0.1em;\n}\n.svg-inline--fa.fa-xs {\n vertical-align: 0em;\n}\n.svg-inline--fa.fa-sm {\n vertical-align: -0.0714285705em;\n}\n.svg-inline--fa.fa-lg {\n vertical-align: -0.2em;\n}\n.svg-inline--fa.fa-xl {\n vertical-align: -0.25em;\n}\n.svg-inline--fa.fa-2xl {\n vertical-align: -0.3125em;\n}\n.svg-inline--fa.fa-pull-left {\n margin-right: var(--fa-pull-margin, 0.3em);\n width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n margin-left: var(--fa-pull-margin, 0.3em);\n width: auto;\n}\n.svg-inline--fa.fa-li {\n width: var(--fa-li-width, 2em);\n top: 0.25em;\n}\n.svg-inline--fa.fa-fw {\n width: var(--fa-fw-width, 1.25em);\n}\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.fa-layers-counter, .fa-layers-text {\n display: inline-block;\n position: absolute;\n text-align: center;\n}\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -0.125em;\n width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter {\n background-color: var(--fa-counter-background-color, #ff253a);\n border-radius: var(--fa-counter-border-radius, 1em);\n box-sizing: border-box;\n color: var(--fa-inverse, #fff);\n line-height: var(--fa-counter-line-height, 1);\n max-width: var(--fa-counter-max-width, 5em);\n min-width: var(--fa-counter-min-width, 1.5em);\n overflow: hidden;\n padding: var(--fa-counter-padding, 0.25em 0.5em);\n right: var(--fa-right, 0);\n text-overflow: ellipsis;\n top: var(--fa-top, 0);\n -webkit-transform: scale(var(--fa-counter-scale, 0.25));\n transform: scale(var(--fa-counter-scale, 0.25));\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n bottom: var(--fa-bottom, 0);\n right: var(--fa-right, 0);\n top: auto;\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: bottom right;\n transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n bottom: var(--fa-bottom, 0);\n left: var(--fa-left, 0);\n right: auto;\n top: auto;\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: bottom left;\n transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n top: var(--fa-top, 0);\n right: var(--fa-right, 0);\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-top-left {\n left: var(--fa-left, 0);\n right: auto;\n top: var(--fa-top, 0);\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: top left;\n transform-origin: top left;\n}\n\n.fa-1x {\n font-size: 1em;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-6x {\n font-size: 6em;\n}\n\n.fa-7x {\n font-size: 7em;\n}\n\n.fa-8x {\n font-size: 8em;\n}\n\n.fa-9x {\n font-size: 9em;\n}\n\n.fa-10x {\n font-size: 10em;\n}\n\n.fa-2xs {\n font-size: 0.625em;\n line-height: 0.1em;\n vertical-align: 0.225em;\n}\n\n.fa-xs {\n font-size: 0.75em;\n line-height: 0.0833333337em;\n vertical-align: 0.125em;\n}\n\n.fa-sm {\n font-size: 0.875em;\n line-height: 0.0714285718em;\n vertical-align: 0.0535714295em;\n}\n\n.fa-lg {\n font-size: 1.25em;\n line-height: 0.05em;\n vertical-align: -0.075em;\n}\n\n.fa-xl {\n font-size: 1.5em;\n line-height: 0.0416666682em;\n vertical-align: -0.125em;\n}\n\n.fa-2xl {\n font-size: 2em;\n line-height: 0.03125em;\n vertical-align: -0.1875em;\n}\n\n.fa-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.fa-ul {\n list-style-type: none;\n margin-left: var(--fa-li-margin, 2.5em);\n padding-left: 0;\n}\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n left: calc(var(--fa-li-width, 2em) * -1);\n position: absolute;\n text-align: center;\n width: var(--fa-li-width, 2em);\n line-height: inherit;\n}\n\n.fa-border {\n border-color: var(--fa-border-color, #eee);\n border-radius: var(--fa-border-radius, 0.1em);\n border-style: var(--fa-border-style, solid);\n border-width: var(--fa-border-width, 0.08em);\n padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);\n}\n\n.fa-pull-left {\n float: left;\n margin-right: var(--fa-pull-margin, 0.3em);\n}\n\n.fa-pull-right {\n float: right;\n margin-left: var(--fa-pull-margin, 0.3em);\n}\n\n.fa-beat {\n -webkit-animation-name: fa-beat;\n animation-name: fa-beat;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\n}\n\n.fa-bounce {\n -webkit-animation-name: fa-bounce;\n animation-name: fa-bounce;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\n}\n\n.fa-fade {\n -webkit-animation-name: fa-fade;\n animation-name: fa-fade;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n}\n\n.fa-beat-fade {\n -webkit-animation-name: fa-beat-fade;\n animation-name: fa-beat-fade;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n}\n\n.fa-flip {\n -webkit-animation-name: fa-flip;\n animation-name: fa-flip;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\n}\n\n.fa-shake {\n -webkit-animation-name: fa-shake;\n animation-name: fa-shake;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, linear);\n animation-timing-function: var(--fa-animation-timing, linear);\n}\n\n.fa-spin {\n -webkit-animation-name: fa-spin;\n animation-name: fa-spin;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 2s);\n animation-duration: var(--fa-animation-duration, 2s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, linear);\n animation-timing-function: var(--fa-animation-timing, linear);\n}\n\n.fa-spin-reverse {\n --fa-animation-direction: reverse;\n}\n\n.fa-pulse,\n.fa-spin-pulse {\n -webkit-animation-name: fa-spin;\n animation-name: fa-spin;\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, steps(8));\n animation-timing-function: var(--fa-animation-timing, steps(8));\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fa-beat,\n.fa-bounce,\n.fa-fade,\n.fa-beat-fade,\n.fa-flip,\n.fa-pulse,\n.fa-shake,\n.fa-spin,\n.fa-spin-pulse {\n -webkit-animation-delay: -1ms;\n animation-delay: -1ms;\n -webkit-animation-duration: 1ms;\n animation-duration: 1ms;\n -webkit-animation-iteration-count: 1;\n animation-iteration-count: 1;\n -webkit-transition-delay: 0s;\n transition-delay: 0s;\n -webkit-transition-duration: 0s;\n transition-duration: 0s;\n }\n}\n@-webkit-keyframes fa-beat {\n 0%, 90% {\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 45% {\n -webkit-transform: scale(var(--fa-beat-scale, 1.25));\n transform: scale(var(--fa-beat-scale, 1.25));\n }\n}\n@keyframes fa-beat {\n 0%, 90% {\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 45% {\n -webkit-transform: scale(var(--fa-beat-scale, 1.25));\n transform: scale(var(--fa-beat-scale, 1.25));\n }\n}\n@-webkit-keyframes fa-bounce {\n 0% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 10% {\n -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\n }\n 30% {\n -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));\n 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));\n }\n 50% {\n -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\n }\n 57% {\n -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n }\n 64% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 100% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n}\n@keyframes fa-bounce {\n 0% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 10% {\n -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\n }\n 30% {\n -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));\n 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));\n }\n 50% {\n -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\n }\n 57% {\n -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n }\n 64% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 100% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n}\n@-webkit-keyframes fa-fade {\n 50% {\n opacity: var(--fa-fade-opacity, 0.4);\n }\n}\n@keyframes fa-fade {\n 50% {\n opacity: var(--fa-fade-opacity, 0.4);\n }\n}\n@-webkit-keyframes fa-beat-fade {\n 0%, 100% {\n opacity: var(--fa-beat-fade-opacity, 0.4);\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 50% {\n opacity: 1;\n -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));\n transform: scale(var(--fa-beat-fade-scale, 1.125));\n }\n}\n@keyframes fa-beat-fade {\n 0%, 100% {\n opacity: var(--fa-beat-fade-opacity, 0.4);\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 50% {\n opacity: 1;\n -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));\n transform: scale(var(--fa-beat-fade-scale, 1.125));\n }\n}\n@-webkit-keyframes fa-flip {\n 50% {\n -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\n }\n}\n@keyframes fa-flip {\n 50% {\n -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\n }\n}\n@-webkit-keyframes fa-shake {\n 0% {\n -webkit-transform: rotate(-15deg);\n transform: rotate(-15deg);\n }\n 4% {\n -webkit-transform: rotate(15deg);\n transform: rotate(15deg);\n }\n 8%, 24% {\n -webkit-transform: rotate(-18deg);\n transform: rotate(-18deg);\n }\n 12%, 28% {\n -webkit-transform: rotate(18deg);\n transform: rotate(18deg);\n }\n 16% {\n -webkit-transform: rotate(-22deg);\n transform: rotate(-22deg);\n }\n 20% {\n -webkit-transform: rotate(22deg);\n transform: rotate(22deg);\n }\n 32% {\n -webkit-transform: rotate(-12deg);\n transform: rotate(-12deg);\n }\n 36% {\n -webkit-transform: rotate(12deg);\n transform: rotate(12deg);\n }\n 40%, 100% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n}\n@keyframes fa-shake {\n 0% {\n -webkit-transform: rotate(-15deg);\n transform: rotate(-15deg);\n }\n 4% {\n -webkit-transform: rotate(15deg);\n transform: rotate(15deg);\n }\n 8%, 24% {\n -webkit-transform: rotate(-18deg);\n transform: rotate(-18deg);\n }\n 12%, 28% {\n -webkit-transform: rotate(18deg);\n transform: rotate(18deg);\n }\n 16% {\n -webkit-transform: rotate(-22deg);\n transform: rotate(-22deg);\n }\n 20% {\n -webkit-transform: rotate(22deg);\n transform: rotate(22deg);\n }\n 32% {\n -webkit-transform: rotate(-12deg);\n transform: rotate(-12deg);\n }\n 36% {\n -webkit-transform: rotate(12deg);\n transform: rotate(12deg);\n }\n 40%, 100% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n}\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n.fa-flip-both,\n.fa-flip-horizontal.fa-flip-vertical {\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1);\n}\n\n.fa-rotate-by {\n -webkit-transform: rotate(var(--fa-rotate-angle, none));\n transform: rotate(var(--fa-rotate-angle, none));\n}\n\n.fa-stack {\n display: inline-block;\n vertical-align: middle;\n height: 2em;\n position: relative;\n width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n z-index: var(--fa-stack-z-index, auto);\n}\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2.5em;\n}\n\n.fa-inverse {\n color: var(--fa-inverse, #fff);\n}\n\n.sr-only,\n.fa-sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n.sr-only-focusable:not(:focus),\n.fa-sr-only-focusable:not(:focus) {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n.svg-inline--fa .fa-primary {\n fill: var(--fa-primary-color, currentColor);\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n fill: var(--fa-secondary-color, currentColor);\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n fill: black;\n}\n\n.fad.fa-inverse,\n.fa-duotone.fa-inverse {\n color: var(--fa-inverse, #fff);\n}";
1415
+ var baseStyles = ":root, :host {\n --fa-font-solid: normal 900 1em/1 \"Font Awesome 6 Free\";\n --fa-font-regular: normal 400 1em/1 \"Font Awesome 6 Free\";\n --fa-font-light: normal 300 1em/1 \"Font Awesome 6 Pro\";\n --fa-font-thin: normal 100 1em/1 \"Font Awesome 6 Pro\";\n --fa-font-duotone: normal 900 1em/1 \"Font Awesome 6 Duotone\";\n --fa-font-duotone-regular: normal 400 1em/1 \"Font Awesome 6 Duotone\";\n --fa-font-duotone-light: normal 300 1em/1 \"Font Awesome 6 Duotone\";\n --fa-font-duotone-thin: normal 100 1em/1 \"Font Awesome 6 Duotone\";\n --fa-font-brands: normal 400 1em/1 \"Font Awesome 6 Brands\";\n --fa-font-sharp-solid: normal 900 1em/1 \"Font Awesome 6 Sharp\";\n --fa-font-sharp-regular: normal 400 1em/1 \"Font Awesome 6 Sharp\";\n --fa-font-sharp-light: normal 300 1em/1 \"Font Awesome 6 Sharp\";\n --fa-font-sharp-thin: normal 100 1em/1 \"Font Awesome 6 Sharp\";\n --fa-font-sharp-duotone-solid: normal 900 1em/1 \"Font Awesome 6 Sharp Duotone\";\n --fa-font-sharp-duotone-regular: normal 400 1em/1 \"Font Awesome 6 Sharp Duotone\";\n --fa-font-sharp-duotone-light: normal 300 1em/1 \"Font Awesome 6 Sharp Duotone\";\n --fa-font-sharp-duotone-thin: normal 100 1em/1 \"Font Awesome 6 Sharp Duotone\";\n}\n\nsvg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {\n overflow: visible;\n box-sizing: content-box;\n}\n\n.svg-inline--fa {\n display: var(--fa-display, inline-block);\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-2xs {\n vertical-align: 0.1em;\n}\n.svg-inline--fa.fa-xs {\n vertical-align: 0em;\n}\n.svg-inline--fa.fa-sm {\n vertical-align: -0.0714285705em;\n}\n.svg-inline--fa.fa-lg {\n vertical-align: -0.2em;\n}\n.svg-inline--fa.fa-xl {\n vertical-align: -0.25em;\n}\n.svg-inline--fa.fa-2xl {\n vertical-align: -0.3125em;\n}\n.svg-inline--fa.fa-pull-left {\n margin-right: var(--fa-pull-margin, 0.3em);\n width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n margin-left: var(--fa-pull-margin, 0.3em);\n width: auto;\n}\n.svg-inline--fa.fa-li {\n width: var(--fa-li-width, 2em);\n top: 0.25em;\n}\n.svg-inline--fa.fa-fw {\n width: var(--fa-fw-width, 1.25em);\n}\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.fa-layers-counter, .fa-layers-text {\n display: inline-block;\n position: absolute;\n text-align: center;\n}\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -0.125em;\n width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n transform-origin: center center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n transform-origin: center center;\n}\n\n.fa-layers-counter {\n background-color: var(--fa-counter-background-color, #ff253a);\n border-radius: var(--fa-counter-border-radius, 1em);\n box-sizing: border-box;\n color: var(--fa-inverse, #fff);\n line-height: var(--fa-counter-line-height, 1);\n max-width: var(--fa-counter-max-width, 5em);\n min-width: var(--fa-counter-min-width, 1.5em);\n overflow: hidden;\n padding: var(--fa-counter-padding, 0.25em 0.5em);\n right: var(--fa-right, 0);\n text-overflow: ellipsis;\n top: var(--fa-top, 0);\n transform: scale(var(--fa-counter-scale, 0.25));\n transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n bottom: var(--fa-bottom, 0);\n right: var(--fa-right, 0);\n top: auto;\n transform: scale(var(--fa-layers-scale, 0.25));\n transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n bottom: var(--fa-bottom, 0);\n left: var(--fa-left, 0);\n right: auto;\n top: auto;\n transform: scale(var(--fa-layers-scale, 0.25));\n transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n top: var(--fa-top, 0);\n right: var(--fa-right, 0);\n transform: scale(var(--fa-layers-scale, 0.25));\n transform-origin: top right;\n}\n\n.fa-layers-top-left {\n left: var(--fa-left, 0);\n right: auto;\n top: var(--fa-top, 0);\n transform: scale(var(--fa-layers-scale, 0.25));\n transform-origin: top left;\n}\n\n.fa-1x {\n font-size: 1em;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-6x {\n font-size: 6em;\n}\n\n.fa-7x {\n font-size: 7em;\n}\n\n.fa-8x {\n font-size: 8em;\n}\n\n.fa-9x {\n font-size: 9em;\n}\n\n.fa-10x {\n font-size: 10em;\n}\n\n.fa-2xs {\n font-size: 0.625em;\n line-height: 0.1em;\n vertical-align: 0.225em;\n}\n\n.fa-xs {\n font-size: 0.75em;\n line-height: 0.0833333337em;\n vertical-align: 0.125em;\n}\n\n.fa-sm {\n font-size: 0.875em;\n line-height: 0.0714285718em;\n vertical-align: 0.0535714295em;\n}\n\n.fa-lg {\n font-size: 1.25em;\n line-height: 0.05em;\n vertical-align: -0.075em;\n}\n\n.fa-xl {\n font-size: 1.5em;\n line-height: 0.0416666682em;\n vertical-align: -0.125em;\n}\n\n.fa-2xl {\n font-size: 2em;\n line-height: 0.03125em;\n vertical-align: -0.1875em;\n}\n\n.fa-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.fa-ul {\n list-style-type: none;\n margin-left: var(--fa-li-margin, 2.5em);\n padding-left: 0;\n}\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n left: calc(-1 * var(--fa-li-width, 2em));\n position: absolute;\n text-align: center;\n width: var(--fa-li-width, 2em);\n line-height: inherit;\n}\n\n.fa-border {\n border-color: var(--fa-border-color, #eee);\n border-radius: var(--fa-border-radius, 0.1em);\n border-style: var(--fa-border-style, solid);\n border-width: var(--fa-border-width, 0.08em);\n padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);\n}\n\n.fa-pull-left {\n float: left;\n margin-right: var(--fa-pull-margin, 0.3em);\n}\n\n.fa-pull-right {\n float: right;\n margin-left: var(--fa-pull-margin, 0.3em);\n}\n\n.fa-beat {\n animation-name: fa-beat;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\n}\n\n.fa-bounce {\n animation-name: fa-bounce;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\n}\n\n.fa-fade {\n animation-name: fa-fade;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n}\n\n.fa-beat-fade {\n animation-name: fa-beat-fade;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n}\n\n.fa-flip {\n animation-name: fa-flip;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\n}\n\n.fa-shake {\n animation-name: fa-shake;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, linear);\n}\n\n.fa-spin {\n animation-name: fa-spin;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 2s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, linear);\n}\n\n.fa-spin-reverse {\n --fa-animation-direction: reverse;\n}\n\n.fa-pulse,\n.fa-spin-pulse {\n animation-name: fa-spin;\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, steps(8));\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fa-beat,\n.fa-bounce,\n.fa-fade,\n.fa-beat-fade,\n.fa-flip,\n.fa-pulse,\n.fa-shake,\n.fa-spin,\n.fa-spin-pulse {\n animation-delay: -1ms;\n animation-duration: 1ms;\n animation-iteration-count: 1;\n transition-delay: 0s;\n transition-duration: 0s;\n }\n}\n@keyframes fa-beat {\n 0%, 90% {\n transform: scale(1);\n }\n 45% {\n transform: scale(var(--fa-beat-scale, 1.25));\n }\n}\n@keyframes fa-bounce {\n 0% {\n transform: scale(1, 1) translateY(0);\n }\n 10% {\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\n }\n 30% {\n 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));\n }\n 50% {\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\n }\n 57% {\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n }\n 64% {\n transform: scale(1, 1) translateY(0);\n }\n 100% {\n transform: scale(1, 1) translateY(0);\n }\n}\n@keyframes fa-fade {\n 50% {\n opacity: var(--fa-fade-opacity, 0.4);\n }\n}\n@keyframes fa-beat-fade {\n 0%, 100% {\n opacity: var(--fa-beat-fade-opacity, 0.4);\n transform: scale(1);\n }\n 50% {\n opacity: 1;\n transform: scale(var(--fa-beat-fade-scale, 1.125));\n }\n}\n@keyframes fa-flip {\n 50% {\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\n }\n}\n@keyframes fa-shake {\n 0% {\n transform: rotate(-15deg);\n }\n 4% {\n transform: rotate(15deg);\n }\n 8%, 24% {\n transform: rotate(-18deg);\n }\n 12%, 28% {\n transform: rotate(18deg);\n }\n 16% {\n transform: rotate(-22deg);\n }\n 20% {\n transform: rotate(22deg);\n }\n 32% {\n transform: rotate(-12deg);\n }\n 36% {\n transform: rotate(12deg);\n }\n 40%, 100% {\n transform: rotate(0deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n transform: scale(1, -1);\n}\n\n.fa-flip-both,\n.fa-flip-horizontal.fa-flip-vertical {\n transform: scale(-1, -1);\n}\n\n.fa-rotate-by {\n transform: rotate(var(--fa-rotate-angle, 0));\n}\n\n.fa-stack {\n display: inline-block;\n vertical-align: middle;\n height: 2em;\n position: relative;\n width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n z-index: var(--fa-stack-z-index, auto);\n}\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2.5em;\n}\n\n.fa-inverse {\n color: var(--fa-inverse, #fff);\n}\n\n.sr-only,\n.fa-sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n.sr-only-focusable:not(:focus),\n.fa-sr-only-focusable:not(:focus) {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n.svg-inline--fa .fa-primary {\n fill: var(--fa-primary-color, currentColor);\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n fill: var(--fa-secondary-color, currentColor);\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n fill: black;\n}";
1320
1416
 
1321
1417
  function css() {
1322
- var dcp = DEFAULT_CSS_PREFIX;
1323
- var drc = DEFAULT_REPLACEMENT_CLASS;
1324
- var fp = config.cssPrefix;
1325
- var rc = config.replacementClass;
1326
- var s = baseStyles;
1327
-
1418
+ const dcp = DEFAULT_CSS_PREFIX;
1419
+ const drc = DEFAULT_REPLACEMENT_CLASS;
1420
+ const fp = config.cssPrefix;
1421
+ const rc = config.replacementClass;
1422
+ let s = baseStyles;
1328
1423
  if (fp !== dcp || rc !== drc) {
1329
- var dPatt = new RegExp("\\.".concat(dcp, "\\-"), 'g');
1330
- var customPropPatt = new RegExp("\\--".concat(dcp, "\\-"), 'g');
1331
- var rPatt = new RegExp("\\.".concat(drc), 'g');
1424
+ const dPatt = new RegExp("\\.".concat(dcp, "\\-"), 'g');
1425
+ const customPropPatt = new RegExp("\\--".concat(dcp, "\\-"), 'g');
1426
+ const rPatt = new RegExp("\\.".concat(drc), 'g');
1332
1427
  s = s.replace(dPatt, ".".concat(fp, "-")).replace(customPropPatt, "--".concat(fp, "-")).replace(rPatt, ".".concat(rc));
1333
1428
  }
1334
-
1335
1429
  return s;
1336
1430
  }
1337
-
1338
- var _cssInserted = false;
1339
-
1431
+ let _cssInserted = false;
1340
1432
  function ensureCss() {
1341
1433
  if (config.autoAddCss && !_cssInserted) {
1342
1434
  insertCss(css());
1343
1435
  _cssInserted = true;
1344
1436
  }
1345
1437
  }
1346
-
1347
1438
  var injectCss = {
1348
- mixout: function mixout() {
1439
+ mixout() {
1349
1440
  return {
1350
1441
  dom: {
1351
- css: css,
1442
+ css,
1352
1443
  insertCss: ensureCss
1353
1444
  }
1354
1445
  };
1355
1446
  },
1356
- hooks: function hooks() {
1447
+ hooks() {
1357
1448
  return {
1358
- beforeDOMElementCreation: function beforeDOMElementCreation() {
1449
+ beforeDOMElementCreation() {
1359
1450
  ensureCss();
1360
1451
  },
1361
- beforeI2svg: function beforeI2svg() {
1452
+ beforeI2svg() {
1362
1453
  ensureCss();
1363
1454
  }
1364
1455
  };
@@ -1370,16 +1461,14 @@ function domVariants(val, abstractCreator) {
1370
1461
  get: abstractCreator
1371
1462
  });
1372
1463
  Object.defineProperty(val, 'html', {
1373
- get: function get() {
1374
- return val.abstract.map(function (a) {
1375
- return toHtml(a);
1376
- });
1464
+ get: function () {
1465
+ return val.abstract.map(a => toHtml(a));
1377
1466
  }
1378
1467
  });
1379
1468
  Object.defineProperty(val, 'node', {
1380
- get: function get() {
1469
+ get: function () {
1381
1470
  if (!IS_DOM) return;
1382
- var container = DOCUMENT.createElement('div');
1471
+ const container = DOCUMENT.createElement('div');
1383
1472
  container.innerHTML = val.html;
1384
1473
  return container.children;
1385
1474
  }
@@ -1388,17 +1477,20 @@ function domVariants(val, abstractCreator) {
1388
1477
  }
1389
1478
 
1390
1479
  function asIcon (_ref) {
1391
- var children = _ref.children,
1392
- main = _ref.main,
1393
- mask = _ref.mask,
1394
- attributes = _ref.attributes,
1395
- styles = _ref.styles,
1396
- transform = _ref.transform;
1397
-
1480
+ let {
1481
+ children,
1482
+ main,
1483
+ mask,
1484
+ attributes,
1485
+ styles,
1486
+ transform
1487
+ } = _ref;
1398
1488
  if (transformIsMeaningful(transform) && main.found && !mask.found) {
1399
- var width = main.width,
1400
- height = main.height;
1401
- var offset = {
1489
+ const {
1490
+ width,
1491
+ height
1492
+ } = main;
1493
+ const offset = {
1402
1494
  x: width / height / 2,
1403
1495
  y: 0.5
1404
1496
  };
@@ -1406,21 +1498,22 @@ function asIcon (_ref) {
1406
1498
  'transform-origin': "".concat(offset.x + transform.x / 16, "em ").concat(offset.y + transform.y / 16, "em")
1407
1499
  }));
1408
1500
  }
1409
-
1410
1501
  return [{
1411
1502
  tag: 'svg',
1412
- attributes: attributes,
1413
- children: children
1503
+ attributes,
1504
+ children
1414
1505
  }];
1415
1506
  }
1416
1507
 
1417
1508
  function asSymbol (_ref) {
1418
- var prefix = _ref.prefix,
1419
- iconName = _ref.iconName,
1420
- children = _ref.children,
1421
- attributes = _ref.attributes,
1422
- symbol = _ref.symbol;
1423
- var id = symbol === true ? "".concat(prefix, "-").concat(config.cssPrefix, "-").concat(iconName) : symbol;
1509
+ let {
1510
+ prefix,
1511
+ iconName,
1512
+ children,
1513
+ attributes,
1514
+ symbol
1515
+ } = _ref;
1516
+ const id = symbol === true ? "".concat(prefix, "-").concat(config.cssPrefix, "-").concat(iconName) : symbol;
1424
1517
  return [{
1425
1518
  tag: 'svg',
1426
1519
  attributes: {
@@ -1429,39 +1522,36 @@ function asSymbol (_ref) {
1429
1522
  children: [{
1430
1523
  tag: 'symbol',
1431
1524
  attributes: _objectSpread2(_objectSpread2({}, attributes), {}, {
1432
- id: id
1525
+ id
1433
1526
  }),
1434
- children: children
1527
+ children
1435
1528
  }]
1436
1529
  }];
1437
1530
  }
1438
1531
 
1439
1532
  function makeInlineSvgAbstract(params) {
1440
- var _params$icons = params.icons,
1441
- main = _params$icons.main,
1442
- mask = _params$icons.mask,
1443
- prefix = params.prefix,
1444
- iconName = params.iconName,
1445
- transform = params.transform,
1446
- symbol = params.symbol,
1447
- title = params.title,
1448
- maskId = params.maskId,
1449
- titleId = params.titleId,
1450
- extra = params.extra,
1451
- _params$watchable = params.watchable,
1452
- watchable = _params$watchable === void 0 ? false : _params$watchable;
1453
-
1454
- var _ref = mask.found ? mask : main,
1455
- width = _ref.width,
1456
- height = _ref.height;
1457
-
1458
- var isUploadedIcon = prefix === 'fak';
1459
- var attrClass = [config.replacementClass, iconName ? "".concat(config.cssPrefix, "-").concat(iconName) : ''].filter(function (c) {
1460
- return extra.classes.indexOf(c) === -1;
1461
- }).filter(function (c) {
1462
- return c !== '' || !!c;
1463
- }).concat(extra.classes).join(' ');
1464
- var content = {
1533
+ const {
1534
+ icons: {
1535
+ main,
1536
+ mask
1537
+ },
1538
+ prefix,
1539
+ iconName,
1540
+ transform,
1541
+ symbol,
1542
+ title,
1543
+ maskId,
1544
+ titleId,
1545
+ extra,
1546
+ watchable = false
1547
+ } = params;
1548
+ const {
1549
+ width,
1550
+ height
1551
+ } = mask.found ? mask : main;
1552
+ const isUploadedIcon = Lt.includes(prefix);
1553
+ const attrClass = [config.replacementClass, iconName ? "".concat(config.cssPrefix, "-").concat(iconName) : ''].filter(c$$1 => extra.classes.indexOf(c$$1) === -1).filter(c$$1 => c$$1 !== '' || !!c$$1).concat(extra.classes).join(' ');
1554
+ let content = {
1465
1555
  children: [],
1466
1556
  attributes: _objectSpread2(_objectSpread2({}, extra.attributes), {}, {
1467
1557
  'data-prefix': prefix,
@@ -1472,14 +1562,12 @@ function makeInlineSvgAbstract(params) {
1472
1562
  'viewBox': "0 0 ".concat(width, " ").concat(height)
1473
1563
  })
1474
1564
  };
1475
- var uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {
1565
+ const uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {
1476
1566
  width: "".concat(width / height * 16 * 0.0625, "em")
1477
1567
  } : {};
1478
-
1479
1568
  if (watchable) {
1480
1569
  content.attributes[DATA_FA_I2SVG] = '';
1481
1570
  }
1482
-
1483
1571
  if (title) {
1484
1572
  content.children.push({
1485
1573
  tag: 'title',
@@ -1490,31 +1578,28 @@ function makeInlineSvgAbstract(params) {
1490
1578
  });
1491
1579
  delete content.attributes.title;
1492
1580
  }
1493
-
1494
- var args = _objectSpread2(_objectSpread2({}, content), {}, {
1495
- prefix: prefix,
1496
- iconName: iconName,
1497
- main: main,
1498
- mask: mask,
1499
- maskId: maskId,
1500
- transform: transform,
1501
- symbol: symbol,
1581
+ const args = _objectSpread2(_objectSpread2({}, content), {}, {
1582
+ prefix,
1583
+ iconName,
1584
+ main,
1585
+ mask,
1586
+ maskId,
1587
+ transform,
1588
+ symbol,
1502
1589
  styles: _objectSpread2(_objectSpread2({}, uploadedIconWidthStyle), extra.styles)
1503
1590
  });
1504
-
1505
- var _ref2 = mask.found && main.found ? callProvided('generateAbstractMask', args) || {
1591
+ const {
1592
+ children,
1593
+ attributes
1594
+ } = mask.found && main.found ? callProvided('generateAbstractMask', args) || {
1506
1595
  children: [],
1507
1596
  attributes: {}
1508
1597
  } : callProvided('generateAbstractIcon', args) || {
1509
1598
  children: [],
1510
1599
  attributes: {}
1511
- },
1512
- children = _ref2.children,
1513
- attributes = _ref2.attributes;
1514
-
1600
+ };
1515
1601
  args.children = children;
1516
1602
  args.attributes = attributes;
1517
-
1518
1603
  if (symbol) {
1519
1604
  return asSymbol(args);
1520
1605
  } else {
@@ -1522,50 +1607,43 @@ function makeInlineSvgAbstract(params) {
1522
1607
  }
1523
1608
  }
1524
1609
  function makeLayersTextAbstract(params) {
1525
- var content = params.content,
1526
- width = params.width,
1527
- height = params.height,
1528
- transform = params.transform,
1529
- title = params.title,
1530
- extra = params.extra,
1531
- _params$watchable2 = params.watchable,
1532
- watchable = _params$watchable2 === void 0 ? false : _params$watchable2;
1533
-
1534
- var attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {
1610
+ const {
1611
+ content,
1612
+ width,
1613
+ height,
1614
+ transform,
1615
+ title,
1616
+ extra,
1617
+ watchable = false
1618
+ } = params;
1619
+ const attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {
1535
1620
  'title': title
1536
1621
  } : {}), {}, {
1537
1622
  'class': extra.classes.join(' ')
1538
1623
  });
1539
-
1540
1624
  if (watchable) {
1541
1625
  attributes[DATA_FA_I2SVG] = '';
1542
1626
  }
1543
-
1544
- var styles = _objectSpread2({}, extra.styles);
1545
-
1627
+ const styles = _objectSpread2({}, extra.styles);
1546
1628
  if (transformIsMeaningful(transform)) {
1547
1629
  styles['transform'] = transformForCss({
1548
- transform: transform,
1630
+ transform,
1549
1631
  startCentered: true,
1550
- width: width,
1551
- height: height
1632
+ width,
1633
+ height
1552
1634
  });
1553
1635
  styles['-webkit-transform'] = styles['transform'];
1554
1636
  }
1555
-
1556
- var styleString = joinStyles(styles);
1557
-
1637
+ const styleString = joinStyles(styles);
1558
1638
  if (styleString.length > 0) {
1559
1639
  attributes['style'] = styleString;
1560
1640
  }
1561
-
1562
- var val = [];
1641
+ const val = [];
1563
1642
  val.push({
1564
1643
  tag: 'span',
1565
- attributes: attributes,
1644
+ attributes,
1566
1645
  children: [content]
1567
1646
  });
1568
-
1569
1647
  if (title) {
1570
1648
  val.push({
1571
1649
  tag: 'span',
@@ -1575,33 +1653,29 @@ function makeLayersTextAbstract(params) {
1575
1653
  children: [title]
1576
1654
  });
1577
1655
  }
1578
-
1579
1656
  return val;
1580
1657
  }
1581
1658
  function makeLayersCounterAbstract(params) {
1582
- var content = params.content,
1583
- title = params.title,
1584
- extra = params.extra;
1585
-
1586
- var attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {
1659
+ const {
1660
+ content,
1661
+ title,
1662
+ extra
1663
+ } = params;
1664
+ const attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {
1587
1665
  'title': title
1588
1666
  } : {}), {}, {
1589
1667
  'class': extra.classes.join(' ')
1590
1668
  });
1591
-
1592
- var styleString = joinStyles(extra.styles);
1593
-
1669
+ const styleString = joinStyles(extra.styles);
1594
1670
  if (styleString.length > 0) {
1595
1671
  attributes['style'] = styleString;
1596
1672
  }
1597
-
1598
- var val = [];
1673
+ const val = [];
1599
1674
  val.push({
1600
1675
  tag: 'span',
1601
- attributes: attributes,
1676
+ attributes,
1602
1677
  children: [content]
1603
1678
  });
1604
-
1605
1679
  if (title) {
1606
1680
  val.push({
1607
1681
  tag: 'span',
@@ -1611,21 +1685,17 @@ function makeLayersCounterAbstract(params) {
1611
1685
  children: [title]
1612
1686
  });
1613
1687
  }
1614
-
1615
1688
  return val;
1616
1689
  }
1617
1690
 
1618
- var styles$1 = namespace.styles;
1691
+ const {
1692
+ styles: styles$1
1693
+ } = namespace;
1619
1694
  function asFoundIcon(icon) {
1620
- var width = icon[0];
1621
- var height = icon[1];
1622
-
1623
- var _icon$slice = icon.slice(4),
1624
- _icon$slice2 = _slicedToArray(_icon$slice, 1),
1625
- vectorData = _icon$slice2[0];
1626
-
1627
- var element = null;
1628
-
1695
+ const width = icon[0];
1696
+ const height = icon[1];
1697
+ const [vectorData] = icon.slice(4);
1698
+ let element = null;
1629
1699
  if (Array.isArray(vectorData)) {
1630
1700
  element = {
1631
1701
  tag: 'g',
@@ -1657,52 +1727,38 @@ function asFoundIcon(icon) {
1657
1727
  }
1658
1728
  };
1659
1729
  }
1660
-
1661
1730
  return {
1662
1731
  found: true,
1663
- width: width,
1664
- height: height,
1732
+ width,
1733
+ height,
1665
1734
  icon: element
1666
1735
  };
1667
1736
  }
1668
- var missingIconResolutionMixin = {
1737
+ const missingIconResolutionMixin = {
1669
1738
  found: false,
1670
1739
  width: 512,
1671
1740
  height: 512
1672
1741
  };
1673
-
1674
1742
  function maybeNotifyMissing(iconName, prefix) {
1675
1743
  if (!PRODUCTION && !config.showMissingIcons && iconName) {
1676
1744
  console.error("Icon with name \"".concat(iconName, "\" and prefix \"").concat(prefix, "\" is missing."));
1677
1745
  }
1678
1746
  }
1679
-
1680
1747
  function findIcon(iconName, prefix) {
1681
- var givenPrefix = prefix;
1682
-
1748
+ let givenPrefix = prefix;
1683
1749
  if (prefix === 'fa' && config.styleDefault !== null) {
1684
1750
  prefix = getDefaultUsablePrefix();
1685
1751
  }
1686
-
1687
- return new Promise(function (resolve, reject) {
1688
- var val = {
1689
- found: false,
1690
- width: 512,
1691
- height: 512,
1692
- icon: callProvided('missingIconAbstract') || {}
1693
- };
1694
-
1752
+ return new Promise((resolve, reject) => {
1695
1753
  if (givenPrefix === 'fa') {
1696
- var shim = byOldName(iconName) || {};
1754
+ const shim = byOldName(iconName) || {};
1697
1755
  iconName = shim.iconName || iconName;
1698
1756
  prefix = shim.prefix || prefix;
1699
1757
  }
1700
-
1701
1758
  if (iconName && prefix && styles$1[prefix] && styles$1[prefix][iconName]) {
1702
- var icon = styles$1[prefix][iconName];
1759
+ const icon = styles$1[prefix][iconName];
1703
1760
  return resolve(asFoundIcon(icon));
1704
1761
  }
1705
-
1706
1762
  maybeNotifyMissing(iconName, prefix);
1707
1763
  resolve(_objectSpread2(_objectSpread2({}, missingIconResolutionMixin), {}, {
1708
1764
  icon: config.showMissingIcons && iconName ? callProvided('missingIconAbstract') || {} : {}
@@ -1710,230 +1766,189 @@ function findIcon(iconName, prefix) {
1710
1766
  });
1711
1767
  }
1712
1768
 
1713
- var noop$1 = function noop() {};
1714
-
1715
- var p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {
1769
+ const noop$1 = () => {};
1770
+ const p$2 = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {
1716
1771
  mark: noop$1,
1717
1772
  measure: noop$1
1718
1773
  };
1719
- var preamble = "FA \"6.4.2\"";
1720
-
1721
- var begin = function begin(name) {
1722
- p.mark("".concat(preamble, " ").concat(name, " begins"));
1723
- return function () {
1724
- return end(name);
1725
- };
1774
+ const preamble = "FA \"6.7.2\"";
1775
+ const begin = name => {
1776
+ p$2.mark("".concat(preamble, " ").concat(name, " begins"));
1777
+ return () => end(name);
1726
1778
  };
1727
-
1728
- var end = function end(name) {
1729
- p.mark("".concat(preamble, " ").concat(name, " ends"));
1730
- p.measure("".concat(preamble, " ").concat(name), "".concat(preamble, " ").concat(name, " begins"), "".concat(preamble, " ").concat(name, " ends"));
1779
+ const end = name => {
1780
+ p$2.mark("".concat(preamble, " ").concat(name, " ends"));
1781
+ p$2.measure("".concat(preamble, " ").concat(name), "".concat(preamble, " ").concat(name, " begins"), "".concat(preamble, " ").concat(name, " ends"));
1731
1782
  };
1732
-
1733
1783
  var perf = {
1734
- begin: begin,
1735
- end: end
1784
+ begin,
1785
+ end
1736
1786
  };
1737
1787
 
1738
- var noop$2 = function noop() {};
1739
-
1788
+ const noop$2 = () => {};
1740
1789
  function isWatched(node) {
1741
- var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;
1790
+ const i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;
1742
1791
  return typeof i2svg === 'string';
1743
1792
  }
1744
-
1745
1793
  function hasPrefixAndIcon(node) {
1746
- var prefix = node.getAttribute ? node.getAttribute(DATA_PREFIX) : null;
1747
- var icon = node.getAttribute ? node.getAttribute(DATA_ICON) : null;
1794
+ const prefix = node.getAttribute ? node.getAttribute(DATA_PREFIX) : null;
1795
+ const icon = node.getAttribute ? node.getAttribute(DATA_ICON) : null;
1748
1796
  return prefix && icon;
1749
1797
  }
1750
-
1751
1798
  function hasBeenReplaced(node) {
1752
1799
  return node && node.classList && node.classList.contains && node.classList.contains(config.replacementClass);
1753
1800
  }
1754
-
1755
1801
  function getMutator() {
1756
1802
  if (config.autoReplaceSvg === true) {
1757
1803
  return mutators.replace;
1758
1804
  }
1759
-
1760
- var mutator = mutators[config.autoReplaceSvg];
1805
+ const mutator = mutators[config.autoReplaceSvg];
1761
1806
  return mutator || mutators.replace;
1762
1807
  }
1763
-
1764
1808
  function createElementNS(tag) {
1765
1809
  return DOCUMENT.createElementNS('http://www.w3.org/2000/svg', tag);
1766
1810
  }
1767
-
1768
1811
  function createElement(tag) {
1769
1812
  return DOCUMENT.createElement(tag);
1770
1813
  }
1771
-
1772
1814
  function convertSVG(abstractObj) {
1773
- var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1774
- var _params$ceFn = params.ceFn,
1775
- ceFn = _params$ceFn === void 0 ? abstractObj.tag === 'svg' ? createElementNS : createElement : _params$ceFn;
1776
-
1815
+ let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1816
+ const {
1817
+ ceFn = abstractObj.tag === 'svg' ? createElementNS : createElement
1818
+ } = params;
1777
1819
  if (typeof abstractObj === 'string') {
1778
1820
  return DOCUMENT.createTextNode(abstractObj);
1779
1821
  }
1780
-
1781
- var tag = ceFn(abstractObj.tag);
1822
+ const tag = ceFn(abstractObj.tag);
1782
1823
  Object.keys(abstractObj.attributes || []).forEach(function (key) {
1783
1824
  tag.setAttribute(key, abstractObj.attributes[key]);
1784
1825
  });
1785
- var children = abstractObj.children || [];
1826
+ const children = abstractObj.children || [];
1786
1827
  children.forEach(function (child) {
1787
1828
  tag.appendChild(convertSVG(child, {
1788
- ceFn: ceFn
1829
+ ceFn
1789
1830
  }));
1790
1831
  });
1791
1832
  return tag;
1792
1833
  }
1793
-
1794
1834
  function nodeAsComment(node) {
1795
- var comment = " ".concat(node.outerHTML, " ");
1835
+ let comment = " ".concat(node.outerHTML, " ");
1796
1836
  /* BEGIN.ATTRIBUTION */
1797
-
1798
1837
  comment = "".concat(comment, "Font Awesome fontawesome.com ");
1799
1838
  /* END.ATTRIBUTION */
1800
-
1801
1839
  return comment;
1802
1840
  }
1803
-
1804
- var mutators = {
1805
- replace: function replace(mutation) {
1806
- var node = mutation[0];
1807
-
1841
+ const mutators = {
1842
+ replace: function (mutation) {
1843
+ const node = mutation[0];
1808
1844
  if (node.parentNode) {
1809
- mutation[1].forEach(function (_abstract) {
1810
- node.parentNode.insertBefore(convertSVG(_abstract), node);
1845
+ mutation[1].forEach(abstract => {
1846
+ node.parentNode.insertBefore(convertSVG(abstract), node);
1811
1847
  });
1812
-
1813
1848
  if (node.getAttribute(DATA_FA_I2SVG) === null && config.keepOriginalSource) {
1814
- var comment = DOCUMENT.createComment(nodeAsComment(node));
1849
+ let comment = DOCUMENT.createComment(nodeAsComment(node));
1815
1850
  node.parentNode.replaceChild(comment, node);
1816
1851
  } else {
1817
1852
  node.remove();
1818
1853
  }
1819
1854
  }
1820
1855
  },
1821
- nest: function nest(mutation) {
1822
- var node = mutation[0];
1823
- var _abstract2 = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.
1824
- // Short-circuit to the standard replacement
1856
+ nest: function (mutation) {
1857
+ const node = mutation[0];
1858
+ const abstract = mutation[1];
1825
1859
 
1860
+ // If we already have a replaced node we do not want to continue nesting within it.
1861
+ // Short-circuit to the standard replacement
1826
1862
  if (~classArray(node).indexOf(config.replacementClass)) {
1827
1863
  return mutators.replace(mutation);
1828
1864
  }
1829
-
1830
- var forSvg = new RegExp("".concat(config.cssPrefix, "-.*"));
1831
- delete _abstract2[0].attributes.id;
1832
-
1833
- if (_abstract2[0].attributes.class) {
1834
- var splitClasses = _abstract2[0].attributes.class.split(' ').reduce(function (acc, cls) {
1865
+ const forSvg = new RegExp("".concat(config.cssPrefix, "-.*"));
1866
+ delete abstract[0].attributes.id;
1867
+ if (abstract[0].attributes.class) {
1868
+ const splitClasses = abstract[0].attributes.class.split(' ').reduce((acc, cls) => {
1835
1869
  if (cls === config.replacementClass || cls.match(forSvg)) {
1836
1870
  acc.toSvg.push(cls);
1837
1871
  } else {
1838
1872
  acc.toNode.push(cls);
1839
1873
  }
1840
-
1841
1874
  return acc;
1842
1875
  }, {
1843
1876
  toNode: [],
1844
1877
  toSvg: []
1845
1878
  });
1846
-
1847
- _abstract2[0].attributes.class = splitClasses.toSvg.join(' ');
1848
-
1879
+ abstract[0].attributes.class = splitClasses.toSvg.join(' ');
1849
1880
  if (splitClasses.toNode.length === 0) {
1850
1881
  node.removeAttribute('class');
1851
1882
  } else {
1852
1883
  node.setAttribute('class', splitClasses.toNode.join(' '));
1853
1884
  }
1854
1885
  }
1855
-
1856
- var newInnerHTML = _abstract2.map(function (a) {
1857
- return toHtml(a);
1858
- }).join('\n');
1859
-
1886
+ const newInnerHTML = abstract.map(a => toHtml(a)).join('\n');
1860
1887
  node.setAttribute(DATA_FA_I2SVG, '');
1861
1888
  node.innerHTML = newInnerHTML;
1862
1889
  }
1863
1890
  };
1864
-
1865
1891
  function performOperationSync(op) {
1866
1892
  op();
1867
1893
  }
1868
-
1869
1894
  function perform(mutations, callback) {
1870
- var callbackFunction = typeof callback === 'function' ? callback : noop$2;
1871
-
1895
+ const callbackFunction = typeof callback === 'function' ? callback : noop$2;
1872
1896
  if (mutations.length === 0) {
1873
1897
  callbackFunction();
1874
1898
  } else {
1875
- var frame = performOperationSync;
1876
-
1899
+ let frame = performOperationSync;
1877
1900
  if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {
1878
1901
  frame = WINDOW.requestAnimationFrame || performOperationSync;
1879
1902
  }
1880
-
1881
- frame(function () {
1882
- var mutator = getMutator();
1883
- var mark = perf.begin('mutate');
1903
+ frame(() => {
1904
+ const mutator = getMutator();
1905
+ const mark = perf.begin('mutate');
1884
1906
  mutations.map(mutator);
1885
1907
  mark();
1886
1908
  callbackFunction();
1887
1909
  });
1888
1910
  }
1889
1911
  }
1890
- var disabled = false;
1912
+ let disabled = false;
1891
1913
  function disableObservation() {
1892
1914
  disabled = true;
1893
1915
  }
1894
1916
  function enableObservation() {
1895
1917
  disabled = false;
1896
1918
  }
1897
- var mo = null;
1919
+ let mo = null;
1898
1920
  function observe(options) {
1899
1921
  if (!MUTATION_OBSERVER) {
1900
1922
  return;
1901
1923
  }
1902
-
1903
1924
  if (!config.observeMutations) {
1904
1925
  return;
1905
1926
  }
1906
-
1907
- var _options$treeCallback = options.treeCallback,
1908
- treeCallback = _options$treeCallback === void 0 ? noop$2 : _options$treeCallback,
1909
- _options$nodeCallback = options.nodeCallback,
1910
- nodeCallback = _options$nodeCallback === void 0 ? noop$2 : _options$nodeCallback,
1911
- _options$pseudoElemen = options.pseudoElementsCallback,
1912
- pseudoElementsCallback = _options$pseudoElemen === void 0 ? noop$2 : _options$pseudoElemen,
1913
- _options$observeMutat = options.observeMutationsRoot,
1914
- observeMutationsRoot = _options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;
1915
- mo = new MUTATION_OBSERVER(function (objects) {
1927
+ const {
1928
+ treeCallback = noop$2,
1929
+ nodeCallback = noop$2,
1930
+ pseudoElementsCallback = noop$2,
1931
+ observeMutationsRoot = DOCUMENT
1932
+ } = options;
1933
+ mo = new MUTATION_OBSERVER(objects => {
1916
1934
  if (disabled) return;
1917
- var defaultPrefix = getDefaultUsablePrefix();
1918
- toArray(objects).forEach(function (mutationRecord) {
1935
+ const defaultPrefix = getDefaultUsablePrefix();
1936
+ toArray(objects).forEach(mutationRecord => {
1919
1937
  if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {
1920
1938
  if (config.searchPseudoElements) {
1921
1939
  pseudoElementsCallback(mutationRecord.target);
1922
1940
  }
1923
-
1924
1941
  treeCallback(mutationRecord.target);
1925
1942
  }
1926
-
1927
1943
  if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {
1928
1944
  pseudoElementsCallback(mutationRecord.target.parentNode);
1929
1945
  }
1930
-
1931
1946
  if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {
1932
1947
  if (mutationRecord.attributeName === 'class' && hasPrefixAndIcon(mutationRecord.target)) {
1933
- var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),
1934
- prefix = _getCanonicalIcon.prefix,
1935
- iconName = _getCanonicalIcon.iconName;
1936
-
1948
+ const {
1949
+ prefix,
1950
+ iconName
1951
+ } = getCanonicalIcon(classArray(mutationRecord.target));
1937
1952
  mutationRecord.target.setAttribute(DATA_PREFIX, prefix || defaultPrefix);
1938
1953
  if (iconName) mutationRecord.target.setAttribute(DATA_ICON, iconName);
1939
1954
  } else if (hasBeenReplaced(mutationRecord.target)) {
@@ -1956,67 +1971,55 @@ function disconnect() {
1956
1971
  }
1957
1972
 
1958
1973
  function styleParser (node) {
1959
- var style = node.getAttribute('style');
1960
- var val = [];
1961
-
1974
+ const style = node.getAttribute('style');
1975
+ let val = [];
1962
1976
  if (style) {
1963
- val = style.split(';').reduce(function (acc, style) {
1964
- var styles = style.split(':');
1965
- var prop = styles[0];
1966
- var value = styles.slice(1);
1967
-
1977
+ val = style.split(';').reduce((acc, style) => {
1978
+ const styles = style.split(':');
1979
+ const prop = styles[0];
1980
+ const value = styles.slice(1);
1968
1981
  if (prop && value.length > 0) {
1969
1982
  acc[prop] = value.join(':').trim();
1970
1983
  }
1971
-
1972
1984
  return acc;
1973
1985
  }, {});
1974
1986
  }
1975
-
1976
1987
  return val;
1977
1988
  }
1978
1989
 
1979
1990
  function classParser (node) {
1980
- var existingPrefix = node.getAttribute('data-prefix');
1981
- var existingIconName = node.getAttribute('data-icon');
1982
- var innerText = node.innerText !== undefined ? node.innerText.trim() : '';
1983
- var val = getCanonicalIcon(classArray(node));
1984
-
1991
+ const existingPrefix = node.getAttribute('data-prefix');
1992
+ const existingIconName = node.getAttribute('data-icon');
1993
+ const innerText = node.innerText !== undefined ? node.innerText.trim() : '';
1994
+ let val = getCanonicalIcon(classArray(node));
1985
1995
  if (!val.prefix) {
1986
1996
  val.prefix = getDefaultUsablePrefix();
1987
1997
  }
1988
-
1989
1998
  if (existingPrefix && existingIconName) {
1990
1999
  val.prefix = existingPrefix;
1991
2000
  val.iconName = existingIconName;
1992
2001
  }
1993
-
1994
2002
  if (val.iconName && val.prefix) {
1995
2003
  return val;
1996
2004
  }
1997
-
1998
2005
  if (val.prefix && innerText.length > 0) {
1999
2006
  val.iconName = byLigature(val.prefix, node.innerText) || byUnicode(val.prefix, toHex(node.innerText));
2000
2007
  }
2001
-
2002
2008
  if (!val.iconName && config.autoFetchSvg && node.firstChild && node.firstChild.nodeType === Node.TEXT_NODE) {
2003
2009
  val.iconName = node.firstChild.data;
2004
2010
  }
2005
-
2006
2011
  return val;
2007
2012
  }
2008
2013
 
2009
2014
  function attributesParser (node) {
2010
- var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {
2015
+ const extraAttributes = toArray(node.attributes).reduce((acc, attr) => {
2011
2016
  if (acc.name !== 'class' && acc.name !== 'style') {
2012
2017
  acc[attr.name] = attr.value;
2013
2018
  }
2014
-
2015
2019
  return acc;
2016
2020
  }, {});
2017
- var title = node.getAttribute('title');
2018
- var titleId = node.getAttribute('data-fa-title-id');
2019
-
2021
+ const title = node.getAttribute('title');
2022
+ const titleId = node.getAttribute('data-fa-title-id');
2020
2023
  if (config.autoA11y) {
2021
2024
  if (title) {
2022
2025
  extraAttributes['aria-labelledby'] = "".concat(config.replacementClass, "-title-").concat(titleId || nextUniqueId());
@@ -2025,7 +2028,6 @@ function attributesParser (node) {
2025
2028
  extraAttributes['focusable'] = 'false';
2026
2029
  }
2027
2030
  }
2028
-
2029
2031
  return extraAttributes;
2030
2032
  }
2031
2033
 
@@ -2051,23 +2053,22 @@ function blankMeta() {
2051
2053
  };
2052
2054
  }
2053
2055
  function parseMeta(node) {
2054
- var parser = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
2056
+ let parser = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
2055
2057
  styleParser: true
2056
2058
  };
2057
-
2058
- var _classParser = classParser(node),
2059
- iconName = _classParser.iconName,
2060
- prefix = _classParser.prefix,
2061
- extraClasses = _classParser.rest;
2062
-
2063
- var extraAttributes = attributesParser(node);
2064
- var pluginMeta = chainHooks('parseNodeAttributes', {}, node);
2065
- var extraStyles = parser.styleParser ? styleParser(node) : [];
2059
+ const {
2060
+ iconName,
2061
+ prefix,
2062
+ rest: extraClasses
2063
+ } = classParser(node);
2064
+ const extraAttributes = attributesParser(node);
2065
+ const pluginMeta = chainHooks('parseNodeAttributes', {}, node);
2066
+ let extraStyles = parser.styleParser ? styleParser(node) : [];
2066
2067
  return _objectSpread2({
2067
- iconName: iconName,
2068
+ iconName,
2068
2069
  title: node.getAttribute('title'),
2069
2070
  titleId: node.getAttribute('data-fa-title-id'),
2070
- prefix: prefix,
2071
+ prefix,
2071
2072
  transform: meaninglessTransform,
2072
2073
  mask: {
2073
2074
  iconName: null,
@@ -2084,92 +2085,67 @@ function parseMeta(node) {
2084
2085
  }, pluginMeta);
2085
2086
  }
2086
2087
 
2087
- var styles$2 = namespace.styles;
2088
-
2088
+ const {
2089
+ styles: styles$2
2090
+ } = namespace;
2089
2091
  function generateMutation(node) {
2090
- var nodeMeta = config.autoReplaceSvg === 'nest' ? parseMeta(node, {
2092
+ const nodeMeta = config.autoReplaceSvg === 'nest' ? parseMeta(node, {
2091
2093
  styleParser: false
2092
2094
  }) : parseMeta(node);
2093
-
2094
2095
  if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {
2095
2096
  return callProvided('generateLayersText', node, nodeMeta);
2096
2097
  } else {
2097
2098
  return callProvided('generateSvgReplacementMutation', node, nodeMeta);
2098
2099
  }
2099
2100
  }
2100
-
2101
- var knownPrefixes = new Set();
2102
- FAMILIES.map(function (family) {
2103
- knownPrefixes.add("fa-".concat(family));
2104
- });
2105
- Object.keys(PREFIX_TO_STYLE[FAMILY_CLASSIC]).map(knownPrefixes.add.bind(knownPrefixes));
2106
- Object.keys(PREFIX_TO_STYLE[FAMILY_SHARP]).map(knownPrefixes.add.bind(knownPrefixes));
2107
- knownPrefixes = _toConsumableArray(knownPrefixes);
2108
-
2101
+ function getKnownPrefixes() {
2102
+ return [...Ft, ...Ia];
2103
+ }
2109
2104
  function onTree(root) {
2110
- var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
2105
+ let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
2111
2106
  if (!IS_DOM) return Promise.resolve();
2112
- var htmlClassList = DOCUMENT.documentElement.classList;
2113
-
2114
- var hclAdd = function hclAdd(suffix) {
2115
- return htmlClassList.add("".concat(HTML_CLASS_I2SVG_BASE_CLASS, "-").concat(suffix));
2116
- };
2117
-
2118
- var hclRemove = function hclRemove(suffix) {
2119
- return htmlClassList.remove("".concat(HTML_CLASS_I2SVG_BASE_CLASS, "-").concat(suffix));
2120
- };
2121
-
2122
- var prefixes = config.autoFetchSvg ? knownPrefixes : FAMILIES.map(function (f) {
2123
- return "fa-".concat(f);
2124
- }).concat(Object.keys(styles$2));
2125
-
2107
+ const htmlClassList = DOCUMENT.documentElement.classList;
2108
+ const hclAdd = suffix => htmlClassList.add("".concat(HTML_CLASS_I2SVG_BASE_CLASS, "-").concat(suffix));
2109
+ const hclRemove = suffix => htmlClassList.remove("".concat(HTML_CLASS_I2SVG_BASE_CLASS, "-").concat(suffix));
2110
+ const prefixes = config.autoFetchSvg ? getKnownPrefixes() : P.concat(Object.keys(styles$2));
2126
2111
  if (!prefixes.includes('fa')) {
2127
2112
  prefixes.push('fa');
2128
2113
  }
2129
-
2130
- var prefixesDomQuery = [".".concat(LAYERS_TEXT_CLASSNAME, ":not([").concat(DATA_FA_I2SVG, "])")].concat(prefixes.map(function (p) {
2131
- return ".".concat(p, ":not([").concat(DATA_FA_I2SVG, "])");
2132
- })).join(', ');
2133
-
2114
+ const prefixesDomQuery = [".".concat(LAYERS_TEXT_CLASSNAME, ":not([").concat(DATA_FA_I2SVG, "])")].concat(prefixes.map(p$$1 => ".".concat(p$$1, ":not([").concat(DATA_FA_I2SVG, "])"))).join(', ');
2134
2115
  if (prefixesDomQuery.length === 0) {
2135
2116
  return Promise.resolve();
2136
2117
  }
2137
-
2138
- var candidates = [];
2139
-
2118
+ let candidates = [];
2140
2119
  try {
2141
2120
  candidates = toArray(root.querySelectorAll(prefixesDomQuery));
2142
- } catch (e) {// noop
2121
+ } catch (e$$1) {
2122
+ // noop
2143
2123
  }
2144
-
2145
2124
  if (candidates.length > 0) {
2146
2125
  hclAdd('pending');
2147
2126
  hclRemove('complete');
2148
2127
  } else {
2149
2128
  return Promise.resolve();
2150
2129
  }
2151
-
2152
- var mark = perf.begin('onTree');
2153
- var mutations = candidates.reduce(function (acc, node) {
2130
+ const mark = perf.begin('onTree');
2131
+ const mutations = candidates.reduce((acc, node) => {
2154
2132
  try {
2155
- var mutation = generateMutation(node);
2156
-
2133
+ const mutation = generateMutation(node);
2157
2134
  if (mutation) {
2158
2135
  acc.push(mutation);
2159
2136
  }
2160
- } catch (e) {
2137
+ } catch (e$$1) {
2161
2138
  if (!PRODUCTION) {
2162
- if (e.name === 'MissingIcon') {
2163
- console.error(e);
2139
+ if (e$$1.name === 'MissingIcon') {
2140
+ console.error(e$$1);
2164
2141
  }
2165
2142
  }
2166
2143
  }
2167
-
2168
2144
  return acc;
2169
2145
  }, []);
2170
- return new Promise(function (resolve, reject) {
2171
- Promise.all(mutations).then(function (resolvedMutations) {
2172
- perform(resolvedMutations, function () {
2146
+ return new Promise((resolve, reject) => {
2147
+ Promise.all(mutations).then(resolvedMutations => {
2148
+ perform(resolvedMutations, () => {
2173
2149
  hclAdd('active');
2174
2150
  hclAdd('complete');
2175
2151
  hclRemove('pending');
@@ -2177,70 +2153,61 @@ function onTree(root) {
2177
2153
  mark();
2178
2154
  resolve();
2179
2155
  });
2180
- }).catch(function (e) {
2156
+ }).catch(e$$1 => {
2181
2157
  mark();
2182
- reject(e);
2158
+ reject(e$$1);
2183
2159
  });
2184
2160
  });
2185
2161
  }
2186
-
2187
2162
  function onNode(node) {
2188
- var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
2189
- generateMutation(node).then(function (mutation) {
2163
+ let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
2164
+ generateMutation(node).then(mutation => {
2190
2165
  if (mutation) {
2191
2166
  perform([mutation], callback);
2192
2167
  }
2193
2168
  });
2194
2169
  }
2195
-
2196
2170
  function resolveIcons(next) {
2197
2171
  return function (maybeIconDefinition) {
2198
- var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
2199
- var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});
2200
- var mask = params.mask;
2201
-
2172
+ let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
2173
+ const iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});
2174
+ let {
2175
+ mask
2176
+ } = params;
2202
2177
  if (mask) {
2203
2178
  mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});
2204
2179
  }
2205
-
2206
2180
  return next(iconDefinition, _objectSpread2(_objectSpread2({}, params), {}, {
2207
- mask: mask
2181
+ mask
2208
2182
  }));
2209
2183
  };
2210
2184
  }
2211
-
2212
- var render = function render(iconDefinition) {
2213
- var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
2214
- var _params$transform = params.transform,
2215
- transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,
2216
- _params$symbol = params.symbol,
2217
- symbol = _params$symbol === void 0 ? false : _params$symbol,
2218
- _params$mask = params.mask,
2219
- mask = _params$mask === void 0 ? null : _params$mask,
2220
- _params$maskId = params.maskId,
2221
- maskId = _params$maskId === void 0 ? null : _params$maskId,
2222
- _params$title = params.title,
2223
- title = _params$title === void 0 ? null : _params$title,
2224
- _params$titleId = params.titleId,
2225
- titleId = _params$titleId === void 0 ? null : _params$titleId,
2226
- _params$classes = params.classes,
2227
- classes = _params$classes === void 0 ? [] : _params$classes,
2228
- _params$attributes = params.attributes,
2229
- attributes = _params$attributes === void 0 ? {} : _params$attributes,
2230
- _params$styles = params.styles,
2231
- styles = _params$styles === void 0 ? {} : _params$styles;
2185
+ const render = function (iconDefinition) {
2186
+ let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
2187
+ const {
2188
+ transform = meaninglessTransform,
2189
+ symbol = false,
2190
+ mask = null,
2191
+ maskId = null,
2192
+ title = null,
2193
+ titleId = null,
2194
+ classes = [],
2195
+ attributes = {},
2196
+ styles = {}
2197
+ } = params;
2232
2198
  if (!iconDefinition) return;
2233
- var prefix = iconDefinition.prefix,
2234
- iconName = iconDefinition.iconName,
2235
- icon = iconDefinition.icon;
2199
+ const {
2200
+ prefix,
2201
+ iconName,
2202
+ icon
2203
+ } = iconDefinition;
2236
2204
  return domVariants(_objectSpread2({
2237
2205
  type: 'icon'
2238
- }, iconDefinition), function () {
2206
+ }, iconDefinition), () => {
2239
2207
  callHooks('beforeDOMElementCreation', {
2240
- iconDefinition: iconDefinition,
2241
- params: params
2208
+ iconDefinition,
2209
+ params
2242
2210
  });
2243
-
2244
2211
  if (config.autoA11y) {
2245
2212
  if (title) {
2246
2213
  attributes['aria-labelledby'] = "".concat(config.replacementClass, "-title-").concat(titleId || nextUniqueId());
@@ -2249,7 +2216,6 @@ var render = function render(iconDefinition) {
2249
2216
  attributes['focusable'] = 'false';
2250
2217
  }
2251
2218
  }
2252
-
2253
2219
  return makeInlineSvgAbstract({
2254
2220
  icons: {
2255
2221
  main: asFoundIcon(icon),
@@ -2260,143 +2226,139 @@ var render = function render(iconDefinition) {
2260
2226
  icon: {}
2261
2227
  }
2262
2228
  },
2263
- prefix: prefix,
2264
- iconName: iconName,
2229
+ prefix,
2230
+ iconName,
2265
2231
  transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),
2266
- symbol: symbol,
2267
- title: title,
2268
- maskId: maskId,
2269
- titleId: titleId,
2232
+ symbol,
2233
+ title,
2234
+ maskId,
2235
+ titleId,
2270
2236
  extra: {
2271
- attributes: attributes,
2272
- styles: styles,
2273
- classes: classes
2237
+ attributes,
2238
+ styles,
2239
+ classes
2274
2240
  }
2275
2241
  });
2276
2242
  });
2277
2243
  };
2278
2244
  var replaceElements = {
2279
- mixout: function mixout() {
2245
+ mixout() {
2280
2246
  return {
2281
2247
  icon: resolveIcons(render)
2282
2248
  };
2283
2249
  },
2284
- hooks: function hooks() {
2250
+ hooks() {
2285
2251
  return {
2286
- mutationObserverCallbacks: function mutationObserverCallbacks(accumulator) {
2252
+ mutationObserverCallbacks(accumulator) {
2287
2253
  accumulator.treeCallback = onTree;
2288
2254
  accumulator.nodeCallback = onNode;
2289
2255
  return accumulator;
2290
2256
  }
2291
2257
  };
2292
2258
  },
2293
- provides: function provides(providers$$1) {
2259
+ provides(providers$$1) {
2294
2260
  providers$$1.i2svg = function (params) {
2295
- var _params$node = params.node,
2296
- node = _params$node === void 0 ? DOCUMENT : _params$node,
2297
- _params$callback = params.callback,
2298
- callback = _params$callback === void 0 ? function () {} : _params$callback;
2261
+ const {
2262
+ node = DOCUMENT,
2263
+ callback = () => {}
2264
+ } = params;
2299
2265
  return onTree(node, callback);
2300
2266
  };
2301
-
2302
2267
  providers$$1.generateSvgReplacementMutation = function (node, nodeMeta) {
2303
- var iconName = nodeMeta.iconName,
2304
- title = nodeMeta.title,
2305
- titleId = nodeMeta.titleId,
2306
- prefix = nodeMeta.prefix,
2307
- transform = nodeMeta.transform,
2308
- symbol = nodeMeta.symbol,
2309
- mask = nodeMeta.mask,
2310
- maskId = nodeMeta.maskId,
2311
- extra = nodeMeta.extra;
2312
- return new Promise(function (resolve, reject) {
2268
+ const {
2269
+ iconName,
2270
+ title,
2271
+ titleId,
2272
+ prefix,
2273
+ transform,
2274
+ symbol,
2275
+ mask,
2276
+ maskId,
2277
+ extra
2278
+ } = nodeMeta;
2279
+ return new Promise((resolve, reject) => {
2313
2280
  Promise.all([findIcon(iconName, prefix), mask.iconName ? findIcon(mask.iconName, mask.prefix) : Promise.resolve({
2314
2281
  found: false,
2315
2282
  width: 512,
2316
2283
  height: 512,
2317
2284
  icon: {}
2318
- })]).then(function (_ref) {
2319
- var _ref2 = _slicedToArray(_ref, 2),
2320
- main = _ref2[0],
2321
- mask = _ref2[1];
2322
-
2285
+ })]).then(_ref => {
2286
+ let [main, mask] = _ref;
2323
2287
  resolve([node, makeInlineSvgAbstract({
2324
2288
  icons: {
2325
- main: main,
2326
- mask: mask
2289
+ main,
2290
+ mask
2327
2291
  },
2328
- prefix: prefix,
2329
- iconName: iconName,
2330
- transform: transform,
2331
- symbol: symbol,
2332
- maskId: maskId,
2333
- title: title,
2334
- titleId: titleId,
2335
- extra: extra,
2292
+ prefix,
2293
+ iconName,
2294
+ transform,
2295
+ symbol,
2296
+ maskId,
2297
+ title,
2298
+ titleId,
2299
+ extra,
2336
2300
  watchable: true
2337
2301
  })]);
2338
2302
  }).catch(reject);
2339
2303
  });
2340
2304
  };
2341
-
2342
- providers$$1.generateAbstractIcon = function (_ref3) {
2343
- var children = _ref3.children,
2344
- attributes = _ref3.attributes,
2345
- main = _ref3.main,
2346
- transform = _ref3.transform,
2347
- styles = _ref3.styles;
2348
- var styleString = joinStyles(styles);
2349
-
2305
+ providers$$1.generateAbstractIcon = function (_ref2) {
2306
+ let {
2307
+ children,
2308
+ attributes,
2309
+ main,
2310
+ transform,
2311
+ styles
2312
+ } = _ref2;
2313
+ const styleString = joinStyles(styles);
2350
2314
  if (styleString.length > 0) {
2351
2315
  attributes['style'] = styleString;
2352
2316
  }
2353
-
2354
- var nextChild;
2355
-
2317
+ let nextChild;
2356
2318
  if (transformIsMeaningful(transform)) {
2357
2319
  nextChild = callProvided('generateAbstractTransformGrouping', {
2358
- main: main,
2359
- transform: transform,
2320
+ main,
2321
+ transform,
2360
2322
  containerWidth: main.width,
2361
2323
  iconWidth: main.width
2362
2324
  });
2363
2325
  }
2364
-
2365
2326
  children.push(nextChild || main.icon);
2366
2327
  return {
2367
- children: children,
2368
- attributes: attributes
2328
+ children,
2329
+ attributes
2369
2330
  };
2370
2331
  };
2371
2332
  }
2372
2333
  };
2373
2334
 
2374
2335
  var layers = {
2375
- mixout: function mixout() {
2336
+ mixout() {
2376
2337
  return {
2377
- layer: function layer(assembler) {
2378
- var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
2379
- var _params$classes = params.classes,
2380
- classes = _params$classes === void 0 ? [] : _params$classes;
2338
+ layer(assembler) {
2339
+ let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
2340
+ const {
2341
+ classes = []
2342
+ } = params;
2381
2343
  return domVariants({
2382
2344
  type: 'layer'
2383
- }, function () {
2345
+ }, () => {
2384
2346
  callHooks('beforeDOMElementCreation', {
2385
- assembler: assembler,
2386
- params: params
2347
+ assembler,
2348
+ params
2387
2349
  });
2388
- var children = [];
2389
- assembler(function (args) {
2390
- Array.isArray(args) ? args.map(function (a) {
2350
+ let children = [];
2351
+ assembler(args => {
2352
+ Array.isArray(args) ? args.map(a => {
2391
2353
  children = children.concat(a.abstract);
2392
2354
  }) : children = children.concat(args.abstract);
2393
2355
  });
2394
2356
  return [{
2395
2357
  tag: 'span',
2396
2358
  attributes: {
2397
- class: ["".concat(config.cssPrefix, "-layers")].concat(_toConsumableArray(classes)).join(' ')
2359
+ class: ["".concat(config.cssPrefix, "-layers"), ...classes].join(' ')
2398
2360
  },
2399
- children: children
2361
+ children
2400
2362
  }];
2401
2363
  });
2402
2364
  }
@@ -2405,33 +2367,31 @@ var layers = {
2405
2367
  };
2406
2368
 
2407
2369
  var layersCounter = {
2408
- mixout: function mixout() {
2370
+ mixout() {
2409
2371
  return {
2410
- counter: function counter(content) {
2411
- var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
2412
- var _params$title = params.title,
2413
- title = _params$title === void 0 ? null : _params$title,
2414
- _params$classes = params.classes,
2415
- classes = _params$classes === void 0 ? [] : _params$classes,
2416
- _params$attributes = params.attributes,
2417
- attributes = _params$attributes === void 0 ? {} : _params$attributes,
2418
- _params$styles = params.styles,
2419
- styles = _params$styles === void 0 ? {} : _params$styles;
2372
+ counter(content) {
2373
+ let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
2374
+ const {
2375
+ title = null,
2376
+ classes = [],
2377
+ attributes = {},
2378
+ styles = {}
2379
+ } = params;
2420
2380
  return domVariants({
2421
2381
  type: 'counter',
2422
- content: content
2423
- }, function () {
2382
+ content
2383
+ }, () => {
2424
2384
  callHooks('beforeDOMElementCreation', {
2425
- content: content,
2426
- params: params
2385
+ content,
2386
+ params
2427
2387
  });
2428
2388
  return makeLayersCounterAbstract({
2429
2389
  content: content.toString(),
2430
- title: title,
2390
+ title,
2431
2391
  extra: {
2432
- attributes: attributes,
2433
- styles: styles,
2434
- classes: ["".concat(config.cssPrefix, "-layers-counter")].concat(_toConsumableArray(classes))
2392
+ attributes,
2393
+ styles,
2394
+ classes: ["".concat(config.cssPrefix, "-layers-counter"), ...classes]
2435
2395
  }
2436
2396
  });
2437
2397
  });
@@ -2441,169 +2401,172 @@ var layersCounter = {
2441
2401
  };
2442
2402
 
2443
2403
  var layersText = {
2444
- mixout: function mixout() {
2404
+ mixout() {
2445
2405
  return {
2446
- text: function text(content) {
2447
- var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
2448
- var _params$transform = params.transform,
2449
- transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,
2450
- _params$title = params.title,
2451
- title = _params$title === void 0 ? null : _params$title,
2452
- _params$classes = params.classes,
2453
- classes = _params$classes === void 0 ? [] : _params$classes,
2454
- _params$attributes = params.attributes,
2455
- attributes = _params$attributes === void 0 ? {} : _params$attributes,
2456
- _params$styles = params.styles,
2457
- styles = _params$styles === void 0 ? {} : _params$styles;
2406
+ text(content) {
2407
+ let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
2408
+ const {
2409
+ transform = meaninglessTransform,
2410
+ title = null,
2411
+ classes = [],
2412
+ attributes = {},
2413
+ styles = {}
2414
+ } = params;
2458
2415
  return domVariants({
2459
2416
  type: 'text',
2460
- content: content
2461
- }, function () {
2417
+ content
2418
+ }, () => {
2462
2419
  callHooks('beforeDOMElementCreation', {
2463
- content: content,
2464
- params: params
2420
+ content,
2421
+ params
2465
2422
  });
2466
2423
  return makeLayersTextAbstract({
2467
- content: content,
2424
+ content,
2468
2425
  transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),
2469
- title: title,
2426
+ title,
2470
2427
  extra: {
2471
- attributes: attributes,
2472
- styles: styles,
2473
- classes: ["".concat(config.cssPrefix, "-layers-text")].concat(_toConsumableArray(classes))
2428
+ attributes,
2429
+ styles,
2430
+ classes: ["".concat(config.cssPrefix, "-layers-text"), ...classes]
2474
2431
  }
2475
2432
  });
2476
2433
  });
2477
2434
  }
2478
2435
  };
2479
2436
  },
2480
- provides: function provides(providers$$1) {
2437
+ provides(providers$$1) {
2481
2438
  providers$$1.generateLayersText = function (node, nodeMeta) {
2482
- var title = nodeMeta.title,
2483
- transform = nodeMeta.transform,
2484
- extra = nodeMeta.extra;
2485
- var width = null;
2486
- var height = null;
2487
-
2439
+ const {
2440
+ title,
2441
+ transform,
2442
+ extra
2443
+ } = nodeMeta;
2444
+ let width = null;
2445
+ let height = null;
2488
2446
  if (IS_IE) {
2489
- var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);
2490
- var boundingClientRect = node.getBoundingClientRect();
2447
+ const computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);
2448
+ const boundingClientRect = node.getBoundingClientRect();
2491
2449
  width = boundingClientRect.width / computedFontSize;
2492
2450
  height = boundingClientRect.height / computedFontSize;
2493
2451
  }
2494
-
2495
2452
  if (config.autoA11y && !title) {
2496
2453
  extra.attributes['aria-hidden'] = 'true';
2497
2454
  }
2498
-
2499
2455
  return Promise.resolve([node, makeLayersTextAbstract({
2500
2456
  content: node.innerHTML,
2501
- width: width,
2502
- height: height,
2503
- transform: transform,
2504
- title: title,
2505
- extra: extra,
2457
+ width,
2458
+ height,
2459
+ transform,
2460
+ title,
2461
+ extra,
2506
2462
  watchable: true
2507
2463
  })]);
2508
2464
  };
2509
2465
  }
2510
2466
  };
2511
2467
 
2512
- var CLEAN_CONTENT_PATTERN = new RegExp("\"", 'ug');
2513
- var SECONDARY_UNICODE_RANGE = [1105920, 1112319];
2468
+ const CLEAN_CONTENT_PATTERN = new RegExp('\u{22}', 'ug');
2469
+ const SECONDARY_UNICODE_RANGE = [1105920, 1112319];
2470
+ const _FONT_FAMILY_WEIGHT_TO_PREFIX = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {
2471
+ FontAwesome: {
2472
+ normal: 'fas',
2473
+ 400: 'fas'
2474
+ }
2475
+ }), lt), wa), Yt);
2476
+ const FONT_FAMILY_WEIGHT_TO_PREFIX = Object.keys(_FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, key) => {
2477
+ acc[key.toLowerCase()] = _FONT_FAMILY_WEIGHT_TO_PREFIX[key];
2478
+ return acc;
2479
+ }, {});
2480
+ const FONT_FAMILY_WEIGHT_FALLBACK = Object.keys(FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, fontFamily) => {
2481
+ const weights = FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamily];
2482
+ acc[fontFamily] = weights[900] || [...Object.entries(weights)][0][1];
2483
+ return acc;
2484
+ }, {});
2514
2485
  function hexValueFromContent(content) {
2515
- var cleaned = content.replace(CLEAN_CONTENT_PATTERN, '');
2516
- var codePoint = codePointAt(cleaned, 0);
2517
- var isPrependTen = codePoint >= SECONDARY_UNICODE_RANGE[0] && codePoint <= SECONDARY_UNICODE_RANGE[1];
2518
- var isDoubled = cleaned.length === 2 ? cleaned[0] === cleaned[1] : false;
2486
+ const cleaned = content.replace(CLEAN_CONTENT_PATTERN, '');
2487
+ const codePoint = codePointAt(cleaned, 0);
2488
+ const isPrependTen = codePoint >= SECONDARY_UNICODE_RANGE[0] && codePoint <= SECONDARY_UNICODE_RANGE[1];
2489
+ const isDoubled = cleaned.length === 2 ? cleaned[0] === cleaned[1] : false;
2519
2490
  return {
2520
2491
  value: isDoubled ? toHex(cleaned[0]) : toHex(cleaned),
2521
2492
  isSecondary: isPrependTen || isDoubled
2522
2493
  };
2523
2494
  }
2524
-
2495
+ function getPrefix(fontFamily, fontWeight) {
2496
+ const fontFamilySanitized = fontFamily.replace(/^['"]|['"]$/g, '').toLowerCase();
2497
+ const fontWeightInteger = parseInt(fontWeight);
2498
+ const fontWeightSanitized = isNaN(fontWeightInteger) ? 'normal' : fontWeightInteger;
2499
+ return (FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamilySanitized] || {})[fontWeightSanitized] || FONT_FAMILY_WEIGHT_FALLBACK[fontFamilySanitized];
2500
+ }
2525
2501
  function replaceForPosition(node, position) {
2526
- var pendingAttribute = "".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));
2527
- return new Promise(function (resolve, reject) {
2502
+ const pendingAttribute = "".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));
2503
+ return new Promise((resolve, reject) => {
2528
2504
  if (node.getAttribute(pendingAttribute) !== null) {
2529
2505
  // This node is already being processed
2530
2506
  return resolve();
2531
2507
  }
2532
-
2533
- var children = toArray(node.children);
2534
- var alreadyProcessedPseudoElement = children.filter(function (c) {
2535
- return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;
2536
- })[0];
2537
- var styles = WINDOW.getComputedStyle(node, position);
2538
- var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);
2539
- var fontWeight = styles.getPropertyValue('font-weight');
2540
- var content = styles.getPropertyValue('content');
2541
-
2542
- if (alreadyProcessedPseudoElement && !fontFamily) {
2508
+ const children = toArray(node.children);
2509
+ const alreadyProcessedPseudoElement = children.filter(c$$1 => c$$1.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position)[0];
2510
+ const styles = WINDOW.getComputedStyle(node, position);
2511
+ const fontFamily = styles.getPropertyValue('font-family');
2512
+ const fontFamilyMatch = fontFamily.match(FONT_FAMILY_PATTERN);
2513
+ const fontWeight = styles.getPropertyValue('font-weight');
2514
+ const content = styles.getPropertyValue('content');
2515
+ if (alreadyProcessedPseudoElement && !fontFamilyMatch) {
2543
2516
  // If we've already processed it but the current computed style does not result in a font-family,
2544
2517
  // that probably means that a class name that was previously present to make the icon has been
2545
2518
  // removed. So we now should delete the icon.
2546
2519
  node.removeChild(alreadyProcessedPseudoElement);
2547
2520
  return resolve();
2548
- } else if (fontFamily && content !== 'none' && content !== '') {
2549
- var _content = styles.getPropertyValue('content');
2550
-
2551
- var family = ~['Sharp'].indexOf(fontFamily[2]) ? FAMILY_SHARP : FAMILY_CLASSIC;
2552
- var prefix = ~['Solid', 'Regular', 'Light', 'Thin', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[family][fontFamily[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[family][fontWeight];
2553
-
2554
- var _hexValueFromContent = hexValueFromContent(_content),
2555
- hexValue = _hexValueFromContent.value,
2556
- isSecondary = _hexValueFromContent.isSecondary;
2557
-
2558
- var isV4 = fontFamily[0].startsWith('FontAwesome');
2559
- var iconName = byUnicode(prefix, hexValue);
2560
- var iconIdentifier = iconName;
2561
-
2521
+ } else if (fontFamilyMatch && content !== 'none' && content !== '') {
2522
+ const content = styles.getPropertyValue('content');
2523
+ let prefix = getPrefix(fontFamily, fontWeight);
2524
+ const {
2525
+ value: hexValue,
2526
+ isSecondary
2527
+ } = hexValueFromContent(content);
2528
+ const isV4 = fontFamilyMatch[0].startsWith('FontAwesome');
2529
+ let iconName = byUnicode(prefix, hexValue);
2530
+ let iconIdentifier = iconName;
2562
2531
  if (isV4) {
2563
- var iconName4 = byOldUnicode(hexValue);
2564
-
2532
+ const iconName4 = byOldUnicode(hexValue);
2565
2533
  if (iconName4.iconName && iconName4.prefix) {
2566
2534
  iconName = iconName4.iconName;
2567
2535
  prefix = iconName4.prefix;
2568
2536
  }
2569
- } // Only convert the pseudo element in this ::before/::after position into an icon if we haven't
2570
- // already done so with the same prefix and iconName
2571
-
2537
+ }
2572
2538
 
2539
+ // Only convert the pseudo element in this ::before/::after position into an icon if we haven't
2540
+ // already done so with the same prefix and iconName
2573
2541
  if (iconName && !isSecondary && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {
2574
2542
  node.setAttribute(pendingAttribute, iconIdentifier);
2575
-
2576
2543
  if (alreadyProcessedPseudoElement) {
2577
2544
  // Delete the old one, since we're replacing it with a new one
2578
2545
  node.removeChild(alreadyProcessedPseudoElement);
2579
2546
  }
2580
-
2581
- var meta = blankMeta();
2582
- var extra = meta.extra;
2547
+ const meta = blankMeta();
2548
+ const {
2549
+ extra
2550
+ } = meta;
2583
2551
  extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;
2584
- findIcon(iconName, prefix).then(function (main) {
2585
- var _abstract = makeInlineSvgAbstract(_objectSpread2(_objectSpread2({}, meta), {}, {
2552
+ findIcon(iconName, prefix).then(main => {
2553
+ const abstract = makeInlineSvgAbstract(_objectSpread2(_objectSpread2({}, meta), {}, {
2586
2554
  icons: {
2587
- main: main,
2555
+ main,
2588
2556
  mask: emptyCanonicalIcon()
2589
2557
  },
2590
- prefix: prefix,
2558
+ prefix,
2591
2559
  iconName: iconIdentifier,
2592
- extra: extra,
2560
+ extra,
2593
2561
  watchable: true
2594
2562
  }));
2595
-
2596
- var element = DOCUMENT.createElementNS('http://www.w3.org/2000/svg', 'svg');
2597
-
2563
+ const element = DOCUMENT.createElementNS('http://www.w3.org/2000/svg', 'svg');
2598
2564
  if (position === '::before') {
2599
2565
  node.insertBefore(element, node.firstChild);
2600
2566
  } else {
2601
2567
  node.appendChild(element);
2602
2568
  }
2603
-
2604
- element.outerHTML = _abstract.map(function (a) {
2605
- return toHtml(a);
2606
- }).join('\n');
2569
+ element.outerHTML = abstract.map(a$$1 => toHtml(a$$1)).join('\n');
2607
2570
  node.removeAttribute(pendingAttribute);
2608
2571
  resolve();
2609
2572
  }).catch(reject);
@@ -2615,47 +2578,43 @@ function replaceForPosition(node, position) {
2615
2578
  }
2616
2579
  });
2617
2580
  }
2618
-
2619
2581
  function replace(node) {
2620
2582
  return Promise.all([replaceForPosition(node, '::before'), replaceForPosition(node, '::after')]);
2621
2583
  }
2622
-
2623
2584
  function processable(node) {
2624
2585
  return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');
2625
2586
  }
2626
-
2627
2587
  function searchPseudoElements(root) {
2628
2588
  if (!IS_DOM) return;
2629
- return new Promise(function (resolve, reject) {
2630
- var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);
2631
- var end = perf.begin('searchPseudoElements');
2589
+ return new Promise((resolve, reject) => {
2590
+ const operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);
2591
+ const end = perf.begin('searchPseudoElements');
2632
2592
  disableObservation();
2633
- Promise.all(operations).then(function () {
2593
+ Promise.all(operations).then(() => {
2634
2594
  end();
2635
2595
  enableObservation();
2636
2596
  resolve();
2637
- }).catch(function () {
2597
+ }).catch(() => {
2638
2598
  end();
2639
2599
  enableObservation();
2640
2600
  reject();
2641
2601
  });
2642
2602
  });
2643
2603
  }
2644
-
2645
2604
  var pseudoElements = {
2646
- hooks: function hooks() {
2605
+ hooks() {
2647
2606
  return {
2648
- mutationObserverCallbacks: function mutationObserverCallbacks(accumulator) {
2607
+ mutationObserverCallbacks(accumulator) {
2649
2608
  accumulator.pseudoElementsCallback = searchPseudoElements;
2650
2609
  return accumulator;
2651
2610
  }
2652
2611
  };
2653
2612
  },
2654
- provides: function provides(providers$$1) {
2655
- providers$$1.pseudoElements2svg = function (params) {
2656
- var _params$node = params.node,
2657
- node = _params$node === void 0 ? DOCUMENT : _params$node;
2658
-
2613
+ provides(providers) {
2614
+ providers.pseudoElements2svg = function (params) {
2615
+ const {
2616
+ node = DOCUMENT
2617
+ } = params;
2659
2618
  if (config.searchPseudoElements) {
2660
2619
  searchPseudoElements(node);
2661
2620
  }
@@ -2663,34 +2622,35 @@ var pseudoElements = {
2663
2622
  }
2664
2623
  };
2665
2624
 
2666
- var _unwatched = false;
2625
+ let _unwatched = false;
2667
2626
  var mutationObserver = {
2668
- mixout: function mixout() {
2627
+ mixout() {
2669
2628
  return {
2670
2629
  dom: {
2671
- unwatch: function unwatch() {
2630
+ unwatch() {
2672
2631
  disableObservation();
2673
2632
  _unwatched = true;
2674
2633
  }
2675
2634
  }
2676
2635
  };
2677
2636
  },
2678
- hooks: function hooks() {
2637
+ hooks() {
2679
2638
  return {
2680
- bootstrap: function bootstrap() {
2639
+ bootstrap() {
2681
2640
  observe(chainHooks('mutationObserverCallbacks', {}));
2682
2641
  },
2683
- noAuto: function noAuto() {
2642
+ noAuto() {
2684
2643
  disconnect();
2685
2644
  },
2686
- watch: function watch(params) {
2687
- var observeMutationsRoot = params.observeMutationsRoot;
2688
-
2645
+ watch(params) {
2646
+ const {
2647
+ observeMutationsRoot
2648
+ } = params;
2689
2649
  if (_unwatched) {
2690
2650
  enableObservation();
2691
2651
  } else {
2692
2652
  observe(chainHooks('mutationObserverCallbacks', {
2693
- observeMutationsRoot: observeMutationsRoot
2653
+ observeMutationsRoot
2694
2654
  }));
2695
2655
  }
2696
2656
  }
@@ -2698,8 +2658,8 @@ var mutationObserver = {
2698
2658
  }
2699
2659
  };
2700
2660
 
2701
- var parseTransformString = function parseTransformString(transformString) {
2702
- var transform = {
2661
+ const parseTransformString = transformString => {
2662
+ let transform = {
2703
2663
  size: 16,
2704
2664
  x: 0,
2705
2665
  y: 0,
@@ -2707,105 +2667,93 @@ var parseTransformString = function parseTransformString(transformString) {
2707
2667
  flipY: false,
2708
2668
  rotate: 0
2709
2669
  };
2710
- return transformString.toLowerCase().split(' ').reduce(function (acc, n) {
2711
- var parts = n.toLowerCase().split('-');
2712
- var first = parts[0];
2713
- var rest = parts.slice(1).join('-');
2714
-
2670
+ return transformString.toLowerCase().split(' ').reduce((acc, n) => {
2671
+ const parts = n.toLowerCase().split('-');
2672
+ const first = parts[0];
2673
+ let rest = parts.slice(1).join('-');
2715
2674
  if (first && rest === 'h') {
2716
2675
  acc.flipX = true;
2717
2676
  return acc;
2718
2677
  }
2719
-
2720
2678
  if (first && rest === 'v') {
2721
2679
  acc.flipY = true;
2722
2680
  return acc;
2723
2681
  }
2724
-
2725
2682
  rest = parseFloat(rest);
2726
-
2727
2683
  if (isNaN(rest)) {
2728
2684
  return acc;
2729
2685
  }
2730
-
2731
2686
  switch (first) {
2732
2687
  case 'grow':
2733
2688
  acc.size = acc.size + rest;
2734
2689
  break;
2735
-
2736
2690
  case 'shrink':
2737
2691
  acc.size = acc.size - rest;
2738
2692
  break;
2739
-
2740
2693
  case 'left':
2741
2694
  acc.x = acc.x - rest;
2742
2695
  break;
2743
-
2744
2696
  case 'right':
2745
2697
  acc.x = acc.x + rest;
2746
2698
  break;
2747
-
2748
2699
  case 'up':
2749
2700
  acc.y = acc.y - rest;
2750
2701
  break;
2751
-
2752
2702
  case 'down':
2753
2703
  acc.y = acc.y + rest;
2754
2704
  break;
2755
-
2756
2705
  case 'rotate':
2757
2706
  acc.rotate = acc.rotate + rest;
2758
2707
  break;
2759
2708
  }
2760
-
2761
2709
  return acc;
2762
2710
  }, transform);
2763
2711
  };
2764
2712
  var powerTransforms = {
2765
- mixout: function mixout() {
2713
+ mixout() {
2766
2714
  return {
2767
2715
  parse: {
2768
- transform: function transform(transformString) {
2716
+ transform: transformString => {
2769
2717
  return parseTransformString(transformString);
2770
2718
  }
2771
2719
  }
2772
2720
  };
2773
2721
  },
2774
- hooks: function hooks() {
2722
+ hooks() {
2775
2723
  return {
2776
- parseNodeAttributes: function parseNodeAttributes(accumulator, node) {
2777
- var transformString = node.getAttribute('data-fa-transform');
2778
-
2724
+ parseNodeAttributes(accumulator, node) {
2725
+ const transformString = node.getAttribute('data-fa-transform');
2779
2726
  if (transformString) {
2780
2727
  accumulator.transform = parseTransformString(transformString);
2781
2728
  }
2782
-
2783
2729
  return accumulator;
2784
2730
  }
2785
2731
  };
2786
2732
  },
2787
- provides: function provides(providers) {
2733
+ provides(providers) {
2788
2734
  providers.generateAbstractTransformGrouping = function (_ref) {
2789
- var main = _ref.main,
2790
- transform = _ref.transform,
2791
- containerWidth = _ref.containerWidth,
2792
- iconWidth = _ref.iconWidth;
2793
- var outer = {
2735
+ let {
2736
+ main,
2737
+ transform,
2738
+ containerWidth,
2739
+ iconWidth
2740
+ } = _ref;
2741
+ const outer = {
2794
2742
  transform: "translate(".concat(containerWidth / 2, " 256)")
2795
2743
  };
2796
- var innerTranslate = "translate(".concat(transform.x * 32, ", ").concat(transform.y * 32, ") ");
2797
- var innerScale = "scale(".concat(transform.size / 16 * (transform.flipX ? -1 : 1), ", ").concat(transform.size / 16 * (transform.flipY ? -1 : 1), ") ");
2798
- var innerRotate = "rotate(".concat(transform.rotate, " 0 0)");
2799
- var inner = {
2744
+ const innerTranslate = "translate(".concat(transform.x * 32, ", ").concat(transform.y * 32, ") ");
2745
+ const innerScale = "scale(".concat(transform.size / 16 * (transform.flipX ? -1 : 1), ", ").concat(transform.size / 16 * (transform.flipY ? -1 : 1), ") ");
2746
+ const innerRotate = "rotate(".concat(transform.rotate, " 0 0)");
2747
+ const inner = {
2800
2748
  transform: "".concat(innerTranslate, " ").concat(innerScale, " ").concat(innerRotate)
2801
2749
  };
2802
- var path = {
2750
+ const path = {
2803
2751
  transform: "translate(".concat(iconWidth / 2 * -1, " -256)")
2804
2752
  };
2805
- var operations = {
2806
- outer: outer,
2807
- inner: inner,
2808
- path: path
2753
+ const operations = {
2754
+ outer,
2755
+ inner,
2756
+ path
2809
2757
  };
2810
2758
  return {
2811
2759
  tag: 'g',
@@ -2824,77 +2772,74 @@ var powerTransforms = {
2824
2772
  }
2825
2773
  };
2826
2774
 
2827
- var ALL_SPACE = {
2775
+ const ALL_SPACE = {
2828
2776
  x: 0,
2829
2777
  y: 0,
2830
2778
  width: '100%',
2831
2779
  height: '100%'
2832
2780
  };
2833
-
2834
- function fillBlack(_abstract) {
2835
- var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
2836
-
2837
- if (_abstract.attributes && (_abstract.attributes.fill || force)) {
2838
- _abstract.attributes.fill = 'black';
2781
+ function fillBlack(abstract) {
2782
+ let force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
2783
+ if (abstract.attributes && (abstract.attributes.fill || force)) {
2784
+ abstract.attributes.fill = 'black';
2839
2785
  }
2840
-
2841
- return _abstract;
2786
+ return abstract;
2842
2787
  }
2843
-
2844
- function deGroup(_abstract2) {
2845
- if (_abstract2.tag === 'g') {
2846
- return _abstract2.children;
2788
+ function deGroup(abstract) {
2789
+ if (abstract.tag === 'g') {
2790
+ return abstract.children;
2847
2791
  } else {
2848
- return [_abstract2];
2792
+ return [abstract];
2849
2793
  }
2850
2794
  }
2851
-
2852
2795
  var masks = {
2853
- hooks: function hooks() {
2796
+ hooks() {
2854
2797
  return {
2855
- parseNodeAttributes: function parseNodeAttributes(accumulator, node) {
2856
- var maskData = node.getAttribute('data-fa-mask');
2857
- var mask = !maskData ? emptyCanonicalIcon() : getCanonicalIcon(maskData.split(' ').map(function (i) {
2858
- return i.trim();
2859
- }));
2860
-
2798
+ parseNodeAttributes(accumulator, node) {
2799
+ const maskData = node.getAttribute('data-fa-mask');
2800
+ const mask = !maskData ? emptyCanonicalIcon() : getCanonicalIcon(maskData.split(' ').map(i => i.trim()));
2861
2801
  if (!mask.prefix) {
2862
2802
  mask.prefix = getDefaultUsablePrefix();
2863
2803
  }
2864
-
2865
2804
  accumulator.mask = mask;
2866
2805
  accumulator.maskId = node.getAttribute('data-fa-mask-id');
2867
2806
  return accumulator;
2868
2807
  }
2869
2808
  };
2870
2809
  },
2871
- provides: function provides(providers) {
2810
+ provides(providers) {
2872
2811
  providers.generateAbstractMask = function (_ref) {
2873
- var children = _ref.children,
2874
- attributes = _ref.attributes,
2875
- main = _ref.main,
2876
- mask = _ref.mask,
2877
- explicitMaskId = _ref.maskId,
2878
- transform = _ref.transform;
2879
- var mainWidth = main.width,
2880
- mainPath = main.icon;
2881
- var maskWidth = mask.width,
2882
- maskPath = mask.icon;
2883
- var trans = transformForSvg({
2884
- transform: transform,
2812
+ let {
2813
+ children,
2814
+ attributes,
2815
+ main,
2816
+ mask,
2817
+ maskId: explicitMaskId,
2818
+ transform
2819
+ } = _ref;
2820
+ const {
2821
+ width: mainWidth,
2822
+ icon: mainPath
2823
+ } = main;
2824
+ const {
2825
+ width: maskWidth,
2826
+ icon: maskPath
2827
+ } = mask;
2828
+ const trans = transformForSvg({
2829
+ transform,
2885
2830
  containerWidth: maskWidth,
2886
2831
  iconWidth: mainWidth
2887
2832
  });
2888
- var maskRect = {
2833
+ const maskRect = {
2889
2834
  tag: 'rect',
2890
2835
  attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {
2891
2836
  fill: 'white'
2892
2837
  })
2893
2838
  };
2894
- var maskInnerGroupChildrenMixin = mainPath.children ? {
2839
+ const maskInnerGroupChildrenMixin = mainPath.children ? {
2895
2840
  children: mainPath.children.map(fillBlack)
2896
2841
  } : {};
2897
- var maskInnerGroup = {
2842
+ const maskInnerGroup = {
2898
2843
  tag: 'g',
2899
2844
  attributes: _objectSpread2({}, trans.inner),
2900
2845
  children: [fillBlack(_objectSpread2({
@@ -2902,14 +2847,14 @@ var masks = {
2902
2847
  attributes: _objectSpread2(_objectSpread2({}, mainPath.attributes), trans.path)
2903
2848
  }, maskInnerGroupChildrenMixin))]
2904
2849
  };
2905
- var maskOuterGroup = {
2850
+ const maskOuterGroup = {
2906
2851
  tag: 'g',
2907
2852
  attributes: _objectSpread2({}, trans.outer),
2908
2853
  children: [maskInnerGroup]
2909
2854
  };
2910
- var maskId = "mask-".concat(explicitMaskId || nextUniqueId());
2911
- var clipId = "clip-".concat(explicitMaskId || nextUniqueId());
2912
- var maskTag = {
2855
+ const maskId = "mask-".concat(explicitMaskId || nextUniqueId());
2856
+ const clipId = "clip-".concat(explicitMaskId || nextUniqueId());
2857
+ const maskTag = {
2913
2858
  tag: 'mask',
2914
2859
  attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {
2915
2860
  id: maskId,
@@ -2918,7 +2863,7 @@ var masks = {
2918
2863
  }),
2919
2864
  children: [maskRect, maskOuterGroup]
2920
2865
  };
2921
- var defs = {
2866
+ const defs = {
2922
2867
  tag: 'defs',
2923
2868
  children: [{
2924
2869
  tag: 'clipPath',
@@ -2937,44 +2882,41 @@ var masks = {
2937
2882
  }, ALL_SPACE)
2938
2883
  });
2939
2884
  return {
2940
- children: children,
2941
- attributes: attributes
2885
+ children,
2886
+ attributes
2942
2887
  };
2943
2888
  };
2944
2889
  }
2945
2890
  };
2946
2891
 
2947
2892
  var missingIconIndicator = {
2948
- provides: function provides(providers) {
2949
- var reduceMotion = false;
2950
-
2893
+ provides(providers) {
2894
+ let reduceMotion = false;
2951
2895
  if (WINDOW.matchMedia) {
2952
2896
  reduceMotion = WINDOW.matchMedia('(prefers-reduced-motion: reduce)').matches;
2953
2897
  }
2954
-
2955
2898
  providers.missingIconAbstract = function () {
2956
- var gChildren = [];
2957
- var FILL = {
2899
+ const gChildren = [];
2900
+ const FILL = {
2958
2901
  fill: 'currentColor'
2959
2902
  };
2960
- var ANIMATION_BASE = {
2903
+ const ANIMATION_BASE = {
2961
2904
  attributeType: 'XML',
2962
2905
  repeatCount: 'indefinite',
2963
2906
  dur: '2s'
2964
- }; // Ring
2907
+ };
2965
2908
 
2909
+ // Ring
2966
2910
  gChildren.push({
2967
2911
  tag: 'path',
2968
2912
  attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {
2969
2913
  d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'
2970
2914
  })
2971
2915
  });
2972
-
2973
- var OPACITY_ANIMATE = _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {
2916
+ const OPACITY_ANIMATE = _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {
2974
2917
  attributeName: 'opacity'
2975
2918
  });
2976
-
2977
- var dot = {
2919
+ const dot = {
2978
2920
  tag: 'circle',
2979
2921
  attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {
2980
2922
  cx: '256',
@@ -2983,7 +2925,6 @@ var missingIconIndicator = {
2983
2925
  }),
2984
2926
  children: []
2985
2927
  };
2986
-
2987
2928
  if (!reduceMotion) {
2988
2929
  dot.children.push({
2989
2930
  tag: 'animate',
@@ -2998,7 +2939,6 @@ var missingIconIndicator = {
2998
2939
  })
2999
2940
  });
3000
2941
  }
3001
-
3002
2942
  gChildren.push(dot);
3003
2943
  gChildren.push({
3004
2944
  tag: 'path',
@@ -3013,7 +2953,6 @@ var missingIconIndicator = {
3013
2953
  })
3014
2954
  }]
3015
2955
  });
3016
-
3017
2956
  if (!reduceMotion) {
3018
2957
  // Exclamation
3019
2958
  gChildren.push({
@@ -3030,7 +2969,6 @@ var missingIconIndicator = {
3030
2969
  }]
3031
2970
  });
3032
2971
  }
3033
-
3034
2972
  return {
3035
2973
  tag: 'g',
3036
2974
  attributes: {
@@ -3043,11 +2981,11 @@ var missingIconIndicator = {
3043
2981
  };
3044
2982
 
3045
2983
  var svgSymbols = {
3046
- hooks: function hooks() {
2984
+ hooks() {
3047
2985
  return {
3048
- parseNodeAttributes: function parseNodeAttributes(accumulator, node) {
3049
- var symbolData = node.getAttribute('data-fa-symbol');
3050
- var symbol = symbolData === null ? false : symbolData === '' ? true : symbolData;
2986
+ parseNodeAttributes(accumulator, node) {
2987
+ const symbolData = node.getAttribute('data-fa-symbol');
2988
+ const symbol = symbolData === null ? false : symbolData === '' ? true : symbolData;
3051
2989
  accumulator['symbol'] = symbol;
3052
2990
  return accumulator;
3053
2991
  }