First commit

This commit is contained in:
2026-03-27 10:14:29 +03:00
commit ad29150770
10404 changed files with 962562 additions and 0 deletions

200
node_modules/@fortawesome/vue-fontawesome/CHANGELOG.md generated vendored Normal file
View File

@@ -0,0 +1,200 @@
# Change Log
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/).
---
- [Vue 3.x compatible version of this component](https://github.com/FortAwesome/vue-fontawesome/tree/3.x)
- [CHANGELOG for version 3.x](https://github.com/FortAwesome/vue-fontawesome/blob/3.x/CHANGELOG.md)
---
## [2.0.10](https://github.com/FortAwesome/vue-fontawesome/releases/tag/2.0.10) - 2023-01-24
### Changed
- NPM download `@fortawesome/vue-fontawesome-latest` is now set to Vue 3; to download the Vue 2 package you will have to use `@fortawesome/vue-fontawesome-latest-2`, which is described in our [Vue setup docs](https://fontawesome.com/docs/web/use-with/vue/#_3-add-the-vue-component)
- Updated CI workflow testing to include Vue 2.7.x
- Updated contributor's GitHub user name in README.md and package.json files
---
## [2.0.9](https://github.com/FortAwesome/vue-fontawesome/releases/tag/2.0.9) - 2022-11-07
### Changed
- README.md updated with spelling correction, linter fixes, and new contributor
- App.vue updated icon example to use `fixed-width` rather than `full-width`
- Added some tests for Sharp icons
---
## [2.0.8](https://github.com/FortAwesome/vue-fontawesome/releases/tag/2.0.8) - 2022-06-17
### Changed
- README.md Documentation now points to https://fontawesome.com/docs/web/use-with/vue/
---
## [2.0.7](https://github.com/FortAwesome/vue-fontawesome/releases/tag/2.0.7) - 2022-06-07
### Fixed
- Animations for bounce, shake, beat and beat-fade
- Flip animation when used by itself
---
## [2.0.6](https://github.com/FortAwesome/vue-fontawesome/releases/tag/2.0.6) - 2021-10-18
### Fixed
- Include 1.3.0-beta versions in peer dependencies
---
## [2.0.5](https://github.com/FortAwesome/vue-fontawesome/releases/tag/2.0.5) - 2021-10-15
### Added
- New sizes for `size` prop: 2xs, xl, 2xl
- New animation booleans: `beat`, `fade`, `flash`, `spin-pulse`, & `spin-reverse`
---
## [2.0.4](https://github.com/FortAwesome/vue-fontawesome/releases/tag/2.0.4) - 2021-10-15
### Fixed
- Relax the peer dependency for @fortawesome/fontawesome-svg-core
---
## [2.0.3](https://github.com/FortAwesome/vue-fontawesome/releases/tag/2.0.3) - 2021-10-15
### Fixed
- Skip parse.icon if the icon is imported directly from an icon package
---
## [2.0.2](https://github.com/FortAwesome/vue-fontawesome/releases/tag/2.0.2) - 2020-12-17
### Fixed
- Bumping version to fix a failed release for 2.0.1
---
## [2.0.1](https://github.com/FortAwesome/vue-fontawesome/releases/tag/2.0.1) - 2020-12-17
### Added
- Support for the new parse.icon function from the Font Awesome version 6 @fortawesome/fontawesome-svg-core
---
## [2.0.0](https://github.com/FortAwesome/vue-fontawesome/releases/tag/2.0.0) - 2020-09-01
This release marks the official major release of the component as preparation
for supporting two different versions of Vue.
### What is the difference between 0.1.10 and 2.0.0?
There is no difference. We've jumped the version to 2.0.0 so you know which
version of vue-fontawesome you should install based on what version of Vue you
are using.
### What version should you install?
| | Vue | vue-fontawesome |
| ------- |-----|-----------------|
| Version | 2.x | 2.x or 0.1.x |
| Version | 3.x | 3.x |
While you can still use 0.1 with Vue 2.x, we recommend upgrade to the 2.x
release. The 0.1 release line will not be getting any further updates.
---
## [0.1.10](https://github.com/FortAwesome/vue-fontawesome/releases/tag/0.1.10) - 2020-06-15
### Fixed
- Add TSX support to Typescript definition
---
## [0.1.9](https://github.com/FortAwesome/vue-fontawesome/releases/tag/0.1.9) - 2019-12-13
### Added
- Counters support for the FontAwesomeLayersText component #174
- FontAwesomeIcon now supports the "inverse" property #174
---
## [0.1.8](https://github.com/FortAwesome/vue-fontawesome/releases/tag/0.1.8) - 2019-11-03
### Fixed
- Removed declare namespace in the TypeScript definition file #177
---
## [0.1.7](https://github.com/FortAwesome/vue-fontawesome/releases/tag/0.1.7) - 2019-08-31
### Added
- Duotone icon support
---
## [0.1.6](https://github.com/FortAwesome/vue-fontawesome/releases/tag/0.1.6) - 2019-03-18
### Changed
- Allow the rotation property to be either string or number #171
---
## [0.1.5](https://github.com/FortAwesome/vue-fontawesome/releases/tag/0.1.5) - 2019-01-13
### Added
- Title prop #164
---
## [0.1.4](https://github.com/FortAwesome/vue-fontawesome/releases/tag/0.1.4) - 2018-12-24
### Fixed
- Fixing TypeScript definition file #165
---
## [0.1.3](https://github.com/FortAwesome/vue-fontawesome/releases/tag/0.1.3) - 2018-12-04
### Added
- Adding TypeScript definition file #159
---
## [0.1.2](https://github.com/FortAwesome/vue-fontawesome/releases/tag/0.1.2) - 2018-10-29
### Added
- Adding ES module to package
---
## [0.1.1](https://github.com/FortAwesome/vue-fontawesome/releases/tag/0.1.1) - 2018-07-16
### Fixed
- LayersText can use a number as it's value #115
---
## [0.1.0](https://github.com/FortAwesome/vue-fontawesome/releases/tag/0.1.0) - 2018-06-20
### Changed
- Upgraded to the newer Font Awesome 5.1 packages
---
## [0.0.23](https://github.com/FortAwesome/vue-fontawesome/releases/tag/0.0.23) - 2018-06-04
### Changed
- Update Vue dependency version to support > 2.4
---
## [0.0.22](https://github.com/FortAwesome/vue-fontawesome/releases/tag/0.0.22) - 2017-12-19
### Changed
- Support for @fortawesome/fontawesome 1.1.0

19
node_modules/@fortawesome/vue-fontawesome/LICENSE.txt generated vendored Normal file
View File

@@ -0,0 +1,19 @@
Copyright 2018 Fonticons, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

81
node_modules/@fortawesome/vue-fontawesome/README.md generated vendored Normal file
View File

@@ -0,0 +1,81 @@
<a href="https://fontawesome.com">
<img align="right" width="100" height="100" alt="Official Javascript Component" src="https://img.fortawesome.com/349cfdf6/official-javascript-component.svg">
</a>
# vue-fontawesome (with Vue 2)
[![npm](https://img.shields.io/npm/v/@fortawesome/vue-fontawesome.svg?style=flat-square)](https://www.npmjs.com/package/@fortawesome/vue-fontawesome)
[![GitHub Actions Status](https://github.com/FortAwesome/vue-fontawesome/workflows/CI/badge.svg)](https://github.com/FortAwesome/vue-fontawesome/actions)
> Font Awesome Vue component using SVG with JS
---
**If you have been using 0.1.x of vue-fontawesome, you can safely upgrade to
2.x. We have some upgrading information in the [CHANGELOG](./CHANGELOG.md)**
---
<!-- toc -->
- [Documentation](#documentation)
- [How to Help](#how-to-help)
- [Contributors](#contributors)
- [Releasing this project (only project owners can do this)](#releasing-this-project-only-project-owners-can-do-this)
<!-- tocstop -->
## Documentation
Official documentation is hosted at fontawesome.com
Helpful Vue links:
- [Add Icons with Vue](https://fontawesome.com/docs/web/use-with/vue/add-icons)
- [Adding Icon Styling with Vue](https://fontawesome.com/docs/web/use-with/vue/style)
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).
## How to Help
Review the following docs before diving in:
- [CONTRIBUTING.md](CONTRIBUTING.md)
- [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)
And then:
- Check the existing [issues](https://github.com/FortAwesome/vue-fontawesome/issues) and see if you can help!
## Contributors
The following contributors have either helped to start this project, have contributed
code, are actively maintaining it (including documentation), or in other ways
being awesome contributors to this project. **We'd like to take a moment to recognize them.**
| | Name | GitHub |
| :--------------------------------------------------------: | -------------- | ---------------------------------------------------- |
| <img src="https://github.com/GregPeden.png?size=72" /> | Greg Peden | [@GregPeden](https://github.com/GregPeden) |
| <img src="https://github.com/meteorlxy.png?size=72" /> | Liu Xinyu | [@meteorlxy](https://github.com/meteorlxy) |
| <img src="https://github.com/schulz3000.png?size=72" /> | Xaver Schulz | [@schulz3000](https://github.com/schulz3000) |
| <img src="https://github.com/ihmels.png?size=72" /> | Yannick Ihmels | [@ihmels](https://github.com/ihmels) |
| <img src="https://github.com/btaens.png?size=72" /> | btaens | [@btaens](https://github.com/btaens) |
| <img src="https://github.com/david-driscoll.png?size=72" /> | David Driscoll | [@david-driscoll](https://github.com/david-driscoll) |
| <img src="https://github.com/tyranteon.png?size=72" /> | Tyranteon | [@tyranteon](https://github.com/tyranteon) |
| <img src="https://github.com/parkeyparker.png?size=72" /> | Aaron Parker | [@parkeyparker](https://github.com/parkeyparker) |
If we've missed someone (which is quite likely) submit a Pull Request to us and we'll get it resolved.
The Font Awesome team:
| | Name | GitHub |
| :--------------------------------------------------------: | -------------- | -------------------------------------------------- |
| <img src="https://github.com/supercodepoet.png?size=72" /> | Travis Chase | [@supercodepoet](https://github.com/supercodepoet) |
| <img src="https://github.com/robmadole.png?size=72" /> | Rob Madole | [@robmadole](https://github.com/robmadole) |
| <img src="https://github.com/mlwilkerson.png?size=72" /> | Mike Wilkerson | [@mlwilkerson](https://github.com/mlwilkerson) |
| <img src="https://github.com/talbs.png?size=72" /> | Brian Talbot | [@talbs](https://github.com/talbs) |
| <img src="https://github.com/jasonlundien.png?size=72" /> | Jason Lundien | [@jasonlundien](https://github.com/jasonlundien) |
## Releasing this project (only project owners can do this)
See [DEVELOPMENT.md](DEVELOPMENT.md#release)

113
node_modules/@fortawesome/vue-fontawesome/UPGRADING.md generated vendored Normal file
View File

@@ -0,0 +1,113 @@
# Upgrading Guide
See the [CHANGELOG.md](./CHANGELOG.md) for detailed information about what has changed between versions.
This guide is useful to figure out what you need to do between breaking changes.
As always, [submit issues](https://github.com/FortAwesome/vue-fontawesome/issues/new) that you run into with this guide or with these upgrades to us.
## 0.0.x to 0.1.0
### Renamed packages
The following packages have been renamed as part of 5.1.0 of Font Awesome.
_All packages are in the [@fortawesome NPM scope](https://www.npmjs.com/search?q=scope:fortawesome&page=1&ranking=optimal)_
| Old package(1) | New package |
|--------------------------|------------------------|
| fontawesome | fontawesome-svg-core |
| fontawesome-free-solid | free-solid-svg-icons |
| fontawesome-free-regular | free-regular-svg-icons |
| fontawesome-free-brands | free-brands-svg-icons |
| fontawesome-pro-solid | pro-solid-svg-icons |
| fontawesome-pro-regular | pro-regular-svg-icons |
| fontawesome-pro-light | pro-light-svg-icons |
(1) Old packages have now been deprecated. They are still available but will only receive high priority patch release fixes.
**You'll need to update your package.json file with the renamed packages and new versions.**
### No more default imports
Recently we spent a good deal of time supporting TypeScript to enable us to
create the Angular Font Awesome component. During that adventure we
[were](https://basarat.gitbooks.io/typescript/docs/tips/defaultIsBad.html)
[convinced](https://blog.neufund.org/why-we-have-banned-default-exports-and-you-should-do-the-same-d51fdc2cf2ad)
that we were going to remove default exports from all of our components,
libraries, and packages. This is complete with the umbrella release of `5.1.0` of Font Awesome.
What does that mean?
~~Old way:~~
```javascript
import fontawesome from '@fortawesome/fontawesome'
import solid from '@fortawesome/fontawesome-free-solid'
import faTwitter from '@fortawesome/fontawesome-free-brands/faTwitter'
import FontAwesomeIcon from '@fortawesome/vue-fontawesome'
fontawesome.library.add(solid, faTwitter)
```
New way:
```javascript
import { library } from '@fortawesome/fontawesome-svg-core'
import { fas } from '@fortawesome/free-solid-svg-icons'
import { faTwitter } from '@fortawesome/free-brands-svg-icons'
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
library.add(fas, faTwitter)
```
This is also a valid way to import icons that works if your tool does not support tree shaking:
```javascript
import { faTwitter } from '@fortawesome/free-brands-svg-icons/faTwitter'
```
### Improved support for tree shaking
Tree shaking is now functional by default and no additional configuration is required to make it work.
The `shakable.es.js` module has been removed and is no longer needed.
If you've previously configured tree shaking by modifying your webpack or rollup you can safely remove these.
**We recommend that you check your bundle size after upgrading an ensure that file sizes are as you would expect.**
```javascript
module.exports = {
// ...
resolve: {
alias: {
'@fortawesome/fontawesome-free-solid$': '@fortawesome/fontawesome-free-solid/shakable.es.js'
}
}
}
```
```javascript
const alias = require('rollup-plugin-alias')
rollup({
// ...
plugins: [
alias({
'@fortawesome/fontawesome-free-solid': 'node_modules/@fortawesome/fontawesome-free-solid/shakable.es.js'
})
]
})
```
### Mixed modes with automatic replacement of `<i>` tags to `<svg>`
If you were previously relying on Font Awesome to replace any `<i>` tags in
your page or app with `<svg>` you'll need to explicitly control that now.
```javascript
import { dom } from '@fortawesome/fontawesome-svg-core'
dom.watch() // This will kick of the replacement of i tags and configure a MutationObserver
```

8
node_modules/@fortawesome/vue-fontawesome/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,8 @@
import { FunctionalComponentOptions, VueConstructor } from 'vue'
import { PropsDefinition } from 'vue/types/options'
interface FontAwesomeIconProps { }
interface FontAwesomeLayersProps { }
interface FontAwesomeLayersTextProps { }
export const FontAwesomeIcon: FunctionalComponentOptions<FontAwesomeIconProps, PropsDefinition<FontAwesomeIconProps>> & VueConstructor
export const FontAwesomeLayers: FunctionalComponentOptions<FontAwesomeLayersProps, PropsDefinition<FontAwesomeLayersProps>>
export const FontAwesomeLayersText: FunctionalComponentOptions<FontAwesomeLayersTextProps, PropsDefinition<FontAwesomeLayersTextProps>>

627
node_modules/@fortawesome/vue-fontawesome/index.es.js generated vendored Normal file
View File

@@ -0,0 +1,627 @@
import { parse, icon, config, text } from '@fortawesome/fontawesome-svg-core';
function ownKeys(object, enumerableOnly) {
var keys = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function (sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys.push.apply(keys, symbols);
}
return keys;
}
function _objectSpread2(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
_defineProperty(target, key, source[key]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
});
}
return target;
}
function _typeof(obj) {
"@babel/helpers - typeof";
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
return typeof obj;
} : function (obj) {
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
}, _typeof(obj);
}
function _defineProperty(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
function _objectWithoutPropertiesLoose(source, excluded) {
if (source == null) return {};
var target = {};
var sourceKeys = Object.keys(source);
var key, i;
for (i = 0; i < sourceKeys.length; i++) {
key = sourceKeys[i];
if (excluded.indexOf(key) >= 0) continue;
target[key] = source[key];
}
return target;
}
function _objectWithoutProperties(source, excluded) {
if (source == null) return {};
var target = _objectWithoutPropertiesLoose(source, excluded);
var key, i;
if (Object.getOwnPropertySymbols) {
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
for (i = 0; i < sourceSymbolKeys.length; i++) {
key = sourceSymbolKeys[i];
if (excluded.indexOf(key) >= 0) continue;
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
target[key] = source[key];
}
}
return target;
}
function _toConsumableArray(arr) {
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
}
function _arrayWithoutHoles(arr) {
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
}
function _iterableToArray(iter) {
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
}
function _unsupportedIterableToArray(o, minLen) {
if (!o) return;
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
var n = Object.prototype.toString.call(o).slice(8, -1);
if (n === "Object" && o.constructor) n = o.constructor.name;
if (n === "Map" || n === "Set") return Array.from(o);
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
}
function _arrayLikeToArray(arr, len) {
if (len == null || len > arr.length) len = arr.length;
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
return arr2;
}
function _nonIterableSpread() {
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
var humps$1 = {exports: {}};
(function (module) {
(function(global) {
var _processKeys = function(convert, obj, options) {
if(!_isObject(obj) || _isDate(obj) || _isRegExp(obj) || _isBoolean(obj) || _isFunction(obj)) {
return obj;
}
var output,
i = 0,
l = 0;
if(_isArray(obj)) {
output = [];
for(l=obj.length; i<l; i++) {
output.push(_processKeys(convert, obj[i], options));
}
}
else {
output = {};
for(var key in obj) {
if(Object.prototype.hasOwnProperty.call(obj, key)) {
output[convert(key, options)] = _processKeys(convert, obj[key], options);
}
}
}
return output;
};
// String conversion methods
var separateWords = function(string, options) {
options = options || {};
var separator = options.separator || '_';
var split = options.split || /(?=[A-Z])/;
return string.split(split).join(separator);
};
var camelize = function(string) {
if (_isNumerical(string)) {
return string;
}
string = string.replace(/[\-_\s]+(.)?/g, function(match, chr) {
return chr ? chr.toUpperCase() : '';
});
// Ensure 1st char is always lowercase
return string.substr(0, 1).toLowerCase() + string.substr(1);
};
var pascalize = function(string) {
var camelized = camelize(string);
// Ensure 1st char is always uppercase
return camelized.substr(0, 1).toUpperCase() + camelized.substr(1);
};
var decamelize = function(string, options) {
return separateWords(string, options).toLowerCase();
};
// Utilities
// Taken from Underscore.js
var toString = Object.prototype.toString;
var _isFunction = function(obj) {
return typeof(obj) === 'function';
};
var _isObject = function(obj) {
return obj === Object(obj);
};
var _isArray = function(obj) {
return toString.call(obj) == '[object Array]';
};
var _isDate = function(obj) {
return toString.call(obj) == '[object Date]';
};
var _isRegExp = function(obj) {
return toString.call(obj) == '[object RegExp]';
};
var _isBoolean = function(obj) {
return toString.call(obj) == '[object Boolean]';
};
// Performant way to determine if obj coerces to a number
var _isNumerical = function(obj) {
obj = obj - 0;
return obj === obj;
};
// Sets up function which handles processing keys
// allowing the convert function to be modified by a callback
var _processor = function(convert, options) {
var callback = options && 'process' in options ? options.process : options;
if(typeof(callback) !== 'function') {
return convert;
}
return function(string, options) {
return callback(string, convert, options);
}
};
var humps = {
camelize: camelize,
decamelize: decamelize,
pascalize: pascalize,
depascalize: decamelize,
camelizeKeys: function(object, options) {
return _processKeys(_processor(camelize, options), object);
},
decamelizeKeys: function(object, options) {
return _processKeys(_processor(decamelize, options), object, options);
},
pascalizeKeys: function(object, options) {
return _processKeys(_processor(pascalize, options), object);
},
depascalizeKeys: function () {
return this.decamelizeKeys.apply(this, arguments);
}
};
if (module.exports) {
module.exports = humps;
} else {
global.humps = humps;
}
})(commonjsGlobal);
} (humps$1));
var humps = humps$1.exports;
var _excluded = ["class", "style", "attrs"];
function styleToObject(style) {
return style.split(';').map(function (s) {
return s.trim();
}).filter(function (s) {
return s;
}).reduce(function (acc, pair) {
var i = pair.indexOf(':');
var prop = humps.camelize(pair.slice(0, i));
var value = pair.slice(i + 1).trim();
acc[prop] = value;
return acc;
}, {});
}
function classToObject(cls) {
return cls.split(/\s+/).reduce(function (acc, c) {
acc[c] = true;
return acc;
}, {});
}
function combineClassObjects() {
for (var _len = arguments.length, objs = new Array(_len), _key = 0; _key < _len; _key++) {
objs[_key] = arguments[_key];
}
return objs.reduce(function (acc, obj) {
if (Array.isArray(obj)) {
acc = acc.concat(obj);
} else {
acc.push(obj);
}
return acc;
}, []);
}
function convert(h, element) {
var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
var data = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
var children = (element.children || []).map(convert.bind(null, h));
var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {
var val = element.attributes[key];
switch (key) {
case 'class':
acc['class'] = classToObject(val);
break;
case 'style':
acc['style'] = styleToObject(val);
break;
default:
acc.attrs[key] = val;
}
return acc;
}, {
'class': {},
style: {},
attrs: {}
});
var _data$class = data.class,
dClass = _data$class === void 0 ? {} : _data$class,
_data$style = data.style,
dStyle = _data$style === void 0 ? {} : _data$style,
_data$attrs = data.attrs,
dAttrs = _data$attrs === void 0 ? {} : _data$attrs,
remainingData = _objectWithoutProperties(data, _excluded);
if (typeof element === 'string') {
return element;
} else {
return h(element.tag, _objectSpread2(_objectSpread2({
class: combineClassObjects(mixins.class, dClass),
style: _objectSpread2(_objectSpread2({}, mixins.style), dStyle),
attrs: _objectSpread2(_objectSpread2({}, mixins.attrs), dAttrs)
}, remainingData), {}, {
props: props
}), children);
}
}
var PRODUCTION = false;
try {
PRODUCTION = process.env.NODE_ENV === 'production';
} catch (e) {}
function log () {
if (!PRODUCTION && console && typeof console.error === 'function') {
var _console;
(_console = console).error.apply(_console, arguments);
}
}
function objectWithKey(key, value) {
return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? _defineProperty({}, key, value) : {};
}
function classList(props) {
var _classes;
var classes = (_classes = {
'fa-spin': props.spin,
'fa-spin-pulse': props.spinPulse,
'fa-spin-reverse': props.spinReverse,
'fa-pulse': props.pulse,
'fa-beat': props.beat,
'fa-fade': props.fade,
'fa-flash': props.flash,
'fa-fw': props.fixedWidth,
'fa-border': props.border,
'fa-li': props.listItem,
'fa-inverse': props.inverse,
'fa-flip': props.flip === true,
'fa-flip-horizontal': props.flip === 'horizontal' || props.flip === 'both',
'fa-flip-vertical': props.flip === 'vertical' || props.flip === 'both'
}, _defineProperty(_classes, "fa-".concat(props.size), props.size !== null), _defineProperty(_classes, "fa-rotate-".concat(props.rotation), props.rotation !== null), _defineProperty(_classes, "fa-pull-".concat(props.pull), props.pull !== null), _defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _defineProperty(_classes, 'fa-bounce', props.bounce), _defineProperty(_classes, 'fa-shake', props.shake), _defineProperty(_classes, 'fa-beat-fade', props.beatFade), _classes);
return Object.keys(classes).map(function (key) {
return classes[key] ? key : null;
}).filter(function (key) {
return key;
});
}
function addStaticClass(to, what) {
var val = (to || '').length === 0 ? [] : [to];
return val.concat(what).join(' ');
}
function normalizeIconArgs(icon) {
// this has everything that it needs to be rendered which means it was probably imported
// directly from an icon svg package
if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName && icon.icon) {
return icon;
}
if (parse.icon) {
return parse.icon(icon);
}
if (icon === null) {
return null;
}
if (_typeof(icon) === 'object' && icon.prefix && icon.iconName) {
return icon;
}
if (Array.isArray(icon) && icon.length === 2) {
return {
prefix: icon[0],
iconName: icon[1]
};
}
if (typeof icon === 'string') {
return {
prefix: 'fas',
iconName: icon
};
}
}
var FontAwesomeIcon = {
name: 'FontAwesomeIcon',
functional: true,
props: {
beat: {
type: Boolean,
default: false
},
border: {
type: Boolean,
default: false
},
fade: {
type: Boolean,
default: false
},
fixedWidth: {
type: Boolean,
default: false
},
flash: {
type: Boolean,
default: false
},
flip: {
type: [Boolean, String],
default: false,
validator: function validator(value) {
return [true, false, 'horizontal', 'vertical', 'both'].indexOf(value) > -1;
}
},
icon: {
type: [Object, Array, String],
required: true
},
mask: {
type: [Object, Array, String],
default: null
},
listItem: {
type: Boolean,
default: false
},
pull: {
type: String,
default: null,
validator: function validator(value) {
return ['right', 'left'].indexOf(value) > -1;
}
},
pulse: {
type: Boolean,
default: false
},
rotation: {
type: [String, Number],
default: null,
validator: function validator(value) {
return [90, 180, 270].indexOf(parseInt(value, 10)) > -1;
}
},
swapOpacity: {
type: Boolean,
default: false
},
size: {
type: String,
default: null,
validator: function validator(value) {
return ['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x'].indexOf(value) > -1;
}
},
spin: {
type: Boolean,
default: false
},
spinPulse: {
type: Boolean,
default: false
},
spinReverse: {
type: Boolean,
default: false
},
transform: {
type: [String, Object],
default: null
},
symbol: {
type: [Boolean, String],
default: false
},
title: {
type: String,
default: null
},
inverse: {
type: Boolean,
default: false
},
bounce: {
type: Boolean,
default: false
},
shake: {
type: Boolean,
default: false
},
beatFade: {
type: Boolean,
default: false
}
},
render: function render(createElement, context) {
var props = context.props;
var iconArgs = props.icon,
maskArgs = props.mask,
symbol = props.symbol,
title = props.title;
var icon$1 = normalizeIconArgs(iconArgs);
var classes = objectWithKey('classes', classList(props));
var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);
var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));
var renderedIcon = icon(icon$1, _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, classes), transform), mask), {}, {
symbol: symbol,
title: title
}));
if (!renderedIcon) {
return log('Could not find one or more icon(s)', icon$1, mask);
}
var abstract = renderedIcon.abstract;
var convertCurry = convert.bind(null, createElement);
return convertCurry(abstract[0], {}, context.data);
}
};
var FontAwesomeLayers = {
name: 'FontAwesomeLayers',
functional: true,
props: {
fixedWidth: {
type: Boolean,
default: false
}
},
render: function render(createElement, context) {
var familyPrefix = config.familyPrefix;
var staticClass = context.data.staticClass;
var classes = ["".concat(familyPrefix, "-layers")].concat(_toConsumableArray(context.props.fixedWidth ? ["".concat(familyPrefix, "-fw")] : []));
return createElement('div', _objectSpread2(_objectSpread2({}, context.data), {}, {
staticClass: addStaticClass(staticClass, classes)
}), context.children);
}
};
var FontAwesomeLayersText = {
name: 'FontAwesomeLayersText',
functional: true,
props: {
value: {
type: [String, Number],
default: ''
},
transform: {
type: [String, Object],
default: null
},
counter: {
type: Boolean,
default: false
},
position: {
type: String,
default: null,
validator: function validator(value) {
return ['bottom-left', 'bottom-right', 'top-left', 'top-right'].indexOf(value) > -1;
}
}
},
render: function render(createElement, context) {
var familyPrefix = config.familyPrefix;
var props = context.props;
var classes = objectWithKey('classes', [].concat(_toConsumableArray(props.counter ? ["".concat(familyPrefix, "-layers-counter")] : []), _toConsumableArray(props.position ? ["".concat(familyPrefix, "-layers-").concat(props.position)] : [])));
var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);
var renderedText = text(props.value.toString(), _objectSpread2(_objectSpread2({}, transform), classes));
var abstract = renderedText.abstract;
if (props.counter) {
abstract[0].attributes.class = abstract[0].attributes.class.replace('fa-layers-text', '');
}
var convertCurry = convert.bind(null, createElement);
return convertCurry(abstract[0], {}, context.data);
}
};
export { FontAwesomeIcon, FontAwesomeLayers, FontAwesomeLayersText };

637
node_modules/@fortawesome/vue-fontawesome/index.js generated vendored Normal file
View File

@@ -0,0 +1,637 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@fortawesome/fontawesome-svg-core')) :
typeof define === 'function' && define.amd ? define(['exports', '@fortawesome/fontawesome-svg-core'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["vue-fontawesome"] = {}, global.FontAwesome));
})(this, (function (exports, fontawesomeSvgCore) { 'use strict';
function ownKeys(object, enumerableOnly) {
var keys = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function (sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys.push.apply(keys, symbols);
}
return keys;
}
function _objectSpread2(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
_defineProperty(target, key, source[key]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
});
}
return target;
}
function _typeof(obj) {
"@babel/helpers - typeof";
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
return typeof obj;
} : function (obj) {
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
}, _typeof(obj);
}
function _defineProperty(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
function _objectWithoutPropertiesLoose(source, excluded) {
if (source == null) return {};
var target = {};
var sourceKeys = Object.keys(source);
var key, i;
for (i = 0; i < sourceKeys.length; i++) {
key = sourceKeys[i];
if (excluded.indexOf(key) >= 0) continue;
target[key] = source[key];
}
return target;
}
function _objectWithoutProperties(source, excluded) {
if (source == null) return {};
var target = _objectWithoutPropertiesLoose(source, excluded);
var key, i;
if (Object.getOwnPropertySymbols) {
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
for (i = 0; i < sourceSymbolKeys.length; i++) {
key = sourceSymbolKeys[i];
if (excluded.indexOf(key) >= 0) continue;
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
target[key] = source[key];
}
}
return target;
}
function _toConsumableArray(arr) {
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
}
function _arrayWithoutHoles(arr) {
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
}
function _iterableToArray(iter) {
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
}
function _unsupportedIterableToArray(o, minLen) {
if (!o) return;
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
var n = Object.prototype.toString.call(o).slice(8, -1);
if (n === "Object" && o.constructor) n = o.constructor.name;
if (n === "Map" || n === "Set") return Array.from(o);
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
}
function _arrayLikeToArray(arr, len) {
if (len == null || len > arr.length) len = arr.length;
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
return arr2;
}
function _nonIterableSpread() {
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
var humps$1 = {exports: {}};
(function (module) {
(function(global) {
var _processKeys = function(convert, obj, options) {
if(!_isObject(obj) || _isDate(obj) || _isRegExp(obj) || _isBoolean(obj) || _isFunction(obj)) {
return obj;
}
var output,
i = 0,
l = 0;
if(_isArray(obj)) {
output = [];
for(l=obj.length; i<l; i++) {
output.push(_processKeys(convert, obj[i], options));
}
}
else {
output = {};
for(var key in obj) {
if(Object.prototype.hasOwnProperty.call(obj, key)) {
output[convert(key, options)] = _processKeys(convert, obj[key], options);
}
}
}
return output;
};
// String conversion methods
var separateWords = function(string, options) {
options = options || {};
var separator = options.separator || '_';
var split = options.split || /(?=[A-Z])/;
return string.split(split).join(separator);
};
var camelize = function(string) {
if (_isNumerical(string)) {
return string;
}
string = string.replace(/[\-_\s]+(.)?/g, function(match, chr) {
return chr ? chr.toUpperCase() : '';
});
// Ensure 1st char is always lowercase
return string.substr(0, 1).toLowerCase() + string.substr(1);
};
var pascalize = function(string) {
var camelized = camelize(string);
// Ensure 1st char is always uppercase
return camelized.substr(0, 1).toUpperCase() + camelized.substr(1);
};
var decamelize = function(string, options) {
return separateWords(string, options).toLowerCase();
};
// Utilities
// Taken from Underscore.js
var toString = Object.prototype.toString;
var _isFunction = function(obj) {
return typeof(obj) === 'function';
};
var _isObject = function(obj) {
return obj === Object(obj);
};
var _isArray = function(obj) {
return toString.call(obj) == '[object Array]';
};
var _isDate = function(obj) {
return toString.call(obj) == '[object Date]';
};
var _isRegExp = function(obj) {
return toString.call(obj) == '[object RegExp]';
};
var _isBoolean = function(obj) {
return toString.call(obj) == '[object Boolean]';
};
// Performant way to determine if obj coerces to a number
var _isNumerical = function(obj) {
obj = obj - 0;
return obj === obj;
};
// Sets up function which handles processing keys
// allowing the convert function to be modified by a callback
var _processor = function(convert, options) {
var callback = options && 'process' in options ? options.process : options;
if(typeof(callback) !== 'function') {
return convert;
}
return function(string, options) {
return callback(string, convert, options);
}
};
var humps = {
camelize: camelize,
decamelize: decamelize,
pascalize: pascalize,
depascalize: decamelize,
camelizeKeys: function(object, options) {
return _processKeys(_processor(camelize, options), object);
},
decamelizeKeys: function(object, options) {
return _processKeys(_processor(decamelize, options), object, options);
},
pascalizeKeys: function(object, options) {
return _processKeys(_processor(pascalize, options), object);
},
depascalizeKeys: function () {
return this.decamelizeKeys.apply(this, arguments);
}
};
if (module.exports) {
module.exports = humps;
} else {
global.humps = humps;
}
})(commonjsGlobal);
} (humps$1));
var humps = humps$1.exports;
var _excluded = ["class", "style", "attrs"];
function styleToObject(style) {
return style.split(';').map(function (s) {
return s.trim();
}).filter(function (s) {
return s;
}).reduce(function (acc, pair) {
var i = pair.indexOf(':');
var prop = humps.camelize(pair.slice(0, i));
var value = pair.slice(i + 1).trim();
acc[prop] = value;
return acc;
}, {});
}
function classToObject(cls) {
return cls.split(/\s+/).reduce(function (acc, c) {
acc[c] = true;
return acc;
}, {});
}
function combineClassObjects() {
for (var _len = arguments.length, objs = new Array(_len), _key = 0; _key < _len; _key++) {
objs[_key] = arguments[_key];
}
return objs.reduce(function (acc, obj) {
if (Array.isArray(obj)) {
acc = acc.concat(obj);
} else {
acc.push(obj);
}
return acc;
}, []);
}
function convert(h, element) {
var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
var data = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
var children = (element.children || []).map(convert.bind(null, h));
var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {
var val = element.attributes[key];
switch (key) {
case 'class':
acc['class'] = classToObject(val);
break;
case 'style':
acc['style'] = styleToObject(val);
break;
default:
acc.attrs[key] = val;
}
return acc;
}, {
'class': {},
style: {},
attrs: {}
});
var _data$class = data.class,
dClass = _data$class === void 0 ? {} : _data$class,
_data$style = data.style,
dStyle = _data$style === void 0 ? {} : _data$style,
_data$attrs = data.attrs,
dAttrs = _data$attrs === void 0 ? {} : _data$attrs,
remainingData = _objectWithoutProperties(data, _excluded);
if (typeof element === 'string') {
return element;
} else {
return h(element.tag, _objectSpread2(_objectSpread2({
class: combineClassObjects(mixins.class, dClass),
style: _objectSpread2(_objectSpread2({}, mixins.style), dStyle),
attrs: _objectSpread2(_objectSpread2({}, mixins.attrs), dAttrs)
}, remainingData), {}, {
props: props
}), children);
}
}
var PRODUCTION = false;
try {
PRODUCTION = process.env.NODE_ENV === 'production';
} catch (e) {}
function log () {
if (!PRODUCTION && console && typeof console.error === 'function') {
var _console;
(_console = console).error.apply(_console, arguments);
}
}
function objectWithKey(key, value) {
return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? _defineProperty({}, key, value) : {};
}
function classList(props) {
var _classes;
var classes = (_classes = {
'fa-spin': props.spin,
'fa-spin-pulse': props.spinPulse,
'fa-spin-reverse': props.spinReverse,
'fa-pulse': props.pulse,
'fa-beat': props.beat,
'fa-fade': props.fade,
'fa-flash': props.flash,
'fa-fw': props.fixedWidth,
'fa-border': props.border,
'fa-li': props.listItem,
'fa-inverse': props.inverse,
'fa-flip': props.flip === true,
'fa-flip-horizontal': props.flip === 'horizontal' || props.flip === 'both',
'fa-flip-vertical': props.flip === 'vertical' || props.flip === 'both'
}, _defineProperty(_classes, "fa-".concat(props.size), props.size !== null), _defineProperty(_classes, "fa-rotate-".concat(props.rotation), props.rotation !== null), _defineProperty(_classes, "fa-pull-".concat(props.pull), props.pull !== null), _defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _defineProperty(_classes, 'fa-bounce', props.bounce), _defineProperty(_classes, 'fa-shake', props.shake), _defineProperty(_classes, 'fa-beat-fade', props.beatFade), _classes);
return Object.keys(classes).map(function (key) {
return classes[key] ? key : null;
}).filter(function (key) {
return key;
});
}
function addStaticClass(to, what) {
var val = (to || '').length === 0 ? [] : [to];
return val.concat(what).join(' ');
}
function normalizeIconArgs(icon) {
// this has everything that it needs to be rendered which means it was probably imported
// directly from an icon svg package
if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName && icon.icon) {
return icon;
}
if (fontawesomeSvgCore.parse.icon) {
return fontawesomeSvgCore.parse.icon(icon);
}
if (icon === null) {
return null;
}
if (_typeof(icon) === 'object' && icon.prefix && icon.iconName) {
return icon;
}
if (Array.isArray(icon) && icon.length === 2) {
return {
prefix: icon[0],
iconName: icon[1]
};
}
if (typeof icon === 'string') {
return {
prefix: 'fas',
iconName: icon
};
}
}
var FontAwesomeIcon = {
name: 'FontAwesomeIcon',
functional: true,
props: {
beat: {
type: Boolean,
default: false
},
border: {
type: Boolean,
default: false
},
fade: {
type: Boolean,
default: false
},
fixedWidth: {
type: Boolean,
default: false
},
flash: {
type: Boolean,
default: false
},
flip: {
type: [Boolean, String],
default: false,
validator: function validator(value) {
return [true, false, 'horizontal', 'vertical', 'both'].indexOf(value) > -1;
}
},
icon: {
type: [Object, Array, String],
required: true
},
mask: {
type: [Object, Array, String],
default: null
},
listItem: {
type: Boolean,
default: false
},
pull: {
type: String,
default: null,
validator: function validator(value) {
return ['right', 'left'].indexOf(value) > -1;
}
},
pulse: {
type: Boolean,
default: false
},
rotation: {
type: [String, Number],
default: null,
validator: function validator(value) {
return [90, 180, 270].indexOf(parseInt(value, 10)) > -1;
}
},
swapOpacity: {
type: Boolean,
default: false
},
size: {
type: String,
default: null,
validator: function validator(value) {
return ['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x'].indexOf(value) > -1;
}
},
spin: {
type: Boolean,
default: false
},
spinPulse: {
type: Boolean,
default: false
},
spinReverse: {
type: Boolean,
default: false
},
transform: {
type: [String, Object],
default: null
},
symbol: {
type: [Boolean, String],
default: false
},
title: {
type: String,
default: null
},
inverse: {
type: Boolean,
default: false
},
bounce: {
type: Boolean,
default: false
},
shake: {
type: Boolean,
default: false
},
beatFade: {
type: Boolean,
default: false
}
},
render: function render(createElement, context) {
var props = context.props;
var iconArgs = props.icon,
maskArgs = props.mask,
symbol = props.symbol,
title = props.title;
var icon = normalizeIconArgs(iconArgs);
var classes = objectWithKey('classes', classList(props));
var transform = objectWithKey('transform', typeof props.transform === 'string' ? fontawesomeSvgCore.parse.transform(props.transform) : props.transform);
var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));
var renderedIcon = fontawesomeSvgCore.icon(icon, _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, classes), transform), mask), {}, {
symbol: symbol,
title: title
}));
if (!renderedIcon) {
return log('Could not find one or more icon(s)', icon, mask);
}
var abstract = renderedIcon.abstract;
var convertCurry = convert.bind(null, createElement);
return convertCurry(abstract[0], {}, context.data);
}
};
var FontAwesomeLayers = {
name: 'FontAwesomeLayers',
functional: true,
props: {
fixedWidth: {
type: Boolean,
default: false
}
},
render: function render(createElement, context) {
var familyPrefix = fontawesomeSvgCore.config.familyPrefix;
var staticClass = context.data.staticClass;
var classes = ["".concat(familyPrefix, "-layers")].concat(_toConsumableArray(context.props.fixedWidth ? ["".concat(familyPrefix, "-fw")] : []));
return createElement('div', _objectSpread2(_objectSpread2({}, context.data), {}, {
staticClass: addStaticClass(staticClass, classes)
}), context.children);
}
};
var FontAwesomeLayersText = {
name: 'FontAwesomeLayersText',
functional: true,
props: {
value: {
type: [String, Number],
default: ''
},
transform: {
type: [String, Object],
default: null
},
counter: {
type: Boolean,
default: false
},
position: {
type: String,
default: null,
validator: function validator(value) {
return ['bottom-left', 'bottom-right', 'top-left', 'top-right'].indexOf(value) > -1;
}
}
},
render: function render(createElement, context) {
var familyPrefix = fontawesomeSvgCore.config.familyPrefix;
var props = context.props;
var classes = objectWithKey('classes', [].concat(_toConsumableArray(props.counter ? ["".concat(familyPrefix, "-layers-counter")] : []), _toConsumableArray(props.position ? ["".concat(familyPrefix, "-layers-").concat(props.position)] : [])));
var transform = objectWithKey('transform', typeof props.transform === 'string' ? fontawesomeSvgCore.parse.transform(props.transform) : props.transform);
var renderedText = fontawesomeSvgCore.text(props.value.toString(), _objectSpread2(_objectSpread2({}, transform), classes));
var abstract = renderedText.abstract;
if (props.counter) {
abstract[0].attributes.class = abstract[0].attributes.class.replace('fa-layers-text', '');
}
var convertCurry = convert.bind(null, createElement);
return convertCurry(abstract[0], {}, context.data);
}
};
exports.FontAwesomeIcon = FontAwesomeIcon;
exports.FontAwesomeLayers = FontAwesomeLayers;
exports.FontAwesomeLayersText = FontAwesomeLayersText;
Object.defineProperty(exports, '__esModule', { value: true });
}));

89
node_modules/@fortawesome/vue-fontawesome/package.json generated vendored Normal file
View File

@@ -0,0 +1,89 @@
{
"name": "@fortawesome/vue-fontawesome",
"description": "Official Vue 2 component for Font Awesome",
"version": "2.0.10",
"main": "index.js",
"files": [
"README.md",
"LICENSE.txt",
"UPGRADING.md",
"CHANGELOG.md",
"index.d.ts",
"index.es.js",
"index.js",
"src/components/**.js",
"src/**.js"
],
"jest": {
"verbose": true
},
"module": "index.es.js",
"jsnext:main": "index.es.js",
"types": "index.d.ts",
"homepage": "https://github.com/FortAwesome/vue-fontawesome",
"repository": {
"type": "git",
"url": "https://github.com/FortAwesome/vue-fontawesome.git"
},
"contributors": [
"Travis Chase <travis@fontawesome.com>",
"Rob Madole <rob@fontawesome.com>",
"Greg Peden <github.com/GregPeden>",
"Liu Xinyu <github.com/meteorlxy>",
"Xaver Schulz <github.com/schulz3000>",
"Yannick Ihmels <github.com/ihmels>",
"btaens <github.com/btaens>",
"David Driscoll <github.com/david-driscoll>",
"Tyranteon <github.com/tyranteon>",
"Aaron Parker <github.com/parkeyparker>"
],
"license": "MIT",
"scripts": {
"build": "rollup -c rollup.config.js",
"dist": "cross-env NODE_ENV=production npm run build",
"test": "jest --silent",
"prepack": "npm run dist"
},
"lint-staged": {
"README.md": [
"markdown-toc -i",
"git add"
]
},
"peerDependencies": {
"@fortawesome/fontawesome-svg-core": "~1 || ~6",
"vue": "~2"
},
"devDependencies": {
"@babel/core": "^7.18.2",
"@babel/plugin-external-helpers": "^7.17.12",
"@babel/plugin-proposal-class-properties": "^7.17.12",
"@babel/plugin-proposal-json-strings": "^7.17.12",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/plugin-syntax-import-meta": "^7.10.4",
"@babel/preset-env": "^7.18.2",
"@fortawesome/fontawesome-svg-core": "^6",
"@fortawesome/free-solid-svg-icons": "^6",
"babel-core": "^7.0.0-bridge.0",
"babel-jest": "^28.1.1",
"concurrently": "^7.2.1",
"cross-env": "^7.0.3",
"humps": "^2.0.1",
"husky": "^8.0.1",
"jest": "^28.1.1",
"jest-environment-jsdom": "^28.1.1",
"lint-staged": "^13.0.0",
"markdown-toc": "^1.2.0",
"rollup": "^2.75.6",
"@rollup/plugin-babel": "^5.3.1",
"@rollup/plugin-commonjs": "^22.0.0",
"@rollup/plugin-node-resolve": "^13.3.0",
"vue": "^2.4.4"
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"dependencies": {}
}

View File

@@ -0,0 +1,163 @@
import { parse as faParse, icon as faIcon } from '@fortawesome/fontawesome-svg-core'
import convert from '../converter'
import log from '../logger'
import { objectWithKey, classList } from '../utils'
function normalizeIconArgs (icon) {
// this has everything that it needs to be rendered which means it was probably imported
// directly from an icon svg package
if (icon && typeof icon === 'object' && icon.prefix && icon.iconName && icon.icon) {
return icon
}
if (faParse.icon) {
return faParse.icon(icon)
}
if (icon === null) {
return null
}
if (typeof icon === 'object' && icon.prefix && icon.iconName) {
return icon
}
if (Array.isArray(icon) && icon.length === 2) {
return { prefix: icon[0], iconName: icon[1] }
}
if (typeof icon === 'string') {
return { prefix: 'fas', iconName: icon }
}
}
export default {
name: 'FontAwesomeIcon',
functional: true,
props: {
beat: {
type: Boolean,
default: false
},
border: {
type: Boolean,
default: false
},
fade: {
type: Boolean,
default: false
},
fixedWidth: {
type: Boolean,
default: false
},
flash: {
type: Boolean,
default: false
},
flip: {
type: [Boolean, String],
default: false,
validator: (value) => [true, false, 'horizontal', 'vertical', 'both'].indexOf(value) > -1
},
icon: {
type: [Object, Array, String],
required: true
},
mask: {
type: [Object, Array, String],
default: null
},
listItem: {
type: Boolean,
default: false
},
pull: {
type: String,
default: null,
validator: (value) => ['right', 'left'].indexOf(value) > -1
},
pulse: {
type: Boolean,
default: false
},
rotation: {
type: [String, Number],
default: null,
validator: (value) => [90, 180, 270].indexOf(parseInt(value, 10)) > -1
},
swapOpacity: {
type: Boolean,
default: false
},
size: {
type: String,
default: null,
validator: (value) => ['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x'].indexOf(value) > -1
},
spin: {
type: Boolean,
default: false
},
spinPulse: {
type: Boolean,
default: false
},
spinReverse: {
type: Boolean,
default: false
},
transform: {
type: [String, Object],
default: null
},
symbol: {
type: [Boolean, String],
default: false
},
title: {
type: String,
default: null
},
inverse: {
type: Boolean,
default: false
},
bounce: {
type: Boolean,
default: false
},
shake: {
type: Boolean,
default: false
},
beatFade: {
type: Boolean,
default: false
}
},
render (createElement, context) {
const { props } = context
const { icon: iconArgs, mask: maskArgs, symbol, title } = props
const icon = normalizeIconArgs(iconArgs)
const classes = objectWithKey('classes', classList(props))
const transform = objectWithKey('transform', (typeof props.transform === 'string') ? faParse.transform(props.transform) : props.transform)
const mask = objectWithKey('mask', normalizeIconArgs(maskArgs))
const renderedIcon = faIcon(
icon,
{ ...classes, ...transform, ...mask, symbol, title }
)
if (!renderedIcon) {
return log('Could not find one or more icon(s)', icon, mask)
}
const { abstract } = renderedIcon
const convertCurry = convert.bind(null, createElement)
return convertCurry(abstract[0], {}, context.data)
}
}

View File

@@ -0,0 +1,34 @@
import { config } from '@fortawesome/fontawesome-svg-core'
import { addStaticClass } from '../utils'
export default {
name: 'FontAwesomeLayers',
functional: true,
props: {
fixedWidth: {
type: Boolean,
default: false
}
},
render (createElement, context) {
const { familyPrefix } = config
let { data: { staticClass } } = context
const classes = [
`${familyPrefix}-layers`,
...(context.props.fixedWidth ? [`${familyPrefix}-fw`] : [])
]
return createElement(
'div',
{
...context.data,
staticClass: addStaticClass(staticClass, classes)
},
context.children
)
}
}

View File

@@ -0,0 +1,53 @@
import { config, parse, text } from '@fortawesome/fontawesome-svg-core'
import convert from '../converter'
import { objectWithKey } from '../utils'
export default {
name: 'FontAwesomeLayersText',
functional: true,
props: {
value: {
type: [String, Number],
default: ''
},
transform: {
type: [String, Object],
default: null
},
counter: {
type: Boolean,
default: false
},
position: {
type: String,
default: null,
validator: (value) => ['bottom-left', 'bottom-right', 'top-left', 'top-right'].indexOf(value) > -1
},
},
render (createElement, context) {
const { familyPrefix } = config
const { props } = context
const classes = objectWithKey('classes', [
...(props.counter ? [`${familyPrefix}-layers-counter`] : []),
...(props.position ? [`${familyPrefix}-layers-${props.position}`] : [])
]);
const transform = objectWithKey('transform', (typeof props.transform === 'string') ? parse.transform(props.transform) : props.transform)
const renderedText = text(props.value.toString(), { ...transform, ...classes })
const { abstract } = renderedText
if (props.counter) {
abstract[0].attributes.class = abstract[0].attributes.class.replace('fa-layers-text', '')
}
const convertCurry = convert.bind(null, createElement)
return convertCurry(abstract[0], {}, context.data)
}
}

View File

@@ -0,0 +1,78 @@
import humps from 'humps'
function styleToObject (style) {
return style.split(';')
.map(s => s.trim() )
.filter(s => s)
.reduce((acc, pair) => {
const i = pair.indexOf(':')
const prop = humps.camelize(pair.slice(0, i))
const value = pair.slice(i + 1).trim()
acc[prop] = value
return acc
}, {})
}
function classToObject (cls) {
return cls.split(/\s+/)
.reduce((acc, c) => {
acc[c] = true
return acc
}, {})
}
function combineClassObjects (...objs) {
return objs.reduce((acc, obj) => {
if (Array.isArray(obj)) {
acc = acc.concat(obj)
} else {
acc.push(obj)
}
return acc
}, [])
}
function convert (h, element, props = {}, data = {}) {
const children = (element.children || []).map(convert.bind(null, h))
const mixins = Object.keys(element.attributes || {}).reduce((acc, key) => {
const val = element.attributes[key]
switch (key) {
case 'class':
acc['class'] = classToObject(val)
break
case 'style':
acc['style'] = styleToObject(val)
break
default:
acc.attrs[key] = val
}
return acc
}, { 'class': {}, style: {}, attrs: {} })
const { class: dClass = {}, style: dStyle = {}, attrs: dAttrs = {}, ...remainingData } = data
if (typeof element === 'string') {
return element
} else {
return h(
element.tag,
{
class: combineClassObjects(mixins.class, dClass),
style: { ...mixins.style, ...dStyle },
attrs: { ...mixins.attrs, ...dAttrs },
...remainingData,
props
},
children
)
}
}
export default convert

View File

@@ -0,0 +1,3 @@
export { default as FontAwesomeIcon } from './components/FontAwesomeIcon'
export { default as FontAwesomeLayers } from './components/FontAwesomeLayers'
export { default as FontAwesomeLayersText } from './components/FontAwesomeLayersText'

View File

@@ -0,0 +1,11 @@
let PRODUCTION = false
try {
PRODUCTION = process.env.NODE_ENV === 'production'
} catch (e) { }
export default function (...args) {
if (!PRODUCTION && console && typeof console.error === 'function') {
console.error(...args)
}
}

39
node_modules/@fortawesome/vue-fontawesome/src/utils.js generated vendored Normal file
View File

@@ -0,0 +1,39 @@
export function objectWithKey (key, value) {
return ((Array.isArray(value) && value.length > 0) || (!Array.isArray(value) && value)) ? {[key]: value} : {}
}
export function classList (props) {
let classes = {
'fa-spin': props.spin,
'fa-spin-pulse': props.spinPulse,
'fa-spin-reverse': props.spinReverse,
'fa-pulse': props.pulse,
'fa-beat': props.beat,
'fa-fade': props.fade,
'fa-flash': props.flash,
'fa-fw': props.fixedWidth,
'fa-border': props.border,
'fa-li': props.listItem,
'fa-inverse': props.inverse,
'fa-flip': props.flip === true,
'fa-flip-horizontal': props.flip === 'horizontal' || props.flip === 'both',
'fa-flip-vertical': props.flip === 'vertical' || props.flip === 'both',
[`fa-${props.size}`]: props.size !== null,
[`fa-rotate-${props.rotation}`]: props.rotation !== null,
[`fa-pull-${props.pull}`]: props.pull !== null,
'fa-swap-opacity': props.swapOpacity,
'fa-bounce': props.bounce,
'fa-shake': props.shake,
'fa-beat-fade': props.beatFade
}
return Object.keys(classes)
.map(key => classes[key] ? key : null)
.filter(key => key)
}
export function addStaticClass(to, what) {
const val = (to || '').length === 0 ? [] : [to]
return val.concat(what).join(' ')
}