angular-made-with-love
Version:
🚀 An experimental project which demonstrates an Angular Package which contains Angular Elements and Schematics
87 lines (80 loc) • 5.86 kB
JavaScript
import { Component, Input, ViewEncapsulation, NgModule, Injector } from '@angular/core';
import { CommonModule } from '@angular/common';
import { createCustomElement } from '@angular/elements';
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
class MadeWithLoveComponent {
constructor() {
this.color = 'red';
this.size = 1;
}
/**
* @return {?}
*/
ngOnInit() {
if (!this.name || this.name.length === 0) {
console.error(`Name attribute must be provided!`);
}
}
}
MadeWithLoveComponent.decorators = [
{ type: Component, args: [{
selector: 'made-with-love',
template: `<ng-template #noUrl>
{{ name }}
</ng-template>
<span [style.font-size.em]="size">
Made with <span [style.color]="color">♥</span> by
<ng-container *ngIf="url && url.length > 0; else noUrl">
<a [attr.href]="url" target="_blank">{{ name }}</a>
</ng-container>
</span>
`,
styles: [`:host{display:inline-block}:host a,:host span{font-family:Lato,sans-serif}:host a{font-weight:700;color:#000}`],
encapsulation: ViewEncapsulation.ShadowDom
},] },
];
MadeWithLoveComponent.propDecorators = {
name: [{ type: Input }],
url: [{ type: Input }],
color: [{ type: Input }],
size: [{ type: Input }]
};
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
class MadeWithLoveModule {
/**
* @param {?} injector
*/
constructor(injector) {
this.injector = injector;
/** @type {?} */
const madeWithLoveElement = createCustomElement(MadeWithLoveComponent, { injector });
customElements.define('made-with-love', madeWithLoveElement);
}
}
MadeWithLoveModule.decorators = [
{ type: NgModule, args: [{
imports: [CommonModule],
declarations: [MadeWithLoveComponent],
entryComponents: [MadeWithLoveComponent]
},] },
];
/** @nocollapse */
MadeWithLoveModule.ctorParameters = () => [
{ type: Injector }
];
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
export { MadeWithLoveModule, MadeWithLoveComponent as ɵa };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1tYWRlLXdpdGgtbG92ZS5qcy5tYXAiLCJzb3VyY2VzIjpbIm5nOi8vYW5ndWxhci1tYWRlLXdpdGgtbG92ZS9saWIvbWFkZS13aXRoLWxvdmUuY29tcG9uZW50LnRzIiwibmc6Ly9hbmd1bGFyLW1hZGUtd2l0aC1sb3ZlL2xpYi9tYWRlLXdpdGgtbG92ZS5tb2R1bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYWRlLXdpdGgtbG92ZScsXG4gIHRlbXBsYXRlOiBgPG5nLXRlbXBsYXRlICNub1VybD5cbiAge3sgbmFtZSB9fVxuPC9uZy10ZW1wbGF0ZT5cblxuPHNwYW4gW3N0eWxlLmZvbnQtc2l6ZS5lbV09XCJzaXplXCI+XG4gIE1hZGUgd2l0aCA8c3BhbiBbc3R5bGUuY29sb3JdPVwiY29sb3JcIj7DosKZwqU8L3NwYW4+IGJ5XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ1cmwgJiYgdXJsLmxlbmd0aCA+IDA7IGVsc2Ugbm9VcmxcIj5cbiAgICA8YSBbYXR0ci5ocmVmXT1cInVybFwiIHRhcmdldD1cIl9ibGFua1wiPnt7IG5hbWUgfX08L2E+XG4gIDwvbmctY29udGFpbmVyPlxuPC9zcGFuPlxuYCxcbiAgc3R5bGVzOiBbYDpob3N0e2Rpc3BsYXk6aW5saW5lLWJsb2NrfTpob3N0IGEsOmhvc3Qgc3Bhbntmb250LWZhbWlseTpMYXRvLHNhbnMtc2VyaWZ9Omhvc3QgYXtmb250LXdlaWdodDo3MDA7Y29sb3I6IzAwMH1gXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uU2hhZG93RG9tXG59KVxuZXhwb3J0IGNsYXNzIE1hZGVXaXRoTG92ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgcHVibGljIHVybDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjb2xvciA9ICdyZWQnO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBzaXplID0gMTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMubmFtZSB8fCB0aGlzLm5hbWUubGVuZ3RoID09PSAwKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBOYW1lIGF0dHJpYnV0ZSBtdXN0IGJlIHByb3ZpZGVkIWApO1xuICAgIH1cbiAgfVxufVxuIiwiaW1wb3J0IHsgTmdNb2R1bGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgY3JlYXRlQ3VzdG9tRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2VsZW1lbnRzJztcblxuaW1wb3J0IHsgTWFkZVdpdGhMb3ZlQ29tcG9uZW50IH0gZnJvbSAnLi9tYWRlLXdpdGgtbG92ZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbTWFkZVdpdGhMb3ZlQ29tcG9uZW50XSxcbiAgZW50cnlDb21wb25lbnRzOiBbTWFkZVdpdGhMb3ZlQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBNYWRlV2l0aExvdmVNb2R1bGUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIGNvbnN0IG1hZGVXaXRoTG92ZUVsZW1lbnQgPSBjcmVhdGVDdXN0b21FbGVtZW50KE1hZGVXaXRoTG92ZUNvbXBvbmVudCwgeyBpbmplY3RvciB9KTtcblxuICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnbWFkZS13aXRoLWxvdmUnLCBtYWRlV2l0aExvdmVFbGVtZW50KTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7O3FCQXVCMEIsS0FBSztvQkFFTixDQUFDOzs7OztJQUV4QixRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3hDLE9BQU8sQ0FBQyxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztTQUNuRDtLQUNGOzs7WUE3QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLFFBQVEsRUFBRTs7Ozs7Ozs7OztDQVVYO2dCQUNDLE1BQU0sRUFBRSxDQUFDLCtHQUErRyxDQUFDO2dCQUN6SCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsU0FBUzthQUMzQzs7O21CQUVFLEtBQUs7a0JBRUwsS0FBSztvQkFFTCxLQUFLO21CQUVMLEtBQUs7Ozs7Ozs7QUN6QlI7Ozs7SUFZRSxZQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVOztRQUNwQyxNQUFNLG1CQUFtQixHQUFHLG1CQUFtQixDQUFDLHFCQUFxQixFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUVyRixjQUFjLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDLENBQUM7S0FDOUQ7OztZQVZGLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7Z0JBQ3ZCLFlBQVksRUFBRSxDQUFDLHFCQUFxQixDQUFDO2dCQUNyQyxlQUFlLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQzthQUN6Qzs7OztZQVZrQixRQUFROzs7Ozs7Ozs7Ozs7Ozs7In0=