@project161/yang-furigana
Version:
An easy way to use <ruby> tags in Angular
2 lines • 1.67 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core")):"function"==typeof define&&define.amd?define("@project161/yang-furigana",["exports","@angular/core"],t):t(((e=e||self).project161=e.project161||{},e.project161["yang-furigana"]={}),e.ng.core)}(this,(function(e,t){"use strict";var n=function(){function e(e,t){this.el=e,this.renderer=t}return e.prototype.ngAfterViewInit=function(){if(this.isValidElement()){var e=this.generateRubyTag();this.renderer.setProperty(this.el.nativeElement,"innerHTML",e)}else console.warn("Warning: yangFurigana works only on <span> elements without children.")},e.prototype.isValidElement=function(){return"span"===this.el.nativeElement.nodeName.toLowerCase()&&0===this.el.nativeElement.childElementCount},e.prototype.generateRubyTag=function(){var e="";this.yangFuriganaClass&&(e=" "+this.el.nativeElement.attributes[0].name+' class="'+this.yangFuriganaClass+'"');this.yangFuriganaStyle&&(e+=' style="'+this.yangFuriganaStyle+'"');var t="<rp>(</rp><rt"+e+">"+this.yangFurigana+"</rt><rp>)</rp>";return"<ruby>"+this.el.nativeElement.innerHTML+t+"</ruby>"},e}();n.decorators=[{type:t.Directive,args:[{selector:"[yangFurigana]"}]}],n.ctorParameters=function(){return[{type:t.ElementRef},{type:t.Renderer2}]},n.propDecorators={yangFurigana:[{type:t.Input}],yangFuriganaClass:[{type:t.Input}],yangFuriganaStyle:[{type:t.Input}]};var r=function(){};r.decorators=[{type:t.NgModule,args:[{declarations:[n],imports:[],exports:[n]}]}],e.YangFuriganaDirective=n,e.YangFuriganaModule=r,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=project161-yang-furigana.umd.min.js.map