UNPKG

carbon-components-angular

Version:
93 lines 7.67 kB
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=