ng-gx-split-text
Advanced tools
Comparing version 0.2.3 to 0.5.0
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('@angular/common')) : | ||
typeof define === 'function' && define.amd ? define('ng-gx-split-text', ['exports', '@angular/core', 'rxjs', '@angular/common'], factory) : | ||
(global = global || self, factory(global['ng-gx-split-text'] = {}, global.ng.core, global.rxjs, global.ng.common)); | ||
}(this, function (exports, core, rxjs, common) { 'use strict'; | ||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs')) : | ||
typeof define === 'function' && define.amd ? define('ng-gx-split-text', ['exports', '@angular/core', 'rxjs'], factory) : | ||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global['ng-gx-split-text'] = {}, global.ng.core, global.rxjs)); | ||
}(this, (function (exports, core, rxjs) { 'use strict'; | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/** @type {?} */ | ||
var objectProto = Object.prototype; | ||
/** @type {?} */ | ||
var hasOwnProperty = objectProto.hasOwnProperty; | ||
/** | ||
* @param {?} object | ||
* @param {...?} sources | ||
* @return {?} | ||
*/ | ||
function defaults(object) { | ||
@@ -26,7 +15,3 @@ var sources = []; | ||
object = Object(object); | ||
sources.forEach((/** | ||
* @param {?} source | ||
* @return {?} | ||
*/ | ||
function (source) { | ||
sources.forEach(function (source) { | ||
if (source != null) { | ||
@@ -36,3 +21,2 @@ source = Object(source); | ||
if (source.hasOwnProperty(key)) { | ||
/** @type {?} */ | ||
var value = object[key]; | ||
@@ -46,10 +30,5 @@ if (value === undefined || | ||
} | ||
})); | ||
}); | ||
return object; | ||
} | ||
/** | ||
* @param {?} value | ||
* @param {?} other | ||
* @return {?} | ||
*/ | ||
function eq(value, other) { | ||
@@ -59,7 +38,2 @@ return value === other || (value !== value && other !== other); | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/** @type {?} */ | ||
var defaultOptions = { | ||
@@ -71,6 +45,2 @@ defer: false, | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
var SplitNodes = /** @class */ (function () { | ||
@@ -102,9 +72,3 @@ function SplitNodes(textContent, el, options) { | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
SplitNodes.prototype.initSplitNodes = /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
SplitNodes.prototype.initSplitNodes = function () { | ||
this.splitNodes(this.el); | ||
@@ -115,18 +79,7 @@ this.initNewNodes(); | ||
}; | ||
/** | ||
* @param {?} el | ||
* @return {?} | ||
*/ | ||
SplitNodes.prototype.splitNodes = /** | ||
* @param {?} el | ||
* @return {?} | ||
*/ | ||
function (el) { | ||
SplitNodes.prototype.splitNodes = function (el) { | ||
var _this = this; | ||
var _loop_1 = function (i) { | ||
/** @type {?} */ | ||
var node = el.childNodes[i]; | ||
/** @type {?} */ | ||
var tag = [this_1.nodeTypes.ELEMENT_NODE, this_1.nodeTypes.DOCUMENT_NODE, this_1.nodeTypes.DOCUMENT_FRAGMENT_NODE].indexOf(node.nodeType) !== -1; | ||
/** @type {?} */ | ||
var text = [this_1.nodeTypes.TEXT_NODE, this_1.nodeTypes.CDATA_SECTION_NODE].indexOf(node.nodeType) !== -1; | ||
@@ -137,12 +90,5 @@ if (tag) { | ||
else if (text) { | ||
/** @type {?} */ | ||
var words = this_1.splitNodesIntoWords(node); | ||
/** @type {?} */ | ||
var wordsArray_1 = []; | ||
words.forEach((/** | ||
* @param {?} chars | ||
* @return {?} | ||
*/ | ||
function (chars) { | ||
/** @type {?} */ | ||
words.forEach(function (chars) { | ||
var wordSpan = document.createElement('span'); | ||
@@ -156,8 +102,3 @@ wordSpan.classList.add('split-text-word'); | ||
else { | ||
chars.forEach((/** | ||
* @param {?} char | ||
* @return {?} | ||
*/ | ||
function (char) { | ||
/** @type {?} */ | ||
chars.forEach(function (char) { | ||
var charSpan = document.createElement('span'); | ||
@@ -170,7 +111,7 @@ charSpan.classList.add('split-text-char'); | ||
_this.chars.push(charSpan); | ||
})); | ||
}); | ||
} | ||
wordsArray_1.push(wordSpan); | ||
_this.words.push(wordSpan); | ||
})); | ||
}); | ||
this_1.wordsArray.push(wordsArray_1); | ||
@@ -185,23 +126,6 @@ this_1.nodes.push(node); | ||
}; | ||
/** | ||
* @return {?} | ||
*/ | ||
SplitNodes.prototype.initNewNodes = /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
SplitNodes.prototype.initNewNodes = function () { | ||
var _this = this; | ||
this.nodes.forEach((/** | ||
* @param {?} node | ||
* @param {?} index | ||
* @return {?} | ||
*/ | ||
function (node, index) { | ||
_this.wordsArray[index].forEach((/** | ||
* @param {?} word | ||
* @param {?} idx | ||
* @return {?} | ||
*/ | ||
function (word, idx) { | ||
/** @type {?} */ | ||
this.nodes.forEach(function (node, index) { | ||
_this.wordsArray[index].forEach(function (word, idx) { | ||
var maskSpan; | ||
@@ -221,3 +145,2 @@ if (_this.options.mask) { | ||
} | ||
/** @type {?} */ | ||
var spaceSpan = document.createElement('span'); | ||
@@ -236,15 +159,6 @@ spaceSpan.classList.add('split-text-space'); | ||
} | ||
})); | ||
})); | ||
}); | ||
}); | ||
}; | ||
/** | ||
* @param {?} word | ||
* @return {?} | ||
*/ | ||
SplitNodes.prototype.splitNodesIntoWords = /** | ||
* @param {?} word | ||
* @return {?} | ||
*/ | ||
function (word) { | ||
/** @type {?} */ | ||
SplitNodes.prototype.splitNodesIntoWords = function (word) { | ||
var words = word.textContent.split(' '); | ||
@@ -257,32 +171,10 @@ if (words[0] === '') { | ||
} | ||
return words.map((/** | ||
* @param {?} item | ||
* @return {?} | ||
*/ | ||
function (item) { return item.split(''); })); | ||
return words.map(function (item) { return item.split(''); }); | ||
}; | ||
/** | ||
* @param {?} elements | ||
* @return {?} | ||
*/ | ||
SplitNodes.prototype.getLines = /** | ||
* @param {?} elements | ||
* @return {?} | ||
*/ | ||
function (elements) { | ||
/** @type {?} */ | ||
SplitNodes.prototype.getLines = function (elements) { | ||
var lineElements = []; | ||
/** @type {?} */ | ||
var line = []; | ||
/** @type {?} */ | ||
var lineIndex = 0; | ||
elements.forEach((/** | ||
* @param {?} el | ||
* @param {?} index | ||
* @return {?} | ||
*/ | ||
function (el, index) { | ||
/** @type {?} */ | ||
elements.forEach(function (el, index) { | ||
var firstElTop = elements[lineIndex].getBoundingClientRect().top; | ||
/** @type {?} */ | ||
var lastElIndex = elements.length - 1; | ||
@@ -301,28 +193,13 @@ if (el.getBoundingClientRect().top === firstElTop) { | ||
} | ||
})); | ||
}); | ||
return lineElements; | ||
}; | ||
/** | ||
* @return {?} | ||
*/ | ||
SplitNodes.prototype.updateOnResize = /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
SplitNodes.prototype.updateOnResize = function () { | ||
var _this = this; | ||
rxjs.fromEvent(window, 'resize') | ||
.subscribe((/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
.subscribe(function () { | ||
_this.setLines(); | ||
})); | ||
}); | ||
}; | ||
/** | ||
* @return {?} | ||
*/ | ||
SplitNodes.prototype.setLines = /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
SplitNodes.prototype.setLines = function () { | ||
this.lineWords = this.getLines(this.words); | ||
@@ -335,60 +212,14 @@ if (!this.options.onlyWords) { | ||
}()); | ||
if (false) { | ||
/** @type {?} */ | ||
SplitNodes.prototype.words; | ||
/** @type {?} */ | ||
SplitNodes.prototype.chars; | ||
/** @type {?} */ | ||
SplitNodes.prototype.lineWords; | ||
/** @type {?} */ | ||
SplitNodes.prototype.lineChars; | ||
/** @type {?} */ | ||
SplitNodes.prototype.wordsArray; | ||
/** @type {?} */ | ||
SplitNodes.prototype.nodes; | ||
/** @type {?} */ | ||
SplitNodes.prototype.nodeTypes; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
SplitNodes.prototype.textContent; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
SplitNodes.prototype.el; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
SplitNodes.prototype.options; | ||
} | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
var NgGxSplitTextDirective = /** @class */ (function () { | ||
function NgGxSplitTextDirective(el) { | ||
this.el = el; | ||
this.options = defaultOptions; | ||
this.init = false; | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
NgGxSplitTextDirective.prototype.ngOnInit = /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
NgGxSplitTextDirective.prototype.ngOnInit = function () { | ||
this.setCurrentOptions(); | ||
this.initSplitNodes(); | ||
}; | ||
/** | ||
* @return {?} | ||
*/ | ||
NgGxSplitTextDirective.prototype.ngAfterViewInit = /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
NgGxSplitTextDirective.prototype.ngAfterViewInit = function () { | ||
if (!this.currentOptions.defer) { | ||
@@ -398,9 +229,3 @@ this.initSplit(); | ||
}; | ||
/** | ||
* @return {?} | ||
*/ | ||
NgGxSplitTextDirective.prototype.initSplit = /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
NgGxSplitTextDirective.prototype.initSplit = function () { | ||
if (this.init) { | ||
@@ -414,38 +239,21 @@ console.warn('Warning! Text is already initialized'); | ||
}; | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
NgGxSplitTextDirective.prototype.saveSrcText = /** | ||
* @private | ||
* @return {?} | ||
*/ | ||
function () { | ||
NgGxSplitTextDirective.prototype.saveSrcText = function () { | ||
this.srcTextContent = this.el.nativeElement.innerHTML; | ||
}; | ||
Object.defineProperty(NgGxSplitTextDirective.prototype, "words", { | ||
get: /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
get: function () { | ||
return this.splitNodes.words; | ||
}, | ||
enumerable: true, | ||
enumerable: false, | ||
configurable: true | ||
}); | ||
Object.defineProperty(NgGxSplitTextDirective.prototype, "lineWords", { | ||
get: /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
get: function () { | ||
return this.splitNodes.lineWords; | ||
}, | ||
enumerable: true, | ||
enumerable: false, | ||
configurable: true | ||
}); | ||
Object.defineProperty(NgGxSplitTextDirective.prototype, "chars", { | ||
get: /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
get: function () { | ||
if (this.options.onlyWords) { | ||
@@ -457,10 +265,7 @@ console.warn('Warning! You chose only words.'); | ||
}, | ||
enumerable: true, | ||
enumerable: false, | ||
configurable: true | ||
}); | ||
Object.defineProperty(NgGxSplitTextDirective.prototype, "lineChars", { | ||
get: /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
get: function () { | ||
if (this.options.onlyWords) { | ||
@@ -472,150 +277,70 @@ console.warn('Warning! You chose only words.'); | ||
}, | ||
enumerable: true, | ||
enumerable: false, | ||
configurable: true | ||
}); | ||
Object.defineProperty(NgGxSplitTextDirective.prototype, "nativeElement", { | ||
get: /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
get: function () { | ||
return this.el.nativeElement; | ||
}, | ||
enumerable: true, | ||
enumerable: false, | ||
configurable: true | ||
}); | ||
Object.defineProperty(NgGxSplitTextDirective.prototype, "srcText", { | ||
get: /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
get: function () { | ||
return this.srcTextContent; | ||
}, | ||
enumerable: true, | ||
enumerable: false, | ||
configurable: true | ||
}); | ||
Object.defineProperty(NgGxSplitTextDirective.prototype, "isInit", { | ||
get: /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
get: function () { | ||
return this.init; | ||
}, | ||
enumerable: true, | ||
enumerable: false, | ||
configurable: true | ||
}); | ||
/** | ||
* @return {?} | ||
*/ | ||
NgGxSplitTextDirective.prototype.resetSplit = /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
NgGxSplitTextDirective.prototype.resetSplit = function () { | ||
this.nativeElement.innerHTML = this.srcText; | ||
}; | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
NgGxSplitTextDirective.prototype.setCurrentOptions = /** | ||
* @private | ||
* @return {?} | ||
*/ | ||
function () { | ||
NgGxSplitTextDirective.prototype.setCurrentOptions = function () { | ||
this.currentOptions = defaults(this.options, defaultOptions); | ||
}; | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
NgGxSplitTextDirective.prototype.initSplitNodes = /** | ||
* @private | ||
* @return {?} | ||
*/ | ||
function () { | ||
NgGxSplitTextDirective.prototype.initSplitNodes = function () { | ||
this.splitNodes = new SplitNodes(this.el.nativeElement.textContent, this.el.nativeElement, this.currentOptions); | ||
}; | ||
NgGxSplitTextDirective.decorators = [ | ||
{ type: core.Directive, args: [{ | ||
selector: '[ngGxSplitText], ngGxSplitText' | ||
},] } | ||
]; | ||
/** @nocollapse */ | ||
NgGxSplitTextDirective.ctorParameters = function () { return [ | ||
{ type: core.ElementRef } | ||
]; }; | ||
NgGxSplitTextDirective.propDecorators = { | ||
options: [{ type: core.Input, args: ['ngGxSplitText',] }] | ||
}; | ||
return NgGxSplitTextDirective; | ||
}()); | ||
if (false) { | ||
/** @type {?} */ | ||
NgGxSplitTextDirective.prototype.options; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
NgGxSplitTextDirective.prototype.srcTextContent; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
NgGxSplitTextDirective.prototype.init; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
NgGxSplitTextDirective.prototype.currentOptions; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
NgGxSplitTextDirective.prototype.splitNodes; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
NgGxSplitTextDirective.prototype.el; | ||
} | ||
NgGxSplitTextDirective.decorators = [ | ||
{ type: core.Directive, args: [{ | ||
selector: '[ngGxSplitText], ngGxSplitText' | ||
},] } | ||
]; | ||
NgGxSplitTextDirective.ctorParameters = function () { return [ | ||
{ type: core.ElementRef } | ||
]; }; | ||
NgGxSplitTextDirective.propDecorators = { | ||
options: [{ type: core.Input, args: ['splitOptions',] }] | ||
}; | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/** | ||
* @record | ||
*/ | ||
function Options() { } | ||
if (false) { | ||
/** @type {?|undefined} */ | ||
Options.prototype.defer; | ||
/** @type {?|undefined} */ | ||
Options.prototype.onlyWords; | ||
/** @type {?|undefined} */ | ||
Options.prototype.mask; | ||
} | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
var NgGxSplitTextModule = /** @class */ (function () { | ||
function NgGxSplitTextModule() { | ||
} | ||
NgGxSplitTextModule.decorators = [ | ||
{ type: core.NgModule, args: [{ | ||
declarations: [ | ||
NgGxSplitTextDirective, | ||
], | ||
imports: [ | ||
common.CommonModule, | ||
], | ||
exports: [ | ||
NgGxSplitTextDirective, | ||
], | ||
},] } | ||
]; | ||
return NgGxSplitTextModule; | ||
}()); | ||
NgGxSplitTextModule.decorators = [ | ||
{ type: core.NgModule, args: [{ | ||
declarations: [NgGxSplitTextDirective], | ||
imports: [], | ||
exports: [NgGxSplitTextDirective] | ||
},] } | ||
]; | ||
/* | ||
* Public API Surface of ng-gx-split-text | ||
*/ | ||
/** | ||
* Generated bundle index. Do not edit. | ||
*/ | ||
exports.NgGxSplitTextDirective = NgGxSplitTextDirective; | ||
@@ -627,3 +352,3 @@ exports.NgGxSplitTextModule = NgGxSplitTextModule; | ||
})); | ||
}))); | ||
//# sourceMappingURL=ng-gx-split-text.umd.js.map |
@@ -1,2 +0,2 @@ | ||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("rxjs"),require("@angular/common")):"function"==typeof define&&define.amd?define("ng-gx-split-text",["exports","@angular/core","rxjs","@angular/common"],e):e((t=t||self)["ng-gx-split-text"]={},t.ng.core,t.rxjs,t.ng.common)}(this,function(t,e,n,i){"use strict";var o=Object.prototype,s=o.hasOwnProperty;function r(t,e){return t===e||t!=t&&e!=e}var p={defer:!1,onlyWords:!1,mask:!1},l=function(){function t(t,e,n){this.textContent=t,this.el=e,this.options=n,this.words=[],this.chars=[],this.lineWords=[],this.lineChars=[],this.wordsArray=[],this.nodes=[],this.nodeTypes={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12}}return t.prototype.initSplitNodes=function(){this.splitNodes(this.el),this.initNewNodes(),this.setLines(),this.updateOnResize()},t.prototype.splitNodes=function(t){for(var e=this,n=function(n){var o=t.childNodes[n],s=-1!==[i.nodeTypes.ELEMENT_NODE,i.nodeTypes.DOCUMENT_NODE,i.nodeTypes.DOCUMENT_FRAGMENT_NODE].indexOf(o.nodeType),r=-1!==[i.nodeTypes.TEXT_NODE,i.nodeTypes.CDATA_SECTION_NODE].indexOf(o.nodeType);if(s)i.splitNodes(o);else if(r){var p=i.splitNodesIntoWords(o),l=[];p.forEach(function(t){var n=document.createElement("span");n.classList.add("split-text-word"),n.style.display="inline-block",n.style.textIndent="0",e.options.onlyWords?n.innerHTML=t.join(""):t.forEach(function(t){var i=document.createElement("span");i.classList.add("split-text-char"),i.style.display="inherit",i.style.textIndent="0",i.innerHTML=t,n.appendChild(i),e.chars.push(i)}),l.push(n),e.words.push(n)}),i.wordsArray.push(l),i.nodes.push(o)}},i=this,o=0;o<t.childNodes.length;o++)n(o)},t.prototype.initNewNodes=function(){var t=this;this.nodes.forEach(function(e,n){t.wordsArray[n].forEach(function(i,o){var s;t.options.mask?((s=document.createElement("span")).classList.add("split-text-mask"),s.style.display="inline-block",s.style.overflow="hidden",s.style.textIndent="0",s.style.verticalAlign="top",s.appendChild(i),e.parentNode.insertBefore(s,e)):e.parentNode.insertBefore(i,e);var r=document.createElement("span");r.classList.add("split-text-space"),r.style.display="inline",r.innerHTML=" ",t.options.mask?e.parentNode.insertBefore(r,s.nextSibling):e.parentNode.insertBefore(r,i.nextSibling),o===t.wordsArray[n].length-1&&e.remove()})})},t.prototype.splitNodesIntoWords=function(t){var e=t.textContent.split(" ");return""===e[0]&&e.splice(0,1),""===e[e.length-1]&&e.splice(e.length-1,1),e.map(function(t){return t.split("")})},t.prototype.getLines=function(t){var e=[],n=[],i=0;return t.forEach(function(o,s){var r=t[i].getBoundingClientRect().top,p=t.length-1;o.getBoundingClientRect().top===r?(n.push(o),s===p&&e.push(n)):(e.push(n),i=s,(n=[]).push(o))}),e},t.prototype.updateOnResize=function(){var t=this;n.fromEvent(window,"resize").subscribe(function(){t.setLines()})},t.prototype.setLines=function(){this.lineWords=this.getLines(this.words),this.options.onlyWords||(this.lineChars=this.getLines(this.chars))},t}();var a=function(){function t(t){this.el=t,this.init=!1}return t.prototype.ngOnInit=function(){this.setCurrentOptions(),this.initSplitNodes()},t.prototype.ngAfterViewInit=function(){this.currentOptions.defer||this.initSplit()},t.prototype.initSplit=function(){this.init?console.warn("Warning! Text is already initialized"):(this.init=!0,this.saveSrcText(),this.splitNodes.initSplitNodes())},t.prototype.saveSrcText=function(){this.srcTextContent=this.el.nativeElement.innerHTML},Object.defineProperty(t.prototype,"words",{get:function(){return this.splitNodes.words},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"lineWords",{get:function(){return this.splitNodes.lineWords},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"chars",{get:function(){if(!this.options.onlyWords)return this.splitNodes.chars;console.warn("Warning! You chose only words.")},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"lineChars",{get:function(){if(!this.options.onlyWords)return this.splitNodes.lineChars;console.warn("Warning! You chose only words.")},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"nativeElement",{get:function(){return this.el.nativeElement},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"srcText",{get:function(){return this.srcTextContent},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isInit",{get:function(){return this.init},enumerable:!0,configurable:!0}),t.prototype.resetSplit=function(){this.nativeElement.innerHTML=this.srcText},t.prototype.setCurrentOptions=function(){this.currentOptions=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];return t=Object(t),e.forEach(function(e){if(null!=e)for(var n in e=Object(e))if(e.hasOwnProperty(n)){var i=t[n];(void 0===i||r(i,o[n])&&!s.call(t,n))&&(t[n]=e[n])}}),t}(this.options,p)},t.prototype.initSplitNodes=function(){this.splitNodes=new l(this.el.nativeElement.textContent,this.el.nativeElement,this.currentOptions)},t.decorators=[{type:e.Directive,args:[{selector:"[ngGxSplitText], ngGxSplitText"}]}],t.ctorParameters=function(){return[{type:e.ElementRef}]},t.propDecorators={options:[{type:e.Input,args:["ngGxSplitText"]}]},t}();var c=function(){function t(){}return t.decorators=[{type:e.NgModule,args:[{declarations:[a],imports:[i.CommonModule],exports:[a]}]}],t}();t.NgGxSplitTextDirective=a,t.NgGxSplitTextModule=c,t.defaultOptions=p,Object.defineProperty(t,"__esModule",{value:!0})}); | ||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("rxjs")):"function"==typeof define&&define.amd?define("ng-gx-split-text",["exports","@angular/core","rxjs"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["ng-gx-split-text"]={},t.ng.core,t.rxjs)}(this,(function(t,e,n){"use strict";var i=Object.prototype,o=i.hasOwnProperty;function s(t,e){return t===e||t!=t&&e!=e}var r={defer:!1,onlyWords:!1,mask:!1},p=function(){function t(t,e,n){this.textContent=t,this.el=e,this.options=n,this.words=[],this.chars=[],this.lineWords=[],this.lineChars=[],this.wordsArray=[],this.nodes=[],this.nodeTypes={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12}}return t.prototype.initSplitNodes=function(){this.splitNodes(this.el),this.initNewNodes(),this.setLines(),this.updateOnResize()},t.prototype.splitNodes=function(t){for(var e=this,n=function(n){var o=t.childNodes[n],s=-1!==[i.nodeTypes.ELEMENT_NODE,i.nodeTypes.DOCUMENT_NODE,i.nodeTypes.DOCUMENT_FRAGMENT_NODE].indexOf(o.nodeType),r=-1!==[i.nodeTypes.TEXT_NODE,i.nodeTypes.CDATA_SECTION_NODE].indexOf(o.nodeType);if(s)i.splitNodes(o);else if(r){var p=i.splitNodesIntoWords(o),l=[];p.forEach((function(t){var n=document.createElement("span");n.classList.add("split-text-word"),n.style.display="inline-block",n.style.textIndent="0",e.options.onlyWords?n.innerHTML=t.join(""):t.forEach((function(t){var i=document.createElement("span");i.classList.add("split-text-char"),i.style.display="inherit",i.style.textIndent="0",i.innerHTML=t,n.appendChild(i),e.chars.push(i)})),l.push(n),e.words.push(n)})),i.wordsArray.push(l),i.nodes.push(o)}},i=this,o=0;o<t.childNodes.length;o++)n(o)},t.prototype.initNewNodes=function(){var t=this;this.nodes.forEach((function(e,n){t.wordsArray[n].forEach((function(i,o){var s;t.options.mask?((s=document.createElement("span")).classList.add("split-text-mask"),s.style.display="inline-block",s.style.overflow="hidden",s.style.textIndent="0",s.style.verticalAlign="top",s.appendChild(i),e.parentNode.insertBefore(s,e)):e.parentNode.insertBefore(i,e);var r=document.createElement("span");r.classList.add("split-text-space"),r.style.display="inline",r.innerHTML=" ",t.options.mask?e.parentNode.insertBefore(r,s.nextSibling):e.parentNode.insertBefore(r,i.nextSibling),o===t.wordsArray[n].length-1&&e.remove()}))}))},t.prototype.splitNodesIntoWords=function(t){var e=t.textContent.split(" ");return""===e[0]&&e.splice(0,1),""===e[e.length-1]&&e.splice(e.length-1,1),e.map((function(t){return t.split("")}))},t.prototype.getLines=function(t){var e=[],n=[],i=0;return t.forEach((function(o,s){var r=t[i].getBoundingClientRect().top,p=t.length-1;o.getBoundingClientRect().top===r?(n.push(o),s===p&&e.push(n)):(e.push(n),i=s,(n=[]).push(o))})),e},t.prototype.updateOnResize=function(){var t=this;n.fromEvent(window,"resize").subscribe((function(){t.setLines()}))},t.prototype.setLines=function(){this.lineWords=this.getLines(this.words),this.options.onlyWords||(this.lineChars=this.getLines(this.chars))},t}(),l=function(){function t(t){this.el=t,this.options=r,this.init=!1}return t.prototype.ngOnInit=function(){this.setCurrentOptions(),this.initSplitNodes()},t.prototype.ngAfterViewInit=function(){this.currentOptions.defer||this.initSplit()},t.prototype.initSplit=function(){this.init?console.warn("Warning! Text is already initialized"):(this.init=!0,this.saveSrcText(),this.splitNodes.initSplitNodes())},t.prototype.saveSrcText=function(){this.srcTextContent=this.el.nativeElement.innerHTML},Object.defineProperty(t.prototype,"words",{get:function(){return this.splitNodes.words},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"lineWords",{get:function(){return this.splitNodes.lineWords},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"chars",{get:function(){if(!this.options.onlyWords)return this.splitNodes.chars;console.warn("Warning! You chose only words.")},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"lineChars",{get:function(){if(!this.options.onlyWords)return this.splitNodes.lineChars;console.warn("Warning! You chose only words.")},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"nativeElement",{get:function(){return this.el.nativeElement},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"srcText",{get:function(){return this.srcTextContent},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isInit",{get:function(){return this.init},enumerable:!1,configurable:!0}),t.prototype.resetSplit=function(){this.nativeElement.innerHTML=this.srcText},t.prototype.setCurrentOptions=function(){this.currentOptions=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];return t=Object(t),e.forEach((function(e){if(null!=e)for(var n in e=Object(e))if(e.hasOwnProperty(n)){var r=t[n];(void 0===r||s(r,i[n])&&!o.call(t,n))&&(t[n]=e[n])}})),t}(this.options,r)},t.prototype.initSplitNodes=function(){this.splitNodes=new p(this.el.nativeElement.textContent,this.el.nativeElement,this.currentOptions)},t}();l.decorators=[{type:e.Directive,args:[{selector:"[ngGxSplitText], ngGxSplitText"}]}],l.ctorParameters=function(){return[{type:e.ElementRef}]},l.propDecorators={options:[{type:e.Input,args:["splitOptions"]}]};var a=function(){};a.decorators=[{type:e.NgModule,args:[{declarations:[l],imports:[],exports:[l]}]}],t.NgGxSplitTextDirective=l,t.NgGxSplitTextModule=a,t.defaultOptions=r,Object.defineProperty(t,"__esModule",{value:!0})})); | ||
//# sourceMappingURL=ng-gx-split-text.umd.min.js.map |
@@ -1,5 +0,1 @@ | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
import { Directive, ElementRef, Input } from '@angular/core'; | ||
@@ -10,12 +6,7 @@ import { defaults } from '../utils/defaults/defaults'; | ||
export class NgGxSplitTextDirective { | ||
/** | ||
* @param {?} el | ||
*/ | ||
constructor(el) { | ||
this.el = el; | ||
this.options = defaultOptions; | ||
this.init = false; | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
ngOnInit() { | ||
@@ -25,5 +16,2 @@ this.setCurrentOptions(); | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
ngAfterViewInit() { | ||
@@ -34,5 +22,2 @@ if (!this.currentOptions.defer) { | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
initSplit() { | ||
@@ -47,24 +32,11 @@ if (this.init) { | ||
} | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
saveSrcText() { | ||
this.srcTextContent = this.el.nativeElement.innerHTML; | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
get words() { | ||
return this.splitNodes.words; | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
get lineWords() { | ||
return this.splitNodes.lineWords; | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
get chars() { | ||
@@ -77,5 +49,2 @@ if (this.options.onlyWords) { | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
get lineChars() { | ||
@@ -88,37 +57,17 @@ if (this.options.onlyWords) { | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
get nativeElement() { | ||
return this.el.nativeElement; | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
get srcText() { | ||
return this.srcTextContent; | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
get isInit() { | ||
return this.init; | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
resetSplit() { | ||
this.nativeElement.innerHTML = this.srcText; | ||
} | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
setCurrentOptions() { | ||
this.currentOptions = defaults(this.options, defaultOptions); | ||
} | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
initSplitNodes() { | ||
@@ -133,3 +82,2 @@ this.splitNodes = new SplitNodes(this.el.nativeElement.textContent, this.el.nativeElement, this.currentOptions); | ||
]; | ||
/** @nocollapse */ | ||
NgGxSplitTextDirective.ctorParameters = () => [ | ||
@@ -139,33 +87,4 @@ { type: ElementRef } | ||
NgGxSplitTextDirective.propDecorators = { | ||
options: [{ type: Input, args: ['ngGxSplitText',] }] | ||
options: [{ type: Input, args: ['splitOptions',] }] | ||
}; | ||
if (false) { | ||
/** @type {?} */ | ||
NgGxSplitTextDirective.prototype.options; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
NgGxSplitTextDirective.prototype.srcTextContent; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
NgGxSplitTextDirective.prototype.init; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
NgGxSplitTextDirective.prototype.currentOptions; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
NgGxSplitTextDirective.prototype.splitNodes; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
NgGxSplitTextDirective.prototype.el; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZ3gtc3BsaXQtdGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1neC1zcGxpdC10ZXh0LyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvbmctZ3gtc3BsaXQtdGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFNOUQsTUFBTSxPQUFPLHNCQUFzQjs7OztJQVFqQyxZQUNVLEVBQTJCO1FBQTNCLE9BQUUsR0FBRixFQUFFLENBQXlCO1FBTDdCLFNBQUksR0FBRyxLQUFLLENBQUM7SUFPckIsQ0FBQzs7OztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7OztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQzs7OztJQUVNLFNBQVM7UUFDZCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixPQUFPLENBQUMsSUFBSSxDQUFDLHNDQUFzQyxDQUFDLENBQUM7WUFDckQsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDbkMsQ0FBQzs7Ozs7SUFFTyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQ3hELENBQUM7Ozs7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO0lBQy9CLENBQUM7Ozs7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztJQUNuQyxDQUFDOzs7O0lBRUQsSUFBVyxLQUFLO1FBQ2QsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBQztZQUN6QixPQUFPLENBQUMsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7WUFDL0MsT0FBTztTQUNSO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztJQUMvQixDQUFDOzs7O0lBRUQsSUFBVyxTQUFTO1FBQ2xCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUM7WUFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1lBQy9DLE9BQU87U0FDUjtRQUNELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUM7SUFDbkMsQ0FBQzs7OztJQUVELElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQy9CLENBQUM7Ozs7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7Ozs7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQzs7OztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzlDLENBQUM7Ozs7O0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDL0QsQ0FBQzs7Ozs7SUFFTyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNsSCxDQUFDOzs7WUF4RkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQ0FBZ0M7YUFDM0M7Ozs7WUFSa0MsVUFBVTs7O3NCQVcxQyxLQUFLLFNBQUMsZUFBZTs7OztJQUF0Qix5Q0FBeUM7Ozs7O0lBRXpDLGdEQUErQjs7Ozs7SUFDL0Isc0NBQXFCOzs7OztJQUNyQixnREFBZ0M7Ozs7O0lBQ2hDLDRDQUErQjs7Ozs7SUFHN0Isb0NBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkZWZhdWx0cyB9IGZyb20gJy4uL3V0aWxzL2RlZmF1bHRzL2RlZmF1bHRzJztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICcuLi9tb2RlbHMvb3B0aW9ucyc7XG5pbXBvcnQgeyBkZWZhdWx0T3B0aW9ucyB9IGZyb20gJy4uL21vZGVscy9kZWZhdWx0LW9wdGlvbnMnO1xuaW1wb3J0IHsgU3BsaXROb2RlcyB9IGZyb20gJy4uL3V0aWxzL3NwbGl0LW5vZGVzL3NwbGl0LW5vZGVzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW25nR3hTcGxpdFRleHRdLCBuZ0d4U3BsaXRUZXh0J1xufSlcblxuZXhwb3J0IGNsYXNzIE5nR3hTcGxpdFRleHREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoJ25nR3hTcGxpdFRleHQnKSBvcHRpb25zOiBPcHRpb25zO1xuXG4gIHByaXZhdGUgc3JjVGV4dENvbnRlbnQ6IHN0cmluZztcbiAgcHJpdmF0ZSBpbml0ID0gZmFsc2U7XG4gIHByaXZhdGUgY3VycmVudE9wdGlvbnM6IE9wdGlvbnM7XG4gIHByaXZhdGUgc3BsaXROb2RlczogU3BsaXROb2RlcztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldEN1cnJlbnRPcHRpb25zKCk7XG4gICAgdGhpcy5pbml0U3BsaXROb2RlcygpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jdXJyZW50T3B0aW9ucy5kZWZlcikge1xuICAgICAgdGhpcy5pbml0U3BsaXQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaW5pdFNwbGl0KCkge1xuICAgIGlmICh0aGlzLmluaXQpIHtcbiAgICAgIGNvbnNvbGUud2FybignV2FybmluZyEgVGV4dCBpcyBhbHJlYWR5IGluaXRpYWxpemVkJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaW5pdCA9IHRydWU7XG4gICAgdGhpcy5zYXZlU3JjVGV4dCgpO1xuICAgIHRoaXMuc3BsaXROb2Rlcy5pbml0U3BsaXROb2RlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzYXZlU3JjVGV4dCgpIHtcbiAgICB0aGlzLnNyY1RleHRDb250ZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmlubmVySFRNTDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgd29yZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3BsaXROb2Rlcy53b3JkcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGluZVdvcmRzKCkge1xuICAgIHJldHVybiB0aGlzLnNwbGl0Tm9kZXMubGluZVdvcmRzO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGFycygpIHtcbiAgICBpZiAodGhpcy5vcHRpb25zLm9ubHlXb3Jkcyl7XG4gICAgICBjb25zb2xlLndhcm4oJ1dhcm5pbmchIFlvdSBjaG9zZSBvbmx5IHdvcmRzLicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zcGxpdE5vZGVzLmNoYXJzO1xuICB9XG5cbiAgcHVibGljIGdldCBsaW5lQ2hhcnMoKSB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5vbmx5V29yZHMpe1xuICAgICAgY29uc29sZS53YXJuKCdXYXJuaW5nISBZb3UgY2hvc2Ugb25seSB3b3Jkcy4nKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc3BsaXROb2Rlcy5saW5lQ2hhcnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG5hdGl2ZUVsZW1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3JjVGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5zcmNUZXh0Q29udGVudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNJbml0KCkge1xuICAgIHJldHVybiB0aGlzLmluaXQ7XG4gIH1cblxuICBwdWJsaWMgcmVzZXRTcGxpdCgpIHtcbiAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5zcmNUZXh0O1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDdXJyZW50T3B0aW9ucygpIHtcbiAgICB0aGlzLmN1cnJlbnRPcHRpb25zID0gZGVmYXVsdHModGhpcy5vcHRpb25zLCBkZWZhdWx0T3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIGluaXRTcGxpdE5vZGVzKCkge1xuICAgIHRoaXMuc3BsaXROb2RlcyA9IG5ldyBTcGxpdE5vZGVzKHRoaXMuZWwubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudCwgdGhpcy5lbC5uYXRpdmVFbGVtZW50LCB0aGlzLmN1cnJlbnRPcHRpb25zKTtcbiAgfVxufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZ3gtc3BsaXQtdGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL3lhbi9EZXNrdG9wL25nLWd4LXNwbGl0LXRleHQtZGVtby9wcm9qZWN0cy9uZy1neC1zcGxpdC10ZXh0L3NyYy8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL25nLWd4LXNwbGl0LXRleHQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFNOUQsTUFBTSxPQUFPLHNCQUFzQjtJQVFqQyxZQUNVLEVBQTJCO1FBQTNCLE9BQUUsR0FBRixFQUFFLENBQXlCO1FBUmQsWUFBTyxHQUFZLGNBQWMsQ0FBQztRQUdqRCxTQUFJLEdBQUcsS0FBSyxDQUFDO0lBT3JCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFO1lBQzlCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFTSxTQUFTO1FBQ2QsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsT0FBTyxDQUFDLElBQUksQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1lBQ3JELE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBQztZQUN6QixPQUFPLENBQUMsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7WUFDL0MsT0FBTztTQUNSO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUM7WUFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1lBQy9DLE9BQU87U0FDUjtRQUNELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzlDLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEgsQ0FBQzs7O1lBeEZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZ0NBQWdDO2FBQzNDOzs7WUFSa0MsVUFBVTs7O3NCQVcxQyxLQUFLLFNBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGVmYXVsdHMgfSBmcm9tICcuLi91dGlscy9kZWZhdWx0cy9kZWZhdWx0cyc7XG5pbXBvcnQgeyBPcHRpb25zIH0gZnJvbSAnLi4vbW9kZWxzL29wdGlvbnMnO1xuaW1wb3J0IHsgZGVmYXVsdE9wdGlvbnMgfSBmcm9tICcuLi9tb2RlbHMvZGVmYXVsdC1vcHRpb25zJztcbmltcG9ydCB7IFNwbGl0Tm9kZXMgfSBmcm9tICcuLi91dGlscy9zcGxpdC1ub2Rlcy9zcGxpdC1ub2Rlcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tuZ0d4U3BsaXRUZXh0XSwgbmdHeFNwbGl0VGV4dCdcbn0pXG5cbmV4cG9ydCBjbGFzcyBOZ0d4U3BsaXRUZXh0RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCdzcGxpdE9wdGlvbnMnKSBvcHRpb25zOiBPcHRpb25zID0gZGVmYXVsdE9wdGlvbnM7XG5cbiAgcHJpdmF0ZSBzcmNUZXh0Q29udGVudDogc3RyaW5nO1xuICBwcml2YXRlIGluaXQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBjdXJyZW50T3B0aW9uczogT3B0aW9ucztcbiAgcHJpdmF0ZSBzcGxpdE5vZGVzOiBTcGxpdE5vZGVzO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICApIHtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0Q3VycmVudE9wdGlvbnMoKTtcbiAgICB0aGlzLmluaXRTcGxpdE5vZGVzKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmN1cnJlbnRPcHRpb25zLmRlZmVyKSB7XG4gICAgICB0aGlzLmluaXRTcGxpdCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpbml0U3BsaXQoKSB7XG4gICAgaWYgKHRoaXMuaW5pdCkge1xuICAgICAgY29uc29sZS53YXJuKCdXYXJuaW5nISBUZXh0IGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pbml0ID0gdHJ1ZTtcbiAgICB0aGlzLnNhdmVTcmNUZXh0KCk7XG4gICAgdGhpcy5zcGxpdE5vZGVzLmluaXRTcGxpdE5vZGVzKCk7XG4gIH1cblxuICBwcml2YXRlIHNhdmVTcmNUZXh0KCkge1xuICAgIHRoaXMuc3JjVGV4dENvbnRlbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MO1xuICB9XG5cbiAgcHVibGljIGdldCB3b3JkcygpIHtcbiAgICByZXR1cm4gdGhpcy5zcGxpdE5vZGVzLndvcmRzO1xuICB9XG5cbiAgcHVibGljIGdldCBsaW5lV29yZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3BsaXROb2Rlcy5saW5lV29yZHM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoYXJzKCkge1xuICAgIGlmICh0aGlzLm9wdGlvbnMub25seVdvcmRzKXtcbiAgICAgIGNvbnNvbGUud2FybignV2FybmluZyEgWW91IGNob3NlIG9ubHkgd29yZHMuJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNwbGl0Tm9kZXMuY2hhcnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxpbmVDaGFycygpIHtcbiAgICBpZiAodGhpcy5vcHRpb25zLm9ubHlXb3Jkcyl7XG4gICAgICBjb25zb2xlLndhcm4oJ1dhcm5pbmchIFlvdSBjaG9zZSBvbmx5IHdvcmRzLicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zcGxpdE5vZGVzLmxpbmVDaGFycztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbmF0aXZlRWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIGdldCBzcmNUZXh0KCkge1xuICAgIHJldHVybiB0aGlzLnNyY1RleHRDb250ZW50O1xuICB9XG5cbiAgcHVibGljIGdldCBpc0luaXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdDtcbiAgfVxuXG4gIHB1YmxpYyByZXNldFNwbGl0KCkge1xuICAgIHRoaXMubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLnNyY1RleHQ7XG4gIH1cblxuICBwcml2YXRlIHNldEN1cnJlbnRPcHRpb25zKCkge1xuICAgIHRoaXMuY3VycmVudE9wdGlvbnMgPSBkZWZhdWx0cyh0aGlzLm9wdGlvbnMsIGRlZmF1bHRPcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFNwbGl0Tm9kZXMoKSB7XG4gICAgdGhpcy5zcGxpdE5vZGVzID0gbmV3IFNwbGl0Tm9kZXModGhpcy5lbC5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50LCB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIHRoaXMuY3VycmVudE9wdGlvbnMpO1xuICB9XG59XG4iXX0= |
@@ -1,6 +0,1 @@ | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/** @type {?} */ | ||
export const defaultOptions = { | ||
@@ -11,2 +6,2 @@ defer: false, | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZ3gtc3BsaXQtdGV4dC8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvZGVmYXVsdC1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsTUFBTSxPQUFPLGNBQWMsR0FBWTtJQUNyQyxLQUFLLEVBQUUsS0FBSztJQUNaLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLElBQUksRUFBRSxLQUFLO0NBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcHRpb25zIH0gZnJvbSAnLi9vcHRpb25zJztcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRPcHRpb25zOiBPcHRpb25zID0ge1xuICBkZWZlcjogZmFsc2UsXG4gIG9ubHlXb3JkczogZmFsc2UsXG4gIG1hc2s6IGZhbHNlLFxufTtcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy95YW4vRGVza3RvcC9uZy1neC1zcGxpdC10ZXh0LWRlbW8vcHJvamVjdHMvbmctZ3gtc3BsaXQtdGV4dC9zcmMvIiwic291cmNlcyI6WyJsaWIvbW9kZWxzL2RlZmF1bHQtb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQVk7SUFDckMsS0FBSyxFQUFFLEtBQUs7SUFDWixTQUFTLEVBQUUsS0FBSztJQUNoQixJQUFJLEVBQUUsS0FBSztDQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcHRpb25zIH0gZnJvbSAnLi9vcHRpb25zJztcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRPcHRpb25zOiBPcHRpb25zID0ge1xuICBkZWZlcjogZmFsc2UsXG4gIG9ubHlXb3JkczogZmFsc2UsXG4gIG1hc2s6IGZhbHNlLFxufTtcbiJdfQ== |
@@ -1,17 +0,2 @@ | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/** | ||
* @record | ||
*/ | ||
export function Options() { } | ||
if (false) { | ||
/** @type {?|undefined} */ | ||
Options.prototype.defer; | ||
/** @type {?|undefined} */ | ||
Options.prototype.onlyWords; | ||
/** @type {?|undefined} */ | ||
Options.prototype.mask; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWd4LXNwbGl0LXRleHQvIiwic291cmNlcyI6WyJsaWIvbW9kZWxzL29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLDZCQUlDOzs7SUFIQyx3QkFBZ0I7O0lBQ2hCLDRCQUFvQjs7SUFDcEIsdUJBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE9wdGlvbnMge1xuICBkZWZlcj86IGJvb2xlYW47XG4gIG9ubHlXb3Jkcz86IGJvb2xlYW47XG4gIG1hc2s/OiBib29sZWFuO1xufVxuIl19 | ||
export {}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMveWFuL0Rlc2t0b3AvbmctZ3gtc3BsaXQtdGV4dC1kZW1vL3Byb2plY3RzL25nLWd4LXNwbGl0LXRleHQvc3JjLyIsInNvdXJjZXMiOlsibGliL21vZGVscy9vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE9wdGlvbnMge1xuICBkZWZlcj86IGJvb2xlYW47XG4gIG9ubHlXb3Jkcz86IGJvb2xlYW47XG4gIG1hc2s/OiBib29sZWFuO1xufVxuIl19 |
@@ -1,8 +0,3 @@ | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
import { NgModule } from '@angular/core'; | ||
import { NgGxSplitTextDirective } from './directives/ng-gx-split-text.directive'; | ||
import { CommonModule } from '@angular/common'; | ||
import { NgGxSplitTextDirective } from "./directives/ng-gx-split-text.directive"; | ||
export class NgGxSplitTextModule { | ||
@@ -12,13 +7,7 @@ } | ||
{ type: NgModule, args: [{ | ||
declarations: [ | ||
NgGxSplitTextDirective, | ||
], | ||
imports: [ | ||
CommonModule, | ||
], | ||
exports: [ | ||
NgGxSplitTextDirective, | ||
], | ||
declarations: [NgGxSplitTextDirective], | ||
imports: [], | ||
exports: [NgGxSplitTextDirective] | ||
},] } | ||
]; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZ3gtc3BsaXQtdGV4dC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1neC1zcGxpdC10ZXh0LyIsInNvdXJjZXMiOlsibGliL25nLWd4LXNwbGl0LXRleHQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQWMvQyxNQUFNLE9BQU8sbUJBQW1COzs7WUFYL0IsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRTtvQkFDWixzQkFBc0I7aUJBQ3ZCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxZQUFZO2lCQUNiO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxzQkFBc0I7aUJBQ3ZCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdHeFNwbGl0VGV4dERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9uZy1neC1zcGxpdC10ZXh0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIE5nR3hTcGxpdFRleHREaXJlY3RpdmUsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBOZ0d4U3BsaXRUZXh0RGlyZWN0aXZlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ0d4U3BsaXRUZXh0TW9kdWxlIHtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZ3gtc3BsaXQtdGV4dC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL3lhbi9EZXNrdG9wL25nLWd4LXNwbGl0LXRleHQtZGVtby9wcm9qZWN0cy9uZy1neC1zcGxpdC10ZXh0L3NyYy8iLCJzb3VyY2VzIjpbImxpYi9uZy1neC1zcGxpdC10ZXh0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBVWpGLE1BQU0sT0FBTyxtQkFBbUI7OztZQU4vQixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsc0JBQXNCLENBQUM7Z0JBQ3RDLE9BQU8sRUFBRSxFQUNSO2dCQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2FBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nR3hTcGxpdFRleHREaXJlY3RpdmUgfSBmcm9tIFwiLi9kaXJlY3RpdmVzL25nLWd4LXNwbGl0LXRleHQuZGlyZWN0aXZlXCI7XG5cblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtOZ0d4U3BsaXRUZXh0RGlyZWN0aXZlXSxcbiAgaW1wb3J0czogW1xuICBdLFxuICBleHBvcnRzOiBbTmdHeFNwbGl0VGV4dERpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgTmdHeFNwbGl0VGV4dE1vZHVsZSB7IH1cbiJdfQ== |
@@ -1,21 +0,6 @@ | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/** @type {?} */ | ||
const objectProto = Object.prototype; | ||
/** @type {?} */ | ||
const hasOwnProperty = objectProto.hasOwnProperty; | ||
/** | ||
* @param {?} object | ||
* @param {...?} sources | ||
* @return {?} | ||
*/ | ||
export function defaults(object, ...sources) { | ||
object = Object(object); | ||
sources.forEach((/** | ||
* @param {?} source | ||
* @return {?} | ||
*/ | ||
(source) => { | ||
sources.forEach((source) => { | ||
if (source != null) { | ||
@@ -25,3 +10,2 @@ source = Object(source); | ||
if (source.hasOwnProperty(key)) { | ||
/** @type {?} */ | ||
const value = object[key]; | ||
@@ -35,13 +19,8 @@ if (value === undefined || | ||
} | ||
})); | ||
}); | ||
return object; | ||
} | ||
/** | ||
* @param {?} value | ||
* @param {?} other | ||
* @return {?} | ||
*/ | ||
function eq(value, other) { | ||
return value === other || (value !== value && other !== other); | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1neC1zcGxpdC10ZXh0LyIsInNvdXJjZXMiOlsibGliL3V0aWxzL2RlZmF1bHRzL2RlZmF1bHRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O01BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxTQUFTOztNQUM5QixjQUFjLEdBQUcsV0FBVyxDQUFDLGNBQWM7Ozs7OztBQUdqRCxNQUFNLFVBQVUsUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLE9BQU87SUFDekMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QixPQUFPLENBQUMsT0FBTzs7OztJQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7UUFDekIsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFO1lBQ2xCLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDeEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLEVBQUU7Z0JBQ3hCLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRTs7MEJBQ3hCLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDO29CQUN6QixJQUFJLEtBQUssS0FBSyxTQUFTO3dCQUNyQixDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFO3dCQUNwRSxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3FCQUMzQjtpQkFDRjthQUNGO1NBQ0Y7SUFDSCxDQUFDLEVBQUMsQ0FBQztJQUNILE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7Ozs7OztBQUVELFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLO0lBQ3RCLE9BQU8sS0FBSyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLElBQUksS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDO0FBQ2pFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBvYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5jb25zdCBoYXNPd25Qcm9wZXJ0eSA9IG9iamVjdFByb3RvLmhhc093blByb3BlcnR5O1xuXG5cbmV4cG9ydCBmdW5jdGlvbiBkZWZhdWx0cyhvYmplY3QsIC4uLnNvdXJjZXMpIHtcbiAgb2JqZWN0ID0gT2JqZWN0KG9iamVjdCk7XG4gIHNvdXJjZXMuZm9yRWFjaCgoc291cmNlKSA9PiB7XG4gICAgaWYgKHNvdXJjZSAhPSBudWxsKSB7XG4gICAgICBzb3VyY2UgPSBPYmplY3Qoc291cmNlKTtcbiAgICAgIGZvciAoY29uc3Qga2V5IGluIHNvdXJjZSkge1xuICAgICAgICBpZiAoc291cmNlLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IG9iamVjdFtrZXldO1xuICAgICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICAoZXEodmFsdWUsIG9iamVjdFByb3RvW2tleV0pICYmICFoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwga2V5KSkpIHtcbiAgICAgICAgICAgIG9iamVjdFtrZXldID0gc291cmNlW2tleV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIG9iamVjdDtcbn1cblxuZnVuY3Rpb24gZXEodmFsdWUsIG90aGVyKSB7XG4gIHJldHVybiB2YWx1ZSA9PT0gb3RoZXIgfHwgKHZhbHVlICE9PSB2YWx1ZSAmJiBvdGhlciAhPT0gb3RoZXIpO1xufVxuXG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdHMuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL3lhbi9EZXNrdG9wL25nLWd4LXNwbGl0LXRleHQtZGVtby9wcm9qZWN0cy9uZy1neC1zcGxpdC10ZXh0L3NyYy8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9kZWZhdWx0cy9kZWZhdWx0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO0FBQ3JDLE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQyxjQUFjLENBQUM7QUFHbEQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxPQUFPO0lBQ3pDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQ3pCLElBQUksTUFBTSxJQUFJLElBQUksRUFBRTtZQUNsQixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hCLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxFQUFFO2dCQUN4QixJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQzlCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDMUIsSUFBSSxLQUFLLEtBQUssU0FBUzt3QkFDckIsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRTt3QkFDcEUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDM0I7aUJBQ0Y7YUFDRjtTQUNGO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUs7SUFDdEIsT0FBTyxLQUFLLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7QUFDakUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcbmNvbnN0IGhhc093blByb3BlcnR5ID0gb2JqZWN0UHJvdG8uaGFzT3duUHJvcGVydHk7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRzKG9iamVjdCwgLi4uc291cmNlcykge1xuICBvYmplY3QgPSBPYmplY3Qob2JqZWN0KTtcbiAgc291cmNlcy5mb3JFYWNoKChzb3VyY2UpID0+IHtcbiAgICBpZiAoc291cmNlICE9IG51bGwpIHtcbiAgICAgIHNvdXJjZSA9IE9iamVjdChzb3VyY2UpO1xuICAgICAgZm9yIChjb25zdCBrZXkgaW4gc291cmNlKSB7XG4gICAgICAgIGlmIChzb3VyY2UuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gb2JqZWN0W2tleV07XG4gICAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIChlcSh2YWx1ZSwgb2JqZWN0UHJvdG9ba2V5XSkgJiYgIWhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBrZXkpKSkge1xuICAgICAgICAgICAgb2JqZWN0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuICByZXR1cm4gb2JqZWN0O1xufVxuXG5mdW5jdGlvbiBlcSh2YWx1ZSwgb3RoZXIpIHtcbiAgcmV0dXJuIHZhbHVlID09PSBvdGhlciB8fCAodmFsdWUgIT09IHZhbHVlICYmIG90aGVyICE9PSBvdGhlcik7XG59XG5cbiJdfQ== |
@@ -1,12 +0,3 @@ | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
import { fromEvent } from 'rxjs'; | ||
export class SplitNodes { | ||
/** | ||
* @param {?} textContent | ||
* @param {?} el | ||
* @param {?} options | ||
*/ | ||
constructor(textContent, el, options) { | ||
@@ -37,5 +28,2 @@ this.textContent = textContent; | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
initSplitNodes() { | ||
@@ -47,13 +35,6 @@ this.splitNodes(this.el); | ||
} | ||
/** | ||
* @param {?} el | ||
* @return {?} | ||
*/ | ||
splitNodes(el) { | ||
for (let i = 0; i < el.childNodes.length; i++) { | ||
/** @type {?} */ | ||
const node = el.childNodes[i]; | ||
/** @type {?} */ | ||
const tag = [this.nodeTypes.ELEMENT_NODE, this.nodeTypes.DOCUMENT_NODE, this.nodeTypes.DOCUMENT_FRAGMENT_NODE].indexOf(node.nodeType) !== -1; | ||
/** @type {?} */ | ||
const text = [this.nodeTypes.TEXT_NODE, this.nodeTypes.CDATA_SECTION_NODE].indexOf(node.nodeType) !== -1; | ||
@@ -64,12 +45,5 @@ if (tag) { | ||
else if (text) { | ||
/** @type {?} */ | ||
const words = this.splitNodesIntoWords(node); | ||
/** @type {?} */ | ||
const wordsArray = []; | ||
words.forEach((/** | ||
* @param {?} chars | ||
* @return {?} | ||
*/ | ||
chars => { | ||
/** @type {?} */ | ||
words.forEach(chars => { | ||
const wordSpan = document.createElement('span'); | ||
@@ -83,8 +57,3 @@ wordSpan.classList.add('split-text-word'); | ||
else { | ||
chars.forEach((/** | ||
* @param {?} char | ||
* @return {?} | ||
*/ | ||
char => { | ||
/** @type {?} */ | ||
chars.forEach(char => { | ||
const charSpan = document.createElement('span'); | ||
@@ -97,7 +66,7 @@ charSpan.classList.add('split-text-char'); | ||
this.chars.push(charSpan); | ||
})); | ||
}); | ||
} | ||
wordsArray.push(wordSpan); | ||
this.words.push(wordSpan); | ||
})); | ||
}); | ||
this.wordsArray.push(wordsArray); | ||
@@ -108,19 +77,5 @@ this.nodes.push(node); | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
initNewNodes() { | ||
this.nodes.forEach((/** | ||
* @param {?} node | ||
* @param {?} index | ||
* @return {?} | ||
*/ | ||
(node, index) => { | ||
this.wordsArray[index].forEach((/** | ||
* @param {?} word | ||
* @param {?} idx | ||
* @return {?} | ||
*/ | ||
(word, idx) => { | ||
/** @type {?} */ | ||
this.nodes.forEach((node, index) => { | ||
this.wordsArray[index].forEach((word, idx) => { | ||
let maskSpan; | ||
@@ -140,3 +95,2 @@ if (this.options.mask) { | ||
} | ||
/** @type {?} */ | ||
const spaceSpan = document.createElement('span'); | ||
@@ -155,11 +109,6 @@ spaceSpan.classList.add('split-text-space'); | ||
} | ||
})); | ||
})); | ||
}); | ||
}); | ||
} | ||
/** | ||
* @param {?} word | ||
* @return {?} | ||
*/ | ||
splitNodesIntoWords(word) { | ||
/** @type {?} */ | ||
const words = word.textContent.split(' '); | ||
@@ -172,28 +121,10 @@ if (words[0] === '') { | ||
} | ||
return words.map((/** | ||
* @param {?} item | ||
* @return {?} | ||
*/ | ||
item => item.split(''))); | ||
return words.map(item => item.split('')); | ||
} | ||
/** | ||
* @param {?} elements | ||
* @return {?} | ||
*/ | ||
getLines(elements) { | ||
/** @type {?} */ | ||
const lineElements = []; | ||
/** @type {?} */ | ||
let line = []; | ||
/** @type {?} */ | ||
let lineIndex = 0; | ||
elements.forEach((/** | ||
* @param {?} el | ||
* @param {?} index | ||
* @return {?} | ||
*/ | ||
(el, index) => { | ||
/** @type {?} */ | ||
elements.forEach((el, index) => { | ||
const firstElTop = elements[lineIndex].getBoundingClientRect().top; | ||
/** @type {?} */ | ||
const lastElIndex = elements.length - 1; | ||
@@ -212,20 +143,11 @@ if (el.getBoundingClientRect().top === firstElTop) { | ||
} | ||
})); | ||
}); | ||
return lineElements; | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
updateOnResize() { | ||
fromEvent(window, 'resize') | ||
.subscribe((/** | ||
* @return {?} | ||
*/ | ||
() => { | ||
.subscribe(() => { | ||
this.setLines(); | ||
})); | ||
}); | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
setLines() { | ||
@@ -238,33 +160,2 @@ this.lineWords = this.getLines(this.words); | ||
} | ||
if (false) { | ||
/** @type {?} */ | ||
SplitNodes.prototype.words; | ||
/** @type {?} */ | ||
SplitNodes.prototype.chars; | ||
/** @type {?} */ | ||
SplitNodes.prototype.lineWords; | ||
/** @type {?} */ | ||
SplitNodes.prototype.lineChars; | ||
/** @type {?} */ | ||
SplitNodes.prototype.wordsArray; | ||
/** @type {?} */ | ||
SplitNodes.prototype.nodes; | ||
/** @type {?} */ | ||
SplitNodes.prototype.nodeTypes; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
SplitNodes.prototype.textContent; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
SplitNodes.prototype.el; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
SplitNodes.prototype.options; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtbm9kZXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1neC1zcGxpdC10ZXh0LyIsInNvdXJjZXMiOlsibGliL3V0aWxzL3NwbGl0LW5vZGVzL3NwbGl0LW5vZGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2pDLE1BQU0sT0FBTyxVQUFVOzs7Ozs7SUFFckIsWUFDVSxXQUFtQixFQUNuQixFQUFlLEVBQ2YsT0FBZ0I7UUFGaEIsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDbkIsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFJMUIsVUFBSyxHQUFrQixFQUFFLENBQUM7UUFDMUIsVUFBSyxHQUFrQixFQUFFLENBQUM7UUFDMUIsY0FBUyxHQUFrQixFQUFFLENBQUM7UUFDOUIsY0FBUyxHQUFrQixFQUFFLENBQUM7UUFFOUIsZUFBVSxHQUFvQixFQUFFLENBQUM7UUFDakMsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVYLGNBQVMsR0FBRztZQUNWLFlBQVksRUFBRSxDQUFDO1lBQ2YsY0FBYyxFQUFFLENBQUM7WUFDakIsU0FBUyxFQUFFLENBQUM7WUFDWixrQkFBa0IsRUFBRSxDQUFDO1lBQ3JCLHFCQUFxQixFQUFFLENBQUM7WUFDeEIsV0FBVyxFQUFFLENBQUM7WUFDZCwyQkFBMkIsRUFBRSxDQUFDO1lBQzlCLFlBQVksRUFBRSxDQUFDO1lBQ2YsYUFBYSxFQUFFLENBQUM7WUFDaEIsa0JBQWtCLEVBQUUsRUFBRTtZQUN0QixzQkFBc0IsRUFBRSxFQUFFO1lBQzFCLGFBQWEsRUFBRSxFQUFFO1NBQ2xCLENBQUM7SUF2QkYsQ0FBQzs7OztJQXlCRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FB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dkIsNkJBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPcHRpb25zIH0gZnJvbSBcIi4uLy4uL21vZGVscy9vcHRpb25zXCI7XG5cbmV4cG9ydCBjbGFzcyBTcGxpdE5vZGVzIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRleHRDb250ZW50OiBzdHJpbmcsXG4gICAgcHJpdmF0ZSBlbDogSFRNTEVsZW1lbnQsXG4gICAgcHJpdmF0ZSBvcHRpb25zOiBPcHRpb25zXG4gICkge1xuICB9XG5cbiAgd29yZHM6IEhUTUxFbGVtZW50W10gPSBbXTtcbiAgY2hhcnM6IEhUTUxFbGVtZW50W10gPSBbXTtcbiAgbGluZVdvcmRzOiBIVE1MRWxlbWVudFtdID0gW107XG4gIGxpbmVDaGFyczogSFRNTEVsZW1lbnRbXSA9IFtdO1xuXG4gIHdvcmRzQXJyYXk6IEhUTUxFbGVtZW50W11bXSA9IFtdO1xuICBub2RlcyA9IFtdO1xuXG4gIG5vZGVUeXBlcyA9IHtcbiAgICBFTEVNRU5UX05PREU6IDEsXG4gICAgQVRUUklCVVRFX05PREU6IDIsXG4gICAgVEVYVF9OT0RFOiAzLFxuICAgIENEQVRBX1NFQ1RJT05fTk9ERTogNCxcbiAgICBFTlRJVFlfUkVGRVJFTkNFX05PREU6IDUsXG4gICAgRU5USVRZX05PREU6IDYsXG4gICAgUFJPQ0VTU0lOR19JTlNUUlVDVElPTl9OT0RFOiA3LFxuICAgIENPTU1FTlRfTk9ERTogOCxcbiAgICBET0NVTUVOVF9OT0RFOiA5LFxuICAgIERPQ1VNRU5UX1RZUEVfTk9ERTogMTAsXG4gICAgRE9DVU1FTlRfRlJBR01FTlRfTk9ERTogMTEsXG4gICAgTk9UQVRJT05fTk9ERTogMTJcbiAgfTtcblxuICBpbml0U3BsaXROb2RlcygpIHtcbiAgICB0aGlzLnNwbGl0Tm9kZXModGhpcy5lbCk7XG4gICAgdGhpcy5pbml0TmV3Tm9kZXMoKTtcbiAgICB0aGlzLnNldExpbmVzKCk7XG4gICAgdGhpcy51cGRhdGVPblJlc2l6ZSgpO1xuICB9XG5cblxuICBzcGxpdE5vZGVzKGVsKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbC5jaGlsZE5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBub2RlID0gZWwuY2hpbGROb2Rlc1tpXTtcbiAgICAgIGNvbnN0IHRhZyA9IFt0aGlzLm5vZGVUeXBlcy5FTEVNRU5UX05PREUsIHRoaXMubm9kZVR5cGVzLkRPQ1VNRU5UX05PREUsIHRoaXMubm9kZVR5cGVzLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREVdLmluZGV4T2Yobm9kZS5ub2RlVHlwZSkgIT09IC0xO1xuICAgICAgY29uc3QgdGV4dCA9IFt0aGlzLm5vZGVUeXBlcy5URVhUX05PREUsIHRoaXMubm9kZVR5cGVzLkNEQVRBX1NFQ1RJT05fTk9ERV0uaW5kZXhPZihub2RlLm5vZGVUeXBlKSAhPT0gLTE7XG5cbiAgICAgIGlmICh0YWcpIHtcbiAgICAgICAgdGhpcy5zcGxpdE5vZGVzKG5vZGUpO1xuICAgICAgfSBlbHNlIGlmICh0ZXh0KSB7XG4gICAgICAgIGNvbnN0IHdvcmRzID0gdGhpcy5zcGxpdE5vZGVzSW50b1dvcmRzKG5vZGUpO1xuXG4gICAgICAgIGNvbnN0IHdvcmRzQXJyYXkgPSBbXTtcbiAgICAgICAgd29yZHMuZm9yRWFjaChjaGFycyA9PiB7XG4gICAgICAgICAgY29uc3Qgd29yZFNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgICAgd29yZFNwYW4uY2xhc3NMaXN0LmFkZCgnc3BsaXQtdGV4dC13b3JkJyk7XG4gICAgICAgICAgd29yZFNwYW4uc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUtYmxvY2snO1xuICAgICAgICAgIHdvcmRTcGFuLnN0eWxlLnRleHRJbmRlbnQgPSAnMCc7XG5cbiAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLm9ubHlXb3Jkcykge1xuICAgICAgICAgICAgd29yZFNwYW4uaW5uZXJIVE1MID0gY2hhcnMuam9pbignJyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNoYXJzLmZvckVhY2goY2hhciA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGNoYXJTcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgICAgICAgICBjaGFyU3Bhbi5jbGFzc0xpc3QuYWRkKCdzcGxpdC10ZXh0LWNoYXInKTtcbiAgICAgICAgICAgICAgY2hhclNwYW4uc3R5bGUuZGlzcGxheSA9ICdpbmhlcml0JztcbiAgICAgICAgICAgICAgY2hhclNwYW4uc3R5bGUudGV4dEluZGVudCA9ICcwJztcbiAgICAgICAgICAgICAgY2hhclNwYW4uaW5uZXJIVE1MID0gY2hhcjtcbiAgICAgICAgICAgICAgd29yZFNwYW4uYXBwZW5kQ2hpbGQoY2hhclNwYW4pO1xuICAgICAgICAgICAgICB0aGlzLmNoYXJzLnB1c2goY2hhclNwYW4pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgd29yZHNBcnJheS5wdXNoKHdvcmRTcGFuKTtcbiAgICAgICAgICB0aGlzLndvcmRzLnB1c2god29yZFNwYW4pO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLndvcmRzQXJyYXkucHVzaCh3b3Jkc0FycmF5KTtcbiAgICAgICAgdGhpcy5ub2Rlcy5wdXNoKG5vZGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGluaXROZXdOb2RlcygpIHtcbiAgICB0aGlzLm5vZGVzLmZvckVhY2goKG5vZGUsIGluZGV4KSA9PiB7XG4gICAgICB0aGlzLndvcmRzQXJyYXlbaW5kZXhdLmZvckVhY2goKHdvcmQsIGlkeCkgPT4ge1xuICAgICAgICBsZXQgbWFza1NwYW46IEhUTUxFbGVtZW50O1xuICAgICAgICBpZiAodGhpcy5vcHRpb25zLm1hc2spIHtcbiAgICAgICAgICBtYXNrU3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgICBtYXNrU3Bhbi5jbGFzc0xpc3QuYWRkKCdzcGxpdC10ZXh0LW1hc2snKTtcbiAgICAgICAgICBtYXNrU3Bhbi5zdHlsZS5kaXNwbGF5ID0gJ2lubGluZS1ibG9jayc7XG4gICAgICAgICAgbWFza1NwYW4uc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcbiAgICAgICAgICBtYXNrU3Bhbi5zdHlsZS50ZXh0SW5kZW50ID0gJzAnO1xuICAgICAgICAgIG1hc2tTcGFuLnN0eWxlLnZlcnRpY2FsQWxpZ24gPSAndG9wJztcbiAgICAgICAgICBtYXNrU3Bhbi5hcHBlbmRDaGlsZCh3b3JkKVxuICAgICAgICAgIG5vZGUucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobWFza1NwYW4sIG5vZGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5vZGUucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUod29yZCwgbm9kZSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzcGFjZVNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgIHNwYWNlU3Bhbi5jbGFzc0xpc3QuYWRkKCdzcGxpdC10ZXh0LXNwYWNlJyk7XG4gICAgICAgIHNwYWNlU3Bhbi5zdHlsZS5kaXNwbGF5ID0gJ2lubGluZSc7XG4gICAgICAgIHNwYWNlU3Bhbi5pbm5lckhUTUwgPSAnICc7XG5cbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5tYXNrKSB7XG4gICAgICAgICAgbm9kZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzcGFjZVNwYW4sIG1hc2tTcGFuLm5leHRTaWJsaW5nKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBub2RlLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHNwYWNlU3Bhbiwgd29yZC5uZXh0U2libGluZyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaWR4ID09PSB0aGlzLndvcmRzQXJyYXlbaW5kZXhdLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICBub2RlLnJlbW92ZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHNwbGl0Tm9kZXNJbnRvV29yZHMod29yZCkge1xuICAgIGNvbnN0IHdvcmRzID0gd29yZC50ZXh0Q29udGVudC5zcGxpdCgnICcpO1xuXG4gICAgaWYgKHdvcmRzWzBdID09PSAnJykge1xuICAgICAgd29yZHMuc3BsaWNlKDAsIDEpO1xuICAgIH1cblxuICAgIGlmICh3b3Jkc1t3b3Jkcy5sZW5ndGggLSAxXSA9PT0gJycpIHtcbiAgICAgIHdvcmRzLnNwbGljZSh3b3Jkcy5sZW5ndGggLSAxLCAxKTtcbiAgICB9XG5cbiAgICByZXR1cm4gd29yZHMubWFwKGl0ZW0gPT4gaXRlbS5zcGxpdCgnJykpO1xuICB9XG5cbiAgZ2V0TGluZXMoZWxlbWVudHMpIHtcbiAgICBjb25zdCBsaW5lRWxlbWVudHMgPSBbXTtcbiAgICBsZXQgbGluZSA9IFtdO1xuICAgIGxldCBsaW5lSW5kZXggPSAwO1xuXG4gICAgZWxlbWVudHMuZm9yRWFjaCgoZWwsIGluZGV4KSA9PiB7XG5cbiAgICAgIGNvbnN0IGZpcnN0RWxUb3AgPSBlbGVtZW50c1tsaW5lSW5kZXhdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcbiAgICAgIGNvbnN0IGxhc3RFbEluZGV4ID0gZWxlbWVudHMubGVuZ3RoIC0gMTtcblxuICAgICAgaWYgKGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCA9PT0gZmlyc3RFbFRvcCkge1xuICAgICAgICBsaW5lLnB1c2goZWwpO1xuICAgICAgICBpZiAoaW5kZXggPT09IGxhc3RFbEluZGV4KSB7XG4gICAgICAgICAgbGluZUVsZW1lbnRzLnB1c2gobGluZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxpbmVFbGVtZW50cy5wdXNoKGxpbmUpO1xuICAgICAgICBsaW5lSW5kZXggPSBpbmRleDtcbiAgICAgICAgbGluZSA9IFtdO1xuICAgICAgICBsaW5lLnB1c2goZWwpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGxpbmVFbGVtZW50cztcbiAgfVxuXG4gIHVwZGF0ZU9uUmVzaXplKCkge1xuICAgIGZyb21FdmVudDxVSUV2ZW50Pih3aW5kb3csICdyZXNpemUnKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0TGluZXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgc2V0TGluZXMoKSB7XG4gICAgdGhpcy5saW5lV29yZHMgPSB0aGlzLmdldExpbmVzKHRoaXMud29yZHMpO1xuICAgIGlmICghdGhpcy5vcHRpb25zLm9ubHlXb3Jkcykge1xuICAgICAgdGhpcy5saW5lQ2hhcnMgPSB0aGlzLmdldExpbmVzKHRoaXMuY2hhcnMpO1xuICAgIH1cbiAgfVxufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtbm9kZXMuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL3lhbi9EZXNrdG9wL25nLWd4LXNwbGl0LXRleHQtZGVtby9wcm9qZWN0cy9uZy1neC1zcGxpdC10ZXh0L3NyYy8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9zcGxpdC1ub2Rlcy9zcGxpdC1ub2Rlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2pDLE1BQU0sT0FBTyxVQUFVO0lBRXJCLFlBQ1UsV0FBbUIsRUFDbkIsRUFBZSxFQUNmLE9BQWdCO1FBRmhCLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBSTFCLFVBQUssR0FBa0IsRUFBRSxDQUFDO1FBQzFCLFVBQUssR0FBa0IsRUFBRSxDQUFDO1FBQzFCLGNBQVMsR0FBa0IsRUFBRSxDQUFDO1FBQzlCLGNBQVMsR0FBa0IsRUFBRSxDQUFDO1FBRTlCLGVBQVUsR0FBb0IsRUFBRSxDQUFDO1FBQ2pDLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFWCxjQUFTLEdBQUc7WUFDVixZQUFZLEVBQUUsQ0FBQztZQUNmLGNBQWMsRUFBRSxDQUFDO1lBQ2pCLFNBQVMsRUFBRSxDQUFDO1lBQ1osa0JBQWtCLEVBQUUsQ0FBQztZQUNyQixxQkFBcUIsRUFBRSxDQUFDO1lBQ3hCLFdBQVcsRUFBRSxDQUFDO1lBQ2QsMkJBQTJCLEVBQUUsQ0FBQztZQUM5QixZQUFZLEVBQUUsQ0FBQztZQUNmLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLGtCQUFrQixFQUFFLEVBQUU7WUFDdEIsc0JBQXNCLEVBQUUsRUFBRTtZQUMxQixhQUFhLEVBQUUsRUFBRTtTQUNsQixDQUFDO0lBdkJGLENBQUM7SUF5QkQsY0FBYztRQUNaLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLElB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bnQiOlsiaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPcHRpb25zIH0gZnJvbSBcIi4uLy4uL21vZGVscy9vcHRpb25zXCI7XG5cbmV4cG9ydCBjbGFzcyBTcGxpdE5vZGVzIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRleHRDb250ZW50OiBzdHJpbmcsXG4gICAgcHJpdmF0ZSBlbDogSFRNTEVsZW1lbnQsXG4gICAgcHJpdmF0ZSBvcHRpb25zOiBPcHRpb25zXG4gICkge1xuICB9XG5cbiAgd29yZHM6IEhUTUxFbGVtZW50W10gPSBbXTtcbiAgY2hhcnM6IEhUTUxFbGVtZW50W10gPSBbXTtcbiAgbGluZVdvcmRzOiBIVE1MRWxlbWVudFtdID0gW107XG4gIGxpbmVDaGFyczogSFRNTEVsZW1lbnRbXSA9IFtdO1xuXG4gIHdvcmRzQXJyYXk6IEhUTUxFbGVtZW50W11bXSA9IFtdO1xuICBub2RlcyA9IFtdO1xuXG4gIG5vZGVUeXBlcyA9IHtcbiAgICBFTEVNRU5UX05PREU6IDEsXG4gICAgQVRUUklCVVRFX05PREU6IDIsXG4gICAgVEVYVF9OT0RFOiAzLFxuICAgIENEQVRBX1NFQ1RJT05fTk9ERTogNCxcbiAgICBFTlRJVFlfUkVGRVJFTkNFX05PREU6IDUsXG4gICAgRU5USVRZX05PREU6IDYsXG4gICAgUFJPQ0VTU0lOR19JTlNUUlVDVElPTl9OT0RFOiA3LFxuICAgIENPTU1FTlRfTk9ERTogOCxcbiAgICBET0NVTUVOVF9OT0RFOiA5LFxuICAgIERPQ1VNRU5UX1RZUEVfTk9ERTogMTAsXG4gICAgRE9DVU1FTlRfRlJBR01FTlRfTk9ERTogMTEsXG4gICAgTk9UQVRJT05fTk9ERTogMTJcbiAgfTtcblxuICBpbml0U3BsaXROb2RlcygpIHtcbiAgICB0aGlzLnNwbGl0Tm9kZXModGhpcy5lbCk7XG4gICAgdGhpcy5pbml0TmV3Tm9kZXMoKTtcbiAgICB0aGlzLnNldExpbmVzKCk7XG4gICAgdGhpcy51cGRhdGVPblJlc2l6ZSgpO1xuICB9XG5cblxuICBzcGxpdE5vZGVzKGVsKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbC5jaGlsZE5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBub2RlID0gZWwuY2hpbGROb2Rlc1tpXTtcbiAgICAgIGNvbnN0IHRhZyA9IFt0aGlzLm5vZGVUeXBlcy5FTEVNRU5UX05PREUsIHRoaXMubm9kZVR5cGVzLkRPQ1VNRU5UX05PREUsIHRoaXMubm9kZVR5cGVzLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREVdLmluZGV4T2Yobm9kZS5ub2RlVHlwZSkgIT09IC0xO1xuICAgICAgY29uc3QgdGV4dCA9IFt0aGlzLm5vZGVUeXBlcy5URVhUX05PREUsIHRoaXMubm9kZVR5cGVzLkNEQVRBX1NFQ1RJT05fTk9ERV0uaW5kZXhPZihub2RlLm5vZGVUeXBlKSAhPT0gLTE7XG5cbiAgICAgIGlmICh0YWcpIHtcbiAgICAgICAgdGhpcy5zcGxpdE5vZGVzKG5vZGUpO1xuICAgICAgfSBlbHNlIGlmICh0ZXh0KSB7XG4gICAgICAgIGNvbnN0IHdvcmRzID0gdGhpcy5zcGxpdE5vZGVzSW50b1dvcmRzKG5vZGUpO1xuXG4gICAgICAgIGNvbnN0IHdvcmRzQXJyYXkgPSBbXTtcbiAgICAgICAgd29yZHMuZm9yRWFjaChjaGFycyA9PiB7XG4gICAgICAgICAgY29uc3Qgd29yZFNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgICAgd29yZFNwYW4uY2xhc3NMaXN0LmFkZCgnc3BsaXQtdGV4dC13b3JkJyk7XG4gICAgICAgICAgd29yZFNwYW4uc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUtYmxvY2snO1xuICAgICAgICAgIHdvcmRTcGFuLnN0eWxlLnRleHRJbmRlbnQgPSAnMCc7XG5cbiAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLm9ubHlXb3Jkcykge1xuICAgICAgICAgICAgd29yZFNwYW4uaW5uZXJIVE1MID0gY2hhcnMuam9pbignJyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNoYXJzLmZvckVhY2goY2hhciA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGNoYXJTcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgICAgICAgICBjaGFyU3Bhbi5jbGFzc0xpc3QuYWRkKCdzcGxpdC10ZXh0LWNoYXInKTtcbiAgICAgICAgICAgICAgY2hhclNwYW4uc3R5bGUuZGlzcGxheSA9ICdpbmhlcml0JztcbiAgICAgICAgICAgICAgY2hhclNwYW4uc3R5bGUudGV4dEluZGVudCA9ICcwJztcbiAgICAgICAgICAgICAgY2hhclNwYW4uaW5uZXJIVE1MID0gY2hhcjtcbiAgICAgICAgICAgICAgd29yZFNwYW4uYXBwZW5kQ2hpbGQoY2hhclNwYW4pO1xuICAgICAgICAgICAgICB0aGlzLmNoYXJzLnB1c2goY2hhclNwYW4pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgd29yZHNBcnJheS5wdXNoKHdvcmRTcGFuKTtcbiAgICAgICAgICB0aGlzLndvcmRzLnB1c2god29yZFNwYW4pO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLndvcmRzQXJyYXkucHVzaCh3b3Jkc0FycmF5KTtcbiAgICAgICAgdGhpcy5ub2Rlcy5wdXNoKG5vZGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGluaXROZXdOb2RlcygpIHtcbiAgICB0aGlzLm5vZGVzLmZvckVhY2goKG5vZGUsIGluZGV4KSA9PiB7XG4gICAgICB0aGlzLndvcmRzQXJyYXlbaW5kZXhdLmZvckVhY2goKHdvcmQsIGlkeCkgPT4ge1xuICAgICAgICBsZXQgbWFza1NwYW46IEhUTUxFbGVtZW50O1xuICAgICAgICBpZiAodGhpcy5vcHRpb25zLm1hc2spIHtcbiAgICAgICAgICBtYXNrU3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgICBtYXNrU3Bhbi5jbGFzc0xpc3QuYWRkKCdzcGxpdC10ZXh0LW1hc2snKTtcbiAgICAgICAgICBtYXNrU3Bhbi5zdHlsZS5kaXNwbGF5ID0gJ2lubGluZS1ibG9jayc7XG4gICAgICAgICAgbWFza1NwYW4uc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcbiAgICAgICAgICBtYXNrU3Bhbi5zdHlsZS50ZXh0SW5kZW50ID0gJzAnO1xuICAgICAgICAgIG1hc2tTcGFuLnN0eWxlLnZlcnRpY2FsQWxpZ24gPSAndG9wJztcbiAgICAgICAgICBtYXNrU3Bhbi5hcHBlbmRDaGlsZCh3b3JkKVxuICAgICAgICAgIG5vZGUucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobWFza1NwYW4sIG5vZGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5vZGUucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUod29yZCwgbm9kZSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzcGFjZVNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgIHNwYWNlU3Bhbi5jbGFzc0xpc3QuYWRkKCdzcGxpdC10ZXh0LXNwYWNlJyk7XG4gICAgICAgIHNwYWNlU3Bhbi5zdHlsZS5kaXNwbGF5ID0gJ2lubGluZSc7XG4gICAgICAgIHNwYWNlU3Bhbi5pbm5lckhUTUwgPSAnICc7XG5cbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5tYXNrKSB7XG4gICAgICAgICAgbm9kZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzcGFjZVNwYW4sIG1hc2tTcGFuLm5leHRTaWJsaW5nKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBub2RlLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHNwYWNlU3Bhbiwgd29yZC5uZXh0U2libGluZyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaWR4ID09PSB0aGlzLndvcmRzQXJyYXlbaW5kZXhdLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICBub2RlLnJlbW92ZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHNwbGl0Tm9kZXNJbnRvV29yZHMod29yZCkge1xuICAgIGNvbnN0IHdvcmRzID0gd29yZC50ZXh0Q29udGVudC5zcGxpdCgnICcpO1xuXG4gICAgaWYgKHdvcmRzWzBdID09PSAnJykge1xuICAgICAgd29yZHMuc3BsaWNlKDAsIDEpO1xuICAgIH1cblxuICAgIGlmICh3b3Jkc1t3b3Jkcy5sZW5ndGggLSAxXSA9PT0gJycpIHtcbiAgICAgIHdvcmRzLnNwbGljZSh3b3Jkcy5sZW5ndGggLSAxLCAxKTtcbiAgICB9XG5cbiAgICByZXR1cm4gd29yZHMubWFwKGl0ZW0gPT4gaXRlbS5zcGxpdCgnJykpO1xuICB9XG5cbiAgZ2V0TGluZXMoZWxlbWVudHMpIHtcbiAgICBjb25zdCBsaW5lRWxlbWVudHMgPSBbXTtcbiAgICBsZXQgbGluZSA9IFtdO1xuICAgIGxldCBsaW5lSW5kZXggPSAwO1xuXG4gICAgZWxlbWVudHMuZm9yRWFjaCgoZWwsIGluZGV4KSA9PiB7XG5cbiAgICAgIGNvbnN0IGZpcnN0RWxUb3AgPSBlbGVtZW50c1tsaW5lSW5kZXhdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcbiAgICAgIGNvbnN0IGxhc3RFbEluZGV4ID0gZWxlbWVudHMubGVuZ3RoIC0gMTtcblxuICAgICAgaWYgKGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCA9PT0gZmlyc3RFbFRvcCkge1xuICAgICAgICBsaW5lLnB1c2goZWwpO1xuICAgICAgICBpZiAoaW5kZXggPT09IGxhc3RFbEluZGV4KSB7XG4gICAgICAgICAgbGluZUVsZW1lbnRzLnB1c2gobGluZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxpbmVFbGVtZW50cy5wdXNoKGxpbmUpO1xuICAgICAgICBsaW5lSW5kZXggPSBpbmRleDtcbiAgICAgICAgbGluZSA9IFtdO1xuICAgICAgICBsaW5lLnB1c2goZWwpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGxpbmVFbGVtZW50cztcbiAgfVxuXG4gIHVwZGF0ZU9uUmVzaXplKCkge1xuICAgIGZyb21FdmVudDxVSUV2ZW50Pih3aW5kb3csICdyZXNpemUnKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0TGluZXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgc2V0TGluZXMoKSB7XG4gICAgdGhpcy5saW5lV29yZHMgPSB0aGlzLmdldExpbmVzKHRoaXMud29yZHMpO1xuICAgIGlmICghdGhpcy5vcHRpb25zLm9ubHlXb3Jkcykge1xuICAgICAgdGhpcy5saW5lQ2hhcnMgPSB0aGlzLmdldExpbmVzKHRoaXMuY2hhcnMpO1xuICAgIH1cbiAgfVxufVxuIl19 |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/** | ||
* Generated bundle index. Do not edit. | ||
*/ | ||
export { NgGxSplitTextDirective, defaultOptions, NgGxSplitTextModule } from './public-api'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZ3gtc3BsaXQtdGV4dC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWd4LXNwbGl0LXRleHQvIiwic291cmNlcyI6WyJuZy1neC1zcGxpdC10ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSw0RUFBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0= | ||
export * from './public-api'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZ3gtc3BsaXQtdGV4dC5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMveWFuL0Rlc2t0b3AvbmctZ3gtc3BsaXQtdGV4dC1kZW1vL3Byb2plY3RzL25nLWd4LXNwbGl0LXRleHQvc3JjLyIsInNvdXJjZXMiOlsibmctZ3gtc3BsaXQtdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19 |
@@ -1,12 +0,8 @@ | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/* | ||
* Public API Surface of ng-gx-split-text | ||
*/ | ||
export { NgGxSplitTextDirective } from './lib/directives/ng-gx-split-text.directive'; | ||
export {} from './lib/models/options'; | ||
export { defaultOptions } from './lib/models/default-options'; | ||
export { NgGxSplitTextModule } from './lib/ng-gx-split-text.module'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWd4LXNwbGl0LXRleHQvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSx1Q0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxlQUFjLHNCQUFzQixDQUFDO0FBQ3JDLCtCQUFjLDhCQUE4QixDQUFDO0FBQzdDLG9DQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZy1neC1zcGxpdC10ZXh0XG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9uZy1neC1zcGxpdC10ZXh0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGVmYXVsdC1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25nLWd4LXNwbGl0LXRleHQubW9kdWxlJztcbiJdfQ== | ||
export * from './lib/directives/ng-gx-split-text.directive'; | ||
export * from './lib/models/options'; | ||
export * from './lib/models/default-options'; | ||
export * from './lib/ng-gx-split-text.module'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMveWFuL0Rlc2t0b3AvbmctZ3gtc3BsaXQtdGV4dC1kZW1vL3Byb2plY3RzL25nLWd4LXNwbGl0LXRleHQvc3JjLyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5nLWd4LXNwbGl0LXRleHRcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL25nLWd4LXNwbGl0LXRleHQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kZWZhdWx0LW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmctZ3gtc3BsaXQtdGV4dC5tb2R1bGUnO1xuIl19 |
import { Directive, ElementRef, Input, NgModule } from '@angular/core'; | ||
import { fromEvent } from 'rxjs'; | ||
import { CommonModule } from '@angular/common'; | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/** @type {?} */ | ||
const objectProto = Object.prototype; | ||
/** @type {?} */ | ||
const hasOwnProperty = objectProto.hasOwnProperty; | ||
/** | ||
* @param {?} object | ||
* @param {...?} sources | ||
* @return {?} | ||
*/ | ||
function defaults(object, ...sources) { | ||
object = Object(object); | ||
sources.forEach((/** | ||
* @param {?} source | ||
* @return {?} | ||
*/ | ||
(source) => { | ||
sources.forEach((source) => { | ||
if (source != null) { | ||
@@ -29,3 +13,2 @@ source = Object(source); | ||
if (source.hasOwnProperty(key)) { | ||
/** @type {?} */ | ||
const value = object[key]; | ||
@@ -39,10 +22,5 @@ if (value === undefined || | ||
} | ||
})); | ||
}); | ||
return object; | ||
} | ||
/** | ||
* @param {?} value | ||
* @param {?} other | ||
* @return {?} | ||
*/ | ||
function eq(value, other) { | ||
@@ -52,7 +30,2 @@ return value === other || (value !== value && other !== other); | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/** @type {?} */ | ||
const defaultOptions = { | ||
@@ -64,12 +37,3 @@ defer: false, | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
class SplitNodes { | ||
/** | ||
* @param {?} textContent | ||
* @param {?} el | ||
* @param {?} options | ||
*/ | ||
constructor(textContent, el, options) { | ||
@@ -100,5 +64,2 @@ this.textContent = textContent; | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
initSplitNodes() { | ||
@@ -110,13 +71,6 @@ this.splitNodes(this.el); | ||
} | ||
/** | ||
* @param {?} el | ||
* @return {?} | ||
*/ | ||
splitNodes(el) { | ||
for (let i = 0; i < el.childNodes.length; i++) { | ||
/** @type {?} */ | ||
const node = el.childNodes[i]; | ||
/** @type {?} */ | ||
const tag = [this.nodeTypes.ELEMENT_NODE, this.nodeTypes.DOCUMENT_NODE, this.nodeTypes.DOCUMENT_FRAGMENT_NODE].indexOf(node.nodeType) !== -1; | ||
/** @type {?} */ | ||
const text = [this.nodeTypes.TEXT_NODE, this.nodeTypes.CDATA_SECTION_NODE].indexOf(node.nodeType) !== -1; | ||
@@ -127,12 +81,5 @@ if (tag) { | ||
else if (text) { | ||
/** @type {?} */ | ||
const words = this.splitNodesIntoWords(node); | ||
/** @type {?} */ | ||
const wordsArray = []; | ||
words.forEach((/** | ||
* @param {?} chars | ||
* @return {?} | ||
*/ | ||
chars => { | ||
/** @type {?} */ | ||
words.forEach(chars => { | ||
const wordSpan = document.createElement('span'); | ||
@@ -146,8 +93,3 @@ wordSpan.classList.add('split-text-word'); | ||
else { | ||
chars.forEach((/** | ||
* @param {?} char | ||
* @return {?} | ||
*/ | ||
char => { | ||
/** @type {?} */ | ||
chars.forEach(char => { | ||
const charSpan = document.createElement('span'); | ||
@@ -160,7 +102,7 @@ charSpan.classList.add('split-text-char'); | ||
this.chars.push(charSpan); | ||
})); | ||
}); | ||
} | ||
wordsArray.push(wordSpan); | ||
this.words.push(wordSpan); | ||
})); | ||
}); | ||
this.wordsArray.push(wordsArray); | ||
@@ -171,19 +113,5 @@ this.nodes.push(node); | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
initNewNodes() { | ||
this.nodes.forEach((/** | ||
* @param {?} node | ||
* @param {?} index | ||
* @return {?} | ||
*/ | ||
(node, index) => { | ||
this.wordsArray[index].forEach((/** | ||
* @param {?} word | ||
* @param {?} idx | ||
* @return {?} | ||
*/ | ||
(word, idx) => { | ||
/** @type {?} */ | ||
this.nodes.forEach((node, index) => { | ||
this.wordsArray[index].forEach((word, idx) => { | ||
let maskSpan; | ||
@@ -203,3 +131,2 @@ if (this.options.mask) { | ||
} | ||
/** @type {?} */ | ||
const spaceSpan = document.createElement('span'); | ||
@@ -218,11 +145,6 @@ spaceSpan.classList.add('split-text-space'); | ||
} | ||
})); | ||
})); | ||
}); | ||
}); | ||
} | ||
/** | ||
* @param {?} word | ||
* @return {?} | ||
*/ | ||
splitNodesIntoWords(word) { | ||
/** @type {?} */ | ||
const words = word.textContent.split(' '); | ||
@@ -235,28 +157,10 @@ if (words[0] === '') { | ||
} | ||
return words.map((/** | ||
* @param {?} item | ||
* @return {?} | ||
*/ | ||
item => item.split(''))); | ||
return words.map(item => item.split('')); | ||
} | ||
/** | ||
* @param {?} elements | ||
* @return {?} | ||
*/ | ||
getLines(elements) { | ||
/** @type {?} */ | ||
const lineElements = []; | ||
/** @type {?} */ | ||
let line = []; | ||
/** @type {?} */ | ||
let lineIndex = 0; | ||
elements.forEach((/** | ||
* @param {?} el | ||
* @param {?} index | ||
* @return {?} | ||
*/ | ||
(el, index) => { | ||
/** @type {?} */ | ||
elements.forEach((el, index) => { | ||
const firstElTop = elements[lineIndex].getBoundingClientRect().top; | ||
/** @type {?} */ | ||
const lastElIndex = elements.length - 1; | ||
@@ -275,20 +179,11 @@ if (el.getBoundingClientRect().top === firstElTop) { | ||
} | ||
})); | ||
}); | ||
return lineElements; | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
updateOnResize() { | ||
fromEvent(window, 'resize') | ||
.subscribe((/** | ||
* @return {?} | ||
*/ | ||
() => { | ||
.subscribe(() => { | ||
this.setLines(); | ||
})); | ||
}); | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
setLines() { | ||
@@ -301,49 +196,9 @@ this.lineWords = this.getLines(this.words); | ||
} | ||
if (false) { | ||
/** @type {?} */ | ||
SplitNodes.prototype.words; | ||
/** @type {?} */ | ||
SplitNodes.prototype.chars; | ||
/** @type {?} */ | ||
SplitNodes.prototype.lineWords; | ||
/** @type {?} */ | ||
SplitNodes.prototype.lineChars; | ||
/** @type {?} */ | ||
SplitNodes.prototype.wordsArray; | ||
/** @type {?} */ | ||
SplitNodes.prototype.nodes; | ||
/** @type {?} */ | ||
SplitNodes.prototype.nodeTypes; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
SplitNodes.prototype.textContent; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
SplitNodes.prototype.el; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
SplitNodes.prototype.options; | ||
} | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
class NgGxSplitTextDirective { | ||
/** | ||
* @param {?} el | ||
*/ | ||
constructor(el) { | ||
this.el = el; | ||
this.options = defaultOptions; | ||
this.init = false; | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
ngOnInit() { | ||
@@ -353,5 +208,2 @@ this.setCurrentOptions(); | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
ngAfterViewInit() { | ||
@@ -362,5 +214,2 @@ if (!this.currentOptions.defer) { | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
initSplit() { | ||
@@ -375,24 +224,11 @@ if (this.init) { | ||
} | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
saveSrcText() { | ||
this.srcTextContent = this.el.nativeElement.innerHTML; | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
get words() { | ||
return this.splitNodes.words; | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
get lineWords() { | ||
return this.splitNodes.lineWords; | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
get chars() { | ||
@@ -405,5 +241,2 @@ if (this.options.onlyWords) { | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
get lineChars() { | ||
@@ -416,37 +249,17 @@ if (this.options.onlyWords) { | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
get nativeElement() { | ||
return this.el.nativeElement; | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
get srcText() { | ||
return this.srcTextContent; | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
get isInit() { | ||
return this.init; | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
resetSplit() { | ||
this.nativeElement.innerHTML = this.srcText; | ||
} | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
setCurrentOptions() { | ||
this.currentOptions = defaults(this.options, defaultOptions); | ||
} | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
initSplitNodes() { | ||
@@ -461,3 +274,2 @@ this.splitNodes = new SplitNodes(this.el.nativeElement.textContent, this.el.nativeElement, this.currentOptions); | ||
]; | ||
/** @nocollapse */ | ||
NgGxSplitTextDirective.ctorParameters = () => [ | ||
@@ -467,55 +279,5 @@ { type: ElementRef } | ||
NgGxSplitTextDirective.propDecorators = { | ||
options: [{ type: Input, args: ['ngGxSplitText',] }] | ||
options: [{ type: Input, args: ['splitOptions',] }] | ||
}; | ||
if (false) { | ||
/** @type {?} */ | ||
NgGxSplitTextDirective.prototype.options; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
NgGxSplitTextDirective.prototype.srcTextContent; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
NgGxSplitTextDirective.prototype.init; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
NgGxSplitTextDirective.prototype.currentOptions; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
NgGxSplitTextDirective.prototype.splitNodes; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
NgGxSplitTextDirective.prototype.el; | ||
} | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/** | ||
* @record | ||
*/ | ||
function Options() { } | ||
if (false) { | ||
/** @type {?|undefined} */ | ||
Options.prototype.defer; | ||
/** @type {?|undefined} */ | ||
Options.prototype.onlyWords; | ||
/** @type {?|undefined} */ | ||
Options.prototype.mask; | ||
} | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
class NgGxSplitTextModule { | ||
@@ -525,22 +287,14 @@ } | ||
{ type: NgModule, args: [{ | ||
declarations: [ | ||
NgGxSplitTextDirective, | ||
], | ||
imports: [ | ||
CommonModule, | ||
], | ||
exports: [ | ||
NgGxSplitTextDirective, | ||
], | ||
declarations: [NgGxSplitTextDirective], | ||
imports: [], | ||
exports: [NgGxSplitTextDirective] | ||
},] } | ||
]; | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
/* | ||
* Public API Surface of ng-gx-split-text | ||
*/ | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* Generated bundle index. Do not edit. | ||
*/ | ||
@@ -547,0 +301,0 @@ |
@@ -15,9 +15,9 @@ import { AfterViewInit, ElementRef, OnInit } from '@angular/core'; | ||
private saveSrcText; | ||
readonly words: HTMLElement[]; | ||
readonly lineWords: HTMLElement[]; | ||
readonly chars: HTMLElement[]; | ||
readonly lineChars: HTMLElement[]; | ||
readonly nativeElement: HTMLElement; | ||
readonly srcText: string; | ||
readonly isInit: boolean; | ||
get words(): HTMLElement[]; | ||
get lineWords(): HTMLElement[]; | ||
get chars(): HTMLElement[]; | ||
get lineChars(): HTMLElement[]; | ||
get nativeElement(): HTMLElement; | ||
get srcText(): string; | ||
get isInit(): boolean; | ||
resetSplit(): void; | ||
@@ -24,0 +24,0 @@ private setCurrentOptions; |
@@ -1,1 +0,1 @@ | ||
{"__symbolic":"module","version":4,"metadata":{"NgGxSplitTextDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":6,"character":1},"arguments":[{"selector":"[ngGxSplitText], ngGxSplitText"}]}],"members":{"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3},"arguments":["ngGxSplitText"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":19,"character":27,"context":{"typeName":"HTMLElement"},"module":"./lib/directives/ng-gx-split-text.directive"}]}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"initSplit":[{"__symbolic":"method"}],"saveSrcText":[{"__symbolic":"method"}],"resetSplit":[{"__symbolic":"method"}],"setCurrentOptions":[{"__symbolic":"method"}],"initSplitNodes":[{"__symbolic":"method"}]}},"Options":{"__symbolic":"interface"},"defaultOptions":{"defer":false,"onlyWords":false,"mask":false},"NgGxSplitTextModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":5,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"NgGxSplitTextDirective"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":10,"character":4}],"exports":[{"__symbolic":"reference","name":"NgGxSplitTextDirective"}]}]}],"members":{}}},"origins":{"NgGxSplitTextDirective":"./lib/directives/ng-gx-split-text.directive","Options":"./lib/models/options","defaultOptions":"./lib/models/default-options","NgGxSplitTextModule":"./lib/ng-gx-split-text.module"},"importAs":"ng-gx-split-text"} | ||
{"__symbolic":"module","version":4,"metadata":{"NgGxSplitTextDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":6,"character":1},"arguments":[{"selector":"[ngGxSplitText], ngGxSplitText"}]}],"members":{"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3},"arguments":["splitOptions"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":19,"character":27,"context":{"typeName":"HTMLElement"},"module":"./lib/directives/ng-gx-split-text.directive"}]}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"initSplit":[{"__symbolic":"method"}],"saveSrcText":[{"__symbolic":"method"}],"resetSplit":[{"__symbolic":"method"}],"setCurrentOptions":[{"__symbolic":"method"}],"initSplitNodes":[{"__symbolic":"method"}]}},"Options":{"__symbolic":"interface"},"defaultOptions":{"defer":false,"onlyWords":false,"mask":false},"NgGxSplitTextModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":5,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"NgGxSplitTextDirective"}],"imports":[],"exports":[{"__symbolic":"reference","name":"NgGxSplitTextDirective"}]}]}],"members":{}}},"origins":{"NgGxSplitTextDirective":"./lib/directives/ng-gx-split-text.directive","Options":"./lib/models/options","defaultOptions":"./lib/models/default-options","NgGxSplitTextModule":"./lib/ng-gx-split-text.module"},"importAs":"ng-gx-split-text"} |
{ | ||
"name": "ng-gx-split-text", | ||
"version": "0.5.0", | ||
"description": "This is a utility for Angular, allowing you to split the text into words and chars, for subsequent animation", | ||
"version": "0.2.3", | ||
"author": { | ||
@@ -13,3 +13,2 @@ "name": "Yan Merkushin", | ||
"name": "Denis Kildishev", | ||
"email": "denis@kildishev.ru", | ||
"url": "https://github.com/f1nality" | ||
@@ -45,18 +44,16 @@ } | ||
"peerDependencies": { | ||
"@angular/common": "^8.2.0", | ||
"@angular/core": "^8.2.0" | ||
"@angular/common": "^10.1.5", | ||
"@angular/core": "^10.1.5" | ||
}, | ||
"dependencies": { | ||
"tslib": "^2.0.0" | ||
}, | ||
"main": "bundles/ng-gx-split-text.umd.js", | ||
"module": "fesm5/ng-gx-split-text.js", | ||
"module": "fesm2015/ng-gx-split-text.js", | ||
"es2015": "fesm2015/ng-gx-split-text.js", | ||
"esm5": "esm5/ng-gx-split-text.js", | ||
"esm2015": "esm2015/ng-gx-split-text.js", | ||
"fesm5": "fesm5/ng-gx-split-text.js", | ||
"fesm2015": "fesm2015/ng-gx-split-text.js", | ||
"typings": "ng-gx-split-text.d.ts", | ||
"metadata": "ng-gx-split-text.metadata.json", | ||
"sideEffects": false, | ||
"dependencies": { | ||
"tslib": "^1.9.0" | ||
} | ||
"sideEffects": false | ||
} |
@@ -27,4 +27,4 @@ [![Badge](https://img.shields.io/npm/v/ng-gx-split-text?style=flat-square)](https://www.npmjs.com/package/ng-gx-split-text) | ||
## Getting started | ||
### Step 1: Install `ng-gx-split-text`: | ||
```shell | ||
### Step 1: Install `ng-gx-split-text` ([npm](https://www.npmjs.com/package/ng-gx-split-text)): | ||
```she | ||
npm install ng-gx-split-text | ||
@@ -108,3 +108,3 @@ ``` | ||
| NgGxSplitText | Split your text (all `options` is default) | | ||
| [NgGxSplitText] | Split your text (custom `options`)| | ||
| [splitOptions] | Split your text (custom `options`)| | ||
@@ -115,2 +115,4 @@ ### Options | ||
| defer | `boolean` | `false` | Defer initiation (for manual initiation use `initSplit()`) | | ||
| mask | `boolean` | `false` | Add mask/wrap (overflow: hidden) for words| | ||
| onlyWords | `boolean` | `false` | Split only words without chars | | ||
@@ -120,3 +122,3 @@ #### Example: | ||
<p #text ngGxSplitText>Lorem ipsum dolor...</p> // Default options | ||
<p #text [ngGxSplitText]="{defer: true, ...}">Lorem ipsum dolor...</p> // Custom options | ||
<p #text ngGxSplitText [splitOptions]="{defer: true, ...}">Lorem ipsum dolor...</p> // Custom options | ||
``` | ||
@@ -123,0 +125,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
154
122711
26
975
1
+ Added@angular/common@10.2.5(transitive)
+ Added@angular/core@10.2.5(transitive)
+ Addedtslib@2.7.0(transitive)
+ Addedzone.js@0.10.3(transitive)
- Removed@angular/common@8.2.14(transitive)
- Removed@angular/core@8.2.14(transitive)
- Removedzone.js@0.9.1(transitive)
Updatedtslib@^2.0.0