UNPKG

@angular/material

Version:
1 lines 3.89 kB
{"version":3,"file":"_line-chunk.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/core/line/line.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {BidiModule} from '@angular/cdk/bidi';\nimport {Directive, ElementRef, NgModule, QueryList} from '@angular/core';\nimport {startWith} from 'rxjs/operators';\n\n/**\n * Shared directive to count lines inside a text area, such as a list item.\n * Line elements can be extracted with a @ContentChildren(MatLine) query, then\n * counted by checking the query list's length.\n */\n@Directive({\n selector: '[mat-line], [matLine]',\n host: {'class': 'mat-line'},\n})\nexport class MatLine {}\n\n/**\n * Helper that takes a query list of lines and sets the correct class on the host.\n * @docs-private\n */\nexport function setLines(\n lines: QueryList<unknown>,\n element: ElementRef<HTMLElement>,\n prefix = 'mat',\n) {\n // Note: doesn't need to unsubscribe, because `changes`\n // gets completed by Angular when the view is destroyed.\n lines.changes.pipe(startWith(lines)).subscribe(({length}) => {\n setClass(element, `${prefix}-2-line`, false);\n setClass(element, `${prefix}-3-line`, false);\n setClass(element, `${prefix}-multi-line`, false);\n\n if (length === 2 || length === 3) {\n setClass(element, `${prefix}-${length}-line`, true);\n } else if (length > 3) {\n setClass(element, `${prefix}-multi-line`, true);\n }\n });\n}\n\n/** Adds or removes a class from an element. */\nfunction setClass(element: ElementRef<HTMLElement>, className: string, isAdd: boolean): void {\n element.nativeElement.classList.toggle(className, isAdd);\n}\n\n@NgModule({\n imports: [MatLine],\n exports: [MatLine, BidiModule],\n})\nexport class MatLineModule {}\n"],"names":[],"mappings":";;;;;MAqBa,OAAO,CAAA;;;;;UAAP,OAAO;AAAA,IAAA,IAAA,EAAA,EAAA;AAAA,IAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA;AAAA,GAAA,CAAA;;;;UAAP,OAAO;AAAA,IAAA,YAAA,EAAA,IAAA;AAAA,IAAA,QAAA,EAAA,uBAAA;AAAA,IAAA,IAAA,EAAA;AAAA,MAAA,cAAA,EAAA;KAAA;AAAA,IAAA,QAAA,EAAA;AAAA,GAAA,CAAA;;;;;;QAAP,OAAO;AAAA,EAAA,UAAA,EAAA,CAAA;UAJnB,SAAS;AAAC,IAAA,IAAA,EAAA,CAAA;AACT,MAAA,QAAQ,EAAE,uBAAuB;AACjC,MAAA,IAAI,EAAE;AAAC,QAAA,OAAO,EAAE;AAAU;KAC3B;;;AAOK,SAAU,QAAQ,CACtB,KAAyB,EACzB,OAAgC,EAChC,MAAM,GAAG,KAAK,EAAA;AAId,EAAA,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAAC,IAAA;AAAM,GAAC,KAAI;IAC1D,QAAQ,CAAC,OAAO,EAAE,CAAA,EAAG,MAAM,CAAA,OAAA,CAAS,EAAE,KAAK,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,CAAA,EAAG,MAAM,CAAA,OAAA,CAAS,EAAE,KAAK,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,CAAA,EAAG,MAAM,CAAA,WAAA,CAAa,EAAE,KAAK,CAAC;AAEhD,IAAA,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE;MAChC,QAAQ,CAAC,OAAO,EAAE,CAAA,EAAG,MAAM,IAAI,MAAM,CAAA,KAAA,CAAO,EAAE,IAAI,CAAC;AACrD,IAAA,CAAA,MAAO,IAAI,MAAM,GAAG,CAAC,EAAE;MACrB,QAAQ,CAAC,OAAO,EAAE,CAAA,EAAG,MAAM,CAAA,WAAA,CAAa,EAAE,IAAI,CAAC;AACjD,IAAA;AACF,EAAA,CAAC,CAAC;AACJ;AAGA,SAAS,QAAQ,CAAC,OAAgC,EAAE,SAAiB,EAAE,KAAc,EAAA;EACnF,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC;AAC1D;MAMa,aAAa,CAAA;;;;;UAAb,aAAa;AAAA,IAAA,IAAA,EAAA,EAAA;AAAA,IAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA;AAAA,GAAA,CAAA;AAAb,EAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA;AAAA,IAAA,UAAA,EAAA,QAAA;AAAA,IAAA,OAAA,EAAA,QAAA;AAAA,IAAA,QAAA,EAAA,EAAA;AAAA,IAAA,IAAA,EAAA,aAAa;IAAA,OAAA,EAAA,CAnCb,OAAO,CAAA;AAAA,IAAA,OAAA,EAAA,CAAP,OAAO,EAiCC,UAAU;AAAA,GAAA,CAAA;AAElB,EAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA;AAAA,IAAA,UAAA,EAAA,QAAA;AAAA,IAAA,OAAA,EAAA,QAAA;AAAA,IAAA,QAAA,EAAA,EAAA;AAAA,IAAA,IAAA,EAAA,aAAa;cAFL,UAAU;AAAA,GAAA,CAAA;;;;;;QAElB,aAAa;AAAA,EAAA,UAAA,EAAA,CAAA;UAJzB,QAAQ;AAAC,IAAA,IAAA,EAAA,CAAA;MACR,OAAO,EAAE,CAAC,OAAO,CAAC;AAClB,MAAA,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU;KAC9B;;;;;;"}