ng-easycommerce 1.1.4 → 1.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/bundles/ng-easycommerce.umd.js +43 -15
- package/bundles/ng-easycommerce.umd.js.map +1 -1
- package/bundles/ng-easycommerce.umd.min.js +1 -1
- package/bundles/ng-easycommerce.umd.min.js.map +1 -1
- package/esm2015/lib/ec-component/blocks-ec/block-banner-boxes-ec/block-banner-boxes-ec.component.js +2 -2
- package/esm2015/lib/ec-component/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.js +2 -2
- package/esm2015/lib/ec-directive/add-action-redirect.directive.js +23 -3
- package/esm2015/lib/interfaces/block.js +1 -1
- package/esm2015/lib/services/blocks/blocks.service.js +20 -12
- package/esm5/lib/ec-component/blocks-ec/block-banner-boxes-ec/block-banner-boxes-ec.component.js +2 -2
- package/esm5/lib/ec-component/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.js +2 -2
- package/esm5/lib/ec-directive/add-action-redirect.directive.js +23 -3
- package/esm5/lib/interfaces/block.js +1 -1
- package/esm5/lib/services/blocks/blocks.service.js +20 -12
- package/fesm2015/ng-easycommerce.js +43 -15
- package/fesm2015/ng-easycommerce.js.map +1 -1
- package/fesm5/ng-easycommerce.js +43 -15
- package/fesm5/ng-easycommerce.js.map +1 -1
- package/lib/interfaces/block.d.ts +1 -1
- package/ng-easycommerce.metadata.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
# Version 1.1.5
|
|
2
|
+
- Banners: se resuelven explícitamente los destinos `taxon`/`category`, `attribute` y `url`, respetando el tipo de redirección configurado.
|
|
3
|
+
- Banners: las plantillas del core aplican `ecAddActionRedirect` a los enlaces; los destinos incompletos ya no generan navegación accidental a `/`.
|
|
4
|
+
|
|
1
5
|
# Version 1.1.4
|
|
2
6
|
- Navegación: `AddActionRedirectDirective` normaliza URLs absolutas del mismo origen para el Angular Router, respeta el `base href` y conserva query parameters y fragmentos.
|
|
3
7
|
- Navegación: se mantiene el comportamiento nativo para clics modificados, botón central y enlaces con `target` explícito.
|
|
@@ -8205,17 +8205,25 @@
|
|
|
8205
8205
|
? banner.translations[_this.consts.getLocale()].mobileImageName
|
|
8206
8206
|
: banner.translations[_this.consts.getLocale()].imageName); };
|
|
8207
8207
|
this.formUrl = function (banner) {
|
|
8208
|
-
var
|
|
8209
|
-
|
|
8210
|
-
|
|
8211
|
-
|
|
8212
|
-
|
|
8213
|
-
|
|
8214
|
-
|
|
8215
|
-
|
|
8216
|
-
|
|
8217
|
-
|
|
8218
|
-
|
|
8208
|
+
var _a, _b, _c, _d;
|
|
8209
|
+
if (!banner)
|
|
8210
|
+
return '/';
|
|
8211
|
+
var type = String(banner.redirectionType || '').toLowerCase();
|
|
8212
|
+
var element = type === 'attribute'
|
|
8213
|
+
? 'attributes'
|
|
8214
|
+
: type === 'taxon' || type === 'category'
|
|
8215
|
+
? 'categories'
|
|
8216
|
+
: null;
|
|
8217
|
+
if (!element)
|
|
8218
|
+
return '/';
|
|
8219
|
+
var associations = element === 'categories' ? banner.taxons : banner.attributes;
|
|
8220
|
+
if (!Array.isArray(associations) || associations.length !== 1)
|
|
8221
|
+
return '/';
|
|
8222
|
+
var association = associations[0];
|
|
8223
|
+
var slug = ((_a = association) === null || _a === void 0 ? void 0 : _a.slug) || ((_d = (_c = (_b = association) === null || _b === void 0 ? void 0 : _b.translations) === null || _c === void 0 ? void 0 : _c[_this.consts.getLocale()]) === null || _d === void 0 ? void 0 : _d.slug);
|
|
8224
|
+
return typeof slug === 'string' && slug.trim()
|
|
8225
|
+
? '/collection/' + element + '/' + encodeURIComponent(slug.trim())
|
|
8226
|
+
: '/';
|
|
8219
8227
|
};
|
|
8220
8228
|
this.sendResponse = function (response_obj) {
|
|
8221
8229
|
return _this.connection.post(_this.contactFormResponseAPI(), _this.prepareData(response_obj));
|
|
@@ -9314,7 +9322,7 @@
|
|
|
9314
9322
|
BlockBannerBoxesEcComponent = __decorate$J([
|
|
9315
9323
|
core.Component({
|
|
9316
9324
|
selector: 'app-block-banner-boxes-ec',
|
|
9317
|
-
template: "<section [ngClass]=\"trimClassBlock(meta.code) + ' container-fluid'\" *ngIf=\"banners.length\"\n [style.background-color]=\"meta.styles?.backgroundColor\"\n [style.background-image]=\"meta.styles?.backgroundImage ? 'url(' + consts.mediaUrl() + meta.styles?.backgroundImage +')' : 'inherit'\">\n\n\n <div class=\"block-boxes\">\n <div class=\"row\" *ngIf=\"meta.name\">\n <div class=\"col-12 mt-4\">\n <h2 class=\"font-weight-normal font-gd\">\n <span>{{meta.name}}</span>\n </h2>\n </div>\n </div>\n\n <!-- Si es formato fijo -->\n <ng-container *ngIf=\"meta.styles && meta.styles.carrousel == false ; else carrousel\">\n\n <div class=\"banner-content\">\n\n <div class=\"row g-0\">\n <div [class]=\"'item '+ ' col-md-6 ' + ' col-lg-' + (12/banners.length) \"\n *ngFor=\"let banner of banners; let i = index\" [id]=\"i\">\n <img class=\"img-fluid\" [src]=\"consts.mediaBannerUrl() + getImage(banner)\" alt=\"\">\n <
|
|
9325
|
+
template: "<section [ngClass]=\"trimClassBlock(meta.code) + ' container-fluid'\" *ngIf=\"banners.length\"\n [style.background-color]=\"meta.styles?.backgroundColor\"\n [style.background-image]=\"meta.styles?.backgroundImage ? 'url(' + consts.mediaUrl() + meta.styles?.backgroundImage +')' : 'inherit'\">\n\n\n <div class=\"block-boxes\">\n <div class=\"row\" *ngIf=\"meta.name\">\n <div class=\"col-12 mt-4\">\n <h2 class=\"font-weight-normal font-gd\">\n <span>{{meta.name}}</span>\n </h2>\n </div>\n </div>\n\n <!-- Si es formato fijo -->\n <ng-container *ngIf=\"meta.styles && meta.styles.carrousel == false ; else carrousel\">\n\n <div class=\"banner-content\">\n\n <div class=\"row g-0\">\n <div [class]=\"'item '+ ' col-md-6 ' + ' col-lg-' + (12/banners.length) \"\n *ngFor=\"let banner of banners; let i = index\" [id]=\"i\">\n <a [ecAddActionRedirect]=\"banner\" [isTransparent]=\"false\" class=\"d-block\">\n <img class=\"img-fluid\" [src]=\"consts.mediaBannerUrl() + getImage(banner)\" alt=\"\">\n </a>\n <a [ecAddActionRedirect]=\"banner\" [isTransparent]=\"false\" class=\"position-absolute d-block w-100 top-0 start-0 h-100\">\n <h2 [class]=\"'item-title px-2 item-position-vertical-'+ (banner.styles?.description?.position)\" \n [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000'\">\n {{banner.title}}\n </h2>\n <p *ngIf=\"banner.subtitle\"\n [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\n [class]=\"'px-4 item-subtitle item-position-vertical-' + (banner.styles?.description?.position)\">\n {{banner.subtitle}}\n </p>\n <div [class]=\"'item-position-vertical-' + (banner.styles?.button?.position)\">\n <span *ngIf=\"banner.styles?.button?.text\"\n [class]=\"'item-button btn btn-light'\">\n {{banner.styles.button.text}}\n </span>\n </div>\n </a>\n </div>\n\n </div>\n </div>\n\n </ng-container>\n\n <!-- Si es Carrousel -->\n <ng-template #carrousel>\n\n\n <!-- carrousel mobile -->\n <ng-container *ngIf=\"consts.mobile(); else carrouselNormal\">\n <div class=\"banner-content mobile carrousel\">\n\n <div class=\"row my-2\">\n\n <div class=\"col-12 item-carrousel\" *ngFor=\"let banner of banners; let i = index\" [id]=\"i\">\n <a [ecAddActionRedirect]=\"banner\" [isTransparent]=\"false\">\n <img class=\"img-fluid\" [src]=\"consts.mediaBannerUrl() + getImage(banner)\" alt=\"\">\n <div class=\"position-absolute w-100 top-0 start-0 h-100\">\n <h2 *ngIf=\"banner.title\" [class]=\"'item-title-fullpx-2 item-position-vertical-'+ (banner.styles?.description?.position)\"\n [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#fff' \">\n {{banner.title}}\n </h2>\n <p *ngIf=\"banner.subtitle\"\n [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\n [class]=\"'px-4 item-subtitle item-position-vertical-' + (banner.styles?.description?.position)\">\n {{banner.subtitle}}\n </p>\n <div [class]=\"'item-position-vertical-' + (banner.styles?.button?.position)\">\n <span *ngIf=\"banner.styles?.button?.text\"\n [class]=\"'item-button btn btn-light'\">\n {{banner.styles.button.text}}\n </span>\n </div>\n </div>\n </a>\n\n </div>\n\n </div>\n </div>\n </ng-container>\n\n <!-- carrousel desktop -->\n <ng-template #carrouselNormal>\n\n <owl-carousel-o [options]=\"options\">\n <ng-template carouselSlide *ngFor=\"let banner of banners; let i = index\" [id]=\"i\">\n\n <div class=\"banner-content carrousel\">\n <a [ecAddActionRedirect]=\"banner\" [isTransparent]=\"false\" class=\"d-block\">\n <img [src]=\"consts.mediaBannerUrl() + getImage(banner)\" alt=\"\">\n </a>\n <a [ecAddActionRedirect]=\"banner\" [isTransparent]=\"false\" class=\"position-absolute d-block w-100 top-0 start-0 h-100\">\n <h2 *ngIf=\"banner.title\" \n [class]=\"'item-title-full px-2 item-position-vertical-'+ (banner.styles?.description?.position)\"\n style=\"color:#fff\">\n {{banner.title}}\n </h2>\n <p *ngIf=\"banner.subtitle\"\n [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\n [class]=\"'px-4 item-subtitle-full item-position-vertical-' + (banner.styles?.description?.position)\">\n {{banner.subtitle}}\n </p>\n <div [class]=\"'item-position-vertical-' + (banner.styles?.button?.position)\">\n <span *ngIf=\"banner.styles?.button?.text\"\n [style.background-color]=\"(banner.styles?.button?.color) ? banner.styles?.button?.color : '#fff' \"\n [class]=\"'item-button-full btn btn-light'\">\n {{banner.styles.button.text}}\n </span>\n </div>\n </a>\n </div>\n <!-- <div *ngIf=\"!banner.url; else externalUrl\" class=\"item-carrousel\">\n <a [routerLink]=\"formUrl(banner)\">\n <img [src]=\"consts.mediaBannerUrl() + getImage(banner)\" alt=\"\"></a>\n </div>\n <ng-template #externalUrl>\n <div class=\"item-carrousel\">\n <a href=\"{{banner.url}}\">\n <img [src]=\"consts.mediaBannerUrl() + getImage(banner)\" alt=\"\">\n <div class=\"bottom-left\">\n {{banner.title}}\n </div>\n\n </a>\n </div>\n </ng-template> -->\n </ng-template>\n </owl-carousel-o>\n\n </ng-template>\n\n </ng-template>\n </div>\n</section>\n",
|
|
9318
9326
|
styles: [".item{position:relative}.item-title{top:30%}.item-title-full{top:50%}.item-subtitle-full{top:60%}.item-subtitle{top:40%}.item-button{top:60%}.item-button.item-position-vertical-center{left:50%;transform:translate(-50%)}.item-button.item-position-vertical-left{left:10%}.item-button.item-position-vertical-right{right:5%;transform:translate(-50%)}.item-button-full{top:70%}.item-button-full.item-position-vertical-center{left:50%;transform:translate(-50%)}.item-button-full.item-position-vertical-left{left:10%}.item-button-full.item-position-vertical-right{right:5%;transform:translate(-50%)}.item-position-vertical-left{text-align:left}.item-position-vertical-center{text-align:center}.item-position-vertical-right{text-align:right}h2.item-title-full::after{content:none}"]
|
|
9319
9327
|
})
|
|
9320
9328
|
], BlockBannerBoxesEcComponent);
|
|
@@ -9445,7 +9453,7 @@
|
|
|
9445
9453
|
BlockBannerFullEcComponent = __decorate$K([
|
|
9446
9454
|
core.Component({
|
|
9447
9455
|
selector: 'app-block-banner-full-ec',
|
|
9448
|
-
template: "<section [ngClass]=\"trimClassBlock(meta.code) + ' container-fluid px-0'\" *ngIf=\"banners.length\"\n [style.background-color]=\"meta.styles?.backgroundColor\"\n [style.background-image]=\"meta.styles?.backgroundImage ? 'url(' + consts.mediaUrl() + meta.styles?.backgroundImage +')' : 'inherit'\">\n\n\n <!-- si es formato fijo -->\n <ng-container *ngIf=\"banners.length == 1;else carrousel \">\n\n <div class=\"row justify-content-center\">\n <!-- banner sin boton -->\n <a *ngIf=\"!banners[0].styles?.button?.text; else fullwithButton\"
|
|
9456
|
+
template: "<section [ngClass]=\"trimClassBlock(meta.code) + ' container-fluid px-0'\" *ngIf=\"banners.length\"\n [style.background-color]=\"meta.styles?.backgroundColor\"\n [style.background-image]=\"meta.styles?.backgroundImage ? 'url(' + consts.mediaUrl() + meta.styles?.backgroundImage +')' : 'inherit'\">\n\n\n <!-- si es formato fijo -->\n <ng-container *ngIf=\"banners.length == 1;else carrousel \">\n\n <div class=\"row justify-content-center\">\n <!-- banner sin boton -->\n <a *ngIf=\"!banners[0].styles?.button?.text; else fullwithButton\" [ecAddActionRedirect]=\"banners[0]\" [isTransparent]=\"false\">\n <div class=\"item col-12\">\n <img class=\"img-fluid\" [src]=\"consts.mediaBannerUrl() + getImage(banners[0])\" alt=\"\">\n <div class=\"position-absolute w-100 h-100 start-0 top-0\">\n <h2 *ngIf=\"banners[0].title\" [class]=\"'item-title-full px-2 item-position-vertical-' + (banners[0].styles?.description?.position)\"\n [style.color]=\"(banners[0].styles?.description?.color) ? banners[0].styles?.description?.color : '#fff' \">\n {{banners[0].title}}\n </h2>\n <p *ngIf=\"banners[0].subtitle\"\n [style.color]=\"(banners[0].styles?.description?.color) ? banners[0].styles?.description?.color : '#000' \"\n [class]=\"'px-4 item-subtitle-full item-position-vertical-' + (banners[0].styles?.description?.position)\">\n {{banners[0].subtitle}}\n </p>\n </div>\n </div>\n </a>\n\n <!-- banner fijo con boton -->\n <ng-template #fullwithButton>\n <div class=\"item col-12\">\n <img class=\"img-fluid\" [src]=\"consts.mediaBannerUrl() + getImage(banners[0])\" alt=\"\">\n <div class=\"position-absolute w-100 h-100 start-0 top-0\">\n <h2 *ngIf=\"banners[0].title\" [class]=\"'item-title-full px-2 item-position-vertical-' + (banners[0].styles?.description?.position)\"\n [style.color]=\"(banners[0].styles?.description?.color) ? banners[0].styles?.description?.color : '#000' \">\n {{banners[0].title}}\n </h2>\n <p *ngIf=\"banners[0].subtitle\"\n [style.color]=\"(banners[0].styles?.description?.color) ? banners[0].styles?.description?.color : '#000' \"\n [class]=\"'px-4 item-subtitle-full item-position-vertical-' + (banners[0].styles?.description?.position)\">\n {{banners[0].subtitle}}\n </p>\n <div [class]=\"'item-position-vertical-' + (banners[0].styles?.button?.position)\">\n <a *ngIf=\"banners[0].styles?.button?.text\" [ecAddActionRedirect]=\"banners[0]\" [isTransparent]=\"false\"\n [class]=\"'item-button-full btn btn-light '\">\n {{banners[0].styles.button.text}}\n </a>\n </div>\n </div>\n </div>\n\n </ng-template>\n </div>\n </ng-container>\n\n\n <!-- si es carrousel -->\n <ng-template #carrousel>\n\n <owl-carousel-o [options]=\"options\">\n <ng-template carouselSlide *ngFor=\"let banner of banners\" [id]=\"banner.id\">\n\n <!-- banner sin boton -->\n <div class=\"item\" *ngIf=\"!banner.styles?.button?.text; else carrouselwithButton\">\n <a *ngIf=\"banner.url || formUrl(banner) !== '/'; else onlyImage\" [ecAddActionRedirect]=\"banner\" [isTransparent]=\"false\">\n <img [src]=\"consts.mediaBannerUrl() + getImage(banner)\" alt=\"\">\n </a>\n <ng-template #onlyImage>\n <img [src]=\"consts.mediaBannerUrl() + getImage(banner)\" alt=\"\">\n </ng-template>\n </div>\n\n <!-- banner con boton -->\n <ng-template #carrouselwithButton>\n <div class=\"item\">\n <img [src]=\"consts.mediaBannerUrl() + getImage(banner)\" alt=\"\">\n <div class=\"position-absolute w-100 h-100 start-0 top-0\">\n <h2 *ngIf=\"banner.title\"\n [class]=\"'item-title-full px-2 item-position-vertical-'+ (banner.styles?.description?.position)\"\n [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \">\n {{banner.title}}\n </h2>\n <p *ngIf=\"banner.subtitle\"\n [style.color]=\"(banner.styles?.description?.color) ? banner.styles?.description?.color : '#000' \"\n [class]=\"'px-4 item-subtitle-full item-position-vertical-' + (banner.styles?.description?.position)\">\n {{banner.subtitle}}\n </p>\n <div [class]=\"'item-position-vertical-' + (banner.styles?.button?.position)\">\n <a *ngIf=\"banner.styles?.button?.text\" [ecAddActionRedirect]=\"banner\" [isTransparent]=\"false\"\n [class]=\"'item-button-full btn btn-light'\">\n {{banner.styles.button.text}}\n </a>\n </div>\n </div>\n <!-- <a *ngIf=\"!banner.url && (formUrl(banner) != '/')\" [routerLink]=\"formUrl(banner)\"\n class=\"btn btn-outline-light rounded-0 py-3 px-4 btn-conoce btn-caption-banner\">\n Conocé Mas</a>\n <a *ngIf=\"banner.url\" href=\"{{banner.url}}\"\n class=\"btn btn-outline-light rounded-0 py-3 px-4 btn-conoce btn-caption-banner\">\n Conocé Mas</a> -->\n </div>\n </ng-template>\n\n\n <!-- <div class=\"item\">\n <a *ngIf=\"banner.url; else onlyImage\" href=\"{{banner.url}}\">\n <img [src]=\"consts.mediaBannerUrl() + getImage(banner)\" alt=\"\">\n </a>\n <ng-template #onlyImage>\n <img [src]=\"consts.mediaBannerUrl() + getImage(banner)\" alt=\"\">\n </ng-template>\n <div class=\"carousel-caption d-block\">\n <a *ngIf=\"!banner.url && (formUrl(banner) != '/')\" [routerLink]=\"formUrl(banner)\"\n class=\"btn btn-outline-light rounded-0 py-3 px-4 btn-conoce btn-caption-banner\">\n Conocé Mas</a>\n <a *ngIf=\"banner.url\" href=\"{{banner.url}}\"\n class=\"btn btn-outline-light rounded-0 py-3 px-4 btn-conoce btn-caption-banner\">\n Conocé Mas</a>\n </div>\n </div> -->\n </ng-template>\n </owl-carousel-o>\n </ng-template>\n</section>\n",
|
|
9449
9457
|
styles: [".owl-theme .owl-nav{background:0 0!important}.item{position:relative}.item-title{top:30%}.item-title-full{top:50%}.item-subtitle-full{top:60%}.item-subtitle{top:40%}.item-button{top:60%}.item-button.item-position-vertical-center{left:50%;transform:translate(-50%)}.item-button.item-position-vertical-left{left:10%}.item-button.item-position-vertical-right{right:5%;transform:translate(-50%)}.item-button-full{top:70%}.item-button-full.item-position-vertical-center{left:50%;transform:translate(-50%)}.item-button-full.item-position-vertical-left{left:10%}.item-button-full.item-position-vertical-right{right:5%;transform:translate(-50%)}.item-position-vertical-left{text-align:left}.item-position-vertical-center{text-align:center}.item-position-vertical-right{text-align:right}h2.item-title-full::after{content:none}"]
|
|
9450
9458
|
})
|
|
9451
9459
|
], BlockBannerFullEcComponent);
|
|
@@ -27169,7 +27177,7 @@
|
|
|
27169
27177
|
AddActionRedirectDirective.prototype.ngOnInit = function () { };
|
|
27170
27178
|
AddActionRedirectDirective.prototype.ngOnChanges = function (changes) {
|
|
27171
27179
|
var _this = this;
|
|
27172
|
-
var _a;
|
|
27180
|
+
var _a, _b, _c;
|
|
27173
27181
|
var element = this.elementRef.nativeElement;
|
|
27174
27182
|
var target = this.targetManaged ? this.originalTarget : element.getAttribute('target');
|
|
27175
27183
|
var rel = this.relManaged ? this.originalRel : element.getAttribute('rel');
|
|
@@ -27192,7 +27200,27 @@
|
|
|
27192
27200
|
console.log('add class directive -> ', error);
|
|
27193
27201
|
}
|
|
27194
27202
|
});
|
|
27195
|
-
|
|
27203
|
+
var configuredUrl = typeof ((_b = this.banner) === null || _b === void 0 ? void 0 : _b.url) === 'string' ? this.banner.url.trim() : '';
|
|
27204
|
+
var type = typeof ((_c = this.banner) === null || _c === void 0 ? void 0 : _c.redirectionType) === 'string'
|
|
27205
|
+
? this.banner.redirectionType.toLowerCase()
|
|
27206
|
+
: '';
|
|
27207
|
+
var hasConfiguredDestination = false;
|
|
27208
|
+
if (type === 'url') {
|
|
27209
|
+
this.redirectUrl = configuredUrl;
|
|
27210
|
+
hasConfiguredDestination = !!configuredUrl;
|
|
27211
|
+
}
|
|
27212
|
+
else if (type === 'attribute' || type === 'taxon' || type === 'category') {
|
|
27213
|
+
this.redirectUrl = this.blocksService.formUrl(this.banner);
|
|
27214
|
+
}
|
|
27215
|
+
else {
|
|
27216
|
+
// Keep the previous URL-first behavior for legacy payloads without a type.
|
|
27217
|
+
this.redirectUrl = configuredUrl || this.blocksService.formUrl(this.banner);
|
|
27218
|
+
hasConfiguredDestination = !!configuredUrl;
|
|
27219
|
+
}
|
|
27220
|
+
if (!this.redirectUrl || (this.redirectUrl === '/' && !hasConfiguredDestination)) {
|
|
27221
|
+
this.renderer.removeAttribute(element, 'href');
|
|
27222
|
+
return;
|
|
27223
|
+
}
|
|
27196
27224
|
var accessibleLabel = this.getAccessibleLabel();
|
|
27197
27225
|
if (accessibleLabel) {
|
|
27198
27226
|
this.renderer.setAttribute(this.elementRef.nativeElement, 'aria-label', accessibleLabel);
|