UNPKG

carbon-components-angular

Version:
164 lines (160 loc) 5.94 kB
/** * * carbon-angular v0.0.0 | textarea-label.component.d.ts * * Copyright 2014, 2026 IBM * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { AfterViewInit, OnChanges, OnDestroy, ElementRef, TemplateRef, ChangeDetectorRef, SimpleChanges } from "@angular/core"; import { TextArea } from "./text-area.directive"; import * as i0 from "@angular/core"; /** * Get started with importing the module: * * ```typescript * import { InputModule } from 'carbon-components-angular'; * ``` * * ```html * <cds-textarea-label> * Label * <textarea cdsTextArea class="textarea-field"> * </cds-textarea-label> * ``` * * [See demo](../../?path=/story/components-input-text-area--basic) */ export declare class TextareaLabelComponent implements AfterViewInit, OnChanges, OnDestroy { protected changeDetectorRef: ChangeDetectorRef; get isReadonly(): boolean; get fluidClass(): boolean; get fluidSkeletonClass(): boolean; /** * Used to build the id of the input item associated with the `Label`. */ static labelCounter: number; /** * The id of the input item associated with the `Label`. This value is also used to associate the `Label` with * its input counterpart through the 'for' attribute. */ labelInputID: string; /** * Set to `true` for a disabled label. */ disabled: boolean; /** * Set to `true` for a loading label. */ skeleton: boolean; /** * Helper input property for ease of migration * Since we cannot pass ng-content down easily from label component, we will accept the templates */ labelTemplate: TemplateRef<any>; textAreaTemplate: TemplateRef<any>; /** * Optional helper text that appears under the label. */ helperText: string | TemplateRef<any>; /** * Sets the invalid text. */ invalidText: string | TemplateRef<any>; /** * Set to `true` for an invalid label component. */ invalid: boolean; /** * Set to `true` to show a warning (contents set by warningText) */ warn: boolean; /** * Sets the warning text */ warnText: string | TemplateRef<any>; /** * Set the arialabel for label */ ariaLabel: string; /** * Experimental: enable fluid state */ fluid: boolean; /** * Set to `true` to hide the label visually, but keep accessible to * screen readers. */ hideLabel: boolean; /** * Set to `true` (`maxCount` must be set) to displays a live character/word * counter alongside the label. */ enableCounter: boolean; /** * Maximum number of characters (or words) allowed. Required for the * counter to display. */ maxCount: number; /** * Determines whether the counter counts characters or words. * When `"word"` and `maxCount` is set, input is clamped to `maxCount` words * on each change. Excess words are trimmed from the end of the value. */ counterMode: "character" | "word"; textCount: number; wrapper: ElementRef<HTMLDivElement>; textArea: TextArea; labelClass: boolean; private _textareaElement; private _inputListener; /** * Creates an instance of Label. */ constructor(changeDetectorRef: ChangeDetectorRef); /** * Sets the id on the input item associated with the `Label` and attaches the * counter listener when `enableCounter` is already `true` on first render. */ ngAfterViewInit(): void; /** * Attach/remove listener and seed `textCount` from the textarea's current value. * @param changes */ ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; isTemplate(value: any): boolean; /** * Keeps the textarea's `maxlength` attribute in sync with `maxCount`. This is only set * when counterMode is set to `character`. When counterMode is set to `word`, we enforce limit via JS. * If `maxCount` is unset or the mode is `"word"`, any previously applied * `maxlength` is removed so the textarea is unrestricted by the attribute. */ private _syncMaxLength; /** * Attaches the input event listener, ensuring it is never added twice. */ private _attachCounterListener; /** * Truncates `value` so it contains at most `limit` Unicode words. * Whitespace between and around words is preserved up to the last allowed word; * any trailing content (partial word or space) beyond the limit is dropped. */ private _truncateToWordLimit; /** * Removes the input event listener and clears the cached reference. */ private _detachCounterListener; private _countValue; static ɵfac: i0.ɵɵFactoryDeclaration<TextareaLabelComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<TextareaLabelComponent, "cds-textarea-label, ibm-textarea-label", never, { "labelInputID": "labelInputID"; "disabled": "disabled"; "skeleton": "skeleton"; "labelTemplate": "labelTemplate"; "textAreaTemplate": "textAreaTemplate"; "helperText": "helperText"; "invalidText": "invalidText"; "invalid": "invalid"; "warn": "warn"; "warnText": "warnText"; "ariaLabel": "ariaLabel"; "fluid": "fluid"; "hideLabel": "hideLabel"; "enableCounter": "enableCounter"; "maxCount": "maxCount"; "counterMode": "counterMode"; }, {}, ["textArea"], ["*", "[cdsTextArea],[ibmTextArea],textarea"], false>; }