carbon-components-angular
Version:
Next generation components
55 lines • 5.26 kB
JavaScript
import { Directive, HostBinding } from "@angular/core";
import * as i0 from "@angular/core";
/**
* Applies either ordered or unordered styling to the list container it is applied to.
*
* For `ul`s it will apply unordered list styles, and for `ol`s it will apply ordered list styles.
*
* If a `ul` or `ol` is nested within a `li` the directive will apply nested list styling.
*
* Get started with importing the module:
*
* ```typescript
* import { ListModule } from 'carbon-components-angular';
* ```
*
* [See demo](../../?path=/story/components-list--basic)
*/
export class List {
constructor(elementRef) {
this.elementRef = elementRef;
}
get ordered() {
if (this.nested) {
return false;
}
return this.elementRef.nativeElement.tagName === "OL";
}
get unordered() {
if (this.nested) {
return false;
}
return this.elementRef.nativeElement.tagName === "UL";
}
get nested() {
return !!(this.elementRef.nativeElement.parentElement && this.elementRef.nativeElement.parentElement.tagName === "LI");
}
}
List.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: List, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
List.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: List, selector: "[cdsList], [ibmList]", host: { properties: { "class.cds--list--ordered": "this.ordered", "class.cds--list--unordered": "this.unordered", "class.cds--list--nested": "this.nested" } }, ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: List, decorators: [{
type: Directive,
args: [{
selector: "[cdsList], [ibmList]"
}]
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { ordered: [{
type: HostBinding,
args: ["class.cds--list--ordered"]
}], unordered: [{
type: HostBinding,
args: ["class.cds--list--unordered"]
}], nested: [{
type: HostBinding,
args: ["class.cds--list--nested"]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGlzdC9saXN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFbkU7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFJSCxNQUFNLE9BQU8sSUFBSTtJQWVoQixZQUFzQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUcsQ0FBQztJQWRoRCxJQUE2QyxPQUFPO1FBQ25ELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUFFLE9BQU8sS0FBSyxDQUFDO1NBQUU7UUFDbEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUErQyxTQUFTO1FBQ3ZELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUFFLE9BQU8sS0FBSyxDQUFDO1NBQUU7UUFDbEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUE0QyxNQUFNO1FBQ2pELE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDeEgsQ0FBQzs7aUdBYlcsSUFBSTtxRkFBSixJQUFJOzJGQUFKLElBQUk7a0JBSGhCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHNCQUFzQjtpQkFDaEM7aUdBRTZDLE9BQU87c0JBQW5ELFdBQVc7dUJBQUMsMEJBQTBCO2dCQUtRLFNBQVM7c0JBQXZELFdBQVc7dUJBQUMsNEJBQTRCO2dCQUtHLE1BQU07c0JBQWpELFdBQVc7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbi8qKlxuICogQXBwbGllcyBlaXRoZXIgb3JkZXJlZCBvciB1bm9yZGVyZWQgc3R5bGluZyB0byB0aGUgbGlzdCBjb250YWluZXIgaXQgaXMgYXBwbGllZCB0by5cbiAqXG4gKiBGb3IgYHVsYHMgaXQgd2lsbCBhcHBseSB1bm9yZGVyZWQgbGlzdCBzdHlsZXMsIGFuZCBmb3IgYG9sYHMgaXQgd2lsbCBhcHBseSBvcmRlcmVkIGxpc3Qgc3R5bGVzLlxuICpcbiAqIElmIGEgYHVsYCBvciBgb2xgIGlzIG5lc3RlZCB3aXRoaW4gYSBgbGlgIHRoZSBkaXJlY3RpdmUgd2lsbCBhcHBseSBuZXN0ZWQgbGlzdCBzdHlsaW5nLlxuICpcbiAqIEdldCBzdGFydGVkIHdpdGggaW1wb3J0aW5nIHRoZSBtb2R1bGU6XG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgTGlzdE1vZHVsZSB9IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuICogYGBgXG4gKlxuICogW1NlZSBkZW1vXSguLi8uLi8/cGF0aD0vc3RvcnkvY29tcG9uZW50cy1saXN0LS1iYXNpYylcbiAqL1xuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiBcIltjZHNMaXN0XSwgW2libUxpc3RdXCJcbn0pXG5leHBvcnQgY2xhc3MgTGlzdCB7XG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tbGlzdC0tb3JkZXJlZFwiKSBnZXQgb3JkZXJlZCgpIHtcblx0XHRpZiAodGhpcy5uZXN0ZWQpIHsgcmV0dXJuIGZhbHNlOyB9XG5cdFx0cmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnRhZ05hbWUgPT09IFwiT0xcIjtcblx0fVxuXG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tbGlzdC0tdW5vcmRlcmVkXCIpIGdldCB1bm9yZGVyZWQoKSB7XG5cdFx0aWYgKHRoaXMubmVzdGVkKSB7IHJldHVybiBmYWxzZTsgfVxuXHRcdHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50YWdOYW1lID09PSBcIlVMXCI7XG5cdH1cblxuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLWxpc3QtLW5lc3RlZFwiKSBnZXQgbmVzdGVkKCkge1xuXHRcdHJldHVybiAhISh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50ICYmIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQudGFnTmFtZSA9PT0gXCJMSVwiKTtcblx0fVxuXG5cdGNvbnN0cnVjdG9yKHByb3RlY3RlZCBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxufVxuIl19