carbon-components-angular 6.0.0-rc.21 → 6.0.0-rc.22

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.
Files changed (217) hide show
  1. package/aspect-ratio/aspect-ratio.directive.d.ts +1 -1
  2. package/aspect-ratio/aspect-ratio.module.d.ts +1 -1
  3. package/datepicker/datepicker.component.d.ts +1 -0
  4. package/datepicker-input/datepicker-input.component.d.ts +1 -0
  5. package/docs/documentation/components/AILabelComponent.html +2 -2
  6. package/docs/documentation/components/ActionableNotification.html +3 -3
  7. package/docs/documentation/components/ButtonSet.html +5 -5
  8. package/docs/documentation/components/ComboButtonComponent.html +3 -3
  9. package/docs/documentation/components/ContextMenuItemComponent.html +3 -3
  10. package/docs/documentation/components/DatePicker.html +242 -155
  11. package/docs/documentation/components/DatePickerInput.html +239 -149
  12. package/docs/documentation/components/IconTab.html +48 -50
  13. package/docs/documentation/components/Label.html +38 -44
  14. package/docs/documentation/components/MenuButtonComponent.html +3 -3
  15. package/docs/documentation/components/PaginationOverflow.html +3 -3
  16. package/docs/documentation/components/Select.html +183 -65
  17. package/docs/documentation/components/Tab.html +56 -59
  18. package/docs/documentation/components/TabHeaderComponent.html +5 -5
  19. package/docs/documentation/components/TableBody.html +3 -3
  20. package/docs/documentation/components/TableContainer.html +3 -3
  21. package/docs/documentation/components/TableHead.html +3 -3
  22. package/docs/documentation/components/TableHeader.html +3 -3
  23. package/docs/documentation/components/TableRadio.html +22 -24
  24. package/docs/documentation/components/TableRowComponent.html +3 -3
  25. package/docs/documentation/components/Tabs.html +36 -40
  26. package/docs/documentation/components/TabsVertical.html +34 -36
  27. package/docs/documentation/components/TabsVerticalGrouped.html +3 -3
  28. package/docs/documentation/components/Tag.html +5 -5
  29. package/docs/documentation/components/TagFilter.html +2 -2
  30. package/docs/documentation/components/TagOperationalComponent.html +2 -2
  31. package/docs/documentation/components/TagSelectableComponent.html +2 -2
  32. package/docs/documentation/components/Tile.html +19 -23
  33. package/docs/documentation/components/TimePickerSelect.html +104 -32
  34. package/docs/documentation/components/Toggle.html +460 -1680
  35. package/docs/documentation/components/Toggletip.html +5 -5
  36. package/docs/documentation/coverage.html +17 -17
  37. package/docs/documentation/directives/AspectRatioDirective.html +23 -24
  38. package/docs/documentation/directives/PasswordInput.html +1 -1
  39. package/docs/documentation/directives/TextInput.html +1 -1
  40. package/docs/documentation/graph/dependencies.svg +179 -179
  41. package/docs/documentation/js/menu-wc.js +6 -3
  42. package/docs/documentation/js/menu-wc_es5.js +1 -1
  43. package/docs/documentation/js/search/search_index.js +2 -2
  44. package/docs/documentation/miscellaneous/enumerations.html +0 -37
  45. package/docs/documentation/modules/AspectRatioModule/dependencies.svg +4 -4
  46. package/docs/documentation/modules/AspectRatioModule.html +9 -8
  47. package/docs/documentation/modules/ContextMenuModule/dependencies.svg +4 -4
  48. package/docs/documentation/modules/ContextMenuModule.html +4 -4
  49. package/docs/documentation/modules/DialogModule/dependencies.svg +80 -80
  50. package/docs/documentation/modules/DialogModule.html +80 -80
  51. package/docs/documentation/modules/DropdownModule/dependencies.svg +4 -4
  52. package/docs/documentation/modules/DropdownModule.html +4 -4
  53. package/docs/documentation/modules/GridModule/dependencies.svg +4 -4
  54. package/docs/documentation/modules/GridModule.html +4 -4
  55. package/docs/documentation/modules/HeaderModule/dependencies.svg +4 -4
  56. package/docs/documentation/modules/HeaderModule.html +4 -4
  57. package/docs/documentation/modules/I18nModule/dependencies.svg +4 -4
  58. package/docs/documentation/modules/I18nModule.html +4 -4
  59. package/docs/documentation/modules/InputModule/dependencies.svg +4 -4
  60. package/docs/documentation/modules/InputModule.html +4 -4
  61. package/docs/documentation/modules/LayerModule/dependencies.svg +4 -4
  62. package/docs/documentation/modules/LayerModule.html +4 -4
  63. package/docs/documentation/modules/LayoutModule/dependencies.svg +4 -4
  64. package/docs/documentation/modules/LayoutModule.html +4 -4
  65. package/docs/documentation/modules/ListModule/dependencies.svg +4 -4
  66. package/docs/documentation/modules/ListModule.html +4 -4
  67. package/docs/documentation/modules/LoadingModule/dependencies.svg +4 -4
  68. package/docs/documentation/modules/LoadingModule.html +4 -4
  69. package/docs/documentation/modules/MenuButton/dependencies.svg +4 -4
  70. package/docs/documentation/modules/MenuButton.html +4 -4
  71. package/docs/documentation/modules/ModalModule/dependencies.svg +4 -4
  72. package/docs/documentation/modules/ModalModule.html +4 -4
  73. package/docs/documentation/modules/NFormsModule/dependencies.svg +4 -4
  74. package/docs/documentation/modules/NFormsModule.html +4 -4
  75. package/docs/documentation/modules/PaginationModule/dependencies.svg +4 -4
  76. package/docs/documentation/modules/PaginationModule.html +4 -4
  77. package/docs/documentation/modules/PlaceholderModule/dependencies.svg +4 -4
  78. package/docs/documentation/modules/PlaceholderModule.html +4 -4
  79. package/docs/documentation/modules/PopoverModule/dependencies.svg +4 -4
  80. package/docs/documentation/modules/PopoverModule.html +4 -4
  81. package/docs/documentation/modules/RadioModule/dependencies.svg +4 -4
  82. package/docs/documentation/modules/RadioModule.html +4 -4
  83. package/docs/documentation/modules/TableModule/dependencies.svg +4 -4
  84. package/docs/documentation/modules/TableModule.html +4 -4
  85. package/docs/documentation/modules/ThemeModule/dependencies.svg +4 -4
  86. package/docs/documentation/modules/ThemeModule.html +4 -4
  87. package/docs/documentation/modules/TimePickerSelectModule/dependencies.svg +4 -4
  88. package/docs/documentation/modules/TimePickerSelectModule.html +4 -4
  89. package/docs/documentation/modules/ToggleModule/dependencies.svg +4 -4
  90. package/docs/documentation/modules/ToggleModule.html +4 -4
  91. package/docs/documentation/modules/ToggletipModule/dependencies.svg +4 -4
  92. package/docs/documentation/modules/ToggletipModule.html +4 -4
  93. package/docs/documentation/modules/TreeviewModule/dependencies.svg +4 -4
  94. package/docs/documentation/modules/TreeviewModule.html +4 -4
  95. package/docs/documentation/overview.html +179 -179
  96. package/docs/documentation.json +872 -1252
  97. package/docs/storybook/117.bb979a2a.iframe.bundle.js +1 -0
  98. package/docs/storybook/{3419.8754f6b3.iframe.bundle.js → 3419.fbf4e882.iframe.bundle.js} +1 -1
  99. package/docs/storybook/{4333.ab38752d.iframe.bundle.js → 4333.fefbcaa4.iframe.bundle.js} +1 -1
  100. package/docs/storybook/4539.cd802ae1.iframe.bundle.js +1 -0
  101. package/docs/storybook/5028.4f8835f2.iframe.bundle.js +1 -0
  102. package/docs/storybook/{5118.d8e064f1.iframe.bundle.js → 5118.02beb793.iframe.bundle.js} +1 -1
  103. package/docs/storybook/{6372.9f376681.iframe.bundle.js → 6372.f041a629.iframe.bundle.js} +1 -1
  104. package/docs/storybook/{6878.5ee808b5.iframe.bundle.js → 6878.c010cd64.iframe.bundle.js} +1 -1
  105. package/docs/storybook/{6931.bca31e10.iframe.bundle.js → 6931.723d7595.iframe.bundle.js} +1 -1
  106. package/docs/storybook/880.f7aa41d3.iframe.bundle.js +1 -0
  107. package/docs/storybook/9851.97cd4b72.iframe.bundle.js +1 -0
  108. package/docs/storybook/{aspect-ratio-aspect-ratio-stories.a66b9c60.iframe.bundle.js → aspect-ratio-aspect-ratio-stories.8433112e.iframe.bundle.js} +1 -1
  109. package/docs/storybook/breadcrumb-breadcrumb-stories.f128b6d0.iframe.bundle.js +1 -0
  110. package/docs/storybook/button-button-set-stories.c2612349.iframe.bundle.js +1 -0
  111. package/docs/storybook/button-button-stories.30b119cd.iframe.bundle.js +1 -0
  112. package/docs/storybook/button-icon-button-stories.0da0527f.iframe.bundle.js +1 -0
  113. package/docs/storybook/checkbox-checkbox-stories.2ebd0a3e.iframe.bundle.js +1 -0
  114. package/docs/storybook/code-snippet-code-snippet-stories.395927b5.iframe.bundle.js +1 -0
  115. package/docs/storybook/combo-button-combo-button-stories.06cafdbe.iframe.bundle.js +1 -0
  116. package/docs/storybook/contained-list-contained-list-stories.0ef7351b.iframe.bundle.js +1 -0
  117. package/docs/storybook/datepicker-datepicker-stories.402c0d61.iframe.bundle.js +1 -0
  118. package/docs/storybook/dialog-overflow-menu-overflow-menu-stories.1820773f.iframe.bundle.js +1 -0
  119. package/docs/storybook/file-uploader-file-stories.f98094f5.iframe.bundle.js +1 -0
  120. package/docs/storybook/iframe.html +2 -2
  121. package/docs/storybook/index-stories.dc944c09.iframe.bundle.js +1 -0
  122. package/docs/storybook/inline-loading-inline-loading-stories.4eb2d84e.iframe.bundle.js +1 -0
  123. package/docs/storybook/input-password-stories.30fb2577.iframe.bundle.js +1 -0
  124. package/docs/storybook/main.80067634.iframe.bundle.js +1 -0
  125. package/docs/storybook/menu-button-menu-button-stories.bdfe8d92.iframe.bundle.js +1 -0
  126. package/docs/storybook/modal-modal-stories.2a043fe5.iframe.bundle.js +1 -0
  127. package/docs/storybook/pagination-pagination-nav-stories.0f81f31c.iframe.bundle.js +1 -0
  128. package/docs/storybook/pagination-pagination-stories.eec922d6.iframe.bundle.js +1 -0
  129. package/docs/storybook/patterns-dialogs-modal-with-table-stories.5d05e9a4.iframe.bundle.js +1 -0
  130. package/docs/storybook/patterns-filtering-multiple-categories-stories.3ae46ebd.iframe.bundle.js +1 -0
  131. package/docs/storybook/patterns-forms-multi-step-form-stories.fe0953e3.iframe.bundle.js +1 -0
  132. package/docs/storybook/patterns-loading-large-loading-stories.66bf3964.iframe.bundle.js +1 -0
  133. package/docs/storybook/project.json +1 -1
  134. package/docs/storybook/{runtime~main.e29a4f3e.iframe.bundle.js → runtime~main.d45fe031.iframe.bundle.js} +1 -1
  135. package/docs/storybook/{select-select-stories.e5a6b6fd.iframe.bundle.js → select-select-stories.6494aa35.iframe.bundle.js} +1 -1
  136. package/docs/storybook/tag-tag-stories.c0c023cc.iframe.bundle.js +1 -0
  137. package/docs/storybook/toggle-toggle-stories.fa8a4852.iframe.bundle.js +1 -0
  138. package/docs/storybook/toggletip-toggletip-stories.9b065bb4.iframe.bundle.js +1 -0
  139. package/fesm2022/carbon-components-angular-ai-label.mjs +1 -1
  140. package/fesm2022/carbon-components-angular-ai-label.mjs.map +1 -1
  141. package/fesm2022/carbon-components-angular-aspect-ratio.mjs +4 -5
  142. package/fesm2022/carbon-components-angular-aspect-ratio.mjs.map +1 -1
  143. package/fesm2022/carbon-components-angular-button.mjs +4 -4
  144. package/fesm2022/carbon-components-angular-button.mjs.map +1 -1
  145. package/fesm2022/carbon-components-angular-combo-button.mjs +2 -2
  146. package/fesm2022/carbon-components-angular-combo-button.mjs.map +1 -1
  147. package/fesm2022/carbon-components-angular-context-menu.mjs +2 -2
  148. package/fesm2022/carbon-components-angular-context-menu.mjs.map +1 -1
  149. package/fesm2022/carbon-components-angular-datepicker-input.mjs +7 -5
  150. package/fesm2022/carbon-components-angular-datepicker-input.mjs.map +1 -1
  151. package/fesm2022/carbon-components-angular-datepicker.mjs +7 -7
  152. package/fesm2022/carbon-components-angular-datepicker.mjs.map +1 -1
  153. package/fesm2022/carbon-components-angular-forms.mjs +1 -1
  154. package/fesm2022/carbon-components-angular-forms.mjs.map +1 -1
  155. package/fesm2022/carbon-components-angular-input.mjs +8 -14
  156. package/fesm2022/carbon-components-angular-input.mjs.map +1 -1
  157. package/fesm2022/carbon-components-angular-menu-button.mjs +2 -2
  158. package/fesm2022/carbon-components-angular-menu-button.mjs.map +1 -1
  159. package/fesm2022/carbon-components-angular-notification.mjs +2 -2
  160. package/fesm2022/carbon-components-angular-notification.mjs.map +1 -1
  161. package/fesm2022/carbon-components-angular-pagination.mjs +2 -2
  162. package/fesm2022/carbon-components-angular-pagination.mjs.map +1 -1
  163. package/fesm2022/carbon-components-angular-select.mjs +14 -14
  164. package/fesm2022/carbon-components-angular-select.mjs.map +1 -1
  165. package/fesm2022/carbon-components-angular-table.mjs +12 -14
  166. package/fesm2022/carbon-components-angular-table.mjs.map +1 -1
  167. package/fesm2022/carbon-components-angular-tabs.mjs +38 -48
  168. package/fesm2022/carbon-components-angular-tabs.mjs.map +1 -1
  169. package/fesm2022/carbon-components-angular-tag.mjs +6 -6
  170. package/fesm2022/carbon-components-angular-tag.mjs.map +1 -1
  171. package/fesm2022/carbon-components-angular-tiles.mjs +4 -8
  172. package/fesm2022/carbon-components-angular-tiles.mjs.map +1 -1
  173. package/fesm2022/carbon-components-angular-toggle.mjs +73 -31
  174. package/fesm2022/carbon-components-angular-toggle.mjs.map +1 -1
  175. package/fesm2022/carbon-components-angular-toggletip.mjs +4 -4
  176. package/fesm2022/carbon-components-angular-toggletip.mjs.map +1 -1
  177. package/forms/index.d.ts +1 -1
  178. package/input/input.directive.d.ts +1 -1
  179. package/input/password.directive.d.ts +1 -1
  180. package/package.json +1 -1
  181. package/select/select.component.d.ts +2 -0
  182. package/tag/tag-filter.component.d.ts +1 -1
  183. package/tag/tag-operational.component.d.ts +1 -1
  184. package/tag/tag-selectable.component.d.ts +1 -1
  185. package/tag/tag.component.d.ts +1 -1
  186. package/toggle/toggle.component.d.ts +36 -21
  187. package/docs/storybook/117.97eb4444.iframe.bundle.js +0 -1
  188. package/docs/storybook/4539.3c2d13f6.iframe.bundle.js +0 -1
  189. package/docs/storybook/5028.d2f8d70a.iframe.bundle.js +0 -1
  190. package/docs/storybook/880.b32b1797.iframe.bundle.js +0 -1
  191. package/docs/storybook/9851.65fc740b.iframe.bundle.js +0 -1
  192. package/docs/storybook/breadcrumb-breadcrumb-stories.8b85700c.iframe.bundle.js +0 -1
  193. package/docs/storybook/button-button-set-stories.fa675e32.iframe.bundle.js +0 -1
  194. package/docs/storybook/button-button-stories.018cbff3.iframe.bundle.js +0 -1
  195. package/docs/storybook/button-icon-button-stories.dd6cbcba.iframe.bundle.js +0 -1
  196. package/docs/storybook/checkbox-checkbox-stories.5ef654f3.iframe.bundle.js +0 -1
  197. package/docs/storybook/code-snippet-code-snippet-stories.3613f4e0.iframe.bundle.js +0 -1
  198. package/docs/storybook/combo-button-combo-button-stories.d30cbfba.iframe.bundle.js +0 -1
  199. package/docs/storybook/contained-list-contained-list-stories.fa371c0d.iframe.bundle.js +0 -1
  200. package/docs/storybook/datepicker-datepicker-stories.b2c80ef4.iframe.bundle.js +0 -1
  201. package/docs/storybook/dialog-overflow-menu-overflow-menu-stories.23d0247a.iframe.bundle.js +0 -1
  202. package/docs/storybook/file-uploader-file-stories.81d58618.iframe.bundle.js +0 -1
  203. package/docs/storybook/index-stories.1efbdb52.iframe.bundle.js +0 -1
  204. package/docs/storybook/inline-loading-inline-loading-stories.af3ae602.iframe.bundle.js +0 -1
  205. package/docs/storybook/input-password-stories.f98ce325.iframe.bundle.js +0 -1
  206. package/docs/storybook/main.05801aa6.iframe.bundle.js +0 -1
  207. package/docs/storybook/menu-button-menu-button-stories.76c3d1f4.iframe.bundle.js +0 -1
  208. package/docs/storybook/modal-modal-stories.0a4034f4.iframe.bundle.js +0 -1
  209. package/docs/storybook/pagination-pagination-nav-stories.1580b524.iframe.bundle.js +0 -1
  210. package/docs/storybook/pagination-pagination-stories.a3328d94.iframe.bundle.js +0 -1
  211. package/docs/storybook/patterns-dialogs-modal-with-table-stories.1051be79.iframe.bundle.js +0 -1
  212. package/docs/storybook/patterns-filtering-multiple-categories-stories.77608d33.iframe.bundle.js +0 -1
  213. package/docs/storybook/patterns-forms-multi-step-form-stories.73cd2f55.iframe.bundle.js +0 -1
  214. package/docs/storybook/patterns-loading-large-loading-stories.66a25868.iframe.bundle.js +0 -1
  215. package/docs/storybook/tag-tag-stories.eed011b8.iframe.bundle.js +0 -1
  216. package/docs/storybook/toggle-toggle-stories.5c291417.iframe.bundle.js +0 -1
  217. package/docs/storybook/toggletip-toggletip-stories.2987ef51.iframe.bundle.js +0 -1
@@ -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\tstandalone: true\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\tstandalone: true\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\tstandalone: true\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\tChangeDetectionStrategy,\n\tSimpleChanges\n} from \"@angular/core\";\n\nimport { TextArea } from \"./text-area.directive\";\nimport { NgClass, NgTemplateOutlet } from \"@angular/common\";\nimport { IconDirective } from \"carbon-components-angular/icon\";\n\n/**\n * Get started with importing the component and directive:\n *\n * ```typescript\n * import { TextareaLabelComponent, TextArea, } 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@if (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}\n\t\t@if (!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@if (labelTemplate) {\n\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t\t}\n\t\t\t\t</label>\n\t\t\t\t@if (enableCounter && maxCount) {\n\t\t\t\t\t<span\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}\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@if (!fluid && invalid) {\n\t\t\t\t\t<svg\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-area__invalid-icon\">\n\t\t\t\t\t</svg>\n\t\t\t\t}\n\t\t\t\t@if (!fluid && !invalid && warn) {\n\t\t\t\t\t<svg\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-area__invalid-icon cds--text-area__invalid-icon--warning\">\n\t\t\t\t\t</svg>\n\t\t\t\t}\n\t\t\t\t@if (textAreaTemplate) {\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"textAreaTemplate\"></ng-template>\n\t\t\t\t} @else {\n\t\t\t\t\t<ng-content select=\"[cdsTextArea],[ibmTextArea],textarea\"></ng-content>\n\t\t\t\t}\n\t\t\t\t@if (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}\n\n\t\t\t\t@if (fluid) {\n\t\t\t\t\t<hr class=\"cds--text-area__divider\" />\n\t\t\t\t\t@if (invalid) {\n\t\t\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t\t\t@if (!isTemplate(invalidText)) {\n\t\t\t\t\t\t\t\t{{invalidText}}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t@if (isTemplate(invalidText)) {\n\t\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\tcdsIcon=\"warning--filled\"\n\t\t\t\t\t\t\t\tsize=\"16\"\n\t\t\t\t\t\t\t\tclass=\"cds--text-area__invalid-icon\">\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t\t@if (!invalid && warn) {\n\t\t\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t\t\t@if (!isTemplate(warnText)) {\n\t\t\t\t\t\t\t\t{{warnText}}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t@if (isTemplate(warnText)) {\n\t\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\tcdsIcon=\"warning--alt--filled\"\n\t\t\t\t\t\t\t\tsize=\"16\"\n\t\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\t</svg>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t@if (!fluid) {\n\t\t\t\t@if (helperText && !invalid && !warn) {\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"cds--form__helper-text\"\n\t\t\t\t\t\t[ngClass]=\"{'cds--form__helper-text--disabled': disabled}\">\n\t\t\t\t\t\t@if (!isTemplate(helperText)) {\n\t\t\t\t\t\t\t{{helperText}}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t@if (isTemplate(helperText)) {\n\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"helperText\"></ng-template>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t@if (invalid) {\n\t\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t\t@if (!isTemplate(invalidText)) {\n\t\t\t\t\t\t\t{{invalidText}}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t@if (isTemplate(invalidText)) {\n\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t@if (!invalid && warn) {\n\t\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t\t@if (!isTemplate(warnText)) {\n\t\t\t\t\t\t\t{{warnText}}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t@if (isTemplate(warnText)) {\n\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [NgClass, NgTemplateOutlet, IconDirective]\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\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tHostBinding,\n\tInput,\n\tOnChanges,\n\tOnDestroy,\n\tSimpleChanges,\n\tTemplateRef,\n\tViewChild\n} from \"@angular/core\";\nimport { NgClass, NgTemplateOutlet } from \"@angular/common\";\nimport { IconDirective } from \"carbon-components-angular/icon\";\n\n/**\n * Get started with importing the component and directive:\n *\n * ```typescript\n * import { TextInput, TextInputLabelComponent, } 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@if (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}\n\t\t@if (!skeleton) {\n\t\t\t<!-- non-inline: label-wrapper above field; inline: label+validation side-by-side -->\n\t\t\t@if (!inline) {\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@if (labelTemplate) {\n\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t\t\t}\n\t\t\t\t\t</label>\n\t\t\t\t\t@if (enableCounter && maxCount) {\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclass=\"cds--label\"\n\t\t\t\t\t\t\t[ngClass]=\"{'cds--label--disabled': disabled}\"\n\t\t\t\t\t\t\taria-hidden=\"true\">\n\t\t\t\t\t\t\t{{textCount}}/{{maxCount}}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t} @else {\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@if (labelTemplate) {\n\t\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t@if (!fluid) {\n\t\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"validationOrHelper\"></ng-container>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t}\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\t<div\n\t\t\t\t\tclass=\"cds--text-input__field-wrapper\"\n\t\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t\t'cds--text-input__field-wrapper--warning': warn,\n\t\t\t\t\t\t'cds--text-input__field-wrapper--decorator': !!decorator\n\t\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@if (invalid && !warn) {\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-input__invalid-icon\">\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t}\n\t\t\t\t\t@if (!invalid && warn) {\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-input__invalid-icon cds--text-input__invalid-icon--warning\">\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t}\n\t\t\t\t\t@if (textInputTemplate) {\n\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"textInputTemplate\"></ng-template>\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t<ng-content select=\"[cdsText],[ibmText],input[type=text],div\"></ng-content>\n\t\t\t\t\t}\n\t\t\t\t\t@if (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}\n\t\t\t\t\t@if (fluid) {\n\t\t\t\t\t\t<hr class=\"cds--text-input__divider\" />\n\t\t\t\t\t\t@if (invalid) {\n\t\t\t\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t\t\t\t@if (!isTemplate(invalidText)) {\n\t\t\t\t\t\t\t\t\t{{invalidText}}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t@if (isTemplate(invalidText)) {\n\t\t\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\t\t\t\t\t\t@if (!invalid && warn) {\n\t\t\t\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t\t\t\t@if (!isTemplate(warnText)) {\n\t\t\t\t\t\t\t\t\t{{warnText}}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t@if (isTemplate(warnText)) {\n\t\t\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t\t@if (!fluid && !inline) {\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"validationOrHelper\"></ng-container>\n\t\t\t\t}\n\t\t\t</div>\n\t\t}\n\t\t<ng-template #validationOrHelper>\n\t\t\t@if (helperText && !invalid && !warn) {\n\t\t\t\t<div\n\t\t\t\t\tclass=\"cds--form__helper-text\"\n\t\t\t\t\t[ngClass]=\"{'cds--form__helper-text--disabled': disabled, 'cds--form__helper-text--inline': inline}\">\n\t\t\t\t\t@if (!isTemplate(helperText)) {\n\t\t\t\t\t\t{{helperText}}\n\t\t\t\t\t}\n\t\t\t\t\t@if (isTemplate(helperText)) {\n\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"helperText\"></ng-template>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t@if (invalid) {\n\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t@if (!isTemplate(invalidText)) {\n\t\t\t\t\t\t{{invalidText}}\n\t\t\t\t\t}\n\t\t\t\t\t@if (isTemplate(invalidText)) {\n\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t@if (!invalid && warn) {\n\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t@if (!isTemplate(warnText)) {\n\t\t\t\t\t\t{{warnText}}\n\t\t\t\t\t}\n\t\t\t\t\t@if (isTemplate(warnText)) {\n\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t}\n\t\t</ng-template>\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [NgClass, NgTemplateOutlet, IconDirective]\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\tChangeDetectionStrategy\n} from \"@angular/core\";\nimport { PasswordInput } from \"./password.directive\";\nimport { BaseIconButton } from \"carbon-components-angular/button\";\nimport { NgClass, NgTemplateOutlet } from \"@angular/common\";\nimport { IconDirective } from \"carbon-components-angular/icon\";\nimport { Tooltip } from \"carbon-components-angular/tooltip\";\n\n/**\n * Get started with importing the component and directive:\n *\n * ```typescript\n * import { PasswordInputLabelComponent, PasswordInput } 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@if (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}\n\t\t@if (!skeleton) {\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--visually-hidden': hideLabel,\n\t\t\t\t\t'cds--label--inline': inline\n\t\t\t\t}\">\n\t\t\t\t@if (labelTemplate) {\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n\t\t\t\t} @else {\n\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t}\n\t\t\t</label>\n\t\t}\n\n\t\t@if (!skeleton) {\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\t<div\n\t\t\t\t\tclass=\"cds--text-input__field-wrapper\"\n\t\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t\t'cds--text-input__field-wrapper--warning': warn\n\t\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@if (!warn && invalid) {\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-input__invalid-icon\">\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t}\n\t\t\t\t\t@if (!invalid && warn) {\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-input__invalid-icon cds--text-input__invalid-icon--warning\">\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t}\n\t\t\t\t\t<ng-content select=\"[cdsPassword], [ibmPassword]\"></ng-content>\n\t\t\t\t\t@if (!skeleton) {\n\t\t\t\t\t\t<cds-tooltip\n\t\t\t\t\t\t\t[description]=\"passwordIsVisible ? hidePasswordLabel : showPasswordLabel\"\n\t\t\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\t\t\t[caret]=\"caret\"\n\t\t\t\t\t\t\t[dropShadow]=\"dropShadow\"\n\t\t\t\t\t\t\t[highContrast]=\"highContrast\"\n\t\t\t\t\t\t\t[isOpen]=\"isOpen\"\n\t\t\t\t\t\t\t[align]=\"align\"\n\t\t\t\t\t\t\t[autoAlign]=\"autoAlign\"\n\t\t\t\t\t\t\t[enterDelayMs]=\"enterDelayMs\"\n\t\t\t\t\t\t\t[leaveDelayMs]=\"leaveDelayMs\"\n\t\t\t\t\t\t\tclass=\"cds--toggle-password-tooltip\">\n\t\t\t\t\t\t\t<div class=\"cds--tooltip-trigger__wrapper\">\n\t\t\t\t\t\t\t\t<button\n\t\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\t[disabled]=\"disabled\"\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t(click)=\"handleTogglePasswordVisibility($event)\">\n\t\t\t\t\t\t\t\t\t@if (passwordIsVisible) {\n\t\t\t\t\t\t\t\t\t\t<svg cdsIcon=\"view--off\" class=\"cds--icon-visibility-off\" size=\"16\"></svg>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t@if (!passwordIsVisible) {\n\t\t\t\t\t\t\t\t\t\t<svg cdsIcon=\"view\" class=\"cds--icon-visibility-on\" size=\"16\"></svg>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t</cds-tooltip>\n\t\t\t\t}\n\n\t\t\t\t\t@if (fluid) {\n\t\t\t\t\t\t<hr class=\"cds--text-input__divider\" />\n\t\t\t\t\t\t@if (!warn && invalid) {\n\t\t\t\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t\t\t\t@if (!isTemplate(invalidText)) {\n\t\t\t\t\t\t\t\t\t{{ invalidText }}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t@if (isTemplate(invalidText)) {\n\t\t\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\t\t\t\t\t\t@if (!invalid && warn) {\n\t\t\t\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t\t\t\t@if (!isTemplate(warnText)) {\n\t\t\t\t\t\t\t\t\t{{ warnText }}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t@if (isTemplate(warnText)) {\n\t\t\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t\t@if (!fluid) {\n\t\t\t\t\t@if (!skeleton && helperText && !invalid && !warn) {\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass=\"cds--form__helper-text\"\n\t\t\t\t\t\t\t[ngClass]=\"{ 'cds--form__helper-text--disabled': disabled }\">\n\t\t\t\t\t\t\t@if (!isTemplate(helperText)) {\n\t\t\t\t\t\t\t\t{{ helperText }}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t@if (isTemplate(helperText)) {\n\t\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"helperText\"></ng-template>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\n\t\t\t\t\t@if (!warn && invalid) {\n\t\t\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t\t\t@if (!isTemplate(invalidText)) {\n\t\t\t\t\t\t\t\t{{ invalidText }}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t@if (isTemplate(invalidText)) {\n\t\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\n\t\t\t\t\t@if (!invalid && warn) {\n\t\t\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t\t\t@if (!isTemplate(warnText)) {\n\t\t\t\t\t\t\t\t{{ warnText }}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t@if (isTemplate(warnText)) {\n\t\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</div>\n\t\t}\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [\n\t\tNgClass,\n\t\tNgTemplateOutlet,\n\t\tIconDirective,\n\t\tTooltip\n\t]\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\";\nimport { TextareaLabelComponent } from \"./textarea-label.component\";\nimport { TextInputLabelComponent } from \"./text-input-label.component\";\nimport { PasswordInputLabelComponent } from \"./password-input-label.component\";\nimport { NgTemplateOutlet, NgClass } from \"@angular/common\";\nimport { IconDirective } from \"carbon-components-angular/icon\";\n\n/**\n * Get started with importing the component:\n *\n * ```typescript\n * import { Label } 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\" />\n\t\t</ng-template>\n\n\t\t<ng-template #labelContentTemplate>\n\t\t\t<ng-content />\n\t\t</ng-template>\n\n\n\t\t@switch (type) {\n\t\t\t@case ('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}\n\t\t\t@case ('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}\n\t\t\t@case ('PasswordInput') {\n\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}\n\t\t\t@default {\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"default\" />\n\t\t\t}\n\t\t}\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\" />\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@if (invalid) {\n\t\t\t\t\t<svg\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} @else if (warn) {\n\t\t\t\t\t<svg\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}\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"inputContentTemplate\" />\n\t\t\t</div>\n\t\t\t@if (invalid) {\n\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t@if (isTemplate(invalidText)) {\n\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"invalidText\" />\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t{{invalidText}}\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t} @else if (warn) {\n\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t@if (isTemplate(warnText)) {\n\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"warnText\" />\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t{{warnText}}\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t} @else if(helperText && !skeleton) {\n\t\t\t\t<div\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@if (isTemplate(helperText)) {\n\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"helperText\" />\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t{{helperText}}\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t}\n\t\t</ng-template>\n\t`,\n\timports: [\n\t\tNgTemplateOutlet,\n\t\tNgClass,\n\t\tTextareaLabelComponent,\n\t\tTextInputLabelComponent,\n\t\tPasswordInputLabelComponent,\n\t\tIconDirective\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@ContentChild(TextInput, { static: false }) textInput: TextInput;\n\n\t@ContentChild(PasswordInput, { static: false }) passwordInput: 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 { IconDirective } from \"carbon-components-angular/icon\";\nimport { PasswordInput } from \"./password.directive\";\nimport { PasswordInputLabelComponent } from \"./password-input-label.component\";\n\n\n\n@NgModule({\n\texports: [\n\t\tLabel,\n\t\tTextInputLabelComponent,\n\t\tTextInput,\n\t\tTextareaLabelComponent,\n\t\tTextArea,\n\t\tPasswordInputLabelComponent,\n\t\tPasswordInput\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tFormsModule,\n\t\tIconDirective,\n\t\tLabel,\n\t\tTextInput,\n\t\tTextArea,\n\t\tPasswordInput,\n\t\tTextareaLabelComponent,\n\t\tTextInputLabelComponent,\n\t\tPasswordInputLabelComponent\n\t]\n})\nexport class InputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"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 } 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\tstandalone: true\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 Carbon 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\tstandalone: true\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\tstandalone: true\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 Carbon 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\tChangeDetectionStrategy,\n\tSimpleChanges\n} from \"@angular/core\";\n\nimport { TextArea } from \"./text-area.directive\";\nimport { NgClass, NgTemplateOutlet } from \"@angular/common\";\nimport { IconDirective } from \"carbon-components-angular/icon\";\n\n/**\n * Get started with importing the component and directive:\n *\n * ```typescript\n * import { TextareaLabelComponent, TextArea, } 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@if (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}\n\t\t@if (!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@if (labelTemplate) {\n\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t\t}\n\t\t\t\t</label>\n\t\t\t\t@if (enableCounter && maxCount) {\n\t\t\t\t\t<span\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}\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@if (!fluid && invalid) {\n\t\t\t\t\t<svg\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-area__invalid-icon\">\n\t\t\t\t\t</svg>\n\t\t\t\t}\n\t\t\t\t@if (!fluid && !invalid && warn) {\n\t\t\t\t\t<svg\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-area__invalid-icon cds--text-area__invalid-icon--warning\">\n\t\t\t\t\t</svg>\n\t\t\t\t}\n\t\t\t\t@if (textAreaTemplate) {\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"textAreaTemplate\"></ng-template>\n\t\t\t\t} @else {\n\t\t\t\t\t<ng-content select=\"[cdsTextArea],[ibmTextArea],textarea\"></ng-content>\n\t\t\t\t}\n\t\t\t\t@if (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}\n\n\t\t\t\t@if (fluid) {\n\t\t\t\t\t<hr class=\"cds--text-area__divider\" />\n\t\t\t\t\t@if (invalid) {\n\t\t\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t\t\t@if (!isTemplate(invalidText)) {\n\t\t\t\t\t\t\t\t{{invalidText}}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t@if (isTemplate(invalidText)) {\n\t\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\tcdsIcon=\"warning--filled\"\n\t\t\t\t\t\t\t\tsize=\"16\"\n\t\t\t\t\t\t\t\tclass=\"cds--text-area__invalid-icon\">\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t\t@if (!invalid && warn) {\n\t\t\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t\t\t@if (!isTemplate(warnText)) {\n\t\t\t\t\t\t\t\t{{warnText}}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t@if (isTemplate(warnText)) {\n\t\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\tcdsIcon=\"warning--alt--filled\"\n\t\t\t\t\t\t\t\tsize=\"16\"\n\t\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\t</svg>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t@if (!fluid) {\n\t\t\t\t@if (helperText && !invalid && !warn) {\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"cds--form__helper-text\"\n\t\t\t\t\t\t[ngClass]=\"{'cds--form__helper-text--disabled': disabled}\">\n\t\t\t\t\t\t@if (!isTemplate(helperText)) {\n\t\t\t\t\t\t\t{{helperText}}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t@if (isTemplate(helperText)) {\n\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"helperText\"></ng-template>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t@if (invalid) {\n\t\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t\t@if (!isTemplate(invalidText)) {\n\t\t\t\t\t\t\t{{invalidText}}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t@if (isTemplate(invalidText)) {\n\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t@if (!invalid && warn) {\n\t\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t\t@if (!isTemplate(warnText)) {\n\t\t\t\t\t\t\t{{warnText}}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t@if (isTemplate(warnText)) {\n\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [NgClass, NgTemplateOutlet, IconDirective]\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\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tHostBinding,\n\tInput,\n\tOnChanges,\n\tOnDestroy,\n\tSimpleChanges,\n\tTemplateRef,\n\tViewChild\n} from \"@angular/core\";\nimport { NgClass, NgTemplateOutlet } from \"@angular/common\";\nimport { IconDirective } from \"carbon-components-angular/icon\";\n\n/**\n * Get started with importing the component and directive:\n *\n * ```typescript\n * import { TextInput, TextInputLabelComponent, } 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@if (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}\n\t\t@if (!skeleton) {\n\t\t\t<!-- non-inline: label-wrapper above field; inline: label+validation side-by-side -->\n\t\t\t@if (!inline) {\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@if (labelTemplate) {\n\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t\t\t}\n\t\t\t\t\t</label>\n\t\t\t\t\t@if (enableCounter && maxCount) {\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclass=\"cds--label\"\n\t\t\t\t\t\t\t[ngClass]=\"{'cds--label--disabled': disabled}\"\n\t\t\t\t\t\t\taria-hidden=\"true\">\n\t\t\t\t\t\t\t{{textCount}}/{{maxCount}}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t} @else {\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@if (labelTemplate) {\n\t\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t@if (!fluid) {\n\t\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"validationOrHelper\"></ng-container>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t}\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\t<div\n\t\t\t\t\tclass=\"cds--text-input__field-wrapper\"\n\t\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t\t'cds--text-input__field-wrapper--warning': warn,\n\t\t\t\t\t\t'cds--text-input__field-wrapper--decorator': !!decorator\n\t\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@if (invalid && !warn) {\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-input__invalid-icon\">\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t}\n\t\t\t\t\t@if (!invalid && warn) {\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-input__invalid-icon cds--text-input__invalid-icon--warning\">\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t}\n\t\t\t\t\t@if (textInputTemplate) {\n\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"textInputTemplate\"></ng-template>\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t<ng-content select=\"[cdsText],[ibmText],input[type=text],div\"></ng-content>\n\t\t\t\t\t}\n\t\t\t\t\t@if (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}\n\t\t\t\t\t@if (fluid) {\n\t\t\t\t\t\t<hr class=\"cds--text-input__divider\" />\n\t\t\t\t\t\t@if (invalid) {\n\t\t\t\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t\t\t\t@if (!isTemplate(invalidText)) {\n\t\t\t\t\t\t\t\t\t{{invalidText}}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t@if (isTemplate(invalidText)) {\n\t\t\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\t\t\t\t\t\t@if (!invalid && warn) {\n\t\t\t\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t\t\t\t@if (!isTemplate(warnText)) {\n\t\t\t\t\t\t\t\t\t{{warnText}}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t@if (isTemplate(warnText)) {\n\t\t\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t\t@if (!fluid && !inline) {\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"validationOrHelper\"></ng-container>\n\t\t\t\t}\n\t\t\t</div>\n\t\t}\n\t\t<ng-template #validationOrHelper>\n\t\t\t@if (helperText && !invalid && !warn) {\n\t\t\t\t<div\n\t\t\t\t\tclass=\"cds--form__helper-text\"\n\t\t\t\t\t[ngClass]=\"{'cds--form__helper-text--disabled': disabled, 'cds--form__helper-text--inline': inline}\">\n\t\t\t\t\t@if (!isTemplate(helperText)) {\n\t\t\t\t\t\t{{helperText}}\n\t\t\t\t\t}\n\t\t\t\t\t@if (isTemplate(helperText)) {\n\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"helperText\"></ng-template>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t@if (invalid) {\n\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t@if (!isTemplate(invalidText)) {\n\t\t\t\t\t\t{{invalidText}}\n\t\t\t\t\t}\n\t\t\t\t\t@if (isTemplate(invalidText)) {\n\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t@if (!invalid && warn) {\n\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t@if (!isTemplate(warnText)) {\n\t\t\t\t\t\t{{warnText}}\n\t\t\t\t\t}\n\t\t\t\t\t@if (isTemplate(warnText)) {\n\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t}\n\t\t</ng-template>\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [NgClass, NgTemplateOutlet, IconDirective]\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\tChangeDetectionStrategy\n} from \"@angular/core\";\nimport { PasswordInput } from \"./password.directive\";\nimport { BaseIconButton } from \"carbon-components-angular/button\";\nimport { NgClass, NgTemplateOutlet } from \"@angular/common\";\nimport { IconDirective } from \"carbon-components-angular/icon\";\nimport { Tooltip } from \"carbon-components-angular/tooltip\";\n\n/**\n * Get started with importing the component and directive:\n *\n * ```typescript\n * import { PasswordInputLabelComponent, PasswordInput } 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@if (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}\n\t\t@if (!skeleton) {\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--visually-hidden': hideLabel,\n\t\t\t\t\t'cds--label--inline': inline\n\t\t\t\t}\">\n\t\t\t\t@if (labelTemplate) {\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n\t\t\t\t} @else {\n\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t}\n\t\t\t</label>\n\t\t}\n\n\t\t@if (!skeleton) {\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\t<div\n\t\t\t\t\tclass=\"cds--text-input__field-wrapper\"\n\t\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t\t'cds--text-input__field-wrapper--warning': warn\n\t\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@if (!warn && invalid) {\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-input__invalid-icon\">\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t}\n\t\t\t\t\t@if (!invalid && warn) {\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-input__invalid-icon cds--text-input__invalid-icon--warning\">\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t}\n\t\t\t\t\t<ng-content select=\"[cdsPassword], [ibmPassword]\"></ng-content>\n\t\t\t\t\t@if (!skeleton) {\n\t\t\t\t\t\t<cds-tooltip\n\t\t\t\t\t\t\t[description]=\"passwordIsVisible ? hidePasswordLabel : showPasswordLabel\"\n\t\t\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\t\t\t[caret]=\"caret\"\n\t\t\t\t\t\t\t[dropShadow]=\"dropShadow\"\n\t\t\t\t\t\t\t[highContrast]=\"highContrast\"\n\t\t\t\t\t\t\t[isOpen]=\"isOpen\"\n\t\t\t\t\t\t\t[align]=\"align\"\n\t\t\t\t\t\t\t[autoAlign]=\"autoAlign\"\n\t\t\t\t\t\t\t[enterDelayMs]=\"enterDelayMs\"\n\t\t\t\t\t\t\t[leaveDelayMs]=\"leaveDelayMs\"\n\t\t\t\t\t\t\tclass=\"cds--toggle-password-tooltip\">\n\t\t\t\t\t\t\t<div class=\"cds--tooltip-trigger__wrapper\">\n\t\t\t\t\t\t\t\t<button\n\t\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\t[disabled]=\"disabled\"\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t(click)=\"handleTogglePasswordVisibility($event)\">\n\t\t\t\t\t\t\t\t\t@if (passwordIsVisible) {\n\t\t\t\t\t\t\t\t\t\t<svg cdsIcon=\"view--off\" class=\"cds--icon-visibility-off\" size=\"16\"></svg>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t@if (!passwordIsVisible) {\n\t\t\t\t\t\t\t\t\t\t<svg cdsIcon=\"view\" class=\"cds--icon-visibility-on\" size=\"16\"></svg>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t</cds-tooltip>\n\t\t\t\t}\n\n\t\t\t\t\t@if (fluid) {\n\t\t\t\t\t\t<hr class=\"cds--text-input__divider\" />\n\t\t\t\t\t\t@if (!warn && invalid) {\n\t\t\t\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t\t\t\t@if (!isTemplate(invalidText)) {\n\t\t\t\t\t\t\t\t\t{{ invalidText }}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t@if (isTemplate(invalidText)) {\n\t\t\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\t\t\t\t\t\t@if (!invalid && warn) {\n\t\t\t\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t\t\t\t@if (!isTemplate(warnText)) {\n\t\t\t\t\t\t\t\t\t{{ warnText }}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t@if (isTemplate(warnText)) {\n\t\t\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t\t@if (!fluid) {\n\t\t\t\t\t@if (!skeleton && helperText && !invalid && !warn) {\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass=\"cds--form__helper-text\"\n\t\t\t\t\t\t\t[ngClass]=\"{ 'cds--form__helper-text--disabled': disabled }\">\n\t\t\t\t\t\t\t@if (!isTemplate(helperText)) {\n\t\t\t\t\t\t\t\t{{ helperText }}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t@if (isTemplate(helperText)) {\n\t\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"helperText\"></ng-template>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\n\t\t\t\t\t@if (!warn && invalid) {\n\t\t\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t\t\t@if (!isTemplate(invalidText)) {\n\t\t\t\t\t\t\t\t{{ invalidText }}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t@if (isTemplate(invalidText)) {\n\t\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\n\t\t\t\t\t@if (!invalid && warn) {\n\t\t\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t\t\t@if (!isTemplate(warnText)) {\n\t\t\t\t\t\t\t\t{{ warnText }}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t@if (isTemplate(warnText)) {\n\t\t\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</div>\n\t\t}\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [\n\t\tNgClass,\n\t\tNgTemplateOutlet,\n\t\tIconDirective,\n\t\tTooltip\n\t]\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\";\nimport { TextareaLabelComponent } from \"./textarea-label.component\";\nimport { TextInputLabelComponent } from \"./text-input-label.component\";\nimport { PasswordInputLabelComponent } from \"./password-input-label.component\";\nimport { NgTemplateOutlet, NgClass } from \"@angular/common\";\nimport { IconDirective } from \"carbon-components-angular/icon\";\n\n/**\n * Get started with importing the component:\n *\n * ```typescript\n * import { Label } 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\" />\n\t\t</ng-template>\n\n\t\t<ng-template #labelContentTemplate>\n\t\t\t<ng-content />\n\t\t</ng-template>\n\n\n\t\t@switch (type) {\n\t\t\t@case ('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}\n\t\t\t@case ('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}\n\t\t\t@case ('PasswordInput') {\n\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}\n\t\t\t@default {\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"default\" />\n\t\t\t}\n\t\t}\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\" />\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@if (invalid) {\n\t\t\t\t\t<svg\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} @else if (warn) {\n\t\t\t\t\t<svg\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}\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"inputContentTemplate\" />\n\t\t\t</div>\n\t\t\t@if (invalid) {\n\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t@if (isTemplate(invalidText)) {\n\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"invalidText\" />\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t{{invalidText}}\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t} @else if (warn) {\n\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t@if (isTemplate(warnText)) {\n\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"warnText\" />\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t{{warnText}}\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t} @else if(helperText && !skeleton) {\n\t\t\t\t<div\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@if (isTemplate(helperText)) {\n\t\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"helperText\" />\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t{{helperText}}\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t}\n\t\t</ng-template>\n\t`,\n\timports: [\n\t\tNgTemplateOutlet,\n\t\tNgClass,\n\t\tTextareaLabelComponent,\n\t\tTextInputLabelComponent,\n\t\tPasswordInputLabelComponent,\n\t\tIconDirective\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@ContentChild(TextInput, { static: false }) textInput: TextInput;\n\n\t@ContentChild(PasswordInput, { static: false }) passwordInput: 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 { IconDirective } from \"carbon-components-angular/icon\";\nimport { PasswordInput } from \"./password.directive\";\nimport { PasswordInputLabelComponent } from \"./password-input-label.component\";\n\n\n\n@NgModule({\n\texports: [\n\t\tLabel,\n\t\tTextInputLabelComponent,\n\t\tTextInput,\n\t\tTextareaLabelComponent,\n\t\tTextArea,\n\t\tPasswordInputLabelComponent,\n\t\tPasswordInput\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tFormsModule,\n\t\tIconDirective,\n\t\tLabel,\n\t\tTextInput,\n\t\tTextArea,\n\t\tPasswordInput,\n\t\tTextareaLabelComponent,\n\t\tTextInputLabelComponent,\n\t\tPasswordInputLabelComponent\n\t]\n})\nexport class InputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -193,7 +193,7 @@ class MenuButtonComponent {
193
193
  'cds--menu-top-start': this.menuAlignment === 'top-start',
194
194
  'cds--menu-top-end': this.menuAlignment === 'top-end'
195
195
  }">
196
- <ng-content select="cds-menu-item, cds-menu-divider"></ng-content>
196
+ <ng-content select="cds-menu-item, cds-menu-divider" />
197
197
  </cds-menu>
198
198
  </ng-template>
199
199
  `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: ContextMenuComponent, selector: "cds-menu, cds-context-menu, ibm-context-menu", inputs: ["open", "position", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
@@ -237,7 +237,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
237
237
  'cds--menu-top-start': this.menuAlignment === 'top-start',
238
238
  'cds--menu-top-end': this.menuAlignment === 'top-end'
239
239
  }">
240
- <ng-content select="cds-menu-item, cds-menu-divider"></ng-content>
240
+ <ng-content select="cds-menu-item, cds-menu-divider" />
241
241
  </cds-menu>
242
242
  </ng-template>
243
243
  `,
@@ -1 +1 @@
1
- {"version":3,"file":"carbon-components-angular-menu-button.mjs","sources":["../../src/menu-button/menu-button.component.ts","../../src/menu-button/menu-button.module.ts","../../src/menu-button/carbon-components-angular-menu-button.ts"],"sourcesContent":["import {\n\tAfterViewInit,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tContentChildren,\n\tElementRef,\n\tforwardRef,\n\tHostBinding,\n\tInput,\n\tNgZone,\n\tOnChanges,\n\tOnDestroy,\n\tQueryList,\n\tRenderer2,\n\tSimpleChanges,\n\tTemplateRef,\n\tViewChild,\n\tViewContainerRef\n} from \"@angular/core\";\n\nimport {\n\tautoUpdate,\n\tcomputePosition,\n\tflip\n} from \"@floating-ui/dom\";\nimport { ContextMenuItemComponent, ItemClickEvent } from \"carbon-components-angular/context-menu\";\nimport { Subscription } from \"rxjs\";\nimport { NgClass } from \"@angular/common\";\nimport { Button } from \"carbon-components-angular/button\";\nimport { IconDirective } from \"carbon-components-angular/icon\";\nimport { ContextMenuComponent } from \"carbon-components-angular/context-menu\";\n\ntype MenuButtonPlacement = \"top\" | \"top-start\" | \"top-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\";\n\n\n/**\n *\n * Get started with importing the components:\n *\n * ```typescript\n * import { MenuButtonComponent, ContextMenuItemComponent } from 'carbon-components-angular';\n * ```\n *\n * [See demo](../../?path=/story/components-menu-button--basic)\n */\n@Component({\n\tselector: \"cds-menu-button\",\n\ttemplate: `\n\t\t<button\n\t\t\t#reference\n\t\t\tclass=\"cds--menu-button__trigger\"\n\t\t\t[ngClass]=\"{'cds--menu-button__trigger--open': open}\"\n\t\t\t[cdsButton]=\"kind\"\n\t\t\t[size]=\"size\"\n\t\t\t[attr.tabindex]=\"buttonTabIndex\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\ttype=\"button\"\n\t\t\t[attr.aria-haspopup]=\"true\"\n\t\t\t[attr.aria-expanded]=\"open\"\n\t\t\t[attr.aria-controls]=\"open ? menuId : undefined\"\n\t\t\t(click)=\"toggleMenu()\">\n\t\t\t{{label}}\n\t\t\t<svg\n\t\t\t\tcdsIcon=\"chevron--down\"\n\t\t\t\tsize=\"16\"\n\t\t\t\tclass=\"cds--btn__icon\">\n\t\t\t</svg>\n\t\t</button>\n\t\t<ng-template #menuTemplate>\n\t\t\t<cds-menu\n\t\t\t\tmode=\"basic\"\n\t\t\t\t[size]=\"size\"\n\t\t\t\t[open]=\"open\"\n\t\t\t\t[attr.id]=\"menuId\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'cds--menu-button__bottom': this.menuAlignment === 'bottom',\n\t\t\t\t\t'cds--menu-button__bottom-start': this.menuAlignment === 'bottom-start',\n\t\t\t\t\t'cds--menu-button__bottom-end': this.menuAlignment === 'bottom-end',\n\t\t\t\t\t'cds--menu-top': this.menuAlignment === 'top',\n\t\t\t\t\t'cds--menu-top-start': this.menuAlignment === 'top-start',\n\t\t\t\t\t'cds--menu-top-end': this.menuAlignment === 'top-end'\n\t\t\t\t}\">\n\t\t\t\t<ng-content select=\"cds-menu-item, cds-menu-divider\"></ng-content>\n\t\t\t</cds-menu>\n\t\t</ng-template>\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [\n\t\tNgClass,\n\t\tButton,\n\t\tIconDirective,\n\t\tContextMenuComponent\n\t]\n})\nexport class MenuButtonComponent implements OnChanges, AfterViewInit, OnDestroy {\n\tstatic menuButtonCounter = 0;\n\t@Input() menuId = `menu-button-${MenuButtonComponent.menuButtonCounter++}`;\n\n\t// Listen for click & determine if menu should close\n\t@ContentChildren(ContextMenuItemComponent) set projectedMenuItems(itemList: QueryList<ContextMenuItemComponent>) {\n\t\t// Reset in case user dynamically updates menu item\n\t\tthis.subscriptions.forEach((sub) => sub?.unsubscribe());\n\t\tthis.subscriptions = [];\n\t\titemList.forEach((item) => {\n\t\t\tthis.subscriptions.push(\n\t\t\t\titem.itemClick.subscribe((clickEvent) => this.handleMenuItemClick(clickEvent))\n\t\t\t);\n\t\t});\n\t}\n\n\t@HostBinding(\"class.cds--menu-button__container\") containerClass = true;\n\n\t@Input() kind: \"primary\" | \"tertiary\" | \"ghost\" = \"primary\";\n\t@Input() size: \"xs\" | \"sm\" | \"md\" | \"lg\" = \"lg\";\n\t@Input() menuAlignment: MenuButtonPlacement = \"bottom\";\n\t@Input() buttonTabIndex: \"0\" | \"1\" | \"-1\" | string = \"0\";\n\t@Input() disabled = false;\n\t@Input() open = false;\n\t@Input() label: string;\n\n\t@ViewChild(\"reference\", { static: true }) referenceElement: ElementRef<HTMLButtonElement>;\n\t@ViewChild(\"menuTemplate\") menuTemplate: TemplateRef<any>;\n\n\tprotected documentClick = this.handleFocusOut.bind(this);\n\tprotected unmountFloatingElement: Function;\n\n\tprivate subscriptions: Subscription[] = [];\n\tprivate _alignment: MenuButtonPlacement = \"bottom\";\n\tprivate menuRef: HTMLElement;\n\n\tconstructor(\n\t\tprotected ngZone: NgZone,\n\t\tprotected renderer: Renderer2,\n\t\tprotected hostElement: ElementRef,\n\t\tprotected viewContainerRef: ViewContainerRef,\n\t\tprotected changeDetectorRef: ChangeDetectorRef\n\t) {}\n\n\n\t/**\n\t * In case user updates alignment, store initial value.\n\t * This allows us to test user passed alignment on each open\n\t */\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tif (changes.menuAlignment) {\n\t\t\tthis._alignment = changes.menuAlignment.currentValue;\n\t\t}\n\t}\n\n\n\n\t/**\n\t * If user has passed in true for open, we dynamically open the menu\n\t */\n\tngAfterViewInit(): void {\n\t\tif (this.open) {\n\t\t\tthis.open = !this.open;\n\t\t\tthis.toggleMenu();\n\t\t}\n\t}\n\n\n\n\t/**\n\t* Clean up Floating-ui & subscriptions\n\t*/\n\tngOnDestroy(): void {\n\t\tthis.cleanUp();\n\t\tthis.subscriptions.forEach((sub) => sub.unsubscribe());\n\t}\n\n\n\t/**\n\t * As of now, menu button does not support nexted menu, on button click it should close\n\t */\n\thandleMenuItemClick(event: ItemClickEvent) {\n\t\t// If event is not type radio/checkbox, we close the menu\n\t\tif (!event.type) {\n\t\t\tthis.toggleMenu();\n\t\t}\n\t}\n\n\n\n\t/**\n\t * On body click, close the menu\n\t * @param event\n\t */\n\thandleFocusOut(event) {\n\t\tif (!this.hostElement.nativeElement.contains(event.target)) {\n\t\t\tthis.toggleMenu();\n\t\t}\n\t}\n\n\n\n\t/**\n\t * Clean up `autoUpdate` if auto alignment is enabled\n\t */\n\tcleanUp() {\n\t\tdocument.removeEventListener(\"click\", this.documentClick);\n\t\tif (this.unmountFloatingElement) {\n\t\t\tthis.menuRef.remove();\n\t\t\tthis.viewContainerRef.clear();\n\t\t\tthis.unmountFloatingElement();\n\t\t}\n\t\tthis.unmountFloatingElement = undefined;\n\t\t// On all instances of menu closing, make sure icon direction is correct\n\t\tthis.changeDetectorRef.markForCheck();\n\t}\n\n\n\n\t/**\n\t * Handles emitting open/close event\n\t */\n\ttoggleMenu() {\n\t\tthis.open = !this.open;\n\t\tif (this.open) {\n\t\t\t// Render the template & append to view\n\t\t\tconst view = this.viewContainerRef.createEmbeddedView(this.menuTemplate);\n\t\t\tthis.menuRef = document.body.appendChild(view.rootNodes[0] as HTMLElement);\n\t\t\t// Assign button width to the menu ref to align with button\n\t\t\tObject.assign(this.menuRef.style, {\n\t\t\t\twidth: `${this.referenceElement.nativeElement.clientWidth}px`,\n\t\t\t\ttop: \"0\",\n\t\t\t\tleft: \"0\"\n\t\t\t});\n\n\t\t\t// Reset & test alignment every open\n\t\t\tthis.menuAlignment = this._alignment;\n\n\t\t\tdocument.addEventListener(\"click\", this.documentClick);\n\n\t\t\t// Listen for events such as scrolling to keep menu aligned\n\t\t\tthis.unmountFloatingElement = autoUpdate(\n\t\t\t\tthis.referenceElement.nativeElement,\n\t\t\t\tthis.menuRef,\n\t\t\t\tthis.recomputePosition.bind(this)\n\t\t\t);\n\t\t} else {\n\t\t\tthis.cleanUp();\n\t\t}\n\t}\n\n\n\n\troundByDPR(value) {\n\t\tconst dpr = window.devicePixelRatio || 1;\n\t\treturn Math.round(value * dpr) / dpr;\n\t}\n\n\n\n\t/**\n\t * Compute position of menu\n\t */\n\trecomputePosition() {\n\t\tif (this.menuTemplate && this.referenceElement) {\n\t\t\t// Run outside of angular zone to avoid unnecessary change detection and rely on floating-ui\n\t\t\tthis.ngZone.runOutsideAngular(async () => {\n\t\t\t\tconst { x, y, placement } = await computePosition(\n\t\t\t\t\tthis.referenceElement.nativeElement,\n\t\t\t\t\tthis.menuRef,\n\t\t\t\t\t{\n\t\t\t\t\t\tplacement: this.menuAlignment,\n\t\t\t\t\t\tstrategy: \"fixed\",\n\t\t\t\t\t\tmiddleware: [\n\t\t\t\t\t\t\tflip({ crossAxis: false })\n\t\t\t\t\t\t]\n\t\t\t\t\t});\n\n\t\t\t\tthis.menuAlignment = placement as MenuButtonPlacement;\n\n\t\t\t\t// Using CSSOM to manipulate CSS to avoid content security policy inline-src\n\t\t\t\t// https://github.com/w3c/webappsec-csp/issues/212\n\t\t\t\tObject.assign(this.menuRef.style, {\n\t\t\t\t\tposition: \"fixed\",\n\t\t\t\t\t// Using transform instead of top/left position to improve performance\n\t\t\t\t\ttransform: `translate(${this.roundByDPR(x)}px,${this.roundByDPR(y)}px)`\n\t\t\t\t});\n\t\t\t\tthis.changeDetectorRef.markForCheck();\n\t\t\t});\n\t\t}\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\n\nimport { IconDirective } from \"carbon-components-angular/icon\";\nimport { ContextMenuModule } from \"carbon-components-angular/context-menu\";\n\nimport { MenuButtonComponent } from \"./menu-button.component\";\n\n@NgModule({\n\timports: [\n\t\tCommonModule,\n\t\tIconDirective,\n\t\tContextMenuModule,\n\t\tMenuButtonComponent\n\t],\n\texports: [MenuButtonComponent],\n\tproviders: []\n})\nexport class MenuButton {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"carbon-components-angular-menu-button.mjs","sources":["../../src/menu-button/menu-button.component.ts","../../src/menu-button/menu-button.module.ts","../../src/menu-button/carbon-components-angular-menu-button.ts"],"sourcesContent":["import {\n\tAfterViewInit,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tContentChildren,\n\tElementRef,\n\tforwardRef,\n\tHostBinding,\n\tInput,\n\tNgZone,\n\tOnChanges,\n\tOnDestroy,\n\tQueryList,\n\tRenderer2,\n\tSimpleChanges,\n\tTemplateRef,\n\tViewChild,\n\tViewContainerRef\n} from \"@angular/core\";\n\nimport {\n\tautoUpdate,\n\tcomputePosition,\n\tflip\n} from \"@floating-ui/dom\";\nimport { ContextMenuItemComponent, ItemClickEvent } from \"carbon-components-angular/context-menu\";\nimport { Subscription } from \"rxjs\";\nimport { NgClass } from \"@angular/common\";\nimport { Button } from \"carbon-components-angular/button\";\nimport { IconDirective } from \"carbon-components-angular/icon\";\nimport { ContextMenuComponent } from \"carbon-components-angular/context-menu\";\n\ntype MenuButtonPlacement = \"top\" | \"top-start\" | \"top-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\";\n\n\n/**\n *\n * Get started with importing the components:\n *\n * ```typescript\n * import { MenuButtonComponent, ContextMenuItemComponent } from 'carbon-components-angular';\n * ```\n *\n * [See demo](../../?path=/story/components-menu-button--basic)\n */\n@Component({\n\tselector: \"cds-menu-button\",\n\ttemplate: `\n\t\t<button\n\t\t\t#reference\n\t\t\tclass=\"cds--menu-button__trigger\"\n\t\t\t[ngClass]=\"{'cds--menu-button__trigger--open': open}\"\n\t\t\t[cdsButton]=\"kind\"\n\t\t\t[size]=\"size\"\n\t\t\t[attr.tabindex]=\"buttonTabIndex\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\ttype=\"button\"\n\t\t\t[attr.aria-haspopup]=\"true\"\n\t\t\t[attr.aria-expanded]=\"open\"\n\t\t\t[attr.aria-controls]=\"open ? menuId : undefined\"\n\t\t\t(click)=\"toggleMenu()\">\n\t\t\t{{label}}\n\t\t\t<svg\n\t\t\t\tcdsIcon=\"chevron--down\"\n\t\t\t\tsize=\"16\"\n\t\t\t\tclass=\"cds--btn__icon\">\n\t\t\t</svg>\n\t\t</button>\n\t\t<ng-template #menuTemplate>\n\t\t\t<cds-menu\n\t\t\t\tmode=\"basic\"\n\t\t\t\t[size]=\"size\"\n\t\t\t\t[open]=\"open\"\n\t\t\t\t[attr.id]=\"menuId\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'cds--menu-button__bottom': this.menuAlignment === 'bottom',\n\t\t\t\t\t'cds--menu-button__bottom-start': this.menuAlignment === 'bottom-start',\n\t\t\t\t\t'cds--menu-button__bottom-end': this.menuAlignment === 'bottom-end',\n\t\t\t\t\t'cds--menu-top': this.menuAlignment === 'top',\n\t\t\t\t\t'cds--menu-top-start': this.menuAlignment === 'top-start',\n\t\t\t\t\t'cds--menu-top-end': this.menuAlignment === 'top-end'\n\t\t\t\t}\">\n\t\t\t\t<ng-content select=\"cds-menu-item, cds-menu-divider\" />\n\t\t\t</cds-menu>\n\t\t</ng-template>\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [\n\t\tNgClass,\n\t\tButton,\n\t\tIconDirective,\n\t\tContextMenuComponent\n\t]\n})\nexport class MenuButtonComponent implements OnChanges, AfterViewInit, OnDestroy {\n\tstatic menuButtonCounter = 0;\n\t@Input() menuId = `menu-button-${MenuButtonComponent.menuButtonCounter++}`;\n\n\t// Listen for click & determine if menu should close\n\t@ContentChildren(ContextMenuItemComponent) set projectedMenuItems(itemList: QueryList<ContextMenuItemComponent>) {\n\t\t// Reset in case user dynamically updates menu item\n\t\tthis.subscriptions.forEach((sub) => sub?.unsubscribe());\n\t\tthis.subscriptions = [];\n\t\titemList.forEach((item) => {\n\t\t\tthis.subscriptions.push(\n\t\t\t\titem.itemClick.subscribe((clickEvent) => this.handleMenuItemClick(clickEvent))\n\t\t\t);\n\t\t});\n\t}\n\n\t@HostBinding(\"class.cds--menu-button__container\") containerClass = true;\n\n\t@Input() kind: \"primary\" | \"tertiary\" | \"ghost\" = \"primary\";\n\t@Input() size: \"xs\" | \"sm\" | \"md\" | \"lg\" = \"lg\";\n\t@Input() menuAlignment: MenuButtonPlacement = \"bottom\";\n\t@Input() buttonTabIndex: \"0\" | \"1\" | \"-1\" | string = \"0\";\n\t@Input() disabled = false;\n\t@Input() open = false;\n\t@Input() label: string;\n\n\t@ViewChild(\"reference\", { static: true }) referenceElement: ElementRef<HTMLButtonElement>;\n\t@ViewChild(\"menuTemplate\") menuTemplate: TemplateRef<any>;\n\n\tprotected documentClick = this.handleFocusOut.bind(this);\n\tprotected unmountFloatingElement: Function;\n\n\tprivate subscriptions: Subscription[] = [];\n\tprivate _alignment: MenuButtonPlacement = \"bottom\";\n\tprivate menuRef: HTMLElement;\n\n\tconstructor(\n\t\tprotected ngZone: NgZone,\n\t\tprotected renderer: Renderer2,\n\t\tprotected hostElement: ElementRef,\n\t\tprotected viewContainerRef: ViewContainerRef,\n\t\tprotected changeDetectorRef: ChangeDetectorRef\n\t) {}\n\n\n\t/**\n\t * In case user updates alignment, store initial value.\n\t * This allows us to test user passed alignment on each open\n\t */\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tif (changes.menuAlignment) {\n\t\t\tthis._alignment = changes.menuAlignment.currentValue;\n\t\t}\n\t}\n\n\n\n\t/**\n\t * If user has passed in true for open, we dynamically open the menu\n\t */\n\tngAfterViewInit(): void {\n\t\tif (this.open) {\n\t\t\tthis.open = !this.open;\n\t\t\tthis.toggleMenu();\n\t\t}\n\t}\n\n\n\n\t/**\n\t* Clean up Floating-ui & subscriptions\n\t*/\n\tngOnDestroy(): void {\n\t\tthis.cleanUp();\n\t\tthis.subscriptions.forEach((sub) => sub.unsubscribe());\n\t}\n\n\n\t/**\n\t * As of now, menu button does not support nexted menu, on button click it should close\n\t */\n\thandleMenuItemClick(event: ItemClickEvent) {\n\t\t// If event is not type radio/checkbox, we close the menu\n\t\tif (!event.type) {\n\t\t\tthis.toggleMenu();\n\t\t}\n\t}\n\n\n\n\t/**\n\t * On body click, close the menu\n\t * @param event\n\t */\n\thandleFocusOut(event) {\n\t\tif (!this.hostElement.nativeElement.contains(event.target)) {\n\t\t\tthis.toggleMenu();\n\t\t}\n\t}\n\n\n\n\t/**\n\t * Clean up `autoUpdate` if auto alignment is enabled\n\t */\n\tcleanUp() {\n\t\tdocument.removeEventListener(\"click\", this.documentClick);\n\t\tif (this.unmountFloatingElement) {\n\t\t\tthis.menuRef.remove();\n\t\t\tthis.viewContainerRef.clear();\n\t\t\tthis.unmountFloatingElement();\n\t\t}\n\t\tthis.unmountFloatingElement = undefined;\n\t\t// On all instances of menu closing, make sure icon direction is correct\n\t\tthis.changeDetectorRef.markForCheck();\n\t}\n\n\n\n\t/**\n\t * Handles emitting open/close event\n\t */\n\ttoggleMenu() {\n\t\tthis.open = !this.open;\n\t\tif (this.open) {\n\t\t\t// Render the template & append to view\n\t\t\tconst view = this.viewContainerRef.createEmbeddedView(this.menuTemplate);\n\t\t\tthis.menuRef = document.body.appendChild(view.rootNodes[0] as HTMLElement);\n\t\t\t// Assign button width to the menu ref to align with button\n\t\t\tObject.assign(this.menuRef.style, {\n\t\t\t\twidth: `${this.referenceElement.nativeElement.clientWidth}px`,\n\t\t\t\ttop: \"0\",\n\t\t\t\tleft: \"0\"\n\t\t\t});\n\n\t\t\t// Reset & test alignment every open\n\t\t\tthis.menuAlignment = this._alignment;\n\n\t\t\tdocument.addEventListener(\"click\", this.documentClick);\n\n\t\t\t// Listen for events such as scrolling to keep menu aligned\n\t\t\tthis.unmountFloatingElement = autoUpdate(\n\t\t\t\tthis.referenceElement.nativeElement,\n\t\t\t\tthis.menuRef,\n\t\t\t\tthis.recomputePosition.bind(this)\n\t\t\t);\n\t\t} else {\n\t\t\tthis.cleanUp();\n\t\t}\n\t}\n\n\n\n\troundByDPR(value) {\n\t\tconst dpr = window.devicePixelRatio || 1;\n\t\treturn Math.round(value * dpr) / dpr;\n\t}\n\n\n\n\t/**\n\t * Compute position of menu\n\t */\n\trecomputePosition() {\n\t\tif (this.menuTemplate && this.referenceElement) {\n\t\t\t// Run outside of angular zone to avoid unnecessary change detection and rely on floating-ui\n\t\t\tthis.ngZone.runOutsideAngular(async () => {\n\t\t\t\tconst { x, y, placement } = await computePosition(\n\t\t\t\t\tthis.referenceElement.nativeElement,\n\t\t\t\t\tthis.menuRef,\n\t\t\t\t\t{\n\t\t\t\t\t\tplacement: this.menuAlignment,\n\t\t\t\t\t\tstrategy: \"fixed\",\n\t\t\t\t\t\tmiddleware: [\n\t\t\t\t\t\t\tflip({ crossAxis: false })\n\t\t\t\t\t\t]\n\t\t\t\t\t});\n\n\t\t\t\tthis.menuAlignment = placement as MenuButtonPlacement;\n\n\t\t\t\t// Using CSSOM to manipulate CSS to avoid content security policy inline-src\n\t\t\t\t// https://github.com/w3c/webappsec-csp/issues/212\n\t\t\t\tObject.assign(this.menuRef.style, {\n\t\t\t\t\tposition: \"fixed\",\n\t\t\t\t\t// Using transform instead of top/left position to improve performance\n\t\t\t\t\ttransform: `translate(${this.roundByDPR(x)}px,${this.roundByDPR(y)}px)`\n\t\t\t\t});\n\t\t\t\tthis.changeDetectorRef.markForCheck();\n\t\t\t});\n\t\t}\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\n\nimport { IconDirective } from \"carbon-components-angular/icon\";\nimport { ContextMenuModule } from \"carbon-components-angular/context-menu\";\n\nimport { MenuButtonComponent } from \"./menu-button.component\";\n\n@NgModule({\n\timports: [\n\t\tCommonModule,\n\t\tIconDirective,\n\t\tContextMenuModule,\n\t\tMenuButtonComponent\n\t],\n\texports: [MenuButtonComponent],\n\tproviders: []\n})\nexport class MenuButton {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -268,7 +268,7 @@ class ActionableNotification extends BaseNotification {
268
268
  </button>
269
269
  }
270
270
  }
271
- <ng-container *ngTemplateOutlet="notificationObj.actionsTemplate; context: { $implicit: notificationObj }"></ng-container>
271
+ <ng-container *ngTemplateOutlet="notificationObj.actionsTemplate; context: { $implicit: notificationObj }" />
272
272
  @if (!isCloseHidden) {
273
273
  <button
274
274
  (click)="onClose()"
@@ -327,7 +327,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
327
327
  </button>
328
328
  }
329
329
  }
330
- <ng-container *ngTemplateOutlet="notificationObj.actionsTemplate; context: { $implicit: notificationObj }"></ng-container>
330
+ <ng-container *ngTemplateOutlet="notificationObj.actionsTemplate; context: { $implicit: notificationObj }" />
331
331
  @if (!isCloseHidden) {
332
332
  <button
333
333
  (click)="onClose()"