carbon-components-angular 5.72.0 → 5.72.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/documentation/components/TextInputLabelComponent.html +171 -65
- package/docs/documentation/components/TextareaLabelComponent.html +142 -74
- package/docs/documentation/coverage.html +12 -12
- package/docs/documentation/directives/TextArea.html +106 -11
- package/docs/documentation/directives/TextInput.html +118 -24
- package/docs/documentation/js/search/search_index.js +2 -2
- package/docs/documentation/modules/CheckboxModule/dependencies.svg +42 -42
- package/docs/documentation/modules/CheckboxModule.html +42 -42
- package/docs/documentation/modules/CodeSnippetModule/dependencies.svg +4 -4
- package/docs/documentation/modules/CodeSnippetModule.html +4 -4
- package/docs/documentation/modules/ComboBoxModule/dependencies.svg +6 -6
- package/docs/documentation/modules/ComboBoxModule.html +6 -6
- package/docs/documentation/modules/ContentSwitcherModule/dependencies.svg +4 -4
- package/docs/documentation/modules/ContentSwitcherModule.html +4 -4
- package/docs/documentation/modules/ContextMenuModule/dependencies.svg +67 -67
- package/docs/documentation/modules/ContextMenuModule.html +67 -67
- package/docs/documentation/modules/DatePickerInputModule/dependencies.svg +4 -4
- package/docs/documentation/modules/DatePickerInputModule.html +4 -4
- package/docs/documentation/modules/DatePickerModule/dependencies.svg +6 -6
- package/docs/documentation/modules/DatePickerModule.html +6 -6
- package/docs/documentation/modules/DialogModule/dependencies.svg +4 -4
- package/docs/documentation/modules/DialogModule.html +4 -4
- package/docs/documentation/modules/DropdownModule/dependencies.svg +53 -53
- package/docs/documentation/modules/DropdownModule.html +53 -53
- package/docs/documentation/modules/FileUploaderModule/dependencies.svg +58 -58
- package/docs/documentation/modules/FileUploaderModule.html +58 -58
- package/docs/documentation/modules/GridModule/dependencies.svg +29 -29
- package/docs/documentation/modules/GridModule.html +29 -29
- package/docs/documentation/modules/I18nModule/dependencies.svg +4 -4
- package/docs/documentation/modules/I18nModule.html +4 -4
- package/docs/documentation/modules/IconModule/dependencies.svg +4 -4
- package/docs/documentation/modules/IconModule.html +4 -4
- package/docs/documentation/modules/InputModule/dependencies.svg +76 -76
- package/docs/documentation/modules/InputModule.html +76 -76
- package/docs/documentation/modules/LayerModule/dependencies.svg +4 -4
- package/docs/documentation/modules/LayerModule.html +4 -4
- package/docs/documentation/modules/ListModule/dependencies.svg +4 -4
- package/docs/documentation/modules/ListModule.html +4 -4
- package/docs/documentation/modules/LoadingModule/dependencies.svg +4 -4
- package/docs/documentation/modules/LoadingModule.html +4 -4
- package/docs/documentation/modules/MenuButtonModule/dependencies.svg +29 -29
- package/docs/documentation/modules/MenuButtonModule.html +29 -29
- package/docs/documentation/modules/ModalModule/dependencies.svg +37 -37
- package/docs/documentation/modules/ModalModule.html +37 -37
- package/docs/documentation/modules/NumberModule/dependencies.svg +4 -4
- package/docs/documentation/modules/NumberModule.html +4 -4
- package/docs/documentation/modules/PaginationModule/dependencies.svg +56 -56
- package/docs/documentation/modules/PaginationModule.html +56 -56
- package/docs/documentation/modules/PanelModule/dependencies.svg +36 -36
- package/docs/documentation/modules/PanelModule.html +36 -36
- package/docs/documentation/modules/PopoverModule/dependencies.svg +4 -4
- package/docs/documentation/modules/PopoverModule.html +4 -4
- package/docs/documentation/modules/ProgressBarModule/dependencies.svg +4 -4
- package/docs/documentation/modules/ProgressBarModule.html +4 -4
- package/docs/documentation/modules/ProgressIndicatorModule/dependencies.svg +4 -4
- package/docs/documentation/modules/ProgressIndicatorModule.html +4 -4
- package/docs/documentation/modules/RadioModule/dependencies.svg +55 -59
- package/docs/documentation/modules/RadioModule.html +55 -59
- package/docs/documentation/modules/SelectModule/dependencies.svg +61 -61
- package/docs/documentation/modules/SelectModule.html +61 -61
- package/docs/documentation/modules/SideNavModule/dependencies.svg +41 -41
- package/docs/documentation/modules/SideNavModule.html +41 -41
- package/docs/documentation/modules/SkeletonModule/dependencies.svg +4 -4
- package/docs/documentation/modules/SkeletonModule.html +4 -4
- package/docs/documentation/modules/SliderModule/dependencies.svg +40 -36
- package/docs/documentation/modules/SliderModule.html +40 -36
- package/docs/documentation/modules/StructuredListModule/dependencies.svg +43 -43
- package/docs/documentation/modules/StructuredListModule.html +43 -43
- package/docs/documentation/modules/TableModule/dependencies.svg +225 -225
- package/docs/documentation/modules/TableModule.html +225 -225
- package/docs/documentation/modules/TabsModule/dependencies.svg +137 -137
- package/docs/documentation/modules/TabsModule.html +137 -137
- package/docs/documentation/modules/TagModule/dependencies.svg +38 -38
- package/docs/documentation/modules/TagModule.html +38 -38
- package/docs/documentation/modules/ThemeModule/dependencies.svg +13 -13
- package/docs/documentation/modules/ThemeModule.html +13 -13
- package/docs/documentation/modules/TilesModule/dependencies.svg +4 -4
- package/docs/documentation/modules/TilesModule.html +4 -4
- package/docs/documentation/modules/TimePickerModule/dependencies.svg +7 -7
- package/docs/documentation/modules/TimePickerModule.html +7 -7
- package/docs/documentation/modules/ToggleModule/dependencies.svg +18 -18
- package/docs/documentation/modules/ToggleModule.html +18 -18
- package/docs/documentation/modules/ToggletipModule/dependencies.svg +4 -4
- package/docs/documentation/modules/ToggletipModule.html +4 -4
- package/docs/documentation/modules/TooltipModule/dependencies.svg +4 -4
- package/docs/documentation/modules/TooltipModule.html +4 -4
- package/docs/documentation/modules/TreeviewModule/dependencies.svg +28 -28
- package/docs/documentation/modules/TreeviewModule.html +28 -28
- package/docs/documentation/modules/UIShellModule/dependencies.svg +4 -4
- package/docs/documentation/modules/UIShellModule.html +4 -4
- package/docs/documentation.json +249 -131
- package/docs/storybook/1345.da6e3dec.iframe.bundle.js +1 -0
- package/docs/storybook/7019.75ad5817.iframe.bundle.js +2 -0
- package/docs/storybook/iframe.html +2 -2
- package/docs/storybook/{input-input-stories.85a9e65e.iframe.bundle.js → input-input-stories.8bf34960.iframe.bundle.js} +1 -1
- package/docs/storybook/{input-textarea-stories.77240fb3.iframe.bundle.js → input-textarea-stories.ad775432.iframe.bundle.js} +1 -1
- package/docs/storybook/main.d2b9abb3.iframe.bundle.js +1 -0
- package/docs/storybook/project.json +1 -1
- package/docs/storybook/{runtime~main.e32f2dfb.iframe.bundle.js → runtime~main.86875b86.iframe.bundle.js} +1 -1
- package/esm2020/input/input.directive.mjs +11 -5
- package/esm2020/input/text-area.directive.mjs +11 -5
- package/esm2020/input/text-input-label.component.mjs +38 -15
- package/esm2020/input/textarea-label.component.mjs +46 -21
- package/fesm2015/carbon-components-angular-input.mjs +112 -46
- package/fesm2015/carbon-components-angular-input.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-input.mjs +102 -45
- package/fesm2020/carbon-components-angular-input.mjs.map +1 -1
- package/input/input.directive.d.ts +4 -1
- package/input/text-area.directive.d.ts +4 -1
- package/input/text-input-label.component.d.ts +9 -5
- package/input/textarea-label.component.d.ts +5 -3
- package/package.json +1 -1
- package/docs/storybook/1345.9ccf4f3f.iframe.bundle.js +0 -1
- package/docs/storybook/7019.b8944046.iframe.bundle.js +0 -2
- package/docs/storybook/main.cdbf1814.iframe.bundle.js +0 -1
- /package/docs/storybook/{7019.b8944046.iframe.bundle.js.LICENSE.txt → 7019.75ad5817.iframe.bundle.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carbon-components-angular-input.mjs","sources":["../../src/input/input.directive.ts","../../src/input/text-area.directive.ts","../../src/input/password.directive.ts","../../src/input/textarea-label.component.ts","../../src/input/text-input-label.component.ts","../../src/input/password-input-label.component.ts","../../src/input/label.component.ts","../../src/input/input.module.ts","../../src/input/carbon-components-angular-input.ts"],"sourcesContent":["import { Directive, HostBinding, Input } from \"@angular/core\";\n\n/**\n * A directive for applying styling to an input element.\n *\n * Example:\n *\n * ```html\n * <input cdsText/>\n * ```\n *\n * See the [vanilla carbon docs](http://www.carbondesignsystem.com/components/text-input/code) for more detail.\n */\n@Directive({\n\tselector: \"[cdsText], [ibmText]\"\n})\nexport class TextInput {\n\t/**\n\t * @deprecated since v5 - Use `cdsLayer` directive instead\n\t * `light` or `dark` input theme\n\t */\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n\n\t/**\n\t * Input field render size\n\t */\n\t@Input() size: \"sm\" | \"md\" | \"lg\" = \"md\";\n\n\t@HostBinding(\"class.cds--text-input\") inputClass = true;\n\n\t/**\n\t * @todo - remove `cds--text-input--${size}` classes in v12\n\t */\n\t@HostBinding(\"class.cds--text-input--sm\") get isSizeSm() {\n\t\treturn this.size === \"sm\";\n\t}\n\t@HostBinding(\"class.cds--text-input--md\") get isSizeMd() {\n\t\treturn this.size === \"md\";\n\t}\n\t@HostBinding(\"class.cds--text-input--lg\") get isSizelg() {\n\t\treturn this.size === \"lg\";\n\t}\n\n\t// Size\n\t@HostBinding(\"class.cds--layout--size-sm\") get sizeSm() {\n\t\treturn this.size === \"sm\";\n\t}\n\t@HostBinding(\"class.cds--layout--size-md\") get sizeMd() {\n\t\treturn this.size === \"md\";\n\t}\n\t@HostBinding(\"class.cds--layout--size-lg\") get sizelg() {\n\t\treturn this.size === \"lg\";\n\t}\n\n\t@HostBinding(\"class.cds--text-input--invalid\") @Input() invalid = false;\n\t@HostBinding(\"class.cds--text-input--warning\") @Input() warn = false;\n\t@HostBinding(\"class.cds--skeleton\") @Input() skeleton = false;\n\t@HostBinding(\"class.cds--text-input--light\") get isLightTheme() {\n\t\treturn this.theme === \"light\";\n\t}\n\n\t@HostBinding(\"attr.data-invalid\") get getInvalidAttribute() {\n\t\treturn this.invalid ? true : undefined;\n\t}\n\n}\n","import { Directive, HostBinding, Input } from \"@angular/core\";\n\n/**\n * A directive for applying styling to a textarea element.\n *\n * Example:\n *\n * ```html\n * <textarea cdsTextArea></textarea>\n * ```\n *\n * See the [vanilla carbon docs](http://www.carbondesignsystem.com/components/text-input/code) for more detail.\n */\n@Directive({\n\tselector: \"[cdsTextArea], [ibmTextArea]\"\n})\nexport class TextArea {\n\t/**\n\t * @deprecated since v5 - Use `cdsLayer` directive instead\n\t * `light` or `dark` input theme\n\t */\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n\n\t@HostBinding(\"class.cds--text-area\") baseClass = true;\n\t@HostBinding(\"class.cds--text-area--invalid\") @Input() invalid = false;\n\t/**\n\t * Set to `true` to put the textarea in a warning state.\n\t */\n\t@HostBinding(\"class.cds--text-area--warn\") @Input() warn = false;\n\t@HostBinding(\"class.cds--skeleton\") @Input() skeleton = false;\n\t@HostBinding(\"class.cds--text-area--light\") get isLightTheme() {\n\t\treturn this.theme === \"light\";\n\t}\n\n\t@HostBinding(\"attr.data-invalid\") get getInvalidAttr() {\n\t\treturn this.invalid ? true : undefined;\n\t}\n}\n","import {\n\tDirective,\n\tHostBinding,\n\tInput,\n\tRenderer2,\n\tElementRef,\n\tAfterViewInit\n} from \"@angular/core\";\n\n@Directive({\n\tselector: \"[cdsPassword], [ibmPassword]\"\n})\nexport class PasswordInput implements AfterViewInit {\n\n\t@Input() set type(type: string) {\n\t\tif (type) {\n\t\t\tthis._type = type;\n\t\t\tif (this.elementRef) {\n\t\t\t\tthis.renderer.setAttribute(this.elementRef.nativeElement, \"type\", this._type);\n\t\t\t}\n\t\t}\n\t}\n\t@HostBinding(\"class.cds--password-input\") passwordInputClass = true;\n\n\t/**\n\t * @todo - remove `cds--text-input--${size}` classes in v12\n\t */\n\t@HostBinding(\"class.cds--text-input--sm\") get isSizeSm() {\n\t\treturn this.size === \"sm\";\n\t}\n\t@HostBinding(\"class.cds--text-input--md\") get isSizeMd() {\n\t\treturn this.size === \"md\";\n\t}\n\t@HostBinding(\"class.cds--text-input--lg\") get isSizelg() {\n\t\treturn this.size === \"lg\";\n\t}\n\n\t// Size\n\t@HostBinding(\"class.cds--layout--size-sm\") get sizeSm() {\n\t\treturn this.size === \"sm\";\n\t}\n\t@HostBinding(\"class.cds--layout--size-md\") get sizeMd() {\n\t\treturn this.size === \"md\";\n\t}\n\t@HostBinding(\"class.cds--layout--size-lg\") get sizelg() {\n\t\treturn this.size === \"lg\";\n\t}\n\t@HostBinding(\"class.cds--text-input--light\") get isLightTheme() {\n\t\treturn this.theme === \"light\";\n\t}\n\n\t@HostBinding(\"class.cds--text-input\") inputClass = true;\n\t@HostBinding(\"class.cds--text-input--invalid\") @Input() invalid = false;\n\t@HostBinding(\"class.cds--text-input--warning\") @Input() warn = false;\n\t@HostBinding(\"class.cds--skeleton\") @Input() skeleton = false;\n\n\t/**\n\t * @deprecated since v5 - Use `cdsLayer` directive instead\n\t * `light` or `dark` input theme\n\t */\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n\n\t/**\n\t * Input field render size\n\t */\n\t@Input() size: \"sm\" | \"md\" | \"lg\" = \"md\";\n\n\t@HostBinding(\"attr.data-invalid\") get getInvalidAttribute() {\n\t\treturn this.invalid ? true : undefined;\n\t}\n\n\tprivate _type = \"password\";\n\n\tconstructor(protected elementRef: ElementRef, protected renderer: Renderer2) { }\n\n\tngAfterViewInit(): void {\n\t\tthis.renderer.setAttribute(this.elementRef.nativeElement, \"type\", this._type);\n\t}\n}\n","import {\n\tComponent,\n\tInput,\n\tAfterViewInit,\n\tOnChanges,\n\tOnDestroy,\n\tElementRef,\n\tHostBinding,\n\tTemplateRef,\n\tViewChild,\n\tContentChild,\n\tChangeDetectorRef,\n\tSimpleChanges\n} from \"@angular/core\";\n\nimport { TextArea } from \"./text-area.directive\";\n\n/**\n * Get started with importing the module:\n *\n * ```typescript\n * import { InputModule } from 'carbon-components-angular';\n * ```\n *\n * ```html\n * <cds-textarea-label>\n * \tLabel\n * \t<textarea cdsTextArea class=\"textarea-field\">\n * </cds-textarea-label>\n * ```\n *\n * [See demo](../../?path=/story/components-input-text-area--basic)\n */\n@Component({\n\tselector: \"cds-textarea-label, ibm-textarea-label\",\n\ttemplate: `\n\t\t<ng-container *ngIf=\"skeleton\">\n\t\t\t<span class=\"cds--label cds--skeleton\"></span>\n\t\t\t<div class=\"cds--text-area cds--skeleton\"></div>\n\t\t</ng-container>\n\t\t<ng-container *ngIf=\"!skeleton\">\n\t\t\t<div class=\"cds--text-area__label-wrapper\">\n\t\t\t\t<label\n\t\t\t\t\t[for]=\"labelInputID\"\n\t\t\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\t\t\tclass=\"cds--label\"\n\t\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t\t'cds--label--disabled': disabled,\n\t\t\t\t\t\t'cds--visually-hidden': hideLabel\n\t\t\t\t\t}\">\n\t\t\t\t\t<ng-template *ngIf=\"labelTemplate; else labelContent\" [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n\t\t\t\t\t<ng-template #labelContent>\n\t\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t\t</ng-template>\n\t\t\t\t</label>\n\t\t\t\t<span\n\t\t\t\t\t*ngIf=\"enableCounter && maxCount\"\n\t\t\t\t\tclass=\"cds--label\"\n\t\t\t\t\t[ngClass]=\"{'cds--label--disabled': disabled}\"\n\t\t\t\t\taria-hidden=\"true\">\n\t\t\t\t\t{{textCount}}/{{maxCount}}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclass=\"cds--text-area__wrapper\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'cds--text-area__wrapper--warn': warn,\n\t\t\t\t\t'cds--text-area__wrapper--decorator': !!decorator\n\t\t\t\t}\"\n\t\t\t\t[attr.data-invalid]=\"(invalid ? true : null)\"\n\t\t\t\t#wrapper>\n\t\t\t\t<svg\n\t\t\t\t\t*ngIf=\"!fluid && invalid\"\n\t\t\t\t\tcdsIcon=\"warning--filled\"\n\t\t\t\t\tsize=\"16\"\n\t\t\t\t\tclass=\"cds--text-area__invalid-icon\">\n\t\t\t\t</svg>\n\t\t\t\t<svg\n\t\t\t\t\t*ngIf=\"!fluid && !invalid && warn\"\n\t\t\t\t\tcdsIcon=\"warning--alt--filled\"\n\t\t\t\t\tsize=\"16\"\n\t\t\t\t\tclass=\"cds--text-area__invalid-icon cds--text-area__invalid-icon--warning\">\n\t\t\t\t</svg>\n\t\t\t\t<ng-template *ngIf=\"textAreaTemplate; else textAreaContent\" [ngTemplateOutlet]=\"textAreaTemplate\"></ng-template>\n\t\t\t\t<ng-template #textAreaContent>\n\t\t\t\t\t<ng-content select=\"[cdsTextArea],[ibmTextArea],textarea\"></ng-content>\n\t\t\t\t</ng-template>\n\t\t\t\t<ng-container *ngIf=\"decorator\">\n\t\t\t\t\t<div class=\"cds--text-area__inner-wrapper--decorator\">\n\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"decorator\"></ng-template>\n\t\t\t\t\t</div>\n\t\t\t\t</ng-container>\n\n\t\t\t\t<ng-container *ngIf=\"fluid\">\n\t\t\t\t\t<hr class=\"cds--text-area__divider\" />\n\t\t\t\t\t<div *ngIf=\"invalid\" class=\"cds--form-requirement\">\n\t\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(invalidText)\">{{invalidText}}</ng-container>\n\t\t\t\t\t\t<ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\tcdsIcon=\"warning--filled\"\n\t\t\t\t\t\t\tsize=\"16\"\n\t\t\t\t\t\t\tclass=\"cds--text-area__invalid-icon\">\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div *ngIf=\"!invalid && warn\" class=\"cds--form-requirement\">\n\t\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(warnText)\">{{warnText}}</ng-container>\n\t\t\t\t\t\t<ng-template *ngIf=\"isTemplate(warnText)\" [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\tcdsIcon=\"warning--alt--filled\"\n\t\t\t\t\t\t\tsize=\"16\"\n\t\t\t\t\t\t\tclass=\"cds--text-area__invalid-icon cds--text-area__invalid-icon--warning\">\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</div>\n\t\t\t\t</ng-container>\n\t\t\t</div>\n\t\t\t<ng-container *ngIf=\"!fluid\">\n\t\t\t\t<div\n\t\t\t\t\t*ngIf=\"helperText && !invalid && !warn\"\n\t\t\t\t\tclass=\"cds--form__helper-text\"\n\t\t\t\t\t[ngClass]=\"{'cds--form__helper-text--disabled': disabled}\">\n\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(helperText)\">{{helperText}}</ng-container>\n\t\t\t\t\t<ng-template *ngIf=\"isTemplate(helperText)\" [ngTemplateOutlet]=\"helperText\"></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<div *ngIf=\"invalid\" class=\"cds--form-requirement\">\n\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(invalidText)\">{{invalidText}}</ng-container>\n\t\t\t\t\t<ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<div *ngIf=\"!invalid && warn\" class=\"cds--form-requirement\">\n\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(warnText)\">{{warnText}}</ng-container>\n\t\t\t\t\t<ng-template *ngIf=\"isTemplate(warnText)\" [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t\t</div>\n\t\t\t</ng-container>\n\t\t</ng-container>\n\t`\n})\nexport class TextareaLabelComponent implements AfterViewInit, OnChanges, OnDestroy {\n\n\t@HostBinding(\"class.cds--text-area__wrapper--readonly\") get isReadonly() {\n\t\treturn this.wrapper?.nativeElement.querySelector(\"textarea\")?.readOnly ?? false;\n\t}\n\n\t@HostBinding(\"class.cds--text-area--fluid\") get fluidClass() {\n\t\treturn this.fluid && !this.skeleton;\n\t}\n\n\t@HostBinding(\"class.cds--text-area--fluid__skeleton\") get fluidSkeletonClass() {\n\t\treturn this.fluid && this.skeleton;\n\t}\n\t/**\n\t * Used to build the id of the input item associated with the `Label`.\n\t */\n\tstatic labelCounter = 0;\n\t/**\n\t * The id of the input item associated with the `Label`. This value is also used to associate the `Label` with\n\t * its input counterpart through the 'for' attribute.\n\t*/\n\t@Input() labelInputID = \"ibm-textarea-\" + TextareaLabelComponent.labelCounter;\n\n\t/**\n\t * Set to `true` for a disabled label.\n\t */\n\t@Input() disabled = false;\n\t/**\n\t * Set to `true` for a loading label.\n\t */\n\t@Input() skeleton = false;\n\n\t/**\n\t * Helper input property for ease of migration\n\t * Since we cannot pass ng-content down easily from label component, we will accept the templates\n\t */\n\t@Input() labelTemplate: TemplateRef<any>;\n\t@Input() textAreaTemplate: TemplateRef<any>;\n\t/**\n\t * Optional helper text that appears under the label.\n\t */\n\t@Input() helperText: string | TemplateRef<any>;\n\t/**\n\t * Sets the invalid text.\n\t */\n\t@Input() invalidText: string | TemplateRef<any>;\n\t/**\n\t * Set to `true` for an invalid label component.\n\t */\n\t@Input() invalid = false;\n\t/**\n\t * Set to `true` to show a warning (contents set by warningText)\n\t */\n\t@Input() warn = false;\n\t/**\n\t * Sets the warning text\n\t */\n\t@Input() warnText: string | TemplateRef<any>;\n\t/**\n\t * Set the arialabel for label\n\t */\n\t@Input() ariaLabel: string;\n\n\t/**\n\t * Experimental: enable fluid state\n\t */\n\t@Input() fluid = false;\n\n\t/**\n\t * Set to `true` to hide the label visually, but keep accessible to\n\t * screen readers.\n\t */\n\t@Input() hideLabel = false;\n\n\t/**\n\t * Set to `true` (`maxCount` must be set) to displays a live character/word\n\t * counter alongside the label.\n\t */\n\t@Input() enableCounter = false;\n\n\t/**\n\t * Maximum number of characters (or words) allowed. Required for the\n\t * counter to display.\n\t */\n\t@Input() maxCount: number;\n\n\t/**\n\t * Determines whether the counter counts characters or words.\n\t * When `\"word\"` and `maxCount` is set, input is clamped to `maxCount` words\n\t * on each change. Excess words are trimmed from the end of the value.\n\t */\n\t@Input() counterMode: \"character\" | \"word\" = \"character\";\n\n\t/**\n\t * **Experimental**: Optional decorator (e.g. AI label).\n\t */\n\t@Input() decorator: TemplateRef<any>;\n\n\t// Tracks current character / word count for the counter display.\n\ttextCount = 0;\n\n\t// @ts-ignore\n\t@ViewChild(\"wrapper\", { static: false }) wrapper: ElementRef<HTMLDivElement>;\n\n\t// @ts-ignore\n\t@ContentChild(TextArea, { static: false }) textArea: TextArea;\n\n\t@HostBinding(\"class.cds--form-item\") labelClass = true;\n\n\t// Cached reference to the textarea element, set once in ngAfterViewInit.\n\tprivate _textareaElement: HTMLTextAreaElement | null = null;\n\t// Cached listener so it can be removed precisely (avoids anonymous-function leak)\n\tprivate _inputListener: ((e: Event) => void) | null = null;\n\n\t/**\n\t * Creates an instance of Label.\n\t */\n\tconstructor(protected changeDetectorRef: ChangeDetectorRef) {}\n\n\t/**\n\t * Sets the id on the input item associated with the `Label` and attaches the\n\t * counter listener when `enableCounter` is already `true` on first render.\n\t */\n\tngAfterViewInit() {\n\t\tif (this.wrapper) {\n\t\t\t// Prioritize setting id to `textarea` over div\n\t\t\tconst inputElement = this.wrapper.nativeElement.querySelector(\"textarea\");\n\t\t\tif (inputElement) {\n\t\t\t\t// avoid overriding ids already set by the user — reuse it instead\n\t\t\t\tif (inputElement.id) {\n\t\t\t\t\tthis.labelInputID = inputElement.id;\n\t\t\t\t\tthis.changeDetectorRef.detectChanges();\n\t\t\t\t}\n\t\t\t\tinputElement.setAttribute(\"id\", this.labelInputID);\n\n\t\t\t\tthis._textareaElement = inputElement;\n\t\t\t\tthis._syncMaxLength();\n\n\t\t\t\tif (this.enableCounter) {\n\t\t\t\t\tthis.textCount = this._countValue(inputElement.value || \"\");\n\t\t\t\t\tthis._attachCounterListener();\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst divElement = this.wrapper.nativeElement.querySelector(\"div\");\n\t\t\tif (divElement) {\n\t\t\t\tif (divElement.id) {\n\t\t\t\t\tthis.labelInputID = divElement.id;\n\t\t\t\t\tthis.changeDetectorRef.detectChanges();\n\t\t\t\t}\n\t\t\t\tdivElement.setAttribute(\"id\", this.labelInputID);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Attach/remove listener and seed `textCount` from the textarea's current value.\n\t * @param changes\n\t */\n\tngOnChanges(changes: SimpleChanges) {\n\t\tif (changes.enableCounter && !changes.enableCounter.firstChange) {\n\t\t\tif (changes.enableCounter.currentValue) {\n\t\t\t\tif (this._textareaElement) {\n\t\t\t\t\tthis.textCount = this._countValue(this._textareaElement.value || \"\");\n\t\t\t\t\tthis._attachCounterListener();\n\t\t\t\t\tthis.changeDetectorRef.detectChanges();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis._detachCounterListener();\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\t(changes.maxCount || changes.counterMode) &&\n\t\t\t!(changes.maxCount?.firstChange && changes.counterMode?.firstChange)\n\t\t) {\n\t\t\tthis._syncMaxLength();\n\t\t}\n\t}\n\n\tngOnDestroy() {\n\t\tthis._detachCounterListener();\n\t}\n\n\tpublic isTemplate(value) {\n\t\treturn value instanceof TemplateRef;\n\t}\n\n\t/**\n\t * Keeps the textarea's `maxlength` attribute in sync with `maxCount`. This is only set\n\t * when counterMode is set to `character`. When counterMode is set to `word`, we enforce limit via JS.\n\t * If `maxCount` is unset or the mode is `\"word\"`, any previously applied\n\t * `maxlength` is removed so the textarea is unrestricted by the attribute.\n\t */\n\tprivate _syncMaxLength(): void {\n\t\tif (!this._textareaElement) {\n\t\t\treturn;\n\t\t}\n\t\tif (this.counterMode === \"character\" && this.maxCount != null) {\n\t\t\tthis._textareaElement.setAttribute(\"maxlength\", String(this.maxCount));\n\t\t} else {\n\t\t\tthis._textareaElement.removeAttribute(\"maxlength\");\n\t\t}\n\t}\n\n\t/**\n\t * Attaches the input event listener, ensuring it is never added twice.\n\t */\n\tprivate _attachCounterListener(): void {\n\t\tthis._detachCounterListener();\n\t\tif (!this._textareaElement) {\n\t\t\treturn;\n\t\t}\n\t\tthis._inputListener = (e: Event) => {\n\t\t\tconst el = e.target as HTMLTextAreaElement;\n\t\t\t// Word-mode enforcement: clamp value to maxCount words on each input so\n\t\t\t// the textarea never holds more words than allowed. Character mode relies\n\t\t\t// on the native `maxlength` attribute set by the developer.\n\t\t\tif (this.counterMode === \"word\" && this.maxCount != null) {\n\t\t\t\tconst clamped = this._truncateToWordLimit(el.value || \"\", this.maxCount);\n\t\t\t\tif (clamped !== el.value) {\n\t\t\t\t\tel.value = clamped;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.textCount = this._countValue(el.value || \"\");\n\t\t};\n\t\tthis._textareaElement.addEventListener(\"input\", this._inputListener);\n\t}\n\n\t/**\n\t * Truncates `value` so it contains at most `limit` Unicode words.\n\t * Whitespace between and around words is preserved up to the last allowed word;\n\t * any trailing content (partial word or space) beyond the limit is dropped.\n\t */\n\tprivate _truncateToWordLimit(value: string, limit: number): string {\n\t\tlet wordsSeen = 0;\n\t\t// Walk through the string capturing word boundaries\n\t\tconst wordPattern = /\\p{L}+/gu;\n\t\tlet match: RegExpExecArray | null;\n\t\tlet cutIndex = value.length;\n\t\twhile ((match = wordPattern.exec(value)) !== null) {\n\t\t\twordsSeen++;\n\t\t\tif (wordsSeen === limit) {\n\t\t\t\t// Allow the string to continue up to (but not past) the end of this word\n\t\t\t\tcutIndex = match.index + match[0].length;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn wordsSeen < limit ? value : value.slice(0, cutIndex);\n\t}\n\n\n\t/**\n\t * Removes the input event listener and clears the cached reference.\n\t */\n\tprivate _detachCounterListener(): void {\n\t\tif (this._inputListener && this._textareaElement) {\n\t\t\tthis._textareaElement.removeEventListener(\"input\", this._inputListener);\n\t\t\tthis._inputListener = null;\n\t\t}\n\t}\n\n\tprivate _countValue(value: string): number {\n\t\tif (this.counterMode === \"word\") {\n\t\t\treturn value.match(/\\p{L}+/gu)?.length || 0;\n\t\t}\n\t\treturn value.length;\n\t}\n}\n","import {\n\tAfterContentInit,\n\tAfterViewInit,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tHostBinding,\n\tInput,\n\tOnChanges,\n\tOnDestroy,\n\tSimpleChanges,\n\tTemplateRef,\n\tViewChild\n} from \"@angular/core\";\n\n/**\n * Get started with importing the module:\n *\n * ```typescript\n * import { InputModule } from 'carbon-components-angular';\n * ```\n *\n * ```html\n * <cds-text-label>\n * \tLabel\n * \t<input cdsText type=\"text\" class=\"input-field\">\n * </cds-text-label>\n * ```\n *\n * [See demo](../../?path=/story/components-input--basic)\n */\n@Component({\n\tselector: \"cds-text-label, ibm-text-label\",\n\ttemplate: `\n\t\t<ng-container *ngIf=\"skeleton\">\n\t\t\t<span class=\"cds--label cds--skeleton\"></span>\n\t\t\t<div class=\"cds--text-input cds--skeleton\"></div>\n\t\t</ng-container>\n\t\t<ng-container *ngIf=\"!skeleton\">\n\t\t\t<!-- non-inline: label-wrapper above field; inline: label+validation side-by-side -->\n\t\t\t<ng-container *ngIf=\"!inline; else inlineHeader\">\n\t\t\t\t<div class=\"cds--text-input__label-wrapper\">\n\t\t\t\t\t<label\n\t\t\t\t\t\t[for]=\"labelInputID\"\n\t\t\t\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\t\t\t\tclass=\"cds--label\"\n\t\t\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t\t\t'cds--label--disabled': disabled,\n\t\t\t\t\t\t\t'cds--visually-hidden': hideLabel\n\t\t\t\t\t\t}\">\n\t\t\t\t\t\t<ng-template *ngIf=\"labelTemplate; else labelContent\" [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n\t\t\t\t\t\t<ng-template #labelContent>\n\t\t\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t</label>\n\t\t\t\t\t<span\n\t\t\t\t\t\t*ngIf=\"enableCounter && maxCount\"\n\t\t\t\t\t\tclass=\"cds--label\"\n\t\t\t\t\t\t[ngClass]=\"{'cds--label--disabled': disabled}\"\n\t\t\t\t\t\taria-hidden=\"true\">\n\t\t\t\t\t\t{{textCount}}/{{maxCount}}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</ng-container>\n\n\t\t\t<ng-template #inlineHeader>\n\t\t\t\t<div class=\"cds--text-input__label-helper-wrapper\">\n\t\t\t\t\t<div class=\"cds--text-input__label-wrapper\">\n\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t[for]=\"labelInputID\"\n\t\t\t\t\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\t\t\t\t\tclass=\"cds--label\"\n\t\t\t\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t\t\t\t'cds--label--disabled': disabled,\n\t\t\t\t\t\t\t\t'cds--visually-hidden': hideLabel,\n\t\t\t\t\t\t\t\t'cds--label--inline': true,\n\t\t\t\t\t\t\t\t'cds--label--inline--sm': size === 'sm',\n\t\t\t\t\t\t\t\t'cds--label--inline--md': size === 'md',\n\t\t\t\t\t\t\t\t'cds--label--inline--lg': size === 'lg'\n\t\t\t\t\t\t\t}\">\n\t\t\t\t\t\t\t<ng-template *ngIf=\"labelTemplate\" [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<ng-container *ngIf=\"!fluid\">\n\t\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"validationOrHelper\"></ng-container>\n\t\t\t\t\t</ng-container>\n\t\t\t\t</div>\n\t\t\t</ng-template>\n\n\t\t\t<div\n\t\t\t\tclass=\"cds--text-input__field-outer-wrapper\"\n\t\t\t\t[ngClass]=\"{'cds--text-input__field-outer-wrapper--inline': inline}\">\n\t\t\t<div\n\t\t\t\tclass=\"cds--text-input__field-wrapper\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'cds--text-input__field-wrapper--warning': warn,\n\t\t\t\t\t'cds--text-input__field-wrapper--decorator': !!decorator\n\t\t\t\t}\"\n\t\t\t\t\t[attr.data-invalid]=\"(invalid ? true : null)\"\n\t\t\t\t\t#wrapper>\n\t\t\t\t\t<svg\n\t\t\t\t\t\t*ngIf=\"invalid && !warn\"\n\t\t\t\t\t\tcdsIcon=\"warning--filled\"\n\t\t\t\t\t\tsize=\"16\"\n\t\t\t\t\t\tclass=\"cds--text-input__invalid-icon\">\n\t\t\t\t\t</svg>\n\t\t\t\t\t<svg\n\t\t\t\t\t\t*ngIf=\"!invalid && warn\"\n\t\t\t\t\t\tcdsIcon=\"warning--alt--filled\"\n\t\t\t\t\t\tsize=\"16\"\n\t\t\t\t\t\tclass=\"cds--text-input__invalid-icon cds--text-input__invalid-icon--warning\">\n\t\t\t\t\t</svg>\n\t\t\t\t\t<ng-template *ngIf=\"textInputTemplate; else textInputContent\" [ngTemplateOutlet]=\"textInputTemplate\"></ng-template>\n\t\t\t\t\t<ng-template #textInputContent>\n\t\t\t\t\t\t<ng-content select=\"[cdsText],[ibmText],input[type=text],div\"></ng-content>\n\t\t\t\t\t</ng-template>\n\t\t\t\t\t<ng-container *ngIf=\"decorator\">\n\t\t\t\t\t\t<div class=\"cds--text-input__field-inner-wrapper--decorator\">\n\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"decorator\"></ng-template>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ng-container>\n\n\t\t\t\t\t<ng-container *ngIf=\"fluid\">\n\t\t\t\t\t\t<hr class=\"cds--text-input__divider\" />\n\t\t\t\t\t\t<div *ngIf=\"invalid\" class=\"cds--form-requirement\">\n\t\t\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(invalidText)\">{{invalidText}}</ng-container>\n\t\t\t\t\t\t\t<ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div *ngIf=\"!invalid && warn\" class=\"cds--form-requirement\">\n\t\t\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(warnText)\">{{warnText}}</ng-container>\n\t\t\t\t\t\t\t<ng-template *ngIf=\"isTemplate(warnText)\" [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ng-container>\n\t\t\t\t</div>\n\t\t\t\t<ng-container *ngIf=\"!fluid && !inline\">\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"validationOrHelper\"></ng-container>\n\t\t\t\t</ng-container>\n\t\t\t</div>\n\t\t</ng-container>\n\n\t\t<ng-template #validationOrHelper>\n\t\t\t<div\n\t\t\t\t*ngIf=\"helperText && !invalid && !warn\"\n\t\t\t\tclass=\"cds--form__helper-text\"\n\t\t\t\t[ngClass]=\"{'cds--form__helper-text--disabled': disabled, 'cds--form__helper-text--inline': inline}\">\n\t\t\t\t<ng-container *ngIf=\"!isTemplate(helperText)\">{{helperText}}</ng-container>\n\t\t\t\t<ng-template *ngIf=\"isTemplate(helperText)\" [ngTemplateOutlet]=\"helperText\"></ng-template>\n\t\t\t</div>\n\t\t\t<div *ngIf=\"invalid\" class=\"cds--form-requirement\">\n\t\t\t\t<ng-container *ngIf=\"!isTemplate(invalidText)\">{{invalidText}}</ng-container>\n\t\t\t\t<ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t</div>\n\t\t\t<div *ngIf=\"!invalid && warn\" class=\"cds--form-requirement\">\n\t\t\t\t<ng-container *ngIf=\"!isTemplate(warnText)\">{{warnText}}</ng-container>\n\t\t\t\t<ng-template *ngIf=\"isTemplate(warnText)\" [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t</div>\n\t\t</ng-template>\n\t`\n})\nexport class TextInputLabelComponent implements AfterViewInit, AfterContentInit, OnChanges, OnDestroy {\n\n\t@HostBinding(\"class.cds--text-input-wrapper--inline\") get isInlineWrapper() {\n\t\treturn this.inline;\n\t}\n\n\t@HostBinding(\"class.cds--text-input-wrapper--readonly\") get isReadonly() {\n\t\treturn this.wrapper?.nativeElement.querySelector(\"input\")?.readOnly ?? false;\n\t}\n\n\t@HostBinding(\"class.cds--text-input--fluid\") get fluidClass() {\n\t\treturn this.fluid && !this.skeleton;\n\t}\n\n\t@HostBinding(\"class.cds--text-input--fluid__skeleton\") get fluidSkeletonClass() {\n\t\treturn this.fluid && this.skeleton;\n\t}\n\t/**\n\t * Used to build the id of the input item associated with the `Label`.\n\t */\n\tstatic labelCounter = 0;\n\t/**\n\t * The id of the input item associated with the `Label`. This value is also used to associate the `Label` with\n\t * its input counterpart through the 'for' attribute.\n\t*/\n\t@Input() labelInputID = \"ibm-text-input-\" + TextInputLabelComponent.labelCounter++;\n\n\t/**\n\t * Set to `true` for a disabled label.\n\t */\n\t@Input() disabled = false;\n\t/**\n\t * Set to `true` for a loading label.\n\t */\n\t@Input() skeleton = false;\n\n\t/**\n\t * Helper input property for ease of migration\n\t * Since we cannot pass ng-content down easily from label component, we will accept the templates\n\t */\n\t@Input() labelTemplate: TemplateRef<any>;\n\t@Input() textInputTemplate: TemplateRef<any>;\n\t/**\n\t * Optional helper text that appears under the label.\n\t */\n\t@Input() helperText: string | TemplateRef<any>;\n\t/**\n\t * Sets the invalid text.\n\t */\n\t@Input() invalidText: string | TemplateRef<any>;\n\t/**\n\t * Set to `true` for an invalid label component.\n\t */\n\t@Input() invalid = false;\n\t/**\n\t * Set to `true` to show a warning (contents set by warningText)\n\t */\n\t@Input() warn = false;\n\t/**\n\t * Sets the warning text\n\t */\n\t@Input() warnText: string | TemplateRef<any>;\n\t/**\n\t * Set the arialabel for label\n\t */\n\t@Input() ariaLabel: string;\n\n\t/**\n\t * Experimental: enable fluid state\n\t */\n\t@Input() fluid = false;\n\n\t/**\n\t * **Experimental**: Optional decorator (e.g. AI label).\n\t */\n\t@Input() decorator: TemplateRef<any>;\n\n\t/**\n\t * Set to `true` to hide the label visually, but keep accessible to\n\t * screen readers.\n\t */\n\t@Input() hideLabel = false;\n\n\t/**\n\t * Set to `true` to render the label and field side-by-side instead of stacked.\n\t */\n\t@Input() inline = false;\n\n\t/**\n\t * The render size for the `TextInput`. Used to compute the INLINE label size\n\t * variant class (`cds--label--inline--{size}`).\n\t */\n\t@Input() size: \"sm\" | \"md\" | \"lg\" = \"md\";\n\n\t/**\n\t * Set to `true` (`maxCount` must be set) to displays a live character\n\t * counter alongside the label.\n\t */\n\t@Input() enableCounter = false;\n\n\t/**\n\t * Maximum number of characters (or words) allowed. Required for the\n\t * counter to display.\n\t */\n\t@Input() maxCount: number;\n\n\t// Tracks current character count for the counter display.\n\ttextCount = 0;\n\n\t// @ts-ignore\n\t@ViewChild(\"wrapper\", { static: false }) wrapper: ElementRef<HTMLDivElement>;\n\n\t@HostBinding(\"class.cds--form-item\") labelClass = true;\n\n\t@HostBinding(\"class.cds--text-input-wrapper\") textInputWrapper = true;\n\n\t// Cached reference to the input element, set once in ngAfterViewInit.\n\tprivate _inputElement: HTMLInputElement | null = null;\n\t// Cached listener so it can be removed precisely (avoids anonymous-function leak).\n\tprivate _inputListener: ((e: Event) => void) | null = null;\n\n\t/**\n\t * Creates an instance of Label.\n\t */\n\tconstructor(protected changeDetectorRef: ChangeDetectorRef) {}\n\n\t/**\n\t * Sets the id on the input item associated with the `Label` and attaches the\n\t * counter listener when `enableCounter` is already `true` on first render.\n\t */\n\tngAfterViewInit() {\n\t\tif (this.wrapper) {\n\t\t\t// Prioritize setting id to `input` over div\n\t\t\tconst inputElement = this.wrapper.nativeElement.querySelector(\"input\");\n\t\t\tif (inputElement) {\n\t\t\t\t// avoid overriding ids already set by the user, reuse it instead\n\t\t\t\tif (inputElement.id) {\n\t\t\t\t\tthis.labelInputID = inputElement.id;\n\t\t\t\t\tthis.changeDetectorRef.detectChanges();\n\t\t\t\t}\n\t\t\t\tinputElement.setAttribute(\"id\", this.labelInputID);\n\n\t\t\t\tthis._inputElement = inputElement;\n\n\t\t\t\tif (this.enableCounter) {\n\t\t\t\t\tthis.textCount = inputElement.value?.length || 0;\n\t\t\t\t\tthis._attachCounterListener();\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst divElement = this.wrapper.nativeElement.querySelector(\"div\");\n\t\t\tif (divElement) {\n\t\t\t\tif (divElement.id) {\n\t\t\t\t\tthis.labelInputID = divElement.id;\n\t\t\t\t\tthis.changeDetectorRef.detectChanges();\n\t\t\t\t}\n\t\t\t\tdivElement.setAttribute(\"id\", this.labelInputID);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Attach/remove listener and seed `textCount` from the textarea's current value.\n\t * @param changes\n\t */\n\tngOnChanges(changes: SimpleChanges) {\n\t\tif (changes.enableCounter && !changes.enableCounter.firstChange) {\n\t\t\tif (changes.enableCounter.currentValue) {\n\t\t\t\tif (this._inputElement) {\n\t\t\t\t\tthis.textCount = this._inputElement.value?.length || 0;\n\t\t\t\t\tthis._attachCounterListener();\n\t\t\t\t\tthis.changeDetectorRef.detectChanges();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis._detachCounterListener();\n\t\t\t}\n\t\t}\n\t}\n\n\tngAfterContentInit() {\n\t\tthis.changeDetectorRef.detectChanges();\n\t}\n\n\tngOnDestroy() {\n\t\tthis._detachCounterListener();\n\t}\n\n\tpublic isTemplate(value) {\n\t\treturn value instanceof TemplateRef;\n\t}\n\n\t/**\n\t * Attaches the input event listener, ensuring it is never added twice.\n\t */\n\tprivate _attachCounterListener(): void {\n\t\tthis._detachCounterListener();\n\t\tif (!this._inputElement) {\n\t\t\treturn;\n\t\t}\n\t\tthis._inputListener = (e: Event) => {\n\t\t\tthis.textCount = (e.target as HTMLInputElement).value?.length || 0;\n\t\t\tthis.changeDetectorRef.detectChanges();\n\t\t};\n\t\tthis._inputElement.addEventListener(\"input\", this._inputListener);\n\t}\n\n\t/**\n\t * Removes the input event listener and clears the cached reference.\n\t */\n\tprivate _detachCounterListener(): void {\n\t\tif (this._inputListener && this._inputElement) {\n\t\t\tthis._inputElement.removeEventListener(\"input\", this._inputListener);\n\t\t\tthis._inputListener = null;\n\t\t}\n\t}\n}\n","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tAfterViewInit,\n\tElementRef,\n\tHostBinding,\n\tTemplateRef,\n\tViewChild,\n\tChangeDetectorRef,\n\tContentChild\n} from \"@angular/core\";\nimport { PasswordInput } from \"./password.directive\";\nimport { BaseIconButton } from \"carbon-components-angular/button\";\n\n/**\n * Get started with importing the module:\n *\n * ```typescript\n * import { InputModule } from 'carbon-components-angular';\n * ```\n *\n * ```html\n * <cds-password-label>\n * \tLabel\n *\t<input cdsPassword>\n * </cds-password-label>\n * ```\n *\n * [See demo](../../?path=/story/components-input--basic)\n */\n@Component({\n\tselector: \"cds-password-label, ibm-password-label\",\n\ttemplate: `\n\t\t<ng-container *ngIf=\"skeleton\">\n\t\t\t<span class=\"cds--label cds--skeleton\"></span>\n\t\t\t<div class=\"cds--text-input cds--skeleton\"></div>\n\t\t</ng-container>\n\t\t<label\n\t\t\t*ngIf=\"!skeleton\"\n\t\t\t[for]=\"labelInputID\"\n\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\tclass=\"cds--label\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--label--disabled': disabled,\n\t\t\t\t'cds--visually-hidden': hideLabel,\n\t\t\t\t'cds--label--inline': inline\n\t\t\t}\">\n\t\t\t<ng-template *ngIf=\"labelTemplate; else labelContent\" [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n\t\t\t<ng-template #labelContent>\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</ng-template>\n\t\t</label>\n\n\t\t<div *ngIf=\"!skeleton\" class=\"cds--text-input__field-outer-wrapper\" [ngClass]=\"{'cds--text-input__field-outer-wrapper--inline': inline}\">\n\t\t\t<div\n\t\t\tclass=\"cds--text-input__field-wrapper\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--text-input__field-wrapper--warning': warn\n\t\t\t}\"\n\t\t\t[attr.data-invalid]=\"invalid ? true : null\"\n\t\t\t#wrapper>\n\t\t\t\t<svg\n\t\t\t\t\t*ngIf=\"!warn && invalid\"\n\t\t\t\t\tcdsIcon=\"warning--filled\"\n\t\t\t\t\tsize=\"16\"\n\t\t\t\t\tclass=\"cds--text-input__invalid-icon\">\n\t\t\t\t</svg>\n\t\t\t\t<svg\n\t\t\t\t\t*ngIf=\"!invalid && warn\"\n\t\t\t\t\tcdsIcon=\"warning--alt--filled\"\n\t\t\t\t\tsize=\"16\"\n\t\t\t\t\tclass=\"cds--text-input__invalid-icon cds--text-input__invalid-icon--warning\">\n\t\t\t\t</svg>\n\t\t\t\t<ng-content select=\"[cdsPassword], [ibmPassword]\"></ng-content>\n\t\t\t\t<cds-tooltip\n\t\t\t\t\t*ngIf=\"!skeleton\"\n\t\t\t\t\t[description]=\"passwordIsVisible ? hidePasswordLabel : showPasswordLabel\"\n\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\t[caret]=\"caret\"\n\t\t\t\t\t[dropShadow]=\"dropShadow\"\n\t\t\t\t\t[highContrast]=\"highContrast\"\n\t\t\t\t\t[isOpen]=\"isOpen\"\n\t\t\t\t\t[align]=\"align\"\n\t\t\t\t\t[autoAlign]=\"autoAlign\"\n\t\t\t\t\t[enterDelayMs]=\"enterDelayMs\"\n\t\t\t\t\t[leaveDelayMs]=\"leaveDelayMs\"\n\t\t\t\t\tclass=\"cds--toggle-password-tooltip\">\n\t\t\t\t\t\t<div class=\"cds--tooltip-trigger__wrapper\">\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclass=\"cds--text-input--password__visibility__toggle cds--btn cds--tooltip__trigger cds--tooltip--a11y\"\n\t\t\t\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t(click)=\"handleTogglePasswordVisibility($event)\">\n\t\t\t\t\t\t\t\t<svg *ngIf=\"passwordIsVisible\" cdsIcon=\"view--off\" class=\"cds--icon-visibility-off\" size=\"16\"></svg>\n\t\t\t\t\t\t\t\t<svg *ngIf=\"!passwordIsVisible\" cdsIcon=\"view\" class=\"cds--icon-visibility-on\" size=\"16\"></svg>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t</cds-tooltip>\n\n\t\t\t\t<ng-container *ngIf=\"fluid\">\n\t\t\t\t\t<hr class=\"cds--text-input__divider\" />\n\t\t\t\t\t<div *ngIf=\"!warn && invalid\" class=\"cds--form-requirement\">\n\t\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(invalidText)\">{{ invalidText }}</ng-container>\n\t\t\t\t\t\t<ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div *ngIf=\"!invalid && warn\" class=\"cds--form-requirement\">\n\t\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(warnText)\">{{ warnText }}</ng-container>\n\t\t\t\t\t\t<ng-template *ngIf=\"isTemplate(warnText)\" [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t\t\t</div>\n\t\t\t\t</ng-container>\n\t\t\t</div>\n\t\t\t<ng-container *ngIf=\"!fluid\">\n\t\t\t\t<div\n\t\t\t\t\t*ngIf=\"!skeleton && helperText && !invalid && !warn\"\n\t\t\t\t\tclass=\"cds--form__helper-text\"\n\t\t\t\t\t[ngClass]=\"{ 'cds--form__helper-text--disabled': disabled }\">\n\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(helperText)\">{{ helperText }}</ng-container>\n\t\t\t\t\t<ng-template *ngIf=\"isTemplate(helperText)\" [ngTemplateOutlet]=\"helperText\"></ng-template>\n\t\t\t\t</div>\n\n\t\t\t\t<div *ngIf=\"!warn && invalid\" class=\"cds--form-requirement\">\n\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(invalidText)\">{{ invalidText }}</ng-container>\n\t\t\t\t\t<ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t\t</div>\n\n\t\t\t\t<div *ngIf=\"!invalid && warn\" class=\"cds--form-requirement\">\n\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(warnText)\">{{ warnText }}</ng-container>\n\t\t\t\t\t<ng-template *ngIf=\"isTemplate(warnText)\" [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t\t</div>\n\t\t\t</ng-container>\n\t\t</div>\n `\n})\n/**\n * Represents the Password Input Label Component.\n */\nexport class PasswordInputLabelComponent extends BaseIconButton implements AfterViewInit {\n\t/**\n\t * Counter for generating unique labelInputID.\n\t */\n\tstatic labelCounter = 0;\n\n\t@ContentChild(PasswordInput) textInput: PasswordInput;\n\n\t/**\n\t * ID for the input item associated with the label.\n\t */\n\t@Input() labelInputID = \"cds-password-input-\" + PasswordInputLabelComponent.labelCounter++;\n\n\t/**\n\t * Type for input field, either password or text.\n\t */\n\tinputType: \"password\" | \"text\" = \"password\";\n\n\t/**\n\t* Flag for checking if password is visible.\n\t*/\n\tpasswordIsVisible = false;\n\n\t/**\n\t * Flag for disabled label.\n\t */\n\t@Input() disabled = false;\n\n\t/**\n\t * Flag for loading (skeleton) label.\n\t */\n\t@Input() skeleton = false;\n\n\t/**\n\t * Template for label content.\n\t */\n\t@Input() labelTemplate: TemplateRef<any>;\n\n\t/**\n\t * Template for password input.\n\t */\n\t@Input() passwordInputTemplate: TemplateRef<any>;\n\n\t/**\n\t * Optional helper text under the label.\n\t */\n\t@Input() helperText: string | TemplateRef<any>;\n\n\t/**\n\t * Sets the invalid text.\n\t */\n\t@Input() invalidText: string | TemplateRef<any>;\n\n\t/**\n\t * Flag for an invalid label component.\n\t */\n\t@Input() invalid = false;\n\n\t/**\n\t * Flag for showing a warning.\n\t */\n\t@Input() warn = false;\n\n\t/**\n\t * Warning text.\n\t */\n\t@Input() warnText: string | TemplateRef<any>;\n\n\t/**\n\t * Aria label for label.\n\t */\n\t@Input() ariaLabel: string;\n\n\t/**\n\t * Tooltip text for hiding password.\n\t */\n\t@Input() hidePasswordLabel = \"Hide password\";\n\n\t/**\n\t * Tooltip text for showing password.\n\t */\n\t@Input() showPasswordLabel = \"Show password\";\n\n\t/**\n\t * Experimental: enable fluid state\n\t */\n\t@Input() fluid = false;\n\n\t/**\n\t * Set to `true` to hide the label visually, but keep accessible to\n\t * screen readers.\n\t */\n\t@Input() hideLabel = false;\n\n\t/**\n\t * Set to `true` to render the label and field side-by-side instead of stacked.\n\t */\n\t@Input() inline = false;\n\n\t/**\n\t * Emits whenever the show/hide password visibility toggle button is clicked.\n\t * Mirrors the `onTogglePasswordVisibility` prop of the React `PasswordInput`\n\t * component.\n\t */\n\t@Output() togglePasswordVisibility = new EventEmitter<\"password\" | \"text\">();\n\n\t/**\n\t * Reference to the wrapper element.\n\t */\n\t@ViewChild(\"wrapper\", { static: true }) wrapper: ElementRef<HTMLDivElement>;\n\n\t/**\n\t * Binding for applying class to host element.\n\t */\n\t@HostBinding(\"class.cds--form-item\") labelClass = true;\n\t@HostBinding(\"class.cds--password-input-wrapper\") passwordInputWrapper = true;\n\t@HostBinding(\"class.cds--text-input-wrapper\") textInputWrapper = true;\n\t@HostBinding(\"class.cds--text-input-wrapper--readonly\") get isReadonly() {\n\t\treturn this.wrapper?.nativeElement.querySelector(\"input\")?.readOnly ?? false;\n\t}\n\n\t@HostBinding(\"class.cds--text-input-wrapper--inline\") get isInlineWrapper() {\n\t\treturn this.inline;\n\t}\n\n\t@HostBinding(\"class.cds--text-input--fluid\") get fluidClass() {\n\t\treturn this.fluid && !this.skeleton;\n\t}\n\n\t@HostBinding(\"class.cds--text-input--fluid__skeleton\") get fluidSkeletonClass() {\n\t\treturn this.fluid && this.skeleton;\n\t}\n\n\t/**\n\t * Constructor for PasswordInputLabelComponent.\n\t * @param changeDetectorRef - Reference to ChangeDetectorRef.\n\t */\n\tconstructor(protected changeDetectorRef: ChangeDetectorRef) {\n\t\tsuper();\n\t}\n\n\t/**\n\t * Lifecycle hook called after the view has been initialized to set the ID of the input element\n\t */\n\tngAfterViewInit() {\n\t\tif (this.wrapper) {\n\t\t\tconst inputElement =\n\t\t\t\tthis.wrapper.nativeElement.querySelector(\"input\");\n\t\t\tif (inputElement) {\n\t\t\t\tif (inputElement.id) {\n\t\t\t\t\tthis.labelInputID = inputElement.id;\n\t\t\t\t\tthis.changeDetectorRef.detectChanges();\n\t\t\t\t}\n\t\t\t\tinputElement.setAttribute(\"id\", this.labelInputID);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Function to check if a value is a TemplateRef.\n\t * @param value - Value to check.\n\t * @returns Whether the value is a TemplateRef.\n\t */\n\tpublic isTemplate(value) {\n\t\treturn value instanceof TemplateRef;\n\t}\n\n\t/**\n\t * Handler for toggling password visibility.\n\t */\n\tpublic handleTogglePasswordVisibility() {\n\t\tthis.inputType = this.inputType === \"password\" ? \"text\" : \"password\";\n\t\tthis.textInput.type = this.inputType;\n\t\tthis.passwordIsVisible = this.inputType === \"text\";\n\t\tthis.togglePasswordVisibility.emit(this.inputType);\n\t}\n}\n","import {\n\tComponent,\n\tInput,\n\tAfterViewInit,\n\tElementRef,\n\tHostBinding,\n\tTemplateRef,\n\tViewChild,\n\tContentChild,\n\tAfterContentInit,\n\tChangeDetectorRef\n} from \"@angular/core\";\n\nimport { TextArea } from \"./text-area.directive\";\nimport { TextInput } from \"./input.directive\";\nimport { PasswordInput } from \"./password.directive\";\n\n/**\n * Get started with importing the module:\n *\n * ```typescript\n * import { InputModule } from 'carbon-components-angular';\n * ```\n *\n * To prevent attribute drilling, use `ibm-text-label` or `ibm-textarea-label` components\n *\n * ```html\n * <cds-label>\n * \tLabel\n * \t<input cdsText type=\"text\" class=\"input-field\">\n * </cds-label>\n * ```\n *\n * [See demo](../../?path=/story/components-input--basic)\n */\n@Component({\n\tselector: \"cds-label, ibm-label\",\n\ttemplate: `\n\t\t<ng-template #inputContentTemplate>\n\t\t\t<ng-content select=\"input,textarea,div\"></ng-content>\n\t\t</ng-template>\n\n\t\t<ng-template #labelContentTemplate>\n\t\t\t<ng-content></ng-content>\n\t\t</ng-template>\n\n\t\t<ng-container [ngSwitch]=\"type\">\n\t\t\t<ng-container *ngSwitchCase=\"'TextArea'\">\n\t\t\t\t<cds-textarea-label\n\t\t\t\t\t[labelInputID]=\"labelInputID\"\n\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\t[skeleton]=\"skeleton\"\n\t\t\t\t\t[helperText]=\"helperText\"\n\t\t\t\t\t[invalid]=\"invalid\"\n\t\t\t\t\t[invalidText]=\"invalidText\"\n\t\t\t\t\t[warn]=\"warn\"\n\t\t\t\t\t[warnText]=\"warnText\"\n\t\t\t\t\t[ariaLabel]=\"ariaLabel\"\n\t\t\t\t\t[hideLabel]=\"hideLabel\"\n\t\t\t\t\t[enableCounter]=\"enableCounter\"\n\t\t\t\t\t[maxCount]=\"maxCount\"\n\t\t\t\t\t[counterMode]=\"counterMode\"\n\t\t\t\t\t[decorator]=\"decorator\"\n\t\t\t\t\t[labelTemplate]=\"labelContentTemplate\"\n\t\t\t\t\t[textAreaTemplate]=\"inputContentTemplate\">\n\t\t\t\t</cds-textarea-label>\n\t\t\t</ng-container>\n\t\t\t<ng-container *ngSwitchCase=\"'TextInput'\">\n\t\t\t\t<cds-text-label\n\t\t\t\t\t[labelInputID]=\"labelInputID\"\n\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\t[skeleton]=\"skeleton\"\n\t\t\t\t\t[helperText]=\"helperText\"\n\t\t\t\t\t[invalid]=\"invalid\"\n\t\t\t\t\t[invalidText]=\"invalidText\"\n\t\t\t\t\t[warn]=\"warn\"\n\t\t\t\t\t[warnText]=\"warnText\"\n\t\t\t\t\t[ariaLabel]=\"ariaLabel\"\n\t\t\t\t\t[hideLabel]=\"hideLabel\"\n\t\t\t\t\t[inline]=\"inline\"\n\t\t\t\t\t[size]=\"size\"\n\t\t\t\t\t[enableCounter]=\"enableCounter\"\n\t\t\t\t\t[maxCount]=\"maxCount\"\n\t\t\t\t\t[decorator]=\"decorator\"\n\t\t\t\t\t[labelTemplate]=\"labelContentTemplate\"\n\t\t\t\t\t[textInputTemplate]=\"inputContentTemplate\">\n\t\t\t\t</cds-text-label>\n\t\t\t</ng-container>\n\t\t\t<ng-container *ngSwitchCase=\"'PasswordInput'\">\n\t\t\t\t<cds-password-label\n\t\t\t\t\t[labelInputID]=\"labelInputID\"\n\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\t[skeleton]=\"skeleton\"\n\t\t\t\t\t[helperText]=\"helperText\"\n\t\t\t\t\t[invalid]=\"invalid\"\n\t\t\t\t\t[invalidText]=\"invalidText\"\n\t\t\t\t\t[warn]=\"warn\"\n\t\t\t\t\t[warnText]=\"warnText\"\n\t\t\t\t\t[ariaLabel]=\"ariaLabel\"\n\t\t\t\t\t[hideLabel]=\"hideLabel\"\n\t\t\t\t\t[inline]=\"inline\"\n\t\t\t\t\t[labelTemplate]=\"labelContentTemplate\"\n\t\t\t\t\t[passwordInputTemplate]=\"inputContentTemplate\">\n\t\t\t\t</cds-password-label>\n\t\t\t</ng-container>\n\t\t\t<ng-container *ngSwitchDefault>\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"default\"></ng-template>\n\t\t\t</ng-container>\n\t\t</ng-container>\n\n\t\t<ng-template #default>\n\t\t\t<label\n\t\t\t\t[for]=\"labelInputID\"\n\t\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\t\tclass=\"cds--label\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'cds--label--disabled': disabled,\n\t\t\t\t\t'cds--skeleton': skeleton\n\t\t\t\t}\">\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"labelContentTemplate\"></ng-template>\n\t\t\t</label>\n\t\t\t<div\n\t\t\t\tclass=\"cds--text-input__field-wrapper\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'cds--text-input__field-wrapper--warning': warn\n\t\t\t\t}\"\n\t\t\t\t[attr.data-invalid]=\"(invalid ? true : null)\"\n\t\t\t\t#wrapper>\n\t\t\t\t<svg\n\t\t\t\t\t*ngIf=\"invalid\"\n\t\t\t\t\tcdsIcon=\"warning--filled\"\n\t\t\t\t\tsize=\"16\"\n\t\t\t\t\tclass=\"cds--text-input__invalid-icon\">\n\t\t\t\t</svg>\n\t\t\t\t<svg\n\t\t\t\t\t*ngIf=\"!invalid && warn\"\n\t\t\t\t\tcdsIcon=\"warning--alt--filled\"\n\t\t\t\t\tsize=\"16\"\n\t\t\t\t\tclass=\"cds--text-input__invalid-icon cds--text-input__invalid-icon--warning\">\n\t\t\t\t</svg>\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"inputContentTemplate\"></ng-template>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\t*ngIf=\"!skeleton && helperText && !invalid && !warn\"\n\t\t\t\tclass=\"cds--form__helper-text\"\n\t\t\t\t[ngClass]=\"{'cds--form__helper-text--disabled': disabled}\">\n\t\t\t\t<ng-container *ngIf=\"!isTemplate(helperText)\">{{helperText}}</ng-container>\n\t\t\t\t<ng-template *ngIf=\"isTemplate(helperText)\" [ngTemplateOutlet]=\"helperText\"></ng-template>\n\t\t\t</div>\n\t\t\t<div *ngIf=\"invalid\" class=\"cds--form-requirement\">\n\t\t\t\t<ng-container *ngIf=\"!isTemplate(invalidText)\">{{invalidText}}</ng-container>\n\t\t\t\t<ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t</div>\n\t\t\t<div *ngIf=\"!invalid && warn\" class=\"cds--form-requirement\">\n\t\t\t\t<ng-container *ngIf=\"!isTemplate(warnText)\">{{warnText}}</ng-container>\n\t\t\t\t<ng-template *ngIf=\"isTemplate(warnText)\" [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t</div>\n\t\t</ng-template>\n\t`\n})\nexport class Label implements AfterContentInit, AfterViewInit {\n\t/**\n\t * Used to build the id of the input item associated with the `Label`.\n\t */\n\tstatic labelCounter = 0;\n\t/**\n\t * The id of the input item associated with the `Label`. This value is also used to associate the `Label` with\n\t * its input counterpart through the 'for' attribute.\n\t */\n\t@Input() labelInputID = `cds-label-${Label.labelCounter++}`;\n\t/**\n\t * Set to `true` for disabled state.\n\t */\n\t@Input() disabled = false;\n\t/**\n\t * Set to `true` for a loading label.\n\t */\n\t@Input() skeleton = false;\n\t/**\n\t * Optional helper text that appears under the label.\n\t */\n\t@Input() helperText: string | TemplateRef<any>;\n\t/**\n\t * Sets the invalid text.\n\t */\n\t@Input() invalidText: string | TemplateRef<any>;\n\t/**\n\t * Set to `true` for an invalid label component.\n\t */\n\t@Input() invalid = false;\n\t/**\n\t * Set to `true` to show a warning (contents set by warningText)\n\t */\n\t@Input() warn = false;\n\t/**\n\t * Sets the warning text\n\t */\n\t@Input() warnText: string | TemplateRef<any>;\n\t/**\n\t * Set the arialabel for label\n\t */\n\t@Input() ariaLabel: string;\n\n\t/**\n\t * Set to `true` to hide the label visually, but keep accessible to\n\t * screen readers.\n\t */\n\t@Input() hideLabel = false;\n\n\t/**\n\t * Set to `true` to render the label and field side-by-side instead of stacked.\n\t * Applies to `TextInput` and `PasswordInput` label variants.\n\t */\n\t@Input() inline = false;\n\n\t/**\n\t * The render size for the `TextInput`. Used to compute INLINE label size\n\t * variant classes.\n\t */\n\t@Input() size: \"sm\" | \"md\" | \"lg\" = \"md\";\n\n\t/**\n\t * Set to `true` (`maxCount` must be set) to displays a live character/word\n\t * counter alongside the label.\n\t */\n\t@Input() enableCounter = false;\n\n\t/**\n\t * Maximum number of characters (or words) allowed. Required for the\n\t * counter to display.\n\t */\n\t@Input() maxCount: number;\n\n\t/**\n\t * Determines whether the `TextArea` counter counts characters or words.\n\t */\n\t@Input() counterMode: \"character\" | \"word\" = \"character\";\n\n\t/**\n\t * **Experimental**: Optional decorator (e.g. AI label).\n\t */\n\t@Input() decorator: TemplateRef<any>;\n\n\t@ViewChild(\"wrapper\") wrapper: ElementRef<HTMLDivElement>;\n\n\t@ContentChild(TextArea) textArea: TextArea;\n\n\t// @ts-ignore\n\t@ContentChild(TextInput, { static: false }) textInput: TextInput;\n\n\t@ContentChild(PasswordInput, { static: false })\n\tpasswordInput: PasswordInput;\n\n\t@HostBinding(\"class.cds--form-item\") get labelClass() {\n\t\treturn this.type === undefined;\n\t}\n\n\ttype: \"TextArea\" | \"TextInput\" | \"PasswordInput\";\n\n\t/**\n\t * Creates an instance of Label.\n\t */\n\tconstructor(protected changeDetectorRef: ChangeDetectorRef) {}\n\n\t/**\n\t * Update wrapper class if a textarea is hosted.\n\t */\n\tngAfterContentInit() {\n\t\tif (this.textArea) {\n\t\t\tthis.type = \"TextArea\";\n\t\t} else if (this.textInput) {\n\t\t\tthis.type = \"TextInput\";\n\t\t} else if (this.passwordInput) {\n\t\t\tthis.type = \"PasswordInput\";\n\t\t}\n\t}\n\n\t/**\n\t * Sets the id on the input item associated with the `Label`.\n\t */\n\tngAfterViewInit() {\n\t\t// Will only be called when `default` template is being used\n\t\tif (this.wrapper) {\n\t\t\t// Prioritize setting id to `input` & `textarea` over div\n\t\t\tconst inputElement = this.wrapper.nativeElement.querySelector(\"input,textarea\");\n\t\t\tif (inputElement) {\n\t\t\t\t// avoid overriding ids already set by the user reuse it instead\n\t\t\t\tif (inputElement.id) {\n\t\t\t\t\tthis.labelInputID = inputElement.id;\n\t\t\t\t\tthis.changeDetectorRef.detectChanges();\n\t\t\t\t}\n\t\t\t\tinputElement.setAttribute(\"id\", this.labelInputID);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst divElement = this.wrapper.nativeElement.querySelector(\"div\");\n\t\t\tif (divElement) {\n\t\t\t\tif (divElement.id) {\n\t\t\t\t\tthis.labelInputID = divElement.id;\n\t\t\t\t\tthis.changeDetectorRef.detectChanges();\n\t\t\t\t}\n\t\t\t\tdivElement.setAttribute(\"id\", this.labelInputID);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic isTemplate(value) {\n\t\treturn value instanceof TemplateRef;\n\t}\n}\n","// modules\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\n\n// imports\nimport { Label } from \"./label.component\";\nimport { TextInput } from \"./input.directive\";\nimport { TextArea } from \"./text-area.directive\";\nimport { TextareaLabelComponent } from \"./textarea-label.component\";\nimport { TextInputLabelComponent } from \"./text-input-label.component\";\nimport { IconModule } from \"carbon-components-angular/icon\";\nimport { PasswordInput } from \"./password.directive\";\nimport { PasswordInputLabelComponent } from \"./password-input-label.component\";\nimport { TooltipModule } from \"carbon-components-angular/tooltip\";\nimport { ButtonModule } from \"carbon-components-angular/button\";\n\n@NgModule({\n\tdeclarations: [\n\t\tLabel,\n\t\tTextInput,\n\t\tTextArea,\n\t\tPasswordInput,\n\t\tTextareaLabelComponent,\n\t\tTextInputLabelComponent,\n\t\tPasswordInputLabelComponent\n\t],\n\texports: [\n\t\tLabel,\n\t\tTextareaLabelComponent,\n\t\tTextInputLabelComponent,\n\t\tPasswordInputLabelComponent,\n\t\tTextInput,\n\t\tTextArea,\n\t\tPasswordInput\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tFormsModule,\n\t\tIconModule,\n\t\tButtonModule,\n\t\tTooltipModule\n\t]\n})\nexport class InputModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3.TextareaLabelComponent","i4.TextInputLabelComponent","i5.PasswordInputLabelComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"carbon-components-angular-input.mjs","sources":["../../src/input/input.directive.ts","../../src/input/text-area.directive.ts","../../src/input/password.directive.ts","../../src/input/textarea-label.component.ts","../../src/input/text-input-label.component.ts","../../src/input/password-input-label.component.ts","../../src/input/label.component.ts","../../src/input/input.module.ts","../../src/input/carbon-components-angular-input.ts"],"sourcesContent":["import { Directive, HostBinding, Input, Optional, Self } from \"@angular/core\";\nimport { NgControl } from \"@angular/forms\";\n\n/**\n * A directive for applying styling to an input element.\n *\n * Example:\n *\n * ```html\n * <input cdsText/>\n * ```\n *\n * See the [vanilla carbon docs](http://www.carbondesignsystem.com/components/text-input/code) for more detail.\n */\n@Directive({\n\tselector: \"[cdsText], [ibmText]\"\n})\nexport class TextInput {\n\t/**\n\t * @deprecated since v5 - Use `cdsLayer` directive instead\n\t * `light` or `dark` input theme\n\t */\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n\n\t/**\n\t * Input field render size\n\t */\n\t@Input() size: \"sm\" | \"md\" | \"lg\" = \"md\";\n\n\t@HostBinding(\"class.cds--text-input\") inputClass = true;\n\n\t/**\n\t * @todo - remove `cds--text-input--${size}` classes in v12\n\t */\n\t@HostBinding(\"class.cds--text-input--sm\") get isSizeSm() {\n\t\treturn this.size === \"sm\";\n\t}\n\t@HostBinding(\"class.cds--text-input--md\") get isSizeMd() {\n\t\treturn this.size === \"md\";\n\t}\n\t@HostBinding(\"class.cds--text-input--lg\") get isSizelg() {\n\t\treturn this.size === \"lg\";\n\t}\n\n\t// Size\n\t@HostBinding(\"class.cds--layout--size-sm\") get sizeSm() {\n\t\treturn this.size === \"sm\";\n\t}\n\t@HostBinding(\"class.cds--layout--size-md\") get sizeMd() {\n\t\treturn this.size === \"md\";\n\t}\n\t@HostBinding(\"class.cds--layout--size-lg\") get sizelg() {\n\t\treturn this.size === \"lg\";\n\t}\n\n\t@HostBinding(\"class.cds--text-input--invalid\") @Input() invalid = false;\n\t@HostBinding(\"class.cds--text-input--warning\") @Input() warn = false;\n\t@HostBinding(\"class.cds--skeleton\") @Input() skeleton = false;\n\t@HostBinding(\"class.cds--text-input--light\") get isLightTheme() {\n\t\treturn this.theme === \"light\";\n\t}\n\n\t@HostBinding(\"attr.data-invalid\") get getInvalidAttribute() {\n\t\treturn this.invalid ? true : undefined;\n\t}\n\n\tconstructor(@Self() @Optional() public ngControl: NgControl) {}\n}\n","import { Directive, HostBinding, Input, Optional, Self } from \"@angular/core\";\nimport { NgControl } from \"@angular/forms\";\n\n/**\n * A directive for applying styling to a textarea element.\n *\n * Example:\n *\n * ```html\n * <textarea cdsTextArea></textarea>\n * ```\n *\n * See the [vanilla carbon docs](http://www.carbondesignsystem.com/components/text-input/code) for more detail.\n */\n@Directive({\n\tselector: \"[cdsTextArea], [ibmTextArea]\"\n})\nexport class TextArea {\n\t/**\n\t * @deprecated since v5 - Use `cdsLayer` directive instead\n\t * `light` or `dark` input theme\n\t */\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n\n\t@HostBinding(\"class.cds--text-area\") baseClass = true;\n\t@HostBinding(\"class.cds--text-area--invalid\") @Input() invalid = false;\n\t/**\n\t * Set to `true` to put the textarea in a warning state.\n\t */\n\t@HostBinding(\"class.cds--text-area--warn\") @Input() warn = false;\n\t@HostBinding(\"class.cds--skeleton\") @Input() skeleton = false;\n\t@HostBinding(\"class.cds--text-area--light\") get isLightTheme() {\n\t\treturn this.theme === \"light\";\n\t}\n\n\t@HostBinding(\"attr.data-invalid\") get getInvalidAttr() {\n\t\treturn this.invalid ? true : undefined;\n\t}\n\n\tconstructor(@Self() @Optional() public ngControl: NgControl) {}\n}\n","import {\n\tDirective,\n\tHostBinding,\n\tInput,\n\tRenderer2,\n\tElementRef,\n\tAfterViewInit\n} from \"@angular/core\";\n\n@Directive({\n\tselector: \"[cdsPassword], [ibmPassword]\"\n})\nexport class PasswordInput implements AfterViewInit {\n\n\t@Input() set type(type: string) {\n\t\tif (type) {\n\t\t\tthis._type = type;\n\t\t\tif (this.elementRef) {\n\t\t\t\tthis.renderer.setAttribute(this.elementRef.nativeElement, \"type\", this._type);\n\t\t\t}\n\t\t}\n\t}\n\t@HostBinding(\"class.cds--password-input\") passwordInputClass = true;\n\n\t/**\n\t * @todo - remove `cds--text-input--${size}` classes in v12\n\t */\n\t@HostBinding(\"class.cds--text-input--sm\") get isSizeSm() {\n\t\treturn this.size === \"sm\";\n\t}\n\t@HostBinding(\"class.cds--text-input--md\") get isSizeMd() {\n\t\treturn this.size === \"md\";\n\t}\n\t@HostBinding(\"class.cds--text-input--lg\") get isSizelg() {\n\t\treturn this.size === \"lg\";\n\t}\n\n\t// Size\n\t@HostBinding(\"class.cds--layout--size-sm\") get sizeSm() {\n\t\treturn this.size === \"sm\";\n\t}\n\t@HostBinding(\"class.cds--layout--size-md\") get sizeMd() {\n\t\treturn this.size === \"md\";\n\t}\n\t@HostBinding(\"class.cds--layout--size-lg\") get sizelg() {\n\t\treturn this.size === \"lg\";\n\t}\n\t@HostBinding(\"class.cds--text-input--light\") get isLightTheme() {\n\t\treturn this.theme === \"light\";\n\t}\n\n\t@HostBinding(\"class.cds--text-input\") inputClass = true;\n\t@HostBinding(\"class.cds--text-input--invalid\") @Input() invalid = false;\n\t@HostBinding(\"class.cds--text-input--warning\") @Input() warn = false;\n\t@HostBinding(\"class.cds--skeleton\") @Input() skeleton = false;\n\n\t/**\n\t * @deprecated since v5 - Use `cdsLayer` directive instead\n\t * `light` or `dark` input theme\n\t */\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n\n\t/**\n\t * Input field render size\n\t */\n\t@Input() size: \"sm\" | \"md\" | \"lg\" = \"md\";\n\n\t@HostBinding(\"attr.data-invalid\") get getInvalidAttribute() {\n\t\treturn this.invalid ? true : undefined;\n\t}\n\n\tprivate _type = \"password\";\n\n\tconstructor(protected elementRef: ElementRef, protected renderer: Renderer2) { }\n\n\tngAfterViewInit(): void {\n\t\tthis.renderer.setAttribute(this.elementRef.nativeElement, \"type\", this._type);\n\t}\n}\n","import {\n\tComponent,\n\tInput,\n\tAfterViewInit,\n\tOnChanges,\n\tOnDestroy,\n\tElementRef,\n\tHostBinding,\n\tTemplateRef,\n\tViewChild,\n\tContentChild,\n\tChangeDetectorRef,\n\tSimpleChanges\n} from \"@angular/core\";\nimport { Subscription } from \"rxjs\";\nimport { startWith } from \"rxjs/operators\";\n\nimport { TextArea } from \"./text-area.directive\";\n\n/**\n * Get started with importing the module:\n *\n * ```typescript\n * import { InputModule } from 'carbon-components-angular';\n * ```\n *\n * ```html\n * <cds-textarea-label>\n * \tLabel\n * \t<textarea cdsTextArea class=\"textarea-field\">\n * </cds-textarea-label>\n * ```\n *\n * [See demo](../../?path=/story/components-input-text-area--basic)\n */\n@Component({\n\tselector: \"cds-textarea-label, ibm-textarea-label\",\n\ttemplate: `\n\t\t<ng-container *ngIf=\"skeleton\">\n\t\t\t<span class=\"cds--label cds--skeleton\"></span>\n\t\t\t<div class=\"cds--text-area cds--skeleton\"></div>\n\t\t</ng-container>\n\t\t<ng-container *ngIf=\"!skeleton\">\n\t\t\t<div class=\"cds--text-area__label-wrapper\">\n\t\t\t\t<label\n\t\t\t\t\t[for]=\"labelInputID\"\n\t\t\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\t\t\tclass=\"cds--label\"\n\t\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t\t'cds--label--disabled': disabled,\n\t\t\t\t\t\t'cds--visually-hidden': hideLabel\n\t\t\t\t\t}\">\n\t\t\t\t\t<ng-template *ngIf=\"labelTemplate; else labelContent\" [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n\t\t\t\t\t<ng-template #labelContent>\n\t\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t\t</ng-template>\n\t\t\t\t</label>\n\t\t\t\t<span\n\t\t\t\t\t*ngIf=\"enableCounter && maxCount\"\n\t\t\t\t\tclass=\"cds--label\"\n\t\t\t\t\t[ngClass]=\"{'cds--label--disabled': disabled}\"\n\t\t\t\t\taria-hidden=\"true\">\n\t\t\t\t\t{{textCount}}/{{maxCount}}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclass=\"cds--text-area__wrapper\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'cds--text-area__wrapper--warn': warn,\n\t\t\t\t\t'cds--text-area__wrapper--decorator': !!decorator\n\t\t\t\t}\"\n\t\t\t\t[attr.data-invalid]=\"(invalid ? true : null)\"\n\t\t\t\t#wrapper>\n\t\t\t\t<svg\n\t\t\t\t\t*ngIf=\"!fluid && invalid\"\n\t\t\t\t\tcdsIcon=\"warning--filled\"\n\t\t\t\t\tsize=\"16\"\n\t\t\t\t\tclass=\"cds--text-area__invalid-icon\">\n\t\t\t\t</svg>\n\t\t\t\t<svg\n\t\t\t\t\t*ngIf=\"!fluid && !invalid && warn\"\n\t\t\t\t\tcdsIcon=\"warning--alt--filled\"\n\t\t\t\t\tsize=\"16\"\n\t\t\t\t\tclass=\"cds--text-area__invalid-icon cds--text-area__invalid-icon--warning\">\n\t\t\t\t</svg>\n\t\t\t\t<ng-template *ngIf=\"textAreaTemplate; else textAreaContent\" [ngTemplateOutlet]=\"textAreaTemplate\"></ng-template>\n\t\t\t\t<ng-template #textAreaContent>\n\t\t\t\t\t<ng-content select=\"[cdsTextArea],[ibmTextArea],textarea\"></ng-content>\n\t\t\t\t</ng-template>\n\t\t\t\t<ng-container *ngIf=\"decorator\">\n\t\t\t\t\t<div class=\"cds--text-area__inner-wrapper--decorator\">\n\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"decorator\"></ng-template>\n\t\t\t\t\t</div>\n\t\t\t\t</ng-container>\n\n\t\t\t\t<ng-container *ngIf=\"fluid\">\n\t\t\t\t\t<hr class=\"cds--text-area__divider\" />\n\t\t\t\t\t<div *ngIf=\"invalid\" class=\"cds--form-requirement\">\n\t\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(invalidText)\">{{invalidText}}</ng-container>\n\t\t\t\t\t\t<ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\tcdsIcon=\"warning--filled\"\n\t\t\t\t\t\t\tsize=\"16\"\n\t\t\t\t\t\t\tclass=\"cds--text-area__invalid-icon\">\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div *ngIf=\"!invalid && warn\" class=\"cds--form-requirement\">\n\t\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(warnText)\">{{warnText}}</ng-container>\n\t\t\t\t\t\t<ng-template *ngIf=\"isTemplate(warnText)\" [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\tcdsIcon=\"warning--alt--filled\"\n\t\t\t\t\t\t\tsize=\"16\"\n\t\t\t\t\t\t\tclass=\"cds--text-area__invalid-icon cds--text-area__invalid-icon--warning\">\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</div>\n\t\t\t\t</ng-container>\n\t\t\t</div>\n\t\t\t<ng-container *ngIf=\"!fluid\">\n\t\t\t\t<div\n\t\t\t\t\t*ngIf=\"helperText && !invalid && !warn\"\n\t\t\t\t\tclass=\"cds--form__helper-text\"\n\t\t\t\t\t[ngClass]=\"{'cds--form__helper-text--disabled': disabled}\">\n\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(helperText)\">{{helperText}}</ng-container>\n\t\t\t\t\t<ng-template *ngIf=\"isTemplate(helperText)\" [ngTemplateOutlet]=\"helperText\"></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<div *ngIf=\"invalid\" class=\"cds--form-requirement\">\n\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(invalidText)\">{{invalidText}}</ng-container>\n\t\t\t\t\t<ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<div *ngIf=\"!invalid && warn\" class=\"cds--form-requirement\">\n\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(warnText)\">{{warnText}}</ng-container>\n\t\t\t\t\t<ng-template *ngIf=\"isTemplate(warnText)\" [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t\t</div>\n\t\t\t</ng-container>\n\t\t</ng-container>\n\t`\n})\nexport class TextareaLabelComponent implements AfterViewInit, OnChanges, OnDestroy {\n\n\t@HostBinding(\"class.cds--text-area__wrapper--readonly\") get isReadonly() {\n\t\treturn this.wrapper?.nativeElement.querySelector(\"textarea\")?.readOnly ?? false;\n\t}\n\n\t@HostBinding(\"class.cds--text-area--fluid\") get fluidClass() {\n\t\treturn this.fluid && !this.skeleton;\n\t}\n\n\t@HostBinding(\"class.cds--text-area--fluid__skeleton\") get fluidSkeletonClass() {\n\t\treturn this.fluid && this.skeleton;\n\t}\n\t/**\n\t * Used to build the id of the input item associated with the `Label`.\n\t */\n\tstatic labelCounter = 0;\n\t/**\n\t * The id of the input item associated with the `Label`. This value is also used to associate the `Label` with\n\t * its input counterpart through the 'for' attribute.\n\t*/\n\t@Input() labelInputID = \"ibm-textarea-\" + TextareaLabelComponent.labelCounter;\n\n\t/**\n\t * Set to `true` for a disabled label.\n\t */\n\t@Input() disabled = false;\n\t/**\n\t * Set to `true` for a loading label.\n\t */\n\t@Input() skeleton = false;\n\n\t/**\n\t * Helper input property for ease of migration\n\t * Since we cannot pass ng-content down easily from label component, we will accept the templates\n\t */\n\t@Input() labelTemplate: TemplateRef<any>;\n\t@Input() textAreaTemplate: TemplateRef<any>;\n\t/**\n\t * Optional helper text that appears under the label.\n\t */\n\t@Input() helperText: string | TemplateRef<any>;\n\t/**\n\t * Sets the invalid text.\n\t */\n\t@Input() invalidText: string | TemplateRef<any>;\n\t/**\n\t * Set to `true` for an invalid label component.\n\t */\n\t@Input() invalid = false;\n\t/**\n\t * Set to `true` to show a warning (contents set by warningText)\n\t */\n\t@Input() warn = false;\n\t/**\n\t * Sets the warning text\n\t */\n\t@Input() warnText: string | TemplateRef<any>;\n\t/**\n\t * Set the arialabel for label\n\t */\n\t@Input() ariaLabel: string;\n\n\t/**\n\t * Experimental: enable fluid state\n\t */\n\t@Input() fluid = false;\n\n\t/**\n\t * Set to `true` to hide the label visually, but keep accessible to\n\t * screen readers.\n\t */\n\t@Input() hideLabel = false;\n\n\t/**\n\t * Set to `true` (`maxCount` must be set) to displays a live character/word\n\t * counter alongside the label.\n\t */\n\t@Input() enableCounter = false;\n\n\t/**\n\t * Maximum number of characters (or words) allowed. Required for the\n\t * counter to display.\n\t */\n\t@Input() maxCount: number;\n\n\t/**\n\t * Determines whether the counter counts characters or words.\n\t * When `\"word\"` and `maxCount` is set, input is clamped to `maxCount` words\n\t * on each change. Excess words are trimmed from the end of the value.\n\t */\n\t@Input() counterMode: \"character\" | \"word\" = \"character\";\n\n\t/**\n\t * **Experimental**: Optional decorator (e.g. AI label).\n\t */\n\t@Input() decorator: TemplateRef<any>;\n\n\t// Tracks current character / word count for the counter display.\n\ttextCount = 0;\n\n\t// @ts-ignore\n\t@ViewChild(\"wrapper\", { static: false }) wrapper: ElementRef<HTMLDivElement>;\n\n\t// @ts-ignore\n\t@ContentChild(TextArea, { static: false }) textArea: TextArea;\n\n\t@HostBinding(\"class.cds--form-item\") labelClass = true;\n\n\t// Cached reference to the textarea element, set once in ngAfterViewInit.\n\tprivate _textareaElement: HTMLTextAreaElement | null = null;\n\n\t// RxJS subscription used when NgControl is available (template-driven & reactive forms).\n\tprivate _subscription: Subscription | null = null;\n\n\t// Fallback DOM listener used only when no NgControl is present (plain textarea).\n\tprivate _inputListener: ((e: Event) => void) | null = null;\n\n\t/**\n\t * Creates an instance of Label.\n\t */\n\tconstructor(protected changeDetectorRef: ChangeDetectorRef) {}\n\n\t/**\n\t * Sets the id on the input item associated with the `Label` and attaches the\n\t * counter listener when `enableCounter` is already `true` on first render.\n\t */\n\tngAfterViewInit() {\n\t\tif (this.wrapper) {\n\t\t\t// Prioritize setting id to `textarea` over div\n\t\t\tconst inputElement = this.wrapper.nativeElement.querySelector(\"textarea\");\n\t\t\tif (inputElement) {\n\t\t\t\t// avoid overriding ids already set by the user — reuse it instead\n\t\t\t\tif (inputElement.id) {\n\t\t\t\t\tthis.labelInputID = inputElement.id;\n\t\t\t\t\tthis.changeDetectorRef.detectChanges();\n\t\t\t\t}\n\t\t\t\tinputElement.setAttribute(\"id\", this.labelInputID);\n\n\t\t\t\tthis._textareaElement = inputElement;\n\t\t\t\tthis._syncMaxLength();\n\n\t\t\t\tif (this.enableCounter) {\n\t\t\t\t\tthis.textCount = this._countValue(inputElement.value || \"\");\n\t\t\t\t\tthis._attachCounterListener();\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst divElement = this.wrapper.nativeElement.querySelector(\"div\");\n\t\t\tif (divElement) {\n\t\t\t\tif (divElement.id) {\n\t\t\t\t\tthis.labelInputID = divElement.id;\n\t\t\t\t\tthis.changeDetectorRef.detectChanges();\n\t\t\t\t}\n\t\t\t\tdivElement.setAttribute(\"id\", this.labelInputID);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Attach/remove listener and seed `textCount` from the textarea's current value.\n\t */\n\tngOnChanges(changes: SimpleChanges) {\n\t\tif (changes.enableCounter && !changes.enableCounter.firstChange) {\n\t\t\tif (changes.enableCounter.currentValue) {\n\t\t\t\tif (this._textareaElement) {\n\t\t\t\t\tthis.textCount = this._countValue(this._textareaElement.value || \"\");\n\t\t\t\t\tthis._attachCounterListener();\n\t\t\t\t\tthis.changeDetectorRef.detectChanges();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis._detachCounterListener();\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\t(changes.maxCount || changes.counterMode) &&\n\t\t\t!(changes.maxCount?.firstChange && changes.counterMode?.firstChange)\n\t\t) {\n\t\t\tthis._syncMaxLength();\n\t\t}\n\t}\n\n\tngOnDestroy() {\n\t\tthis._detachCounterListener();\n\t}\n\n\tpublic isTemplate(value) {\n\t\treturn value instanceof TemplateRef;\n\t}\n\n\t/**\n\t * Keeps the textarea's `maxlength` attribute in sync with `maxCount`. This is only set\n\t * when counterMode is set to `character`. When counterMode is set to `word`, we enforce limit via JS.\n\t * If `maxCount` is unset or the mode is `\"word\"`, any previously applied\n\t * `maxlength` is removed so the textarea is unrestricted by the attribute.\n\t */\n\tprivate _syncMaxLength(): void {\n\t\tif (!this._textareaElement) {\n\t\t\treturn;\n\t\t}\n\t\tif (this.counterMode === \"character\" && this.maxCount != null) {\n\t\t\tthis._textareaElement.setAttribute(\"maxlength\", String(this.maxCount));\n\t\t} else {\n\t\t\tthis._textareaElement.removeAttribute(\"maxlength\");\n\t\t}\n\t}\n\n\t/**\n\t * Attaches the counter listener, listen for either ngControl or native DOM input\n\t * event listener\n\t */\n\tprivate _attachCounterListener(): void {\n\t\tthis._detachCounterListener();\n\n\t\tconst control = this.textArea?.ngControl;\n\t\tif (control?.valueChanges) {\n\t\t\t// NgControl listener\n\t\t\tthis._subscription = control.valueChanges\n\t\t\t\t.pipe(startWith(control.value))\n\t\t\t\t.subscribe((value: string) => {\n\t\t\t\t\tconst raw = value || \"\";\n\n\t\t\t\t\tif (this.counterMode === \"word\" && this.maxCount != null) {\n\t\t\t\t\t\tconst clamped = this._truncateToWordLimit(raw, this.maxCount);\n\t\t\t\t\t\tif (clamped !== raw) {\n\t\t\t\t\t\t\t// Write back through the control so the form model stays in sync.\n\t\t\t\t\t\t\t// emitEvent false to avoid infinite loop\n\t\t\t\t\t\t\tcontrol?.control?.setValue(clamped, { emitEvent: false });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.textCount = this._countValue(raw);\n\t\t\t\t\tthis.changeDetectorRef.markForCheck();\n\t\t\t\t});\n\t\t} else {\n\t\t\t// Fallback DOM path\n\t\t\tif (!this._textareaElement) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis._inputListener = (e: Event) => {\n\t\t\t\tconst el = e.target as HTMLTextAreaElement;\n\t\t\t\tif (this.counterMode === \"word\" && this.maxCount != null) {\n\t\t\t\t\tconst clamped = this._truncateToWordLimit(el.value || \"\", this.maxCount);\n\t\t\t\t\tif (clamped !== el.value) {\n\t\t\t\t\t\tel.value = clamped;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.textCount = this._countValue(el.value || \"\");\n\t\t\t};\n\t\t\tthis._textareaElement.addEventListener(\"input\", this._inputListener);\n\t\t}\n\t}\n\n\t/**\n\t * Truncates `value` so it contains at most `limit` Unicode words.\n\t * Whitespace between and around words is preserved up to the last allowed word;\n\t * any trailing content (partial word or space) beyond the limit is dropped.\n\t */\n\tprivate _truncateToWordLimit(value: string, limit: number): string {\n\t\tlet wordsSeen = 0;\n\t\t// Walk through the string capturing word boundaries\n\t\tconst wordPattern = /\\p{L}+/gu;\n\t\tlet match: RegExpExecArray | null;\n\t\tlet cutIndex = value.length;\n\t\twhile ((match = wordPattern.exec(value)) !== null) {\n\t\t\twordsSeen++;\n\t\t\tif (wordsSeen === limit) {\n\t\t\t\t// Allow the string to continue up to (but not past) the end of this word\n\t\t\t\tcutIndex = match.index + match[0].length;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn wordsSeen < limit ? value : value.slice(0, cutIndex);\n\t}\n\n\t/**\n\t * Removes the subscription (NgControl path) and removes the DOM listener\n\t * (fallback path). Safe to call when neither is active.\n\t */\n\tprivate _detachCounterListener(): void {\n\t\tthis._subscription?.unsubscribe();\n\t\tthis._subscription = null;\n\n\t\tif (this._inputListener && this._textareaElement) {\n\t\t\tthis._textareaElement.removeEventListener(\"input\", this._inputListener);\n\t\t\tthis._inputListener = null;\n\t\t}\n\t}\n\n\tprivate _countValue(value: string): number {\n\t\tif (this.counterMode === \"word\") {\n\t\t\treturn value.match(/\\p{L}+/gu)?.length || 0;\n\t\t}\n\t\treturn value.length;\n\t}\n}\n","import {\n\tAfterContentInit,\n\tAfterViewInit,\n\tChangeDetectorRef,\n\tComponent,\n\tContentChild,\n\tElementRef,\n\tHostBinding,\n\tInput,\n\tOnChanges,\n\tOnDestroy,\n\tSimpleChanges,\n\tTemplateRef,\n\tViewChild\n} from \"@angular/core\";\nimport { Subscription } from \"rxjs\";\nimport { startWith } from \"rxjs/operators\";\nimport { TextInput } from \"./input.directive\";\n\n/**\n * Get started with importing the module:\n *\n * ```typescript\n * import { InputModule } from 'carbon-components-angular';\n * ```\n *\n * ```html\n * <cds-text-label>\n * \tLabel\n * \t<input cdsText type=\"text\" class=\"input-field\">\n * </cds-text-label>\n * ```\n *\n * [See demo](../../?path=/story/components-input--basic)\n */\n@Component({\n\tselector: \"cds-text-label, ibm-text-label\",\n\ttemplate: `\n\t\t<ng-container *ngIf=\"skeleton\">\n\t\t\t<span class=\"cds--label cds--skeleton\"></span>\n\t\t\t<div class=\"cds--text-input cds--skeleton\"></div>\n\t\t</ng-container>\n\t\t<ng-container *ngIf=\"!skeleton\">\n\t\t\t<!-- non-inline: label-wrapper above field; inline: label+validation side-by-side -->\n\t\t\t<ng-container *ngIf=\"!inline; else inlineHeader\">\n\t\t\t\t<div class=\"cds--text-input__label-wrapper\">\n\t\t\t\t\t<label\n\t\t\t\t\t\t[for]=\"labelInputID\"\n\t\t\t\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\t\t\t\tclass=\"cds--label\"\n\t\t\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t\t\t'cds--label--disabled': disabled,\n\t\t\t\t\t\t\t'cds--visually-hidden': hideLabel\n\t\t\t\t\t\t}\">\n\t\t\t\t\t\t<ng-template *ngIf=\"labelTemplate; else labelContent\" [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n\t\t\t\t\t\t<ng-template #labelContent>\n\t\t\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t</label>\n\t\t\t\t\t<span\n\t\t\t\t\t\t*ngIf=\"enableCounter && maxCount\"\n\t\t\t\t\t\tclass=\"cds--label\"\n\t\t\t\t\t\t[ngClass]=\"{'cds--label--disabled': disabled}\"\n\t\t\t\t\t\taria-hidden=\"true\">\n\t\t\t\t\t\t{{textCount}}/{{maxCount}}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</ng-container>\n\n\t\t\t<ng-template #inlineHeader>\n\t\t\t\t<div class=\"cds--text-input__label-helper-wrapper\">\n\t\t\t\t\t<div class=\"cds--text-input__label-wrapper\">\n\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t[for]=\"labelInputID\"\n\t\t\t\t\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\t\t\t\t\tclass=\"cds--label\"\n\t\t\t\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t\t\t\t'cds--label--disabled': disabled,\n\t\t\t\t\t\t\t\t'cds--visually-hidden': hideLabel,\n\t\t\t\t\t\t\t\t'cds--label--inline': true,\n\t\t\t\t\t\t\t\t'cds--label--inline--sm': size === 'sm',\n\t\t\t\t\t\t\t\t'cds--label--inline--md': size === 'md',\n\t\t\t\t\t\t\t\t'cds--label--inline--lg': size === 'lg'\n\t\t\t\t\t\t\t}\">\n\t\t\t\t\t\t\t<ng-template *ngIf=\"labelTemplate\" [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<ng-container *ngIf=\"!fluid\">\n\t\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"validationOrHelper\"></ng-container>\n\t\t\t\t\t</ng-container>\n\t\t\t\t</div>\n\t\t\t</ng-template>\n\n\t\t\t<div\n\t\t\t\tclass=\"cds--text-input__field-outer-wrapper\"\n\t\t\t\t[ngClass]=\"{'cds--text-input__field-outer-wrapper--inline': inline}\">\n\t\t\t<div\n\t\t\t\tclass=\"cds--text-input__field-wrapper\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'cds--text-input__field-wrapper--warning': warn,\n\t\t\t\t\t'cds--text-input__field-wrapper--decorator': !!decorator\n\t\t\t\t}\"\n\t\t\t\t\t[attr.data-invalid]=\"(invalid ? true : null)\"\n\t\t\t\t\t#wrapper>\n\t\t\t\t\t<svg\n\t\t\t\t\t\t*ngIf=\"invalid && !warn\"\n\t\t\t\t\t\tcdsIcon=\"warning--filled\"\n\t\t\t\t\t\tsize=\"16\"\n\t\t\t\t\t\tclass=\"cds--text-input__invalid-icon\">\n\t\t\t\t\t</svg>\n\t\t\t\t\t<svg\n\t\t\t\t\t\t*ngIf=\"!invalid && warn\"\n\t\t\t\t\t\tcdsIcon=\"warning--alt--filled\"\n\t\t\t\t\t\tsize=\"16\"\n\t\t\t\t\t\tclass=\"cds--text-input__invalid-icon cds--text-input__invalid-icon--warning\">\n\t\t\t\t\t</svg>\n\t\t\t\t\t<ng-template *ngIf=\"textInputTemplate; else textInputContent\" [ngTemplateOutlet]=\"textInputTemplate\"></ng-template>\n\t\t\t\t\t<ng-template #textInputContent>\n\t\t\t\t\t\t<ng-content select=\"[cdsText],[ibmText],input[type=text],div\"></ng-content>\n\t\t\t\t\t</ng-template>\n\t\t\t\t\t<ng-container *ngIf=\"decorator\">\n\t\t\t\t\t\t<div class=\"cds--text-input__field-inner-wrapper--decorator\">\n\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"decorator\"></ng-template>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ng-container>\n\n\t\t\t\t\t<ng-container *ngIf=\"fluid\">\n\t\t\t\t\t\t<hr class=\"cds--text-input__divider\" />\n\t\t\t\t\t\t<div *ngIf=\"invalid\" class=\"cds--form-requirement\">\n\t\t\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(invalidText)\">{{invalidText}}</ng-container>\n\t\t\t\t\t\t\t<ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div *ngIf=\"!invalid && warn\" class=\"cds--form-requirement\">\n\t\t\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(warnText)\">{{warnText}}</ng-container>\n\t\t\t\t\t\t\t<ng-template *ngIf=\"isTemplate(warnText)\" [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ng-container>\n\t\t\t\t</div>\n\t\t\t\t<ng-container *ngIf=\"!fluid && !inline\">\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"validationOrHelper\"></ng-container>\n\t\t\t\t</ng-container>\n\t\t\t</div>\n\t\t</ng-container>\n\n\t\t<ng-template #validationOrHelper>\n\t\t\t<div\n\t\t\t\t*ngIf=\"helperText && !invalid && !warn\"\n\t\t\t\tclass=\"cds--form__helper-text\"\n\t\t\t\t[ngClass]=\"{'cds--form__helper-text--disabled': disabled, 'cds--form__helper-text--inline': inline}\">\n\t\t\t\t<ng-container *ngIf=\"!isTemplate(helperText)\">{{helperText}}</ng-container>\n\t\t\t\t<ng-template *ngIf=\"isTemplate(helperText)\" [ngTemplateOutlet]=\"helperText\"></ng-template>\n\t\t\t</div>\n\t\t\t<div *ngIf=\"invalid\" class=\"cds--form-requirement\">\n\t\t\t\t<ng-container *ngIf=\"!isTemplate(invalidText)\">{{invalidText}}</ng-container>\n\t\t\t\t<ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t</div>\n\t\t\t<div *ngIf=\"!invalid && warn\" class=\"cds--form-requirement\">\n\t\t\t\t<ng-container *ngIf=\"!isTemplate(warnText)\">{{warnText}}</ng-container>\n\t\t\t\t<ng-template *ngIf=\"isTemplate(warnText)\" [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t</div>\n\t\t</ng-template>\n\t`\n})\nexport class TextInputLabelComponent implements AfterViewInit, AfterContentInit, OnChanges, OnDestroy {\n\n\t@HostBinding(\"class.cds--text-input-wrapper--inline\") get isInlineWrapper() {\n\t\treturn this.inline;\n\t}\n\n\t@HostBinding(\"class.cds--text-input-wrapper--readonly\") get isReadonly() {\n\t\treturn this.wrapper?.nativeElement.querySelector(\"input\")?.readOnly ?? false;\n\t}\n\n\t@HostBinding(\"class.cds--text-input--fluid\") get fluidClass() {\n\t\treturn this.fluid && !this.skeleton;\n\t}\n\n\t@HostBinding(\"class.cds--text-input--fluid__skeleton\") get fluidSkeletonClass() {\n\t\treturn this.fluid && this.skeleton;\n\t}\n\t/**\n\t * Used to build the id of the input item associated with the `Label`.\n\t */\n\tstatic labelCounter = 0;\n\t/**\n\t * The id of the input item associated with the `Label`. This value is also used to associate the `Label` with\n\t * its input counterpart through the 'for' attribute.\n\t*/\n\t@Input() labelInputID = \"ibm-text-input-\" + TextInputLabelComponent.labelCounter++;\n\n\t/**\n\t * Set to `true` for a disabled label.\n\t */\n\t@Input() disabled = false;\n\t/**\n\t * Set to `true` for a loading label.\n\t */\n\t@Input() skeleton = false;\n\n\t/**\n\t * Helper input property for ease of migration\n\t * Since we cannot pass ng-content down easily from label component, we will accept the templates\n\t */\n\t@Input() labelTemplate: TemplateRef<any>;\n\t@Input() textInputTemplate: TemplateRef<any>;\n\t/**\n\t * Optional helper text that appears under the label.\n\t */\n\t@Input() helperText: string | TemplateRef<any>;\n\t/**\n\t * Sets the invalid text.\n\t */\n\t@Input() invalidText: string | TemplateRef<any>;\n\t/**\n\t * Set to `true` for an invalid label component.\n\t */\n\t@Input() invalid = false;\n\t/**\n\t * Set to `true` to show a warning (contents set by warningText)\n\t */\n\t@Input() warn = false;\n\t/**\n\t * Sets the warning text\n\t */\n\t@Input() warnText: string | TemplateRef<any>;\n\t/**\n\t * Set the arialabel for label\n\t */\n\t@Input() ariaLabel: string;\n\n\t/**\n\t * Experimental: enable fluid state\n\t */\n\t@Input() fluid = false;\n\n\t/**\n\t * **Experimental**: Optional decorator (e.g. AI label).\n\t */\n\t@Input() decorator: TemplateRef<any>;\n\n\t/**\n\t * Set to `true` to hide the label visually, but keep accessible to\n\t * screen readers.\n\t */\n\t@Input() hideLabel = false;\n\n\t/**\n\t * Set to `true` to render the label and field side-by-side instead of stacked.\n\t */\n\t@Input() inline = false;\n\n\t/**\n\t * The render size for the `TextInput`. Used to compute the INLINE label size\n\t * variant class (`cds--label--inline--{size}`).\n\t */\n\t@Input() size: \"sm\" | \"md\" | \"lg\" = \"md\";\n\n\t/**\n\t * Set to `true` (`maxCount` must be set) to displays a live character\n\t * counter alongside the label.\n\t */\n\t@Input() enableCounter = false;\n\n\t/**\n\t * Maximum number of characters (or words) allowed. Required for the\n\t * counter to display.\n\t */\n\t@Input() maxCount: number;\n\n\t// Tracks current character count for the counter display.\n\ttextCount = 0;\n\n\t// @ts-ignore\n\t@ViewChild(\"wrapper\", { static: false }) wrapper: ElementRef<HTMLDivElement>;\n\n\t// @ts-ignore\n\t@ContentChild(TextInput, { static: false }) textInput: TextInput;\n\n\t@HostBinding(\"class.cds--form-item\") labelClass = true;\n\n\t@HostBinding(\"class.cds--text-input-wrapper\") textInputWrapper = true;\n\n\t// Cached reference to the input element, set once in ngAfterViewInit.\n\tprivate _inputElement: HTMLInputElement | null = null;\n\n\t// RxJS subscription used when NgControl is available (template-driven & reactive forms).\n\tprivate _subscription: Subscription | null = null;\n\n\t// Fallback cached DOM listener so it can be removed precisely (avoids anonymous-function leak).\n\tprivate _inputListener: ((e: Event) => void) | null = null;\n\n\t/**\n\t * Creates an instance of Label.\n\t */\n\tconstructor(protected changeDetectorRef: ChangeDetectorRef) {}\n\n\t/**\n\t * Sets the id on the input item associated with the `Label` and attaches the\n\t * counter listener when `enableCounter` is already `true` on first render.\n\t */\n\tngAfterViewInit() {\n\t\tif (this.wrapper) {\n\t\t\t// Prioritize setting id to `input` over div\n\t\t\tconst inputElement = this.wrapper.nativeElement.querySelector(\"input\");\n\t\t\tif (inputElement) {\n\t\t\t\t// avoid overriding ids already set by the user, reuse it instead\n\t\t\t\tif (inputElement.id) {\n\t\t\t\t\tthis.labelInputID = inputElement.id;\n\t\t\t\t\tthis.changeDetectorRef.detectChanges();\n\t\t\t\t}\n\t\t\t\tinputElement.setAttribute(\"id\", this.labelInputID);\n\n\t\t\t\tthis._inputElement = inputElement;\n\n\t\t\t\tif (this.enableCounter) {\n\t\t\t\t\tthis.textCount = inputElement.value?.length || 0;\n\t\t\t\t\tthis._attachCounterListener();\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst divElement = this.wrapper.nativeElement.querySelector(\"div\");\n\t\t\tif (divElement) {\n\t\t\t\tif (divElement.id) {\n\t\t\t\t\tthis.labelInputID = divElement.id;\n\t\t\t\t\tthis.changeDetectorRef.detectChanges();\n\t\t\t\t}\n\t\t\t\tdivElement.setAttribute(\"id\", this.labelInputID);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Attach/remove listener and seed `textCount` from the input's current value.\n\t */\n\tngOnChanges(changes: SimpleChanges) {\n\t\tif (changes.enableCounter && !changes.enableCounter.firstChange) {\n\t\t\tif (changes.enableCounter.currentValue) {\n\t\t\t\tif (this._inputElement) {\n\t\t\t\t\tthis.textCount = this._inputElement.value?.length || 0;\n\t\t\t\t\tthis._attachCounterListener();\n\t\t\t\t\tthis.changeDetectorRef.detectChanges();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis._detachCounterListener();\n\t\t\t}\n\t\t}\n\t}\n\n\tngAfterContentInit() {\n\t\tthis.changeDetectorRef.detectChanges();\n\t}\n\n\tngOnDestroy() {\n\t\tthis._detachCounterListener();\n\t}\n\n\tpublic isTemplate(value) {\n\t\treturn value instanceof TemplateRef;\n\t}\n\n\t/**\n\t * Attaches the counter listener, listen for either ngControl or native DOM input\n\t * event listener\n\t */\n\tprivate _attachCounterListener(): void {\n\t\tthis._detachCounterListener();\n\n\t\tconst control = this.textInput?.ngControl;\n\t\tif (control?.valueChanges) {\n\t\t\t// NgControl listener\n\t\t\tthis._subscription = control.valueChanges\n\t\t\t\t.pipe(startWith(control.value))\n\t\t\t\t.subscribe((value: string) => {\n\t\t\t\t\tthis.textCount = value?.length || 0;\n\t\t\t\t\tthis.changeDetectorRef.markForCheck();\n\t\t\t\t});\n\t\t} else {\n\t\t\t// Fallback DOM path\n\t\t\tif (!this._inputElement) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis._inputListener = (e: Event) => {\n\t\t\t\tthis.textCount = (e.target as HTMLInputElement).value?.length || 0;\n\t\t\t\tthis.changeDetectorRef.detectChanges();\n\t\t\t};\n\t\t\tthis._inputElement.addEventListener(\"input\", this._inputListener);\n\t\t}\n\t}\n\n\t/**\n\t * Removes the subscription (NgControl path) or removes the DOM listener.\n\t * Safe to call when neither is active.\n\t */\n\tprivate _detachCounterListener(): void {\n\t\tthis._subscription?.unsubscribe();\n\t\tthis._subscription = null;\n\n\t\tif (this._inputListener && this._inputElement) {\n\t\t\tthis._inputElement.removeEventListener(\"input\", this._inputListener);\n\t\t\tthis._inputListener = null;\n\t\t}\n\t}\n}\n","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tAfterViewInit,\n\tElementRef,\n\tHostBinding,\n\tTemplateRef,\n\tViewChild,\n\tChangeDetectorRef,\n\tContentChild\n} from \"@angular/core\";\nimport { PasswordInput } from \"./password.directive\";\nimport { BaseIconButton } from \"carbon-components-angular/button\";\n\n/**\n * Get started with importing the module:\n *\n * ```typescript\n * import { InputModule } from 'carbon-components-angular';\n * ```\n *\n * ```html\n * <cds-password-label>\n * \tLabel\n *\t<input cdsPassword>\n * </cds-password-label>\n * ```\n *\n * [See demo](../../?path=/story/components-input--basic)\n */\n@Component({\n\tselector: \"cds-password-label, ibm-password-label\",\n\ttemplate: `\n\t\t<ng-container *ngIf=\"skeleton\">\n\t\t\t<span class=\"cds--label cds--skeleton\"></span>\n\t\t\t<div class=\"cds--text-input cds--skeleton\"></div>\n\t\t</ng-container>\n\t\t<label\n\t\t\t*ngIf=\"!skeleton\"\n\t\t\t[for]=\"labelInputID\"\n\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\tclass=\"cds--label\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--label--disabled': disabled,\n\t\t\t\t'cds--visually-hidden': hideLabel,\n\t\t\t\t'cds--label--inline': inline\n\t\t\t}\">\n\t\t\t<ng-template *ngIf=\"labelTemplate; else labelContent\" [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n\t\t\t<ng-template #labelContent>\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</ng-template>\n\t\t</label>\n\n\t\t<div *ngIf=\"!skeleton\" class=\"cds--text-input__field-outer-wrapper\" [ngClass]=\"{'cds--text-input__field-outer-wrapper--inline': inline}\">\n\t\t\t<div\n\t\t\tclass=\"cds--text-input__field-wrapper\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--text-input__field-wrapper--warning': warn\n\t\t\t}\"\n\t\t\t[attr.data-invalid]=\"invalid ? true : null\"\n\t\t\t#wrapper>\n\t\t\t\t<svg\n\t\t\t\t\t*ngIf=\"!warn && invalid\"\n\t\t\t\t\tcdsIcon=\"warning--filled\"\n\t\t\t\t\tsize=\"16\"\n\t\t\t\t\tclass=\"cds--text-input__invalid-icon\">\n\t\t\t\t</svg>\n\t\t\t\t<svg\n\t\t\t\t\t*ngIf=\"!invalid && warn\"\n\t\t\t\t\tcdsIcon=\"warning--alt--filled\"\n\t\t\t\t\tsize=\"16\"\n\t\t\t\t\tclass=\"cds--text-input__invalid-icon cds--text-input__invalid-icon--warning\">\n\t\t\t\t</svg>\n\t\t\t\t<ng-content select=\"[cdsPassword], [ibmPassword]\"></ng-content>\n\t\t\t\t<cds-tooltip\n\t\t\t\t\t*ngIf=\"!skeleton\"\n\t\t\t\t\t[description]=\"passwordIsVisible ? hidePasswordLabel : showPasswordLabel\"\n\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\t[caret]=\"caret\"\n\t\t\t\t\t[dropShadow]=\"dropShadow\"\n\t\t\t\t\t[highContrast]=\"highContrast\"\n\t\t\t\t\t[isOpen]=\"isOpen\"\n\t\t\t\t\t[align]=\"align\"\n\t\t\t\t\t[autoAlign]=\"autoAlign\"\n\t\t\t\t\t[enterDelayMs]=\"enterDelayMs\"\n\t\t\t\t\t[leaveDelayMs]=\"leaveDelayMs\"\n\t\t\t\t\tclass=\"cds--toggle-password-tooltip\">\n\t\t\t\t\t\t<div class=\"cds--tooltip-trigger__wrapper\">\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclass=\"cds--text-input--password__visibility__toggle cds--btn cds--tooltip__trigger cds--tooltip--a11y\"\n\t\t\t\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t(click)=\"handleTogglePasswordVisibility($event)\">\n\t\t\t\t\t\t\t\t<svg *ngIf=\"passwordIsVisible\" cdsIcon=\"view--off\" class=\"cds--icon-visibility-off\" size=\"16\"></svg>\n\t\t\t\t\t\t\t\t<svg *ngIf=\"!passwordIsVisible\" cdsIcon=\"view\" class=\"cds--icon-visibility-on\" size=\"16\"></svg>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t</cds-tooltip>\n\n\t\t\t\t<ng-container *ngIf=\"fluid\">\n\t\t\t\t\t<hr class=\"cds--text-input__divider\" />\n\t\t\t\t\t<div *ngIf=\"!warn && invalid\" class=\"cds--form-requirement\">\n\t\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(invalidText)\">{{ invalidText }}</ng-container>\n\t\t\t\t\t\t<ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div *ngIf=\"!invalid && warn\" class=\"cds--form-requirement\">\n\t\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(warnText)\">{{ warnText }}</ng-container>\n\t\t\t\t\t\t<ng-template *ngIf=\"isTemplate(warnText)\" [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t\t\t</div>\n\t\t\t\t</ng-container>\n\t\t\t</div>\n\t\t\t<ng-container *ngIf=\"!fluid\">\n\t\t\t\t<div\n\t\t\t\t\t*ngIf=\"!skeleton && helperText && !invalid && !warn\"\n\t\t\t\t\tclass=\"cds--form__helper-text\"\n\t\t\t\t\t[ngClass]=\"{ 'cds--form__helper-text--disabled': disabled }\">\n\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(helperText)\">{{ helperText }}</ng-container>\n\t\t\t\t\t<ng-template *ngIf=\"isTemplate(helperText)\" [ngTemplateOutlet]=\"helperText\"></ng-template>\n\t\t\t\t</div>\n\n\t\t\t\t<div *ngIf=\"!warn && invalid\" class=\"cds--form-requirement\">\n\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(invalidText)\">{{ invalidText }}</ng-container>\n\t\t\t\t\t<ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t\t</div>\n\n\t\t\t\t<div *ngIf=\"!invalid && warn\" class=\"cds--form-requirement\">\n\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(warnText)\">{{ warnText }}</ng-container>\n\t\t\t\t\t<ng-template *ngIf=\"isTemplate(warnText)\" [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t\t</div>\n\t\t\t</ng-container>\n\t\t</div>\n `\n})\n/**\n * Represents the Password Input Label Component.\n */\nexport class PasswordInputLabelComponent extends BaseIconButton implements AfterViewInit {\n\t/**\n\t * Counter for generating unique labelInputID.\n\t */\n\tstatic labelCounter = 0;\n\n\t@ContentChild(PasswordInput) textInput: PasswordInput;\n\n\t/**\n\t * ID for the input item associated with the label.\n\t */\n\t@Input() labelInputID = \"cds-password-input-\" + PasswordInputLabelComponent.labelCounter++;\n\n\t/**\n\t * Type for input field, either password or text.\n\t */\n\tinputType: \"password\" | \"text\" = \"password\";\n\n\t/**\n\t* Flag for checking if password is visible.\n\t*/\n\tpasswordIsVisible = false;\n\n\t/**\n\t * Flag for disabled label.\n\t */\n\t@Input() disabled = false;\n\n\t/**\n\t * Flag for loading (skeleton) label.\n\t */\n\t@Input() skeleton = false;\n\n\t/**\n\t * Template for label content.\n\t */\n\t@Input() labelTemplate: TemplateRef<any>;\n\n\t/**\n\t * Template for password input.\n\t */\n\t@Input() passwordInputTemplate: TemplateRef<any>;\n\n\t/**\n\t * Optional helper text under the label.\n\t */\n\t@Input() helperText: string | TemplateRef<any>;\n\n\t/**\n\t * Sets the invalid text.\n\t */\n\t@Input() invalidText: string | TemplateRef<any>;\n\n\t/**\n\t * Flag for an invalid label component.\n\t */\n\t@Input() invalid = false;\n\n\t/**\n\t * Flag for showing a warning.\n\t */\n\t@Input() warn = false;\n\n\t/**\n\t * Warning text.\n\t */\n\t@Input() warnText: string | TemplateRef<any>;\n\n\t/**\n\t * Aria label for label.\n\t */\n\t@Input() ariaLabel: string;\n\n\t/**\n\t * Tooltip text for hiding password.\n\t */\n\t@Input() hidePasswordLabel = \"Hide password\";\n\n\t/**\n\t * Tooltip text for showing password.\n\t */\n\t@Input() showPasswordLabel = \"Show password\";\n\n\t/**\n\t * Experimental: enable fluid state\n\t */\n\t@Input() fluid = false;\n\n\t/**\n\t * Set to `true` to hide the label visually, but keep accessible to\n\t * screen readers.\n\t */\n\t@Input() hideLabel = false;\n\n\t/**\n\t * Set to `true` to render the label and field side-by-side instead of stacked.\n\t */\n\t@Input() inline = false;\n\n\t/**\n\t * Emits whenever the show/hide password visibility toggle button is clicked.\n\t * Mirrors the `onTogglePasswordVisibility` prop of the React `PasswordInput`\n\t * component.\n\t */\n\t@Output() togglePasswordVisibility = new EventEmitter<\"password\" | \"text\">();\n\n\t/**\n\t * Reference to the wrapper element.\n\t */\n\t@ViewChild(\"wrapper\", { static: true }) wrapper: ElementRef<HTMLDivElement>;\n\n\t/**\n\t * Binding for applying class to host element.\n\t */\n\t@HostBinding(\"class.cds--form-item\") labelClass = true;\n\t@HostBinding(\"class.cds--password-input-wrapper\") passwordInputWrapper = true;\n\t@HostBinding(\"class.cds--text-input-wrapper\") textInputWrapper = true;\n\t@HostBinding(\"class.cds--text-input-wrapper--readonly\") get isReadonly() {\n\t\treturn this.wrapper?.nativeElement.querySelector(\"input\")?.readOnly ?? false;\n\t}\n\n\t@HostBinding(\"class.cds--text-input-wrapper--inline\") get isInlineWrapper() {\n\t\treturn this.inline;\n\t}\n\n\t@HostBinding(\"class.cds--text-input--fluid\") get fluidClass() {\n\t\treturn this.fluid && !this.skeleton;\n\t}\n\n\t@HostBinding(\"class.cds--text-input--fluid__skeleton\") get fluidSkeletonClass() {\n\t\treturn this.fluid && this.skeleton;\n\t}\n\n\t/**\n\t * Constructor for PasswordInputLabelComponent.\n\t * @param changeDetectorRef - Reference to ChangeDetectorRef.\n\t */\n\tconstructor(protected changeDetectorRef: ChangeDetectorRef) {\n\t\tsuper();\n\t}\n\n\t/**\n\t * Lifecycle hook called after the view has been initialized to set the ID of the input element\n\t */\n\tngAfterViewInit() {\n\t\tif (this.wrapper) {\n\t\t\tconst inputElement =\n\t\t\t\tthis.wrapper.nativeElement.querySelector(\"input\");\n\t\t\tif (inputElement) {\n\t\t\t\tif (inputElement.id) {\n\t\t\t\t\tthis.labelInputID = inputElement.id;\n\t\t\t\t\tthis.changeDetectorRef.detectChanges();\n\t\t\t\t}\n\t\t\t\tinputElement.setAttribute(\"id\", this.labelInputID);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Function to check if a value is a TemplateRef.\n\t * @param value - Value to check.\n\t * @returns Whether the value is a TemplateRef.\n\t */\n\tpublic isTemplate(value) {\n\t\treturn value instanceof TemplateRef;\n\t}\n\n\t/**\n\t * Handler for toggling password visibility.\n\t */\n\tpublic handleTogglePasswordVisibility() {\n\t\tthis.inputType = this.inputType === \"password\" ? \"text\" : \"password\";\n\t\tthis.textInput.type = this.inputType;\n\t\tthis.passwordIsVisible = this.inputType === \"text\";\n\t\tthis.togglePasswordVisibility.emit(this.inputType);\n\t}\n}\n","import {\n\tComponent,\n\tInput,\n\tAfterViewInit,\n\tElementRef,\n\tHostBinding,\n\tTemplateRef,\n\tViewChild,\n\tContentChild,\n\tAfterContentInit,\n\tChangeDetectorRef\n} from \"@angular/core\";\n\nimport { TextArea } from \"./text-area.directive\";\nimport { TextInput } from \"./input.directive\";\nimport { PasswordInput } from \"./password.directive\";\n\n/**\n * Get started with importing the module:\n *\n * ```typescript\n * import { InputModule } from 'carbon-components-angular';\n * ```\n *\n * To prevent attribute drilling, use `ibm-text-label` or `ibm-textarea-label` components\n *\n * ```html\n * <cds-label>\n * \tLabel\n * \t<input cdsText type=\"text\" class=\"input-field\">\n * </cds-label>\n * ```\n *\n * [See demo](../../?path=/story/components-input--basic)\n */\n@Component({\n\tselector: \"cds-label, ibm-label\",\n\ttemplate: `\n\t\t<ng-template #inputContentTemplate>\n\t\t\t<ng-content select=\"input,textarea,div\"></ng-content>\n\t\t</ng-template>\n\n\t\t<ng-template #labelContentTemplate>\n\t\t\t<ng-content></ng-content>\n\t\t</ng-template>\n\n\t\t<ng-container [ngSwitch]=\"type\">\n\t\t\t<ng-container *ngSwitchCase=\"'TextArea'\">\n\t\t\t\t<cds-textarea-label\n\t\t\t\t\t[labelInputID]=\"labelInputID\"\n\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\t[skeleton]=\"skeleton\"\n\t\t\t\t\t[helperText]=\"helperText\"\n\t\t\t\t\t[invalid]=\"invalid\"\n\t\t\t\t\t[invalidText]=\"invalidText\"\n\t\t\t\t\t[warn]=\"warn\"\n\t\t\t\t\t[warnText]=\"warnText\"\n\t\t\t\t\t[ariaLabel]=\"ariaLabel\"\n\t\t\t\t\t[hideLabel]=\"hideLabel\"\n\t\t\t\t\t[enableCounter]=\"enableCounter\"\n\t\t\t\t\t[maxCount]=\"maxCount\"\n\t\t\t\t\t[counterMode]=\"counterMode\"\n\t\t\t\t\t[decorator]=\"decorator\"\n\t\t\t\t\t[labelTemplate]=\"labelContentTemplate\"\n\t\t\t\t\t[textAreaTemplate]=\"inputContentTemplate\">\n\t\t\t\t</cds-textarea-label>\n\t\t\t</ng-container>\n\t\t\t<ng-container *ngSwitchCase=\"'TextInput'\">\n\t\t\t\t<cds-text-label\n\t\t\t\t\t[labelInputID]=\"labelInputID\"\n\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\t[skeleton]=\"skeleton\"\n\t\t\t\t\t[helperText]=\"helperText\"\n\t\t\t\t\t[invalid]=\"invalid\"\n\t\t\t\t\t[invalidText]=\"invalidText\"\n\t\t\t\t\t[warn]=\"warn\"\n\t\t\t\t\t[warnText]=\"warnText\"\n\t\t\t\t\t[ariaLabel]=\"ariaLabel\"\n\t\t\t\t\t[hideLabel]=\"hideLabel\"\n\t\t\t\t\t[inline]=\"inline\"\n\t\t\t\t\t[size]=\"size\"\n\t\t\t\t\t[enableCounter]=\"enableCounter\"\n\t\t\t\t\t[maxCount]=\"maxCount\"\n\t\t\t\t\t[decorator]=\"decorator\"\n\t\t\t\t\t[labelTemplate]=\"labelContentTemplate\"\n\t\t\t\t\t[textInputTemplate]=\"inputContentTemplate\">\n\t\t\t\t</cds-text-label>\n\t\t\t</ng-container>\n\t\t\t<ng-container *ngSwitchCase=\"'PasswordInput'\">\n\t\t\t\t<cds-password-label\n\t\t\t\t\t[labelInputID]=\"labelInputID\"\n\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\t[skeleton]=\"skeleton\"\n\t\t\t\t\t[helperText]=\"helperText\"\n\t\t\t\t\t[invalid]=\"invalid\"\n\t\t\t\t\t[invalidText]=\"invalidText\"\n\t\t\t\t\t[warn]=\"warn\"\n\t\t\t\t\t[warnText]=\"warnText\"\n\t\t\t\t\t[ariaLabel]=\"ariaLabel\"\n\t\t\t\t\t[hideLabel]=\"hideLabel\"\n\t\t\t\t\t[inline]=\"inline\"\n\t\t\t\t\t[labelTemplate]=\"labelContentTemplate\"\n\t\t\t\t\t[passwordInputTemplate]=\"inputContentTemplate\">\n\t\t\t\t</cds-password-label>\n\t\t\t</ng-container>\n\t\t\t<ng-container *ngSwitchDefault>\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"default\"></ng-template>\n\t\t\t</ng-container>\n\t\t</ng-container>\n\n\t\t<ng-template #default>\n\t\t\t<label\n\t\t\t\t[for]=\"labelInputID\"\n\t\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\t\tclass=\"cds--label\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'cds--label--disabled': disabled,\n\t\t\t\t\t'cds--skeleton': skeleton\n\t\t\t\t}\">\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"labelContentTemplate\"></ng-template>\n\t\t\t</label>\n\t\t\t<div\n\t\t\t\tclass=\"cds--text-input__field-wrapper\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'cds--text-input__field-wrapper--warning': warn\n\t\t\t\t}\"\n\t\t\t\t[attr.data-invalid]=\"(invalid ? true : null)\"\n\t\t\t\t#wrapper>\n\t\t\t\t<svg\n\t\t\t\t\t*ngIf=\"invalid\"\n\t\t\t\t\tcdsIcon=\"warning--filled\"\n\t\t\t\t\tsize=\"16\"\n\t\t\t\t\tclass=\"cds--text-input__invalid-icon\">\n\t\t\t\t</svg>\n\t\t\t\t<svg\n\t\t\t\t\t*ngIf=\"!invalid && warn\"\n\t\t\t\t\tcdsIcon=\"warning--alt--filled\"\n\t\t\t\t\tsize=\"16\"\n\t\t\t\t\tclass=\"cds--text-input__invalid-icon cds--text-input__invalid-icon--warning\">\n\t\t\t\t</svg>\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"inputContentTemplate\"></ng-template>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\t*ngIf=\"!skeleton && helperText && !invalid && !warn\"\n\t\t\t\tclass=\"cds--form__helper-text\"\n\t\t\t\t[ngClass]=\"{'cds--form__helper-text--disabled': disabled}\">\n\t\t\t\t<ng-container *ngIf=\"!isTemplate(helperText)\">{{helperText}}</ng-container>\n\t\t\t\t<ng-template *ngIf=\"isTemplate(helperText)\" [ngTemplateOutlet]=\"helperText\"></ng-template>\n\t\t\t</div>\n\t\t\t<div *ngIf=\"invalid\" class=\"cds--form-requirement\">\n\t\t\t\t<ng-container *ngIf=\"!isTemplate(invalidText)\">{{invalidText}}</ng-container>\n\t\t\t\t<ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t</div>\n\t\t\t<div *ngIf=\"!invalid && warn\" class=\"cds--form-requirement\">\n\t\t\t\t<ng-container *ngIf=\"!isTemplate(warnText)\">{{warnText}}</ng-container>\n\t\t\t\t<ng-template *ngIf=\"isTemplate(warnText)\" [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t</div>\n\t\t</ng-template>\n\t`\n})\nexport class Label implements AfterContentInit, AfterViewInit {\n\t/**\n\t * Used to build the id of the input item associated with the `Label`.\n\t */\n\tstatic labelCounter = 0;\n\t/**\n\t * The id of the input item associated with the `Label`. This value is also used to associate the `Label` with\n\t * its input counterpart through the 'for' attribute.\n\t */\n\t@Input() labelInputID = `cds-label-${Label.labelCounter++}`;\n\t/**\n\t * Set to `true` for disabled state.\n\t */\n\t@Input() disabled = false;\n\t/**\n\t * Set to `true` for a loading label.\n\t */\n\t@Input() skeleton = false;\n\t/**\n\t * Optional helper text that appears under the label.\n\t */\n\t@Input() helperText: string | TemplateRef<any>;\n\t/**\n\t * Sets the invalid text.\n\t */\n\t@Input() invalidText: string | TemplateRef<any>;\n\t/**\n\t * Set to `true` for an invalid label component.\n\t */\n\t@Input() invalid = false;\n\t/**\n\t * Set to `true` to show a warning (contents set by warningText)\n\t */\n\t@Input() warn = false;\n\t/**\n\t * Sets the warning text\n\t */\n\t@Input() warnText: string | TemplateRef<any>;\n\t/**\n\t * Set the arialabel for label\n\t */\n\t@Input() ariaLabel: string;\n\n\t/**\n\t * Set to `true` to hide the label visually, but keep accessible to\n\t * screen readers.\n\t */\n\t@Input() hideLabel = false;\n\n\t/**\n\t * Set to `true` to render the label and field side-by-side instead of stacked.\n\t * Applies to `TextInput` and `PasswordInput` label variants.\n\t */\n\t@Input() inline = false;\n\n\t/**\n\t * The render size for the `TextInput`. Used to compute INLINE label size\n\t * variant classes.\n\t */\n\t@Input() size: \"sm\" | \"md\" | \"lg\" = \"md\";\n\n\t/**\n\t * Set to `true` (`maxCount` must be set) to displays a live character/word\n\t * counter alongside the label.\n\t */\n\t@Input() enableCounter = false;\n\n\t/**\n\t * Maximum number of characters (or words) allowed. Required for the\n\t * counter to display.\n\t */\n\t@Input() maxCount: number;\n\n\t/**\n\t * Determines whether the `TextArea` counter counts characters or words.\n\t */\n\t@Input() counterMode: \"character\" | \"word\" = \"character\";\n\n\t/**\n\t * **Experimental**: Optional decorator (e.g. AI label).\n\t */\n\t@Input() decorator: TemplateRef<any>;\n\n\t@ViewChild(\"wrapper\") wrapper: ElementRef<HTMLDivElement>;\n\n\t@ContentChild(TextArea) textArea: TextArea;\n\n\t// @ts-ignore\n\t@ContentChild(TextInput, { static: false }) textInput: TextInput;\n\n\t@ContentChild(PasswordInput, { static: false })\n\tpasswordInput: PasswordInput;\n\n\t@HostBinding(\"class.cds--form-item\") get labelClass() {\n\t\treturn this.type === undefined;\n\t}\n\n\ttype: \"TextArea\" | \"TextInput\" | \"PasswordInput\";\n\n\t/**\n\t * Creates an instance of Label.\n\t */\n\tconstructor(protected changeDetectorRef: ChangeDetectorRef) {}\n\n\t/**\n\t * Update wrapper class if a textarea is hosted.\n\t */\n\tngAfterContentInit() {\n\t\tif (this.textArea) {\n\t\t\tthis.type = \"TextArea\";\n\t\t} else if (this.textInput) {\n\t\t\tthis.type = \"TextInput\";\n\t\t} else if (this.passwordInput) {\n\t\t\tthis.type = \"PasswordInput\";\n\t\t}\n\t}\n\n\t/**\n\t * Sets the id on the input item associated with the `Label`.\n\t */\n\tngAfterViewInit() {\n\t\t// Will only be called when `default` template is being used\n\t\tif (this.wrapper) {\n\t\t\t// Prioritize setting id to `input` & `textarea` over div\n\t\t\tconst inputElement = this.wrapper.nativeElement.querySelector(\"input,textarea\");\n\t\t\tif (inputElement) {\n\t\t\t\t// avoid overriding ids already set by the user reuse it instead\n\t\t\t\tif (inputElement.id) {\n\t\t\t\t\tthis.labelInputID = inputElement.id;\n\t\t\t\t\tthis.changeDetectorRef.detectChanges();\n\t\t\t\t}\n\t\t\t\tinputElement.setAttribute(\"id\", this.labelInputID);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst divElement = this.wrapper.nativeElement.querySelector(\"div\");\n\t\t\tif (divElement) {\n\t\t\t\tif (divElement.id) {\n\t\t\t\t\tthis.labelInputID = divElement.id;\n\t\t\t\t\tthis.changeDetectorRef.detectChanges();\n\t\t\t\t}\n\t\t\t\tdivElement.setAttribute(\"id\", this.labelInputID);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic isTemplate(value) {\n\t\treturn value instanceof TemplateRef;\n\t}\n}\n","// modules\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\n\n// imports\nimport { Label } from \"./label.component\";\nimport { TextInput } from \"./input.directive\";\nimport { TextArea } from \"./text-area.directive\";\nimport { TextareaLabelComponent } from \"./textarea-label.component\";\nimport { TextInputLabelComponent } from \"./text-input-label.component\";\nimport { IconModule } from \"carbon-components-angular/icon\";\nimport { PasswordInput } from \"./password.directive\";\nimport { PasswordInputLabelComponent } from \"./password-input-label.component\";\nimport { TooltipModule } from \"carbon-components-angular/tooltip\";\nimport { ButtonModule } from \"carbon-components-angular/button\";\n\n@NgModule({\n\tdeclarations: [\n\t\tLabel,\n\t\tTextInput,\n\t\tTextArea,\n\t\tPasswordInput,\n\t\tTextareaLabelComponent,\n\t\tTextInputLabelComponent,\n\t\tPasswordInputLabelComponent\n\t],\n\texports: [\n\t\tLabel,\n\t\tTextareaLabelComponent,\n\t\tTextInputLabelComponent,\n\t\tPasswordInputLabelComponent,\n\t\tTextInput,\n\t\tTextArea,\n\t\tPasswordInput\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tFormsModule,\n\t\tIconModule,\n\t\tButtonModule,\n\t\tTooltipModule\n\t]\n})\nexport class InputModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i3.TextareaLabelComponent","i4.TextInputLabelComponent","i5.PasswordInputLabelComponent"],"mappings":"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"}
|