UNPKG

angular-phonetic

Version:

A simple component to easily render ruby text.

58 lines 3.89 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input } from '@angular/core'; export class AngularPhoneticComponent { constructor() { this.brackets = '()'; } /** * @return {?} */ ngOnInit() { /** @type {?} */ const parsed = this.parseBrackets(); this.left = parsed[0]; this.right = parsed[1]; } /** * @private * @return {?} */ parseBrackets() { switch (this.brackets.length) { case 0: return ['', '']; case 1: return [this.brackets, this.brackets]; default: return [this.brackets[0], this.brackets[1]]; } } } AngularPhoneticComponent.decorators = [ { type: Component, args: [{ selector: 'ng-phonetic', template: ` <ruby> <ng-content></ng-content> <rp>{{left}}</rp> <rt>{{phonetic}}</rt><rp>{{right}}</rp> </ruby> ` }] } ]; AngularPhoneticComponent.propDecorators = { phonetic: [{ type: Input }], brackets: [{ type: Input }] }; if (false) { /** @type {?} */ AngularPhoneticComponent.prototype.phonetic; /** @type {?} */ AngularPhoneticComponent.prototype.brackets; /** @type {?} */ AngularPhoneticComponent.prototype.left; /** @type {?} */ AngularPhoneticComponent.prototype.right; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1waG9uZXRpYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLXBob25ldGljLyIsInNvdXJjZXMiOlsibGliL2FuZ3VsYXItcGhvbmV0aWMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVd6RCxNQUFNLE9BQU8sd0JBQXdCO0lBVHJDO1FBWVcsYUFBUSxHQUFHLElBQUksQ0FBQztJQXFCM0IsQ0FBQzs7OztJQWpCQyxRQUFROztjQUNBLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFO1FBQ25DLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7Ozs7O0lBRU8sYUFBYTtRQUNuQixRQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQzVCLEtBQUssQ0FBQztnQkFDSixPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2xCLEtBQUssQ0FBQztnQkFDSixPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDeEM7Z0JBQ0UsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQy9DO0lBQ0gsQ0FBQzs7O1lBL0JGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsUUFBUSxFQUFFOzs7O0dBSVQ7YUFFRjs7O3VCQUdFLEtBQUs7dUJBQ0wsS0FBSzs7OztJQUROLDRDQUEwQjs7SUFDMUIsNENBQXlCOztJQUN6Qix3Q0FBYTs7SUFDYix5Q0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1waG9uZXRpYycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHJ1Ynk+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+IDxycD57e2xlZnR9fTwvcnA+IDxydD57e3Bob25ldGljfX08L3J0PjxycD57e3JpZ2h0fX08L3JwPlxuICAgIDwvcnVieT5cbiAgYCxcbiAgc3R5bGVzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyUGhvbmV0aWNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIHBob25ldGljOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGJyYWNrZXRzID0gJygpJztcbiAgbGVmdDogc3RyaW5nO1xuICByaWdodDogc3RyaW5nO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHRoaXMucGFyc2VCcmFja2V0cygpO1xuICAgIHRoaXMubGVmdCA9IHBhcnNlZFswXTtcbiAgICB0aGlzLnJpZ2h0ID0gcGFyc2VkWzFdO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZUJyYWNrZXRzKCk6IFtzdHJpbmcsIHN0cmluZ10ge1xuICAgIHN3aXRjaCAodGhpcy5icmFja2V0cy5sZW5ndGgpIHtcbiAgICAgIGNhc2UgMDpcbiAgICAgICAgcmV0dXJuIFsnJywgJyddO1xuICAgICAgY2FzZSAxOlxuICAgICAgICByZXR1cm4gW3RoaXMuYnJhY2tldHMsIHRoaXMuYnJhY2tldHNdO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIFt0aGlzLmJyYWNrZXRzWzBdLCB0aGlzLmJyYWNrZXRzWzFdXTtcbiAgICB9XG4gIH1cblxufVxuIl19