@junte/ui
Version:
Quality Angular UI components kit
163 lines • 12.5 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';
var PictureComponent = /** @class */ (function () {
function PictureComponent() {
this.host = 'jnt-picture-host';
this.ui = UI;
this._icon = UI.icons.image;
this._fit = Fit.width;
this._position = Position.center;
}
Object.defineProperty(PictureComponent.prototype, "hasSrc", {
get: function () {
return !!this._src;
},
enumerable: true,
configurable: true
});
Object.defineProperty(PictureComponent.prototype, "icon", {
get: function () {
return this._icon;
},
set: function (icon) {
this._icon = icon || UI.icons.image;
},
enumerable: true,
configurable: true
});
Object.defineProperty(PictureComponent.prototype, "src", {
get: function () {
return this._src;
},
set: function (src) {
this._src = src || null;
},
enumerable: true,
configurable: true
});
Object.defineProperty(PictureComponent.prototype, "fit", {
set: function (fit) {
this._fit = fit || Fit.width;
},
enumerable: true,
configurable: true
});
Object.defineProperty(PictureComponent.prototype, "position", {
set: function (position) {
this._position = position || Position.center;
},
enumerable: true,
configurable: true
});
__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);
return PictureComponent;
}());
export { PictureComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljdHVyZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AanVudGUvdWkvIiwic291cmNlcyI6WyJsaWIvZWxlbWVudHMvcGljdHVyZS9waWN0dXJlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBTXpDO0lBQUE7UUFFcUMsU0FBSSxHQUFHLGtCQUFrQixDQUFDO1FBRTdELE9BQUUsR0FBRyxFQUFFLENBQUM7UUFHUixVQUFLLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFRdkIsU0FBSSxHQUFRLEdBQUcsQ0FBQyxLQUFLLENBQUM7UUFHdEIsY0FBUyxHQUFhLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUE4RXhDLENBQUM7SUF0RkMsc0JBQUksb0NBQU07YUFBVjtZQUNFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDckIsQ0FBQzs7O09BQUE7SUFhUSxzQkFBSSxrQ0FBSTthQUlqQjtZQUNFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNwQixDQUFDO2FBTlEsVUFBUyxJQUFZO1lBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3RDLENBQUM7OztPQUFBO0lBVVEsc0JBQUksaUNBQUc7YUFJaEI7WUFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDbkIsQ0FBQzthQU5RLFVBQVEsR0FBVztZQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUM7UUFDMUIsQ0FBQzs7O09BQUE7SUF3Q1Esc0JBQUksaUNBQUc7YUFBUCxVQUFRLEdBQVE7WUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQztRQUMvQixDQUFDOzs7T0FBQTtJQVFRLHNCQUFJLHNDQUFRO2FBQVosVUFBYSxRQUFrQjtZQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQy9DLENBQUM7OztPQUFBO0lBekZ5QjtRQUF6QixXQUFXLENBQUMsV0FBVyxDQUFDOztrREFBb0M7SUFRN0Q7UUFEQyxXQUFXLENBQUMsbUJBQW1CLENBQUM7OztrREFHaEM7SUFHRDtRQURDLFdBQVcsQ0FBQyxlQUFlLENBQUM7O2tEQUNQO0lBR3RCO1FBREMsV0FBVyxDQUFDLG9CQUFvQixDQUFDOzt1REFDSTtJQU83QjtRQUxSLFdBQVcsQ0FBQztZQUNYLFdBQVcsRUFBRSxpQkFBaUI7WUFDOUIsSUFBSSxFQUFFLFFBQVE7WUFDZCxPQUFPLEVBQUUsZ0JBQWdCO1NBQzFCLENBQUM7UUFDRCxLQUFLLEVBQUU7OztnREFFUDtJQVVRO1FBSlIsV0FBVyxDQUFDO1lBQ1gsV0FBVyxFQUFFLDBCQUEwQjtZQUN2QyxJQUFJLEVBQUUsUUFBUTtTQUNmLENBQUM7UUFDRCxLQUFLLEVBQUU7OzsrQ0FFUDtJQVdRO1FBTFIsV0FBVyxDQUFDO1lBQ1gsV0FBVyxFQUFFLGVBQWU7WUFDNUIsSUFBSSxFQUFFLFFBQVE7U0FDZixDQUFDO1FBQ0QsV0FBVyxDQUFDLFlBQVksQ0FBQztRQUN6QixLQUFLLEVBQUU7O21EQUFlO0lBT2Q7UUFMUixXQUFXLENBQUM7WUFDWCxXQUFXLEVBQUUsYUFBYTtZQUMxQixJQUFJLEVBQUUsUUFBUTtTQUNmLENBQUM7UUFDRCxXQUFXLENBQUMsVUFBVSxDQUFDO1FBQ3ZCLEtBQUssRUFBRTs7aURBQWE7SUFPWjtRQUxSLFdBQVcsQ0FBQztZQUNYLFdBQVcsRUFBRSxlQUFlO1lBQzVCLElBQUksRUFBRSxRQUFRO1NBQ2YsQ0FBQztRQUNELFdBQVcsQ0FBQyxhQUFhLENBQUM7UUFDMUIsS0FBSyxFQUFFOzttREFBTztJQU9OO1FBTFIsV0FBVyxDQUFDO1lBQ1gsV0FBVyxFQUFFLGdCQUFnQjtZQUM3QixJQUFJLEVBQUUsUUFBUTtTQUNmLENBQUM7UUFDRCxXQUFXLENBQUMsY0FBYyxDQUFDO1FBQzNCLEtBQUssRUFBRTs7b0RBQVE7SUFRUDtRQU5SLFdBQVcsQ0FBQztZQUNYLFdBQVcsRUFBRSwyQ0FBMkM7WUFDeEQsSUFBSSxFQUFFLFFBQVE7WUFDZCxPQUFPLEVBQUUsR0FBRyxDQUFDLEtBQUs7WUFDbEIsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDO1NBQ2pDLENBQUM7UUFDRCxLQUFLLEVBQUU7OzsrQ0FFUDtJQVFRO1FBTlIsV0FBVyxDQUFDO1lBQ1gsV0FBVyxFQUFFLGdCQUFnQjtZQUM3QixJQUFJLEVBQUUsYUFBYTtZQUNuQixPQUFPLEVBQUUsUUFBUSxDQUFDLE1BQU07WUFDeEIsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDO1NBQ3pGLENBQUM7UUFDRCxLQUFLLEVBQUU7OztvREFFUDtJQUdEO1FBREMsWUFBWSxDQUFDLDBCQUEwQixDQUFDO2tDQUNmLFdBQVc7c0VBQU07SUE5RmhDLGdCQUFnQjtRQUo1QixTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsYUFBYTtZQUN2QixrVUFBMEM7U0FDM0MsQ0FBQztPQUNXLGdCQUFnQixDQWdHNUI7SUFBRCx1QkFBQztDQUFBLEFBaEdELElBZ0dDO1NBaEdZLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBIb3N0QmluZGluZywgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eUFwaSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy9hcGknO1xuaW1wb3J0IHsgRml0IH0gZnJvbSAnLi4vLi4vY29yZS9lbnVtcy9maXQnO1xuaW1wb3J0IHsgUG9zaXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL2VudW1zL3Bvc2l0aW9uJztcbmltcG9ydCB7IFVJIH0gZnJvbSAnLi4vLi4vY29yZS9lbnVtcy91aSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2pudC1waWN0dXJlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BpY3R1cmUuZW5jYXBzdWxhdGVkLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFBpY3R1cmVDb21wb25lbnQge1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5ob3N0JykgcmVhZG9ubHkgaG9zdCA9ICdqbnQtcGljdHVyZS1ob3N0JztcblxuICB1aSA9IFVJO1xuXG4gIF9zcmM6IHN0cmluZztcbiAgX2ljb24gPSBVSS5pY29ucy5pbWFnZTtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1oYXMtc3JjJylcbiAgZ2V0IGhhc1NyYygpIHtcbiAgICByZXR1cm4gISF0aGlzLl9zcmM7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1maXQnKVxuICBfZml0OiBGaXQgPSBGaXQud2lkdGg7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtcG9zaXRpb24nKVxuICBfcG9zaXRpb246IFBvc2l0aW9uID0gUG9zaXRpb24uY2VudGVyO1xuXG4gIEBQcm9wZXJ0eUFwaSh7XG4gICAgZGVzY3JpcHRpb246ICdJY29uIG9uIHBpY3R1cmUnLFxuICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIGRlZmF1bHQ6ICd1aS5pY29ucy5pbWFnZScsXG4gIH0pXG4gIEBJbnB1dCgpIHNldCBpY29uKGljb246IHN0cmluZykge1xuICAgIHRoaXMuX2ljb24gPSBpY29uIHx8IFVJLmljb25zLmltYWdlO1xuICB9XG5cbiAgZ2V0IGljb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ljb247XG4gIH1cblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnUGF0aCB0byBpbWFnZSBvbiBwaWN0dXJlJyxcbiAgICB0eXBlOiAnc3RyaW5nJ1xuICB9KVxuICBASW5wdXQoKSBzZXQgc3JjKHNyYzogc3RyaW5nKSB7XG4gICAgdGhpcy5fc3JjID0gc3JjIHx8IG51bGw7XG4gIH1cblxuICBnZXQgc3JjKCkge1xuICAgIHJldHVybiB0aGlzLl9zcmM7XG4gIH1cblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnUGljdHVyZSB0aXRsZScsXG4gICAgdHlwZTogJ3N0cmluZycsXG4gIH0pXG4gIEBIb3N0QmluZGluZygnYXR0ci50aXRsZScpXG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG5cbiAgQFByb3BlcnR5QXBpKHtcbiAgICBkZXNjcmlwdGlvbjogJ1BpY3R1cmUgYWx0JyxcbiAgICB0eXBlOiAnc3RyaW5nJyxcbiAgfSlcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFsdCcpXG4gIEBJbnB1dCgpIGFsdDogc3RyaW5nO1xuXG4gIEBQcm9wZXJ0eUFwaSh7XG4gICAgZGVzY3JpcHRpb246ICdQaWN0dXJlIHdpZHRoJyxcbiAgICB0eXBlOiAnc3RyaW5nJ1xuICB9KVxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoJylcbiAgQElucHV0KCkgd2lkdGg7XG5cbiAgQFByb3BlcnR5QXBpKHtcbiAgICBkZXNjcmlwdGlvbjogJ1BpY3R1cmUgaGVpZ2h0JyxcbiAgICB0eXBlOiAnc3RyaW5nJ1xuICB9KVxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodCcpXG4gIEBJbnB1dCgpIGhlaWdodDtcblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnSW1hZ2Ugc2l6ZSBpbiByZWxhdGlvbiB0byB3aWR0aCBvciBoZWlnaHQnLFxuICAgIHBhdGg6ICd1aS5maXQnLFxuICAgIGRlZmF1bHQ6IEZpdC53aWR0aCxcbiAgICBvcHRpb25zOiBbRml0LndpZHRoLCBGaXQuaGVpZ2h0XVxuICB9KVxuICBASW5wdXQoKSBzZXQgZml0KGZpdDogRml0KSB7XG4gICAgdGhpcy5fZml0ID0gZml0IHx8IEZpdC53aWR0aDtcbiAgfVxuXG4gIEBQcm9wZXJ0eUFwaSh7XG4gICAgZGVzY3JpcHRpb246ICdJbWFnZSBwb3NpdGlvbicsXG4gICAgcGF0aDogJ3VpLnBvc2l0aW9uJyxcbiAgICBkZWZhdWx0OiBQb3NpdGlvbi5jZW50ZXIsXG4gICAgb3B0aW9uczogW1Bvc2l0aW9uLmNlbnRlciwgUG9zaXRpb24ubGVmdCwgUG9zaXRpb24ucmlnaHQsIFBvc2l0aW9uLmJvdHRvbSwgUG9zaXRpb24udG9wXVxuICB9KVxuICBASW5wdXQoKSBzZXQgcG9zaXRpb24ocG9zaXRpb246IFBvc2l0aW9uKSB7XG4gICAgdGhpcy5fcG9zaXRpb24gPSBwb3NpdGlvbiB8fCBQb3NpdGlvbi5jZW50ZXI7XG4gIH1cblxuICBAQ29udGVudENoaWxkKCdwaWN0dXJlQ29weXJpZ2h0VGVtcGxhdGUnKVxuICBwaWN0dXJlQ29weXJpZ2h0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbn1cbiJdfQ==