@junte/ui
Version:
Quality Angular UI components kit
142 lines • 11.3 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { Component, ContentChild, HostBinding, Input, TemplateRef } from '@angular/core';
import { PropertyApi } from '../../core/decorators/api';
import { Fit } from '../../core/enums/fit';
import { Position } from '../../core/enums/position';
import { UI } from '../../core/enums/ui';
let PictureComponent = class PictureComponent {
constructor() {
this.host = 'jnt-picture-host';
this.ui = UI;
this._icon = UI.icons.image;
this._fit = Fit.width;
this._position = Position.center;
}
get hasSrc() {
return !!this._src;
}
set icon(icon) {
this._icon = icon || UI.icons.image;
}
get icon() {
return this._icon;
}
set src(src) {
this._src = src || null;
}
get src() {
return this._src;
}
set fit(fit) {
this._fit = fit || Fit.width;
}
set position(position) {
this._position = position || Position.center;
}
};
__decorate([
HostBinding('attr.host'),
__metadata("design:type", Object)
], PictureComponent.prototype, "host", void 0);
__decorate([
HostBinding('attr.data-has-src'),
__metadata("design:type", Object),
__metadata("design:paramtypes", [])
], PictureComponent.prototype, "hasSrc", null);
__decorate([
HostBinding('attr.data-fit'),
__metadata("design:type", String)
], PictureComponent.prototype, "_fit", void 0);
__decorate([
HostBinding('attr.data-position'),
__metadata("design:type", String)
], PictureComponent.prototype, "_position", void 0);
__decorate([
PropertyApi({
description: 'Icon on picture',
type: 'string',
default: 'ui.icons.image',
}),
Input(),
__metadata("design:type", String),
__metadata("design:paramtypes", [String])
], PictureComponent.prototype, "icon", null);
__decorate([
PropertyApi({
description: 'Path to image on picture',
type: 'string'
}),
Input(),
__metadata("design:type", String),
__metadata("design:paramtypes", [String])
], PictureComponent.prototype, "src", null);
__decorate([
PropertyApi({
description: 'Picture title',
type: 'string',
}),
HostBinding('attr.title'),
Input(),
__metadata("design:type", String)
], PictureComponent.prototype, "title", void 0);
__decorate([
PropertyApi({
description: 'Picture alt',
type: 'string',
}),
HostBinding('attr.alt'),
Input(),
__metadata("design:type", String)
], PictureComponent.prototype, "alt", void 0);
__decorate([
PropertyApi({
description: 'Picture width',
type: 'string'
}),
HostBinding('style.width'),
Input(),
__metadata("design:type", Object)
], PictureComponent.prototype, "width", void 0);
__decorate([
PropertyApi({
description: 'Picture height',
type: 'string'
}),
HostBinding('style.height'),
Input(),
__metadata("design:type", Object)
], PictureComponent.prototype, "height", void 0);
__decorate([
PropertyApi({
description: 'Image size in relation to width or height',
path: 'ui.fit',
default: Fit.width,
options: [Fit.width, Fit.height]
}),
Input(),
__metadata("design:type", String),
__metadata("design:paramtypes", [String])
], PictureComponent.prototype, "fit", null);
__decorate([
PropertyApi({
description: 'Image position',
path: 'ui.position',
default: Position.center,
options: [Position.center, Position.left, Position.right, Position.bottom, Position.top]
}),
Input(),
__metadata("design:type", String),
__metadata("design:paramtypes", [String])
], PictureComponent.prototype, "position", null);
__decorate([
ContentChild('pictureCopyrightTemplate'),
__metadata("design:type", TemplateRef)
], PictureComponent.prototype, "pictureCopyrightTemplate", void 0);
PictureComponent = __decorate([
Component({
selector: 'jnt-picture',
template: "<ng-template #iconTemplate>\n <jnt-icon child-of=\"jnt-picture-host\" [icon]=\"icon\"></jnt-icon>\n</ng-template>\n<ng-template *ngTemplateOutlet=\"pictureCopyrightTemplate\"></ng-template>\n<img child-of=\"jnt-picture-host\" *ngIf=\"!!src else iconTemplate\" [src]=\"src\" [alt]=\"alt\" [title]=\"title\" />"
})
], PictureComponent);
export { PictureComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljdHVyZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AanVudGUvdWkvIiwic291cmNlcyI6WyJsaWIvZWxlbWVudHMvcGljdHVyZS9waWN0dXJlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBTXpDLElBQWEsZ0JBQWdCLEdBQTdCLE1BQWEsZ0JBQWdCO0lBQTdCO1FBRXFDLFNBQUksR0FBRyxrQkFBa0IsQ0FBQztRQUU3RCxPQUFFLEdBQUcsRUFBRSxDQUFDO1FBR1IsVUFBSyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBUXZCLFNBQUksR0FBUSxHQUFHLENBQUMsS0FBSyxDQUFDO1FBR3RCLGNBQVMsR0FBYSxRQUFRLENBQUMsTUFBTSxDQUFDO0lBOEV4QyxDQUFDO0lBdEZDLElBQUksTUFBTTtRQUNSLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQWFRLElBQUksSUFBSSxDQUFDLElBQVk7UUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBTVEsSUFBSSxHQUFHLENBQUMsR0FBVztRQUMxQixJQUFJLENBQUMsSUFB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ZywgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eUFwaSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy9hcGknO1xuaW1wb3J0IHsgRml0IH0gZnJvbSAnLi4vLi4vY29yZS9lbnVtcy9maXQnO1xuaW1wb3J0IHsgUG9zaXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL2VudW1zL3Bvc2l0aW9uJztcbmltcG9ydCB7IFVJIH0gZnJvbSAnLi4vLi4vY29yZS9lbnVtcy91aSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2pudC1waWN0dXJlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BpY3R1cmUuZW5jYXBzdWxhdGVkLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFBpY3R1cmVDb21wb25lbnQge1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5ob3N0JykgcmVhZG9ubHkgaG9zdCA9ICdqbnQtcGljdHVyZS1ob3N0JztcblxuICB1aSA9IFVJO1xuXG4gIF9zcmM6IHN0cmluZztcbiAgX2ljb24gPSBVSS5pY29ucy5pbWFnZTtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1oYXMtc3JjJylcbiAgZ2V0IGhhc1NyYygpIHtcbiAgICByZXR1cm4gISF0aGlzLl9zcmM7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1maXQnKVxuICBfZml0OiBGaXQgPSBGaXQud2lkdGg7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtcG9zaXRpb24nKVxuICBfcG9zaXRpb246IFBvc2l0aW9uID0gUG9zaXRpb24uY2VudGVyO1xuXG4gIEBQcm9wZXJ0eUFwaSh7XG4gICAgZGVzY3JpcHRpb246ICdJY29uIG9uIHBpY3R1cmUnLFxuICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIGRlZmF1bHQ6ICd1aS5pY29ucy5pbWFnZScsXG4gIH0pXG4gIEBJbnB1dCgpIHNldCBpY29uKGljb246IHN0cmluZykge1xuICAgIHRoaXMuX2ljb24gPSBpY29uIHx8IFVJLmljb25zLmltYWdlO1xuICB9XG5cbiAgZ2V0IGljb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ljb247XG4gIH1cblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnUGF0aCB0byBpbWFnZSBvbiBwaWN0dXJlJyxcbiAgICB0eXBlOiAnc3RyaW5nJ1xuICB9KVxuICBASW5wdXQoKSBzZXQgc3JjKHNyYzogc3RyaW5nKSB7XG4gICAgdGhpcy5fc3JjID0gc3JjIHx8IG51bGw7XG4gIH1cblxuICBnZXQgc3JjKCkge1xuICAgIHJldHVybiB0aGlzLl9zcmM7XG4gIH1cblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnUGljdHVyZSB0aXRsZScsXG4gICAgdHlwZTogJ3N0cmluZycsXG4gIH0pXG4gIEBIb3N0QmluZGluZygnYXR0ci50aXRsZScpXG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG5cbiAgQFByb3BlcnR5QXBpKHtcbiAgICBkZXNjcmlwdGlvbjogJ1BpY3R1cmUgYWx0JyxcbiAgICB0eXBlOiAnc3RyaW5nJyxcbiAgfSlcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFsdCcpXG4gIEBJbnB1dCgpIGFsdDogc3RyaW5nO1xuXG4gIEBQcm9wZXJ0eUFwaSh7XG4gICAgZGVzY3JpcHRpb246ICdQaWN0dXJlIHdpZHRoJyxcbiAgICB0eXBlOiAnc3RyaW5nJ1xuICB9KVxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoJylcbiAgQElucHV0KCkgd2lkdGg7XG5cbiAgQFByb3BlcnR5QXBpKHtcbiAgICBkZXNjcmlwdGlvbjogJ1BpY3R1cmUgaGVpZ2h0JyxcbiAgICB0eXBlOiAnc3RyaW5nJ1xuICB9KVxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodCcpXG4gIEBJbnB1dCgpIGhlaWdodDtcblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnSW1hZ2Ugc2l6ZSBpbiByZWxhdGlvbiB0byB3aWR0aCBvciBoZWlnaHQnLFxuICAgIHBhdGg6ICd1aS5maXQnLFxuICAgIGRlZmF1bHQ6IEZpdC53aWR0aCxcbiAgICBvcHRpb25zOiBbRml0LndpZHRoLCBGaXQuaGVpZ2h0XVxuICB9KVxuICBASW5wdXQoKSBzZXQgZml0KGZpdDogRml0KSB7XG4gICAgdGhpcy5fZml0ID0gZml0IHx8IEZpdC53aWR0aDtcbiAgfVxuXG4gIEBQcm9wZXJ0eUFwaSh7XG4gICAgZGVzY3JpcHRpb246ICdJbWFnZSBwb3NpdGlvbicsXG4gICAgcGF0aDogJ3VpLnBvc2l0aW9uJyxcbiAgICBkZWZhdWx0OiBQb3NpdGlvbi5jZW50ZXIsXG4gICAgb3B0aW9uczogW1Bvc2l0aW9uLmNlbnRlciwgUG9zaXRpb24ubGVmdCwgUG9zaXRpb24ucmlnaHQsIFBvc2l0aW9uLmJvdHRvbSwgUG9zaXRpb24udG9wXVxuICB9KVxuICBASW5wdXQoKSBzZXQgcG9zaXRpb24ocG9zaXRpb246IFBvc2l0aW9uKSB7XG4gICAgdGhpcy5fcG9zaXRpb24gPSBwb3NpdGlvbiB8fCBQb3NpdGlvbi5jZW50ZXI7XG4gIH1cblxuICBAQ29udGVudENoaWxkKCdwaWN0dXJlQ29weXJpZ2h0VGVtcGxhdGUnKVxuICBwaWN0dXJlQ29weXJpZ2h0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbn1cbiJdfQ==