angular2-fontawesome
Version:
Angular 5 Component/Directive for Fontawesome
304 lines (299 loc) • 17.4 kB
JavaScript
!function(e){function t(e){Object.defineProperty(this,e,{enumerable:!0,get:function(){return this[m][e]}})}function r(e){var t;if(e&&e.__esModule){t={};for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);t.__useDefault&&delete t.__useDefault,t.__esModule=!0}else{if("[object Module]"===Object.prototype.toString.call(e)||"undefined"!=typeof System&&System.isModule&&System.isModule(e))return e;t={default:e,__useDefault:!0}}return new o(t)}function o(e){Object.defineProperty(this,m,{value:e}),Object.keys(e).forEach(t,this)}function n(e){return"@node/"===e.substr(0,6)?c(e,r(v(e.substr(6))),{}):p[e]}function u(e){var t=n(e);if(!t)throw new Error('Module "'+e+'" expected, but not contained in build.');if(t.module)return t.module;var r=t.linkRecord;return d(t,r),a(t,r,[]),t.module}function d(e,t){if(!t.depLoads){t.declare&&i(e,t),t.depLoads=[];for(var r=0;r<t.deps.length;r++){var o=n(t.deps[r]);t.depLoads.push(o),o.linkRecord&&d(o,o.linkRecord);var u=t.setters&&t.setters[r];u&&(u(o.module||o.linkRecord.moduleObj),o.importerSetters.push(u))}return e}}function i(t,r){var o=r.moduleObj,n=t.importerSetters,u=!1,d=r.declare.call(e,function(e,t){if(!u){if("object"==typeof e)for(var r in e)"__useDefault"!==r&&(o[r]=e[r]);else o[e]=t;u=!0;for(var d=0;d<n.length;d++)n[d](o);return u=!1,t}},{id:t.key});"function"!=typeof d?(r.setters=d.setters,r.execute=d.execute):(r.setters=[],r.execute=d)}function l(e,t,r){return p[e]={key:e,module:void 0,importerSetters:[],linkRecord:{deps:t,depLoads:void 0,declare:r,setters:void 0,execute:void 0,moduleObj:{}}}}function f(e,t,r,o){return p[e]={key:e,module:void 0,importerSetters:[],linkRecord:{deps:t,depLoads:void 0,declare:void 0,execute:o,executingRequire:r,moduleObj:{default:{},__useDefault:!0},setters:void 0}}}function s(e,t,r){return function(o){for(var n=0;n<e.length;n++)if(e[n]===o){var u,d=t[n],i=d.linkRecord;return u=i?-1===r.indexOf(d)?a(d,i,r):i.moduleObj:d.module,u.__useDefault?u.default:u}}}function a(t,r,n){if(n.push(t),t.module)return t.module;var u;if(r.setters){for(var d=0;d<r.deps.length;d++){var i=r.depLoads[d],l=i.linkRecord;l&&-1===n.indexOf(i)&&(u=a(i,l,l.setters?n:[]))}r.execute.call(y)}else{var f={id:t.key},c=r.moduleObj;Object.defineProperty(f,"exports",{configurable:!0,set:function(e){c.default=e},get:function(){return c.default}});var p=s(r.deps,r.depLoads,n);if(!r.executingRequire)for(var d=0;d<r.deps.length;d++)p(r.deps[d]);var m=r.execute.call(e,p,c.default,f);if(void 0!==m?c.default=m:f.exports!==c.default&&(c.default=f.exports),c.default&&c.default.__esModule)for(var v in c.default)Object.hasOwnProperty.call(c.default,v)&&"default"!==v&&(c[v]=c.default[v])}var f=t.module=new o(r.moduleObj);if(!r.setters)for(var d=0;d<t.importerSetters.length;d++)t.importerSetters[d](f);return f}function c(e,t){return p[e]={key:e,module:t,importerSetters:[],linkRecord:void 0}}var p={},m="undefined"!=typeof Symbol?Symbol():"@@baseObject";o.prototype=Object.create(null),"undefined"!=typeof Symbol&&Symbol.toStringTag&&(o.prototype[Symbol.toStringTag]="Module");var v="undefined"!=typeof System&&System._nodeRequire||"undefined"!=typeof require&&"undefined"!=typeof require.resolve&&"undefined"!=typeof process&&process.platform&&require,y={};return Object.freeze&&Object.freeze(y),function(e,t,n,d){return function(i){i(function(i){var s={_nodeRequire:v,register:l,registerDynamic:f,registry:{get:function(e){return p[e].module},set:c},newModule:function(e){return new o(e)}};c("@empty",new o({}));for(var a=0;a<t.length;a++)c(t[a],r(arguments[a],{}));d(s);var m=u(e[0]);if(e.length>1)for(var a=1;a<e.length;a++)u(e[a]);return n?m.default:(m instanceof o&&Object.defineProperty(m,"__esModule",{value:!0}),m)})}}}("undefined"!=typeof self?self:global)
(["a"], ["f","c"], true, function($__System) {
var require = this.require, exports = this.exports, module = this.module;
$__System.registerDynamic("b", ["c"], true, function ($__require, exports, module) {
"use strict";
var global = this || self,
GLOBAL = global;
Object.defineProperty(exports, "__esModule", { value: true });
var core_1 = $__require("c");
var FaDirective = /** @class */function () {
function FaDirective(el) {
this.el = el.nativeElement;
this.el.classList.add('fa');
}
FaDirective.prototype.ngOnChanges = function (changes) {
for (var key in changes) {
var previousValue = changes[key].previousValue;
var currentValue = changes[key].currentValue;
switch (key) {
case 'name':
if (typeof previousValue === 'string') {
this.el.classList.remove("fa-" + previousValue);
}
this.el.classList.add("fa-" + currentValue);
break;
case 'alt':
// TODO(Write code for the alt parameter)
break;
case 'size':
if (FaDirective.sizeValidator.test(currentValue)) {
if (previousValue === 1) {
this.el.classList.remove('fa-lg');
} else if (typeof previousValue === 'string') {
this.el.classList.remove("fa-" + previousValue + "x");
}
if (currentValue === 1) {
this.el.classList.add('fa-lg');
} else {
this.el.classList.add("fa-" + currentValue + "x");
}
}
break;
case 'stack':
if (FaDirective.sizeValidator.test(currentValue)) {
if (typeof previousValue === 'string') {
this.el.classList.remove("fa-stack-" + previousValue + "x");
}
this.el.classList.add("fa-stack-" + currentValue + "x");
}
break;
case 'flip':
if (FaDirective.flipValidator.test(currentValue)) {
if (typeof previousValue === 'string') {
this.el.classList.remove("fa-flip-" + previousValue);
}
this.el.classList.add("fa-flip-" + currentValue);
}
break;
case 'pull':
if (FaDirective.pullValidator.test(currentValue)) {
if (typeof previousValue === 'string') {
this.el.classList.remove("fa-pull-" + previousValue);
}
this.el.classList.add("fa-pull-" + currentValue);
}
break;
case 'rotate':
if (FaDirective.rotateValidator.test(currentValue)) {
if (typeof previousValue === 'string') {
this.el.classList.remove("fa-rotate-" + previousValue);
}
this.el.classList.add("fa-rotate-" + currentValue);
}
break;
case 'border':
if (currentValue) {
this.el.classList.add('fa-border');
} else if (typeof previousValue === 'string') {
this.el.classList.remove('fa-border');
}
break;
case 'spin':
if (currentValue) {
this.el.classList.add('fa-spin');
} else if (typeof previousValue === 'string') {
this.el.classList.remove('fa-spin');
}
break;
case 'fw':
if (currentValue) {
this.el.classList.add('fa-fw');
} else if (typeof previousValue === 'string') {
this.el.classList.remove('fa-fw');
}
break;
case 'inverse':
if (currentValue) {
this.el.classList.add('fa-inverse');
} else if (typeof previousValue === 'string') {
this.el.classList.remove('fa-inverse');
}
break;
}
}
};
FaDirective.sizeValidator = /[1-5]/;
FaDirective.flipValidator = /['horizontal'|'vertical']/;
FaDirective.pullValidator = /['right'|'left']/;
FaDirective.rotateValidator = /[90|180|270]/;
FaDirective.decorators = [{ type: core_1.Directive, args: [{
selector: '[fa]',
inputs: ['name', 'alt', 'size', 'stack', 'flip', 'pull', 'rotate', 'border', 'spin', 'fw', 'inverse']
}] }];
/** @nocollapse */
FaDirective.ctorParameters = function () {
return [{ type: core_1.ElementRef }];
};
return FaDirective;
}();
exports.FaDirective = FaDirective;
});
$__System.registerDynamic("d", ["c"], true, function ($__require, exports, module) {
"use strict";
var global = this || self,
GLOBAL = global;
Object.defineProperty(exports, "__esModule", { value: true });
var core_1 = $__require("c");
var core_2 = $__require("c");
var core_3 = $__require("c");
var FA_COMPONENT_TEMPLATE = "\n <i [ngClass]=\"classList\"></i>\n";
var FaComponent = /** @class */function () {
function FaComponent(el) {
// TODO (travelist): Support for fa-li selector
// if (el.nativeElement.tagName == 'FA')
// else this.classList = ['fa', 'fa-li']
this.classList = ['fa'];
}
FaComponent.prototype.ngOnChanges = function (changes) {
for (var key in changes) {
var previousValue = changes[key].previousValue;
var currentValue = changes[key].currentValue;
switch (key) {
case 'name':
this.removeFaClass("fa-" + previousValue);
this.addFaClass("fa-" + currentValue);
break;
case 'alt':
// TODO(travelist): Write code for the alt parameter
break;
case 'size':
if (FaComponent.sizeValidator.test(currentValue)) {
if (previousValue === 1) {
this.removeFaClass('fa-lg');
} else {
this.removeFaClass("fa-" + previousValue + "x");
}
if (currentValue === 1) {
this.classList.push('fa-lg');
} else {
this.classList.push("fa-" + currentValue + "x");
}
}
break;
case 'stack':
if (FaComponent.sizeValidator.test(currentValue)) {
this.removeFaClass("fa-stack-" + previousValue + "x");
this.addFaClass("fa-stack-" + currentValue + "x");
}
break;
case 'flip':
if (FaComponent.flipValidator.test(currentValue)) {
this.removeFaClass("fa-flip-" + previousValue);
this.addFaClass("fa-flip-" + currentValue);
}
break;
case 'pull':
if (FaComponent.pullValidator.test(currentValue)) {
this.removeFaClass("fa-pull-" + previousValue);
this.addFaClass("fa-pull-" + currentValue);
}
break;
case 'rotate':
if (FaComponent.rotateValidator.test(currentValue)) {
this.removeFaClass("fa-rotate-" + previousValue);
this.addFaClass("fa-rotate-" + currentValue);
}
break;
case 'border':
if (currentValue) {
this.addFaClass('fa-border');
} else {
this.removeFaClass('fa-border');
}
break;
case 'spin':
if (currentValue) {
this.addFaClass('fa-spin');
} else {
this.removeFaClass('fa-spin');
}
break;
case 'fw':
if (currentValue) {
this.addFaClass('fa-fw');
} else {
this.removeFaClass('fa-fw');
}
break;
case 'inverse':
if (currentValue) {
this.addFaClass('fa-inverse');
} else {
this.removeFaClass('fa-inverse');
}
break;
}
}
};
FaComponent.prototype.addFaClass = function (className) {
// better to check uniqueness
this.classList.push(className);
};
FaComponent.prototype.removeFaClass = function (className) {
var index;
if ((index = this.classList.indexOf(className)) >= 0) {
this.classList.splice(index, 1);
}
};
FaComponent.sizeValidator = /[1-5]/;
FaComponent.flipValidator = /['horizontal'|'vertical']/;
FaComponent.pullValidator = /['right'|'left']/;
FaComponent.rotateValidator = /[90|180|270]/;
FaComponent.decorators = [{ type: core_1.Component, args: [{
selector: 'fa',
template: FA_COMPONENT_TEMPLATE
}] }];
/** @nocollapse */
FaComponent.ctorParameters = function () {
return [{ type: core_2.ElementRef }];
};
FaComponent.propDecorators = {
'name': [{ type: core_3.Input }],
'alt': [{ type: core_3.Input }],
'size': [{ type: core_3.Input }],
'stack': [{ type: core_3.Input }],
'flip': [{ type: core_3.Input }],
'pull': [{ type: core_3.Input }],
'rotate': [{ type: core_3.Input }],
'border': [{ type: core_3.Input }],
'spin': [{ type: core_3.Input }],
'fw': [{ type: core_3.Input }],
'inverse': [{ type: core_3.Input }]
};
return FaComponent;
}();
exports.FaComponent = FaComponent;
});
$__System.registerDynamic("e", ["c", "f", "b", "d"], true, function ($__require, exports, module) {
"use strict";
var global = this || self,
GLOBAL = global;
Object.defineProperty(exports, "__esModule", { value: true });
var core_1 = $__require("c");
var common_1 = $__require("f");
var fa_directive_1 = $__require("b");
var fa_component_1 = $__require("d");
//import { FaStackComponent } from './components/fa-stack.component';
var Angular2FontawesomeModule = /** @class */function () {
function Angular2FontawesomeModule() {}
Angular2FontawesomeModule.decorators = [{ type: core_1.NgModule, args: [{
imports: [common_1.CommonModule],
declarations: [fa_directive_1.FaDirective, fa_component_1.FaComponent],
exports: [fa_directive_1.FaDirective, fa_component_1.FaComponent]
}] }];
/** @nocollapse */
Angular2FontawesomeModule.ctorParameters = function () {
return [];
};
return Angular2FontawesomeModule;
}();
exports.Angular2FontawesomeModule = Angular2FontawesomeModule;
});
$__System.registerDynamic("a", ["e"], true, function ($__require, exports, module) {
"use strict";
var global = this || self,
GLOBAL = global;
Object.defineProperty(exports, "__esModule", { value: true });
var index_1 = $__require("e");
exports.Angular2FontawesomeModule = index_1.Angular2FontawesomeModule;
});
})
(function(factory) {
if (typeof define == 'function' && define.amd)
define(["@angular/common","@angular/core"], factory);
else if (typeof module == 'object' && module.exports && typeof require == 'function')
module.exports = factory(require("@angular/common"), require("@angular/core"));
else
throw new Error("Module must be loaded as AMD or CommonJS");
});