@fortawesome/vue-fontawesome 3.0.1 → 3.0.2

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/CHANGELOG.md CHANGED
@@ -1,15 +1,30 @@
1
1
  # Change Log
2
+
2
3
  All notable changes to this project will be documented in this file.
3
4
 
4
5
  The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/).
5
6
 
6
7
  ---
7
8
 
9
+ ## [3.0.2](https://github.com/FortAwesome/vue-fontawesome/releases/tag/3.0.2) - 2022-11-07
10
+
11
+ ### Changed
12
+
13
+ - Vue 3 Composition API TypeScript support (github issue #[276](https://github.com/FortAwesome/vue-fontawesome/issues/276))
14
+ - Updated README.md with a spelling correction, linter fixes, and new contributor
15
+ - Updated icon example in App.vue to use `fixed-width` rather than `full-width`
16
+
17
+ ### Added
18
+
19
+ - Missing tests
20
+
21
+ ---
22
+
8
23
  ## [3.0.1](https://github.com/FortAwesome/vue-fontawesome/releases/tag/3.0.1) - 2022-06-17
9
24
 
10
25
  ### Changed
11
26
 
12
- * README.md Documentation now points to https://fontawesome.com/docs/web/use-with/vue/
27
+ - README.md Documentation now points to https://fontawesome.com/docs/web/use-with/vue/
13
28
 
14
29
  ---
15
30
 
@@ -17,14 +32,14 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
17
32
 
18
33
  ### Added
19
34
 
20
- * New animations for bounce and shake
21
- * Feature to call icons using a string format
35
+ - New animations for bounce and shake
36
+ - Feature to call icons using a string format
22
37
 
23
38
  ### Fixed
24
39
 
25
- * Animations for beat, fade, beat-fade, flash, spin-pulse, and spin-reverse
26
- * Tee-shirt sizes to include 2xs, lg, xl, and 2xl
27
- * Flip animation when used by itself
40
+ - Animations for beat, fade, beat-fade, flash, spin-pulse, and spin-reverse
41
+ - Tee-shirt sizes to include 2xs, lg, xl, and 2xl
42
+ - Flip animation when used by itself
28
43
 
29
44
  ---
30
45
 
@@ -32,7 +47,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
32
47
 
33
48
  ### Fixed
34
49
 
35
- * Include 1.3.0-beta versions in peer dependencies
50
+ - Include 1.3.0-beta versions in peer dependencies
36
51
 
37
52
  ---
38
53
 
@@ -40,7 +55,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
40
55
 
41
56
  ### Fixed
42
57
 
43
- * Fix reactivity #297
58
+ - Fix reactivity #297
44
59
 
45
60
  ---
46
61
 
@@ -48,7 +63,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
48
63
 
49
64
  ### Fixed
50
65
 
51
- * Allow for non-RC releases of Vue 3
66
+ - Allow for non-RC releases of Vue 3
52
67
 
53
68
  ---
54
69
 
@@ -56,7 +71,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
56
71
 
57
72
  ### Fixed
58
73
 
59
- * Make Vue as an external dependency #258 #260
74
+ - Make Vue as an external dependency #258 #260
60
75
 
61
76
  ---
62
77
 
@@ -64,7 +79,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
64
79
 
65
80
  ### Added
66
81
 
67
- * Support for Vue 3.x RC's and betas #246 #249
82
+ - Support for Vue 3.x RC's and betas #246 #249
68
83
 
69
84
  ---
70
85
 
package/README.md CHANGED
@@ -22,7 +22,13 @@
22
22
 
23
23
  ## Documentation
24
24
 
25
- Official documentation is hosted at fontawesome.com: [Check it out here](https://fontawesome.com/docs/web/use-with/vue/)
25
+ Official documentation is hosted at fontawesome.com
26
+
27
+ Helpful Vue links:
28
+ - [Add Icons with Vue](https://fontawesome.com/docs/web/use-with/vue/add-icons)
29
+ - [Adding Icon Styling with Vue](https://fontawesome.com/docs/web/use-with/vue/style)
30
+
31
+ To find the Vue setup, go to our [Web docs](https://fontawesome.com/docs/web) and click the ***"Set Up with Vue"*** (left hand side menu).
26
32
 
27
33
  ## How to Help
28
34
 
@@ -37,7 +43,7 @@ And then:
37
43
 
38
44
  ## Contributors
39
45
 
40
- The following contributors have either hepled to start this project, have contributed
46
+ The following contributors have either helped to start this project, have contributed
41
47
  code, are actively maintaining it (including documentation), or in other ways
42
48
  being awesome contributors to this project. **We'd like to take a moment to recognize them.**
43
49
 
@@ -53,6 +59,7 @@ being awesome contributors to this project. **We'd like to take a moment to reco
53
59
  | <img src="https://github.com/rigma.png?size=72" /> | Romain Failla | [@rigma](https://github.com/rigma) |
54
60
  | <img src="https://github.com/viniciuslrangel.png?size=72" /> | Vinicius Rangel | [@viniciuslrangel](https://github.com/viniciuslrangel) |
55
61
  | <img src="https://github.com/otijhuis.png?size=72" /> | Okke Tijhuis | [@otijhuis](https://github.com/otijhuis) |
62
+ | <img src="https://github.com/parkeyparker.png?size=72" /> | Aaron Parker | [@parkeyparker](https://github.com/parkeyparker) |
56
63
 
57
64
  If we've missed someone (which is quite likely) submit a Pull Request to us and we'll get it resolved.
58
65
 
package/index.d.ts CHANGED
@@ -1,35 +1,36 @@
1
- import { ComponentPublicInstance } from 'vue'
1
+ import { IconDefinition } from '@fortawesome/fontawesome-svg-core';
2
+ import { DefineComponent } from 'vue'
2
3
 
3
4
  interface FontAwesomeIconProps {
4
- border: boolean
5
- fixedWidth: boolean
6
- flip: boolean | 'horizontal' | 'vertical' | 'both'
7
- icon: object | Array<string> | string
8
- mask: object | Array<string> | string | null
9
- listItem: boolean
10
- pull: 'right' | 'left' | null
11
- pulse: boolean
12
- rotation: 90 | 180 | 270 | '90' | '180' | '270' | null
13
- swapOpacity: boolean
14
- size: 'lg' | 'xs' | 'sm' | '1x' | '2x' | '3x' | '4x' | '5x' | '6x' | '7x' | '8x' | '9x' | '10x' | null
15
- spin: boolean
16
- transform: object | string | null
17
- symbol: boolean | string
18
- title: string | null
19
- inverse: boolean
5
+ border?: boolean
6
+ fixedWidth?: boolean
7
+ flip?: 'horizontal' | 'vertical' | 'both'
8
+ icon: object | Array<string> | string | IconDefinition
9
+ mask?: object | Array<string> | string
10
+ listItem?: boolean
11
+ pull?: 'right' | 'left'
12
+ pulse?: boolean
13
+ rotation?: 90 | 180 | 270 | '90' | '180' | '270'
14
+ swapOpacity?: boolean
15
+ size?: 'lg' | 'xs' | 'sm' | '1x' | '2x' | '3x' | '4x' | '5x' | '6x' | '7x' | '8x' | '9x' | '10x'
16
+ spin?: boolean
17
+ transform?: object | string
18
+ symbol?: boolean | string
19
+ title?: string
20
+ inverse?: boolean
20
21
  }
21
22
 
22
23
  interface FontAwesomeLayersProps {
23
- fixedWidth: boolean
24
+ fixedWidth?: boolean
24
25
  }
25
26
 
26
27
  interface FontAwesomeLayersTextProps {
27
28
  value: string | number
28
- transform: object | string | null
29
- counter: boolean
30
- position: 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right' | null
29
+ transform?: object | string
30
+ counter?: boolean
31
+ position?: 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right'
31
32
  }
32
33
 
33
- declare const FontAwesomeIcon: ComponentPublicInstance<FontAwesomeIconProps>
34
- declare const FontAwesomeLayers: ComponentPublicInstance<FontAwesomeLayersProps>
35
- declare const FontAwesomeLayersText: ComponentPublicInstance<FontAwesomeLayersTextProps>
34
+ declare const FontAwesomeIcon: DefineComponent<FontAwesomeIconProps>
35
+ declare const FontAwesomeLayers: DefineComponent<FontAwesomeLayersProps>
36
+ declare const FontAwesomeLayersText: DefineComponent<FontAwesomeLayersTextProps>
package/index.es.js CHANGED
@@ -3,17 +3,14 @@ import { h, defineComponent, computed, watch } from 'vue';
3
3
 
4
4
  function ownKeys(object, enumerableOnly) {
5
5
  var keys = Object.keys(object);
6
-
7
6
  if (Object.getOwnPropertySymbols) {
8
7
  var symbols = Object.getOwnPropertySymbols(object);
9
8
  enumerableOnly && (symbols = symbols.filter(function (sym) {
10
9
  return Object.getOwnPropertyDescriptor(object, sym).enumerable;
11
10
  })), keys.push.apply(keys, symbols);
12
11
  }
13
-
14
12
  return keys;
15
13
  }
16
-
17
14
  function _objectSpread2(target) {
18
15
  for (var i = 1; i < arguments.length; i++) {
19
16
  var source = null != arguments[i] ? arguments[i] : {};
@@ -23,10 +20,8 @@ function _objectSpread2(target) {
23
20
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
24
21
  });
25
22
  }
26
-
27
23
  return target;
28
24
  }
29
-
30
25
  function _typeof(obj) {
31
26
  "@babel/helpers - typeof";
32
27
 
@@ -36,7 +31,6 @@ function _typeof(obj) {
36
31
  return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
37
32
  }, _typeof(obj);
38
33
  }
39
-
40
34
  function _defineProperty(obj, key, value) {
41
35
  if (key in obj) {
42
36
  Object.defineProperty(obj, key, {
@@ -48,35 +42,26 @@ function _defineProperty(obj, key, value) {
48
42
  } else {
49
43
  obj[key] = value;
50
44
  }
51
-
52
45
  return obj;
53
46
  }
54
-
55
47
  function _objectWithoutPropertiesLoose(source, excluded) {
56
48
  if (source == null) return {};
57
49
  var target = {};
58
50
  var sourceKeys = Object.keys(source);
59
51
  var key, i;
60
-
61
52
  for (i = 0; i < sourceKeys.length; i++) {
62
53
  key = sourceKeys[i];
63
54
  if (excluded.indexOf(key) >= 0) continue;
64
55
  target[key] = source[key];
65
56
  }
66
-
67
57
  return target;
68
58
  }
69
-
70
59
  function _objectWithoutProperties(source, excluded) {
71
60
  if (source == null) return {};
72
-
73
61
  var target = _objectWithoutPropertiesLoose(source, excluded);
74
-
75
62
  var key, i;
76
-
77
63
  if (Object.getOwnPropertySymbols) {
78
64
  var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
79
-
80
65
  for (i = 0; i < sourceSymbolKeys.length; i++) {
81
66
  key = sourceSymbolKeys[i];
82
67
  if (excluded.indexOf(key) >= 0) continue;
@@ -84,22 +69,17 @@ function _objectWithoutProperties(source, excluded) {
84
69
  target[key] = source[key];
85
70
  }
86
71
  }
87
-
88
72
  return target;
89
73
  }
90
-
91
74
  function _toConsumableArray(arr) {
92
75
  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
93
76
  }
94
-
95
77
  function _arrayWithoutHoles(arr) {
96
78
  if (Array.isArray(arr)) return _arrayLikeToArray(arr);
97
79
  }
98
-
99
80
  function _iterableToArray(iter) {
100
81
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
101
82
  }
102
-
103
83
  function _unsupportedIterableToArray(o, minLen) {
104
84
  if (!o) return;
105
85
  if (typeof o === "string") return _arrayLikeToArray(o, minLen);
@@ -108,15 +88,11 @@ function _unsupportedIterableToArray(o, minLen) {
108
88
  if (n === "Map" || n === "Set") return Array.from(o);
109
89
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
110
90
  }
111
-
112
91
  function _arrayLikeToArray(arr, len) {
113
92
  if (len == null || len > arr.length) len = arr.length;
114
-
115
93
  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
116
-
117
94
  return arr2;
118
95
  }
119
-
120
96
  function _nonIterableSpread() {
121
97
  throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
122
98
  }
@@ -260,12 +236,12 @@ var humps$1 = {exports: {}};
260
236
  var humps = humps$1.exports;
261
237
 
262
238
  var _excluded = ["class", "style"];
239
+
263
240
  /**
264
241
  * Converts a CSS style into a plain Javascript object.
265
242
  * @param {String} style The style to converts into a plain Javascript object.
266
243
  * @returns {Object}
267
244
  */
268
-
269
245
  function styleToObject(style) {
270
246
  return style.split(';').map(function (s) {
271
247
  return s.trim();
@@ -279,19 +255,19 @@ function styleToObject(style) {
279
255
  return output;
280
256
  }, {});
281
257
  }
258
+
282
259
  /**
283
260
  * Converts a CSS class list into a plain Javascript object.
284
261
  * @param {Array<String>} classes The class list to convert.
285
262
  * @returns {Object}
286
263
  */
287
-
288
-
289
264
  function classToObject(classes) {
290
265
  return classes.split(/\s+/).reduce(function (output, className) {
291
266
  output[className] = true;
292
267
  return output;
293
268
  }, {});
294
269
  }
270
+
295
271
  /**
296
272
  * Converts a FontAwesome abstract element of an icon into a Vue VNode.
297
273
  * @param {AbstractElement | String} abstractElement The element to convert.
@@ -299,50 +275,44 @@ function classToObject(classes) {
299
275
  * @param {Object} attrs The user-defined native HTML attributes.
300
276
  * @returns {VNode}
301
277
  */
302
-
303
-
304
278
  function convert(abstractElement) {
305
279
  var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
306
280
  var attrs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
307
-
308
281
  // If the abstract element is a string, we'll just return a string render function
309
282
  if (typeof abstractElement === 'string') {
310
283
  return abstractElement;
311
- } // Converting abstract element children into Vue VNodes
312
-
284
+ }
313
285
 
286
+ // Converting abstract element children into Vue VNodes
314
287
  var children = (abstractElement.children || []).map(function (child) {
315
288
  return convert(child);
316
- }); // Converting abstract element attributes into valid Vue format
289
+ });
317
290
 
291
+ // Converting abstract element attributes into valid Vue format
318
292
  var mixins = Object.keys(abstractElement.attributes || {}).reduce(function (mixins, key) {
319
293
  var value = abstractElement.attributes[key];
320
-
321
294
  switch (key) {
322
295
  case 'class':
323
296
  mixins.class = classToObject(value);
324
297
  break;
325
-
326
298
  case 'style':
327
299
  mixins.style = styleToObject(value);
328
300
  break;
329
-
330
301
  default:
331
302
  mixins.attrs[key] = value;
332
303
  }
333
-
334
304
  return mixins;
335
305
  }, {
336
306
  attrs: {},
337
307
  class: {},
338
308
  style: {}
339
- }); // Now, we'll return the VNode
309
+ });
340
310
 
311
+ // Now, we'll return the VNode
341
312
  attrs.class;
342
- var _attrs$style = attrs.style,
343
- aStyle = _attrs$style === void 0 ? {} : _attrs$style,
344
- otherAttrs = _objectWithoutProperties(attrs, _excluded);
345
-
313
+ var _attrs$style = attrs.style,
314
+ aStyle = _attrs$style === void 0 ? {} : _attrs$style,
315
+ otherAttrs = _objectWithoutProperties(attrs, _excluded);
346
316
  return h(abstractElement.tag, _objectSpread2(_objectSpread2(_objectSpread2({}, props), {}, {
347
317
  class: mixins.class,
348
318
  style: _objectSpread2(_objectSpread2({}, mixins.style), aStyle)
@@ -350,15 +320,12 @@ function convert(abstractElement) {
350
320
  }
351
321
 
352
322
  var PRODUCTION = false;
353
-
354
323
  try {
355
324
  PRODUCTION = process.env.NODE_ENV === 'production';
356
325
  } catch (e) {}
357
-
358
326
  function log () {
359
327
  if (!PRODUCTION && console && typeof console.error === 'function') {
360
328
  var _console;
361
-
362
329
  (_console = console).error.apply(_console, arguments);
363
330
  }
364
331
  }
@@ -368,7 +335,6 @@ function objectWithKey(key, value) {
368
335
  }
369
336
  function classList(props) {
370
337
  var _classes;
371
-
372
338
  var classes = (_classes = {
373
339
  'fa-spin': props.spin,
374
340
  'fa-pulse': props.pulse,
@@ -391,26 +357,21 @@ function normalizeIconArgs(icon) {
391
357
  if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName && icon.icon) {
392
358
  return icon;
393
359
  }
394
-
395
360
  if (parse.icon) {
396
361
  return parse.icon(icon);
397
362
  }
398
-
399
363
  if (icon === null) {
400
364
  return null;
401
365
  }
402
-
403
366
  if (_typeof(icon) === 'object' && icon.prefix && icon.iconName) {
404
367
  return icon;
405
368
  }
406
-
407
369
  if (Array.isArray(icon) && icon.length === 2) {
408
370
  return {
409
371
  prefix: icon[0],
410
372
  iconName: icon[1]
411
373
  };
412
374
  }
413
-
414
375
  if (typeof icon === 'string') {
415
376
  return {
416
377
  prefix: 'fas',
@@ -418,7 +379,6 @@ function normalizeIconArgs(icon) {
418
379
  };
419
380
  }
420
381
  }
421
-
422
382
  var FontAwesomeIcon = defineComponent({
423
383
  name: 'FontAwesomeIcon',
424
384
  props: {
@@ -623,12 +583,10 @@ var FontAwesomeLayersText = defineComponent({
623
583
  });
624
584
  var abstractElement = computed(function () {
625
585
  var _text = text(props.value.toString(), _objectSpread2(_objectSpread2({}, transform.value), classes.value)),
626
- abstract = _text.abstract;
627
-
586
+ abstract = _text.abstract;
628
587
  if (props.counter) {
629
588
  abstract[0].attributes.class = abstract[0].attributes.class.replace('fa-layers-text', '');
630
589
  }
631
-
632
590
  return abstract[0];
633
591
  });
634
592
  var vnode = computed(function () {
package/index.js CHANGED
@@ -6,17 +6,14 @@
6
6
 
7
7
  function ownKeys(object, enumerableOnly) {
8
8
  var keys = Object.keys(object);
9
-
10
9
  if (Object.getOwnPropertySymbols) {
11
10
  var symbols = Object.getOwnPropertySymbols(object);
12
11
  enumerableOnly && (symbols = symbols.filter(function (sym) {
13
12
  return Object.getOwnPropertyDescriptor(object, sym).enumerable;
14
13
  })), keys.push.apply(keys, symbols);
15
14
  }
16
-
17
15
  return keys;
18
16
  }
19
-
20
17
  function _objectSpread2(target) {
21
18
  for (var i = 1; i < arguments.length; i++) {
22
19
  var source = null != arguments[i] ? arguments[i] : {};
@@ -26,10 +23,8 @@
26
23
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
27
24
  });
28
25
  }
29
-
30
26
  return target;
31
27
  }
32
-
33
28
  function _typeof(obj) {
34
29
  "@babel/helpers - typeof";
35
30
 
@@ -39,7 +34,6 @@
39
34
  return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
40
35
  }, _typeof(obj);
41
36
  }
42
-
43
37
  function _defineProperty(obj, key, value) {
44
38
  if (key in obj) {
45
39
  Object.defineProperty(obj, key, {
@@ -51,35 +45,26 @@
51
45
  } else {
52
46
  obj[key] = value;
53
47
  }
54
-
55
48
  return obj;
56
49
  }
57
-
58
50
  function _objectWithoutPropertiesLoose(source, excluded) {
59
51
  if (source == null) return {};
60
52
  var target = {};
61
53
  var sourceKeys = Object.keys(source);
62
54
  var key, i;
63
-
64
55
  for (i = 0; i < sourceKeys.length; i++) {
65
56
  key = sourceKeys[i];
66
57
  if (excluded.indexOf(key) >= 0) continue;
67
58
  target[key] = source[key];
68
59
  }
69
-
70
60
  return target;
71
61
  }
72
-
73
62
  function _objectWithoutProperties(source, excluded) {
74
63
  if (source == null) return {};
75
-
76
64
  var target = _objectWithoutPropertiesLoose(source, excluded);
77
-
78
65
  var key, i;
79
-
80
66
  if (Object.getOwnPropertySymbols) {
81
67
  var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
82
-
83
68
  for (i = 0; i < sourceSymbolKeys.length; i++) {
84
69
  key = sourceSymbolKeys[i];
85
70
  if (excluded.indexOf(key) >= 0) continue;
@@ -87,22 +72,17 @@
87
72
  target[key] = source[key];
88
73
  }
89
74
  }
90
-
91
75
  return target;
92
76
  }
93
-
94
77
  function _toConsumableArray(arr) {
95
78
  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
96
79
  }
97
-
98
80
  function _arrayWithoutHoles(arr) {
99
81
  if (Array.isArray(arr)) return _arrayLikeToArray(arr);
100
82
  }
101
-
102
83
  function _iterableToArray(iter) {
103
84
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
104
85
  }
105
-
106
86
  function _unsupportedIterableToArray(o, minLen) {
107
87
  if (!o) return;
108
88
  if (typeof o === "string") return _arrayLikeToArray(o, minLen);
@@ -111,15 +91,11 @@
111
91
  if (n === "Map" || n === "Set") return Array.from(o);
112
92
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
113
93
  }
114
-
115
94
  function _arrayLikeToArray(arr, len) {
116
95
  if (len == null || len > arr.length) len = arr.length;
117
-
118
96
  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
119
-
120
97
  return arr2;
121
98
  }
122
-
123
99
  function _nonIterableSpread() {
124
100
  throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
125
101
  }
@@ -263,12 +239,12 @@
263
239
  var humps = humps$1.exports;
264
240
 
265
241
  var _excluded = ["class", "style"];
242
+
266
243
  /**
267
244
  * Converts a CSS style into a plain Javascript object.
268
245
  * @param {String} style The style to converts into a plain Javascript object.
269
246
  * @returns {Object}
270
247
  */
271
-
272
248
  function styleToObject(style) {
273
249
  return style.split(';').map(function (s) {
274
250
  return s.trim();
@@ -282,19 +258,19 @@
282
258
  return output;
283
259
  }, {});
284
260
  }
261
+
285
262
  /**
286
263
  * Converts a CSS class list into a plain Javascript object.
287
264
  * @param {Array<String>} classes The class list to convert.
288
265
  * @returns {Object}
289
266
  */
290
-
291
-
292
267
  function classToObject(classes) {
293
268
  return classes.split(/\s+/).reduce(function (output, className) {
294
269
  output[className] = true;
295
270
  return output;
296
271
  }, {});
297
272
  }
273
+
298
274
  /**
299
275
  * Converts a FontAwesome abstract element of an icon into a Vue VNode.
300
276
  * @param {AbstractElement | String} abstractElement The element to convert.
@@ -302,50 +278,44 @@
302
278
  * @param {Object} attrs The user-defined native HTML attributes.
303
279
  * @returns {VNode}
304
280
  */
305
-
306
-
307
281
  function convert(abstractElement) {
308
282
  var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
309
283
  var attrs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
310
-
311
284
  // If the abstract element is a string, we'll just return a string render function
312
285
  if (typeof abstractElement === 'string') {
313
286
  return abstractElement;
314
- } // Converting abstract element children into Vue VNodes
315
-
287
+ }
316
288
 
289
+ // Converting abstract element children into Vue VNodes
317
290
  var children = (abstractElement.children || []).map(function (child) {
318
291
  return convert(child);
319
- }); // Converting abstract element attributes into valid Vue format
292
+ });
320
293
 
294
+ // Converting abstract element attributes into valid Vue format
321
295
  var mixins = Object.keys(abstractElement.attributes || {}).reduce(function (mixins, key) {
322
296
  var value = abstractElement.attributes[key];
323
-
324
297
  switch (key) {
325
298
  case 'class':
326
299
  mixins.class = classToObject(value);
327
300
  break;
328
-
329
301
  case 'style':
330
302
  mixins.style = styleToObject(value);
331
303
  break;
332
-
333
304
  default:
334
305
  mixins.attrs[key] = value;
335
306
  }
336
-
337
307
  return mixins;
338
308
  }, {
339
309
  attrs: {},
340
310
  class: {},
341
311
  style: {}
342
- }); // Now, we'll return the VNode
312
+ });
343
313
 
314
+ // Now, we'll return the VNode
344
315
  attrs.class;
345
- var _attrs$style = attrs.style,
346
- aStyle = _attrs$style === void 0 ? {} : _attrs$style,
347
- otherAttrs = _objectWithoutProperties(attrs, _excluded);
348
-
316
+ var _attrs$style = attrs.style,
317
+ aStyle = _attrs$style === void 0 ? {} : _attrs$style,
318
+ otherAttrs = _objectWithoutProperties(attrs, _excluded);
349
319
  return vue.h(abstractElement.tag, _objectSpread2(_objectSpread2(_objectSpread2({}, props), {}, {
350
320
  class: mixins.class,
351
321
  style: _objectSpread2(_objectSpread2({}, mixins.style), aStyle)
@@ -353,15 +323,12 @@
353
323
  }
354
324
 
355
325
  var PRODUCTION = false;
356
-
357
326
  try {
358
327
  PRODUCTION = process.env.NODE_ENV === 'production';
359
328
  } catch (e) {}
360
-
361
329
  function log () {
362
330
  if (!PRODUCTION && console && typeof console.error === 'function') {
363
331
  var _console;
364
-
365
332
  (_console = console).error.apply(_console, arguments);
366
333
  }
367
334
  }
@@ -371,7 +338,6 @@
371
338
  }
372
339
  function classList(props) {
373
340
  var _classes;
374
-
375
341
  var classes = (_classes = {
376
342
  'fa-spin': props.spin,
377
343
  'fa-pulse': props.pulse,
@@ -394,26 +360,21 @@
394
360
  if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName && icon.icon) {
395
361
  return icon;
396
362
  }
397
-
398
363
  if (fontawesomeSvgCore.parse.icon) {
399
364
  return fontawesomeSvgCore.parse.icon(icon);
400
365
  }
401
-
402
366
  if (icon === null) {
403
367
  return null;
404
368
  }
405
-
406
369
  if (_typeof(icon) === 'object' && icon.prefix && icon.iconName) {
407
370
  return icon;
408
371
  }
409
-
410
372
  if (Array.isArray(icon) && icon.length === 2) {
411
373
  return {
412
374
  prefix: icon[0],
413
375
  iconName: icon[1]
414
376
  };
415
377
  }
416
-
417
378
  if (typeof icon === 'string') {
418
379
  return {
419
380
  prefix: 'fas',
@@ -421,7 +382,6 @@
421
382
  };
422
383
  }
423
384
  }
424
-
425
385
  var FontAwesomeIcon = vue.defineComponent({
426
386
  name: 'FontAwesomeIcon',
427
387
  props: {
@@ -626,12 +586,10 @@
626
586
  });
627
587
  var abstractElement = vue.computed(function () {
628
588
  var _text = fontawesomeSvgCore.text(props.value.toString(), _objectSpread2(_objectSpread2({}, transform.value), classes.value)),
629
- abstract = _text.abstract;
630
-
589
+ abstract = _text.abstract;
631
590
  if (props.counter) {
632
591
  abstract[0].attributes.class = abstract[0].attributes.class.replace('fa-layers-text', '');
633
592
  }
634
-
635
593
  return abstract[0];
636
594
  });
637
595
  var vnode = vue.computed(function () {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fortawesome/vue-fontawesome",
3
3
  "description": "Official Vue component for Font Awesome 6",
4
- "version": "3.0.1",
4
+ "version": "3.0.2",
5
5
  "main": "index.js",
6
6
  "files": [
7
7
  "README.md",
@@ -36,7 +36,8 @@
36
36
  "David Driscoll <github.com/david-driscoll>",
37
37
  "Tyranteon <github.com/tyranteon>",
38
38
  "Vinicius Rangel <github.com/viniciuslrangel>",
39
- "Okke Tijhuis <github.com/otijhuis>"
39
+ "Okke Tijhuis <github.com/otijhuis>",
40
+ "Aaron Parker <github.com/parkeyparker>"
40
41
  ],
41
42
  "license": "MIT",
42
43
  "scripts": {