carbon-components-angular
Version:
Next generation components
69 lines • 5.72 kB
JavaScript
import { Component, forwardRef, Input } from "@angular/core";
import { Tab } from "./tab.component";
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
/**
* Icon-only approach for `cds-tab` variant: `[icon]` template plus `label` for tooltip.
*
* ```html
* <ng-template #i><svg cdsIcon="activity" size="16"></svg></ng-template>
* <cds-tabs>
* <cds-icon-tab label="Activity" [icon]="i">Panel</cds-icon-tab>
* </cds-tabs>
* ```
*/
export class IconTab extends Tab {
constructor() {
super(...arguments);
/**
* Icon tabs are only for icons, so iconOnly by default
*/
this.iconOnly = true;
}
/**
* Accessible label and tooltip text for the icon tab.
*/
set label(value) {
this.iconLabel = value;
}
get label() {
return this.iconLabel;
}
}
IconTab.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: IconTab, deps: null, target: i0.ɵɵFactoryTarget.Component });
IconTab.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: IconTab, selector: "cds-icon-tab, ibm-icon-tab", inputs: { label: "label" }, providers: [
// tslint:disable-next-line:no-forward-ref
{ provide: Tab, useExisting: forwardRef(() => IconTab) }
], usesInheritance: true, ngImport: i0, template: `
<ng-container *ngIf="shouldRender()">
<ng-template
*ngIf="isTemplate(tabContent)"
[ngTemplateOutlet]="tabContent"
[ngTemplateOutletContext]="{ $implicit: templateContext }">
</ng-template>
<ng-content></ng-content>
</ng-container>
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: IconTab, decorators: [{
type: Component,
args: [{
selector: "cds-icon-tab, ibm-icon-tab",
template: `
<ng-container *ngIf="shouldRender()">
<ng-template
*ngIf="isTemplate(tabContent)"
[ngTemplateOutlet]="tabContent"
[ngTemplateOutletContext]="{ $implicit: templateContext }">
</ng-template>
<ng-content></ng-content>
</ng-container>
`,
providers: [
// tslint:disable-next-line:no-forward-ref
{ provide: Tab, useExisting: forwardRef(() => IconTab) }
]
}]
}], propDecorators: { label: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi10YWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RhYnMvaWNvbi10YWIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUV0Qzs7Ozs7Ozs7O0dBU0c7QUFrQkgsTUFBTSxPQUFPLE9BQVEsU0FBUSxHQUFHO0lBakJoQzs7UUE4QkM7O1dBRUc7UUFDTSxhQUFRLEdBQUcsSUFBSSxDQUFDO0tBQ3pCO0lBaEJBOztPQUVHO0lBQ0gsSUFDSSxLQUFLLENBQUMsS0FBYTtRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3ZCLENBQUM7O29HQVhXLE9BQU87d0ZBQVAsT0FBTyxpRkFMUjtRQUNWLDBDQUEwQztRQUMxQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRTtLQUN4RCxpREFiUzs7Ozs7Ozs7O0VBU1Q7MkZBTVcsT0FBTztrQkFqQm5CLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsUUFBUSxFQUFFOzs7Ozs7Ozs7RUFTVDtvQkFDRCxTQUFTLEVBQUU7d0JBQ1YsMENBQTBDO3dCQUMxQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLEVBQUU7cUJBQ3hEO2lCQUNEOzhCQU1JLEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENvbXBvbmVudCxcblx0Zm9yd2FyZFJlZixcblx0SW5wdXRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRhYiB9IGZyb20gXCIuL3RhYi5jb21wb25lbnRcIjtcblxuLyoqXG4gKiBJY29uLW9ubHkgYXBwcm9hY2ggZm9yIGBjZHMtdGFiYCB2YXJpYW50OiBgW2ljb25dYCB0ZW1wbGF0ZSBwbHVzIGBsYWJlbGAgZm9yIHRvb2x0aXAuXG4gKlxuICogYGBgaHRtbFxuICogPG5nLXRlbXBsYXRlICNpPjxzdmcgY2RzSWNvbj1cImFjdGl2aXR5XCIgc2l6ZT1cIjE2XCI+PC9zdmc+PC9uZy10ZW1wbGF0ZT5cbiAqIDxjZHMtdGFicz5cbiAqICAgPGNkcy1pY29uLXRhYiBsYWJlbD1cIkFjdGl2aXR5XCIgW2ljb25dPVwiaVwiPlBhbmVsPC9jZHMtaWNvbi10YWI+XG4gKiA8L2Nkcy10YWJzPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogXCJjZHMtaWNvbi10YWIsIGlibS1pY29uLXRhYlwiLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG91bGRSZW5kZXIoKVwiPlxuXHRcdFx0PG5nLXRlbXBsYXRlXG5cdFx0XHRcdCpuZ0lmPVwiaXNUZW1wbGF0ZSh0YWJDb250ZW50KVwiXG5cdFx0XHRcdFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYkNvbnRlbnRcIlxuXHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHRlbXBsYXRlQ29udGV4dCB9XCI+XG5cdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdFx0PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXHRcdDwvbmctY29udGFpbmVyPlxuXHRgLFxuXHRwcm92aWRlcnM6IFtcblx0XHQvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tZm9yd2FyZC1yZWZcblx0XHR7IHByb3ZpZGU6IFRhYiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSWNvblRhYikgfVxuXHRdXG59KVxuZXhwb3J0IGNsYXNzIEljb25UYWIgZXh0ZW5kcyBUYWIge1xuXHQvKipcblx0ICogQWNjZXNzaWJsZSBsYWJlbCBhbmQgdG9vbHRpcCB0ZXh0IGZvciB0aGUgaWNvbiB0YWIuXG5cdCAqL1xuXHRASW5wdXQoKVxuXHRzZXQgbGFiZWwodmFsdWU6IHN0cmluZykge1xuXHRcdHRoaXMuaWNvbkxhYmVsID0gdmFsdWU7XG5cdH1cblxuXHRnZXQgbGFiZWwoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5pY29uTGFiZWw7XG5cdH1cblxuXHQvKipcblx0ICogSWNvbiB0YWJzIGFyZSBvbmx5IGZvciBpY29ucywgc28gaWNvbk9ubHkgYnkgZGVmYXVsdFxuXHQgKi9cblx0b3ZlcnJpZGUgaWNvbk9ubHkgPSB0cnVlO1xufVxuIl19