carbon-components-angular
Version:
Next generation components
93 lines • 7.67 kB
JavaScript
import { Directive, HostBinding, Input } from "@angular/core";
import * as i0 from "@angular/core";
/**
* A convenience directive for applying styling to a link. Get started with importing the module:
*
* ```typescript
* import { LinkModule } from 'carbon-components-angular';
* ```
*
* ```html
* <a href="#" cdsLink>A link</a>
* ```
*
* See the [vanilla carbon docs](http://www.carbondesignsystem.com/components/link/code) for more detail.
*
* [See demo](../../?path=/story/components-link--basic)
*/
export class Link {
constructor() {
this.baseClass = true;
/**
* Set to true to show links inline in a sentence or paragraph.
*/
this.inline = false;
/**
* Set to `true` to apply visited link styling.
*/
this.visited = false;
}
get sizeSm() {
return this.size === "sm";
}
get sizeMd() {
return this.size === "md";
}
get sizeLg() {
return this.size === "lg";
}
/**
* Set to true to disable link.
*/
set disabled(disabled) {
this._disabled = disabled;
this.tabindex = this.disabled ? -1 : null;
}
get disabled() {
return this._disabled;
}
}
Link.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Link, deps: [], target: i0.ɵɵFactoryTarget.Directive });
Link.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: Link, selector: "[cdsLink], [ibmLink]", inputs: { inline: "inline", size: "size", visited: "visited", disabled: "disabled" }, host: { properties: { "class.cds--link": "this.baseClass", "attr.tabindex": "this.tabindex", "class.cds--link--inline": "this.inline", "class.cds--link--sm": "this.sizeSm", "class.cds--link--md": "this.sizeMd", "class.cds--link--lg": "this.sizeLg", "class.cds--link--visited": "this.visited", "attr.aria-disabled": "this.disabled", "class.cds--link--disabled": "this.disabled" } }, ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Link, decorators: [{
type: Directive,
args: [{
selector: "[cdsLink], [ibmLink]"
}]
}], propDecorators: { baseClass: [{
type: HostBinding,
args: ["class.cds--link"]
}], tabindex: [{
type: HostBinding,
args: ["attr.tabindex"]
}], inline: [{
type: Input
}, {
type: HostBinding,
args: ["class.cds--link--inline"]
}], size: [{
type: Input
}], sizeSm: [{
type: HostBinding,
args: ["class.cds--link--sm"]
}], sizeMd: [{
type: HostBinding,
args: ["class.cds--link--md"]
}], sizeLg: [{
type: HostBinding,
args: ["class.cds--link--lg"]
}], visited: [{
type: Input
}, {
type: HostBinding,
args: ["class.cds--link--visited"]
}], disabled: [{
type: Input
}, {
type: HostBinding,
args: ["attr.aria-disabled"]
}, {
type: HostBinding,
args: ["class.cds--link--disabled"]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGluay9saW5rLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxlQUFlLENBQUM7O0FBRXZCOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBTUgsTUFBTSxPQUFPLElBQUk7SUFMakI7UUFNaUMsY0FBUyxHQUFHLElBQUksQ0FBQztRQU9qRDs7V0FFRztRQUVxQyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBbUJ2RDs7V0FFRztRQUMrQyxZQUFPLEdBQUcsS0FBSyxDQUFDO0tBa0JsRTtJQWpDQSxJQUF3QyxNQUFNO1FBQzdDLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQXdDLE1BQU07UUFDN0MsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBd0MsTUFBTTtRQUM3QyxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFPRDs7T0FFRztJQUNILElBR0ksUUFBUSxDQUFDLFFBQWlCO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3ZCLENBQUM7O2lHQWpEVyxJQUFJO3FGQUFKLElBQUk7MkZBQUosSUFBSTtrQkFMaEIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsc0JBQXNCO2lCQUNoQzs4QkFJZ0MsU0FBUztzQkFBeEMsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBS0EsUUFBUTtzQkFBckMsV0FBVzt1QkFBQyxlQUFlO2dCQU1ZLE1BQU07c0JBRDdDLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMseUJBQXlCO2dCQUs3QixJQUFJO3NCQUFaLEtBQUs7Z0JBRWtDLE1BQU07c0JBQTdDLFdBQVc7dUJBQUMscUJBQXFCO2dCQUlNLE1BQU07c0JBQTdDLFdBQVc7dUJBQUMscUJBQXFCO2dCQUlNLE1BQU07c0JBQTdDLFdBQVc7dUJBQUMscUJBQXFCO2dCQU9nQixPQUFPO3NCQUF4RCxLQUFLOztzQkFBSSxXQUFXO3VCQUFDLDBCQUEwQjtnQkFRNUMsUUFBUTtzQkFIWCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLG9CQUFvQjs7c0JBQ2hDLFdBQVc7dUJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0RGlyZWN0aXZlLFxuXHRIb3N0QmluZGluZyxcblx0SW5wdXRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuLyoqXG4gKiBBIGNvbnZlbmllbmNlIGRpcmVjdGl2ZSBmb3IgYXBwbHlpbmcgc3R5bGluZyB0byBhIGxpbmsuIEdldCBzdGFydGVkIHdpdGggaW1wb3J0aW5nIHRoZSBtb2R1bGU6XG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgTGlua01vZHVsZSB9IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuICogYGBgXG4gKlxuICogYGBgaHRtbFxuICogPGEgaHJlZj1cIiNcIiBjZHNMaW5rPkEgbGluazwvYT5cbiAqIGBgYFxuICpcbiAqIFNlZSB0aGUgW3ZhbmlsbGEgY2FyYm9uIGRvY3NdKGh0dHA6Ly93d3cuY2FyYm9uZGVzaWduc3lzdGVtLmNvbS9jb21wb25lbnRzL2xpbmsvY29kZSkgZm9yIG1vcmUgZGV0YWlsLlxuICpcbiAqIFtTZWUgZGVtb10oLi4vLi4vP3BhdGg9L3N0b3J5L2NvbXBvbmVudHMtbGluay0tYmFzaWMpXG4gKi9cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogXCJbY2RzTGlua10sIFtpYm1MaW5rXVwiXG59KVxuXG5cbmV4cG9ydCBjbGFzcyBMaW5rIHtcblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1saW5rXCIpIGJhc2VDbGFzcyA9IHRydWU7XG5cblx0LyoqXG5cdCAqIEF1dG9tYXRpY2FsbHkgc2V0IHRvIGAtMWAgd2hlbiBsaW5rIGlzIGRpc2FibGVkLlxuXHQgKi9cblx0QEhvc3RCaW5kaW5nKFwiYXR0ci50YWJpbmRleFwiKSB0YWJpbmRleDtcblxuXHQvKipcblx0ICogU2V0IHRvIHRydWUgdG8gc2hvdyBsaW5rcyBpbmxpbmUgaW4gYSBzZW50ZW5jZSBvciBwYXJhZ3JhcGguXG5cdCAqL1xuXHRASW5wdXQoKVxuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLWxpbmstLWlubGluZVwiKSBpbmxpbmUgPSBmYWxzZTtcblxuXHQvKipcblx0ICogU2V0IHRvIGBzbWAsIGBtZGAsIG9yIGBsZ2AgdG8gc2NhbGUgdGhlIGxpbmsgdHlwb2dyYXBoeS5cblx0ICovXG5cdEBJbnB1dCgpIHNpemU6IFwic21cIiB8IFwibWRcIiB8IFwibGdcIjtcblxuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLWxpbmstLXNtXCIpIGdldCBzaXplU20oKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuc2l6ZSA9PT0gXCJzbVwiO1xuXHR9XG5cblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1saW5rLS1tZFwiKSBnZXQgc2l6ZU1kKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLnNpemUgPT09IFwibWRcIjtcblx0fVxuXG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tbGluay0tbGdcIikgZ2V0IHNpemVMZygpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5zaXplID09PSBcImxnXCI7XG5cdH1cblxuXHQvKipcblx0ICogU2V0IHRvIGB0cnVlYCB0byBhcHBseSB2aXNpdGVkIGxpbmsgc3R5bGluZy5cblx0ICovXG5cdEBJbnB1dCgpIEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tbGluay0tdmlzaXRlZFwiKSB2aXNpdGVkID0gZmFsc2U7XG5cblx0LyoqXG5cdCAqIFNldCB0byB0cnVlIHRvIGRpc2FibGUgbGluay5cblx0ICovXG5cdEBJbnB1dCgpXG5cdEBIb3N0QmluZGluZyhcImF0dHIuYXJpYS1kaXNhYmxlZFwiKVxuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLWxpbmstLWRpc2FibGVkXCIpXG5cdHNldCBkaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbikge1xuXHRcdHRoaXMuX2Rpc2FibGVkID0gZGlzYWJsZWQ7XG5cdFx0dGhpcy50YWJpbmRleCA9IHRoaXMuZGlzYWJsZWQgPyAtMSA6IG51bGw7XG5cdH1cblxuXHRnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuXHR9XG5cblx0cHJpdmF0ZSBfZGlzYWJsZWQ7XG59XG4iXX0=