carbon-components-angular
Version:
Next generation components
64 lines • 5.31 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 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", disabled: "disabled" }, host: { properties: { "class.cds--link": "this.baseClass", "attr.tabindex": "this.tabindex", "class.cds--link--inline": "this.inline", "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"]
}], disabled: [{
type: Input
}, {
type: HostBinding,
args: ["attr.aria-disabled"]
}, {
type: HostBinding,
args: ["class.cds--link--disabled"]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGluay9saW5rLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxlQUFlLENBQUM7O0FBRXZCOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBTUgsTUFBTSxPQUFPLElBQUk7SUFMakI7UUFNaUMsY0FBUyxHQUFHLElBQUksQ0FBQztRQU9qRDs7V0FFRztRQUVxQyxXQUFNLEdBQUcsS0FBSyxDQUFDO0tBa0J2RDtJQWhCQTs7T0FFRztJQUNILElBR0ksUUFBUSxDQUFDLFFBQWlCO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3ZCLENBQUM7O2lHQTNCVyxJQUFJO3FGQUFKLElBQUk7MkZBQUosSUFBSTtrQkFMaEIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsc0JBQXNCO2lCQUNoQzs4QkFJZ0MsU0FBUztzQkFBeEMsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBS0EsUUFBUTtzQkFBckMsV0FBVzt1QkFBQyxlQUFlO2dCQU1ZLE1BQU07c0JBRDdDLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMseUJBQXlCO2dCQVFsQyxRQUFRO3NCQUhYLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsb0JBQW9COztzQkFDaEMsV0FBVzt1QkFBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHREaXJlY3RpdmUsXG5cdEhvc3RCaW5kaW5nLFxuXHRJbnB1dFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG4vKipcbiAqIEEgY29udmVuaWVuY2UgZGlyZWN0aXZlIGZvciBhcHBseWluZyBzdHlsaW5nIHRvIGEgbGluay4gR2V0IHN0YXJ0ZWQgd2l0aCBpbXBvcnRpbmcgdGhlIG1vZHVsZTpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBMaW5rTW9kdWxlIH0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG4gKiBgYGBcbiAqXG4gKiBgYGBodG1sXG4gKiA8YSBocmVmPVwiI1wiIGNkc0xpbms+QSBsaW5rPC9hPlxuICogYGBgXG4gKlxuICogU2VlIHRoZSBbdmFuaWxsYSBjYXJib24gZG9jc10oaHR0cDovL3d3dy5jYXJib25kZXNpZ25zeXN0ZW0uY29tL2NvbXBvbmVudHMvbGluay9jb2RlKSBmb3IgbW9yZSBkZXRhaWwuXG4gKlxuICogW1NlZSBkZW1vXSguLi8uLi8/cGF0aD0vc3RvcnkvY29tcG9uZW50cy1saW5rLS1iYXNpYylcbiAqL1xuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiBcIltjZHNMaW5rXSwgW2libUxpbmtdXCJcbn0pXG5cblxuZXhwb3J0IGNsYXNzIExpbmsge1xuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLWxpbmtcIikgYmFzZUNsYXNzID0gdHJ1ZTtcblxuXHQvKipcblx0ICogQXV0b21hdGljYWxseSBzZXQgdG8gYC0xYCB3aGVuIGxpbmsgaXMgZGlzYWJsZWQuXG5cdCAqL1xuXHRASG9zdEJpbmRpbmcoXCJhdHRyLnRhYmluZGV4XCIpIHRhYmluZGV4O1xuXG5cdC8qKlxuXHQgKiBTZXQgdG8gdHJ1ZSB0byBzaG93IGxpbmtzIGlubGluZSBpbiBhIHNlbnRlbmNlIG9yIHBhcmFncmFwaC5cblx0ICovXG5cdEBJbnB1dCgpXG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tbGluay0taW5saW5lXCIpIGlubGluZSA9IGZhbHNlO1xuXG5cdC8qKlxuXHQgKiBTZXQgdG8gdHJ1ZSB0byBkaXNhYmxlIGxpbmsuXG5cdCAqL1xuXHRASW5wdXQoKVxuXHRASG9zdEJpbmRpbmcoXCJhdHRyLmFyaWEtZGlzYWJsZWRcIilcblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1saW5rLS1kaXNhYmxlZFwiKVxuXHRzZXQgZGlzYWJsZWQoZGlzYWJsZWQ6IGJvb2xlYW4pIHtcblx0XHR0aGlzLl9kaXNhYmxlZCA9IGRpc2FibGVkO1xuXHRcdHRoaXMudGFiaW5kZXggPSB0aGlzLmRpc2FibGVkID8gLTEgOiBudWxsO1xuXHR9XG5cblx0Z2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLl9kaXNhYmxlZDtcblx0fVxuXG5cdHByaXZhdGUgX2Rpc2FibGVkO1xufVxuIl19