carbon-components-angular 5.72.0 → 5.72.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/docs/documentation/components/TextInputLabelComponent.html +171 -65
  2. package/docs/documentation/components/TextareaLabelComponent.html +142 -74
  3. package/docs/documentation/coverage.html +12 -12
  4. package/docs/documentation/directives/TextArea.html +106 -11
  5. package/docs/documentation/directives/TextInput.html +118 -24
  6. package/docs/documentation/js/search/search_index.js +2 -2
  7. package/docs/documentation/modules/CheckboxModule/dependencies.svg +42 -42
  8. package/docs/documentation/modules/CheckboxModule.html +42 -42
  9. package/docs/documentation/modules/CodeSnippetModule/dependencies.svg +4 -4
  10. package/docs/documentation/modules/CodeSnippetModule.html +4 -4
  11. package/docs/documentation/modules/ComboBoxModule/dependencies.svg +6 -6
  12. package/docs/documentation/modules/ComboBoxModule.html +6 -6
  13. package/docs/documentation/modules/ContentSwitcherModule/dependencies.svg +4 -4
  14. package/docs/documentation/modules/ContentSwitcherModule.html +4 -4
  15. package/docs/documentation/modules/ContextMenuModule/dependencies.svg +67 -67
  16. package/docs/documentation/modules/ContextMenuModule.html +67 -67
  17. package/docs/documentation/modules/DatePickerInputModule/dependencies.svg +4 -4
  18. package/docs/documentation/modules/DatePickerInputModule.html +4 -4
  19. package/docs/documentation/modules/DatePickerModule/dependencies.svg +6 -6
  20. package/docs/documentation/modules/DatePickerModule.html +6 -6
  21. package/docs/documentation/modules/DialogModule/dependencies.svg +4 -4
  22. package/docs/documentation/modules/DialogModule.html +4 -4
  23. package/docs/documentation/modules/DropdownModule/dependencies.svg +53 -53
  24. package/docs/documentation/modules/DropdownModule.html +53 -53
  25. package/docs/documentation/modules/FileUploaderModule/dependencies.svg +58 -58
  26. package/docs/documentation/modules/FileUploaderModule.html +58 -58
  27. package/docs/documentation/modules/GridModule/dependencies.svg +29 -29
  28. package/docs/documentation/modules/GridModule.html +29 -29
  29. package/docs/documentation/modules/I18nModule/dependencies.svg +4 -4
  30. package/docs/documentation/modules/I18nModule.html +4 -4
  31. package/docs/documentation/modules/IconModule/dependencies.svg +4 -4
  32. package/docs/documentation/modules/IconModule.html +4 -4
  33. package/docs/documentation/modules/InputModule/dependencies.svg +76 -76
  34. package/docs/documentation/modules/InputModule.html +76 -76
  35. package/docs/documentation/modules/LayerModule/dependencies.svg +4 -4
  36. package/docs/documentation/modules/LayerModule.html +4 -4
  37. package/docs/documentation/modules/ListModule/dependencies.svg +4 -4
  38. package/docs/documentation/modules/ListModule.html +4 -4
  39. package/docs/documentation/modules/LoadingModule/dependencies.svg +4 -4
  40. package/docs/documentation/modules/LoadingModule.html +4 -4
  41. package/docs/documentation/modules/MenuButtonModule/dependencies.svg +29 -29
  42. package/docs/documentation/modules/MenuButtonModule.html +29 -29
  43. package/docs/documentation/modules/ModalModule/dependencies.svg +37 -37
  44. package/docs/documentation/modules/ModalModule.html +37 -37
  45. package/docs/documentation/modules/NumberModule/dependencies.svg +4 -4
  46. package/docs/documentation/modules/NumberModule.html +4 -4
  47. package/docs/documentation/modules/PaginationModule/dependencies.svg +56 -56
  48. package/docs/documentation/modules/PaginationModule.html +56 -56
  49. package/docs/documentation/modules/PanelModule/dependencies.svg +36 -36
  50. package/docs/documentation/modules/PanelModule.html +36 -36
  51. package/docs/documentation/modules/PopoverModule/dependencies.svg +4 -4
  52. package/docs/documentation/modules/PopoverModule.html +4 -4
  53. package/docs/documentation/modules/ProgressBarModule/dependencies.svg +4 -4
  54. package/docs/documentation/modules/ProgressBarModule.html +4 -4
  55. package/docs/documentation/modules/ProgressIndicatorModule/dependencies.svg +4 -4
  56. package/docs/documentation/modules/ProgressIndicatorModule.html +4 -4
  57. package/docs/documentation/modules/RadioModule/dependencies.svg +55 -59
  58. package/docs/documentation/modules/RadioModule.html +55 -59
  59. package/docs/documentation/modules/SelectModule/dependencies.svg +61 -61
  60. package/docs/documentation/modules/SelectModule.html +61 -61
  61. package/docs/documentation/modules/SideNavModule/dependencies.svg +41 -41
  62. package/docs/documentation/modules/SideNavModule.html +41 -41
  63. package/docs/documentation/modules/SkeletonModule/dependencies.svg +4 -4
  64. package/docs/documentation/modules/SkeletonModule.html +4 -4
  65. package/docs/documentation/modules/SliderModule/dependencies.svg +40 -36
  66. package/docs/documentation/modules/SliderModule.html +40 -36
  67. package/docs/documentation/modules/StructuredListModule/dependencies.svg +43 -43
  68. package/docs/documentation/modules/StructuredListModule.html +43 -43
  69. package/docs/documentation/modules/TableModule/dependencies.svg +225 -225
  70. package/docs/documentation/modules/TableModule.html +225 -225
  71. package/docs/documentation/modules/TabsModule/dependencies.svg +137 -137
  72. package/docs/documentation/modules/TabsModule.html +137 -137
  73. package/docs/documentation/modules/TagModule/dependencies.svg +38 -38
  74. package/docs/documentation/modules/TagModule.html +38 -38
  75. package/docs/documentation/modules/ThemeModule/dependencies.svg +13 -13
  76. package/docs/documentation/modules/ThemeModule.html +13 -13
  77. package/docs/documentation/modules/TilesModule/dependencies.svg +4 -4
  78. package/docs/documentation/modules/TilesModule.html +4 -4
  79. package/docs/documentation/modules/TimePickerModule/dependencies.svg +7 -7
  80. package/docs/documentation/modules/TimePickerModule.html +7 -7
  81. package/docs/documentation/modules/ToggleModule/dependencies.svg +18 -18
  82. package/docs/documentation/modules/ToggleModule.html +18 -18
  83. package/docs/documentation/modules/ToggletipModule/dependencies.svg +4 -4
  84. package/docs/documentation/modules/ToggletipModule.html +4 -4
  85. package/docs/documentation/modules/TooltipModule/dependencies.svg +4 -4
  86. package/docs/documentation/modules/TooltipModule.html +4 -4
  87. package/docs/documentation/modules/TreeviewModule/dependencies.svg +28 -28
  88. package/docs/documentation/modules/TreeviewModule.html +28 -28
  89. package/docs/documentation/modules/UIShellModule/dependencies.svg +4 -4
  90. package/docs/documentation/modules/UIShellModule.html +4 -4
  91. package/docs/documentation.json +249 -131
  92. package/docs/storybook/1345.da6e3dec.iframe.bundle.js +1 -0
  93. package/docs/storybook/7019.75ad5817.iframe.bundle.js +2 -0
  94. package/docs/storybook/iframe.html +2 -2
  95. package/docs/storybook/{input-input-stories.85a9e65e.iframe.bundle.js → input-input-stories.8bf34960.iframe.bundle.js} +1 -1
  96. package/docs/storybook/{input-textarea-stories.77240fb3.iframe.bundle.js → input-textarea-stories.ad775432.iframe.bundle.js} +1 -1
  97. package/docs/storybook/main.d2b9abb3.iframe.bundle.js +1 -0
  98. package/docs/storybook/project.json +1 -1
  99. package/docs/storybook/{runtime~main.e32f2dfb.iframe.bundle.js → runtime~main.86875b86.iframe.bundle.js} +1 -1
  100. package/esm2020/input/input.directive.mjs +11 -5
  101. package/esm2020/input/text-area.directive.mjs +11 -5
  102. package/esm2020/input/text-input-label.component.mjs +38 -15
  103. package/esm2020/input/textarea-label.component.mjs +46 -21
  104. package/fesm2015/carbon-components-angular-input.mjs +112 -46
  105. package/fesm2015/carbon-components-angular-input.mjs.map +1 -1
  106. package/fesm2020/carbon-components-angular-input.mjs +102 -45
  107. package/fesm2020/carbon-components-angular-input.mjs.map +1 -1
  108. package/input/input.directive.d.ts +4 -1
  109. package/input/text-area.directive.d.ts +4 -1
  110. package/input/text-input-label.component.d.ts +9 -5
  111. package/input/textarea-label.component.d.ts +5 -3
  112. package/package.json +1 -1
  113. package/docs/storybook/1345.9ccf4f3f.iframe.bundle.js +0 -1
  114. package/docs/storybook/7019.b8944046.iframe.bundle.js +0 -2
  115. package/docs/storybook/main.cdbf1814.iframe.bundle.js +0 -1
  116. /package/docs/storybook/{7019.b8944046.iframe.bundle.js.LICENSE.txt → 7019.75ad5817.iframe.bundle.js.LICENSE.txt} +0 -0
@@ -341,6 +341,10 @@
341
341
  <span class="modifier">Private</span>
342
342
  <a href="#_inputListener" >_inputListener</a>
343
343
  </li>
344
+ <li>
345
+ <span class="modifier">Private</span>
346
+ <a href="#_subscription" >_subscription</a>
347
+ </li>
344
348
  <li>
345
349
  <span class="modifier"></span>
346
350
  <a href="#labelClass" >labelClass</a>
@@ -352,6 +356,10 @@
352
356
  <li>
353
357
  <a href="#textCount" >textCount</a>
354
358
  </li>
359
+ <li>
360
+ <span class="modifier"></span>
361
+ <a href="#textInput" >textInput</a>
362
+ </li>
355
363
  <li>
356
364
  <span class="modifier"></span>
357
365
  <a href="#textInputWrapper" >textInputWrapper</a>
@@ -536,7 +544,7 @@
536
544
  </tr>
537
545
  <tr>
538
546
  <td class="col-md-4">
539
- <div class="io-line">Defined in <a href="" data-line="279" class="link-to-prism">src/input/text-input-label.component.ts:279</a></div>
547
+ <div class="io-line">Defined in <a href="" data-line="290" class="link-to-prism">src/input/text-input-label.component.ts:290</a></div>
540
548
  </td>
541
549
  </tr>
542
550
 
@@ -594,7 +602,7 @@
594
602
  </tr>
595
603
  <tr>
596
604
  <td class="col-md-2" colspan="2">
597
- <div class="io-line">Defined in <a href="" data-line="225" class="link-to-prism">src/input/text-input-label.component.ts:225</a></div>
605
+ <div class="io-line">Defined in <a href="" data-line="229" class="link-to-prism">src/input/text-input-label.component.ts:229</a></div>
598
606
  </td>
599
607
  </tr>
600
608
  <tr>
@@ -621,7 +629,7 @@
621
629
  </tr>
622
630
  <tr>
623
631
  <td class="col-md-2" colspan="2">
624
- <div class="io-line">Defined in <a href="" data-line="235" class="link-to-prism">src/input/text-input-label.component.ts:235</a></div>
632
+ <div class="io-line">Defined in <a href="" data-line="239" class="link-to-prism">src/input/text-input-label.component.ts:239</a></div>
625
633
  </td>
626
634
  </tr>
627
635
  <tr>
@@ -653,7 +661,7 @@
653
661
  </tr>
654
662
  <tr>
655
663
  <td class="col-md-2" colspan="2">
656
- <div class="io-line">Defined in <a href="" data-line="190" class="link-to-prism">src/input/text-input-label.component.ts:190</a></div>
664
+ <div class="io-line">Defined in <a href="" data-line="194" class="link-to-prism">src/input/text-input-label.component.ts:194</a></div>
657
665
  </td>
658
666
  </tr>
659
667
  <tr>
@@ -685,7 +693,7 @@
685
693
  </tr>
686
694
  <tr>
687
695
  <td class="col-md-2" colspan="2">
688
- <div class="io-line">Defined in <a href="" data-line="258" class="link-to-prism">src/input/text-input-label.component.ts:258</a></div>
696
+ <div class="io-line">Defined in <a href="" data-line="262" class="link-to-prism">src/input/text-input-label.component.ts:262</a></div>
689
697
  </td>
690
698
  </tr>
691
699
  <tr>
@@ -718,7 +726,7 @@ counter alongside the label.</p>
718
726
  </tr>
719
727
  <tr>
720
728
  <td class="col-md-2" colspan="2">
721
- <div class="io-line">Defined in <a href="" data-line="230" class="link-to-prism">src/input/text-input-label.component.ts:230</a></div>
729
+ <div class="io-line">Defined in <a href="" data-line="234" class="link-to-prism">src/input/text-input-label.component.ts:234</a></div>
722
730
  </td>
723
731
  </tr>
724
732
  <tr>
@@ -745,7 +753,7 @@ counter alongside the label.</p>
745
753
  </tr>
746
754
  <tr>
747
755
  <td class="col-md-2" colspan="2">
748
- <div class="io-line">Defined in <a href="" data-line="205" class="link-to-prism">src/input/text-input-label.component.ts:205</a></div>
756
+ <div class="io-line">Defined in <a href="" data-line="209" class="link-to-prism">src/input/text-input-label.component.ts:209</a></div>
749
757
  </td>
750
758
  </tr>
751
759
  <tr>
@@ -777,7 +785,7 @@ counter alongside the label.</p>
777
785
  </tr>
778
786
  <tr>
779
787
  <td class="col-md-2" colspan="2">
780
- <div class="io-line">Defined in <a href="" data-line="241" class="link-to-prism">src/input/text-input-label.component.ts:241</a></div>
788
+ <div class="io-line">Defined in <a href="" data-line="245" class="link-to-prism">src/input/text-input-label.component.ts:245</a></div>
781
789
  </td>
782
790
  </tr>
783
791
  <tr>
@@ -810,7 +818,7 @@ screen readers.</p>
810
818
  </tr>
811
819
  <tr>
812
820
  <td class="col-md-2" colspan="2">
813
- <div class="io-line">Defined in <a href="" data-line="246" class="link-to-prism">src/input/text-input-label.component.ts:246</a></div>
821
+ <div class="io-line">Defined in <a href="" data-line="250" class="link-to-prism">src/input/text-input-label.component.ts:250</a></div>
814
822
  </td>
815
823
  </tr>
816
824
  <tr>
@@ -842,7 +850,7 @@ screen readers.</p>
842
850
  </tr>
843
851
  <tr>
844
852
  <td class="col-md-2" colspan="2">
845
- <div class="io-line">Defined in <a href="" data-line="213" class="link-to-prism">src/input/text-input-label.component.ts:213</a></div>
853
+ <div class="io-line">Defined in <a href="" data-line="217" class="link-to-prism">src/input/text-input-label.component.ts:217</a></div>
846
854
  </td>
847
855
  </tr>
848
856
  <tr>
@@ -869,7 +877,7 @@ screen readers.</p>
869
877
  </tr>
870
878
  <tr>
871
879
  <td class="col-md-2" colspan="2">
872
- <div class="io-line">Defined in <a href="" data-line="209" class="link-to-prism">src/input/text-input-label.component.ts:209</a></div>
880
+ <div class="io-line">Defined in <a href="" data-line="213" class="link-to-prism">src/input/text-input-label.component.ts:213</a></div>
873
881
  </td>
874
882
  </tr>
875
883
  <tr>
@@ -901,7 +909,7 @@ screen readers.</p>
901
909
  </tr>
902
910
  <tr>
903
911
  <td class="col-md-2" colspan="2">
904
- <div class="io-line">Defined in <a href="" data-line="185" class="link-to-prism">src/input/text-input-label.component.ts:185</a></div>
912
+ <div class="io-line">Defined in <a href="" data-line="189" class="link-to-prism">src/input/text-input-label.component.ts:189</a></div>
905
913
  </td>
906
914
  </tr>
907
915
  <tr>
@@ -929,7 +937,7 @@ its input counterpart through the &#39;for&#39; attribute.</p>
929
937
  </tr>
930
938
  <tr>
931
939
  <td class="col-md-2" colspan="2">
932
- <div class="io-line">Defined in <a href="" data-line="200" class="link-to-prism">src/input/text-input-label.component.ts:200</a></div>
940
+ <div class="io-line">Defined in <a href="" data-line="204" class="link-to-prism">src/input/text-input-label.component.ts:204</a></div>
933
941
  </td>
934
942
  </tr>
935
943
  <tr>
@@ -957,7 +965,7 @@ Since we cannot pass ng-content down easily from label component, we will accept
957
965
  </tr>
958
966
  <tr>
959
967
  <td class="col-md-2" colspan="2">
960
- <div class="io-line">Defined in <a href="" data-line="264" class="link-to-prism">src/input/text-input-label.component.ts:264</a></div>
968
+ <div class="io-line">Defined in <a href="" data-line="268" class="link-to-prism">src/input/text-input-label.component.ts:268</a></div>
961
969
  </td>
962
970
  </tr>
963
971
  <tr>
@@ -990,7 +998,7 @@ counter to display.</p>
990
998
  </tr>
991
999
  <tr>
992
1000
  <td class="col-md-2" colspan="2">
993
- <div class="io-line">Defined in <a href="" data-line="252" class="link-to-prism">src/input/text-input-label.component.ts:252</a></div>
1001
+ <div class="io-line">Defined in <a href="" data-line="256" class="link-to-prism">src/input/text-input-label.component.ts:256</a></div>
994
1002
  </td>
995
1003
  </tr>
996
1004
  <tr>
@@ -1023,7 +1031,7 @@ variant class (<code>cds--label--inline--{size}</code>).</p>
1023
1031
  </tr>
1024
1032
  <tr>
1025
1033
  <td class="col-md-2" colspan="2">
1026
- <div class="io-line">Defined in <a href="" data-line="194" class="link-to-prism">src/input/text-input-label.component.ts:194</a></div>
1034
+ <div class="io-line">Defined in <a href="" data-line="198" class="link-to-prism">src/input/text-input-label.component.ts:198</a></div>
1027
1035
  </td>
1028
1036
  </tr>
1029
1037
  <tr>
@@ -1050,7 +1058,7 @@ variant class (<code>cds--label--inline--{size}</code>).</p>
1050
1058
  </tr>
1051
1059
  <tr>
1052
1060
  <td class="col-md-2" colspan="2">
1053
- <div class="io-line">Defined in <a href="" data-line="201" class="link-to-prism">src/input/text-input-label.component.ts:201</a></div>
1061
+ <div class="io-line">Defined in <a href="" data-line="205" class="link-to-prism">src/input/text-input-label.component.ts:205</a></div>
1054
1062
  </td>
1055
1063
  </tr>
1056
1064
  </tbody>
@@ -1076,7 +1084,7 @@ variant class (<code>cds--label--inline--{size}</code>).</p>
1076
1084
  </tr>
1077
1085
  <tr>
1078
1086
  <td class="col-md-2" colspan="2">
1079
- <div class="io-line">Defined in <a href="" data-line="217" class="link-to-prism">src/input/text-input-label.component.ts:217</a></div>
1087
+ <div class="io-line">Defined in <a href="" data-line="221" class="link-to-prism">src/input/text-input-label.component.ts:221</a></div>
1080
1088
  </td>
1081
1089
  </tr>
1082
1090
  <tr>
@@ -1103,7 +1111,7 @@ variant class (<code>cds--label--inline--{size}</code>).</p>
1103
1111
  </tr>
1104
1112
  <tr>
1105
1113
  <td class="col-md-2" colspan="2">
1106
- <div class="io-line">Defined in <a href="" data-line="221" class="link-to-prism">src/input/text-input-label.component.ts:221</a></div>
1114
+ <div class="io-line">Defined in <a href="" data-line="225" class="link-to-prism">src/input/text-input-label.component.ts:225</a></div>
1107
1115
  </td>
1108
1116
  </tr>
1109
1117
  <tr>
@@ -1141,7 +1149,7 @@ variant class (<code>cds--label--inline--{size}</code>).</p>
1141
1149
  </tr>
1142
1150
  <tr>
1143
1151
  <td class="col-md-4">
1144
- <div class="io-line">Defined in <a href="" data-line="272" class="link-to-prism">src/input/text-input-label.component.ts:272</a></div>
1152
+ <div class="io-line">Defined in <a href="" data-line="279" class="link-to-prism">src/input/text-input-label.component.ts:279</a></div>
1145
1153
  </td>
1146
1154
  </tr>
1147
1155
 
@@ -1167,7 +1175,7 @@ variant class (<code>cds--label--inline--{size}</code>).</p>
1167
1175
  </tr>
1168
1176
  <tr>
1169
1177
  <td class="col-md-4">
1170
- <div class="io-line">Defined in <a href="" data-line="170" class="link-to-prism">src/input/text-input-label.component.ts:170</a></div>
1178
+ <div class="io-line">Defined in <a href="" data-line="174" class="link-to-prism">src/input/text-input-label.component.ts:174</a></div>
1171
1179
  </td>
1172
1180
  </tr>
1173
1181
 
@@ -1193,7 +1201,7 @@ variant class (<code>cds--label--inline--{size}</code>).</p>
1193
1201
  </tr>
1194
1202
  <tr>
1195
1203
  <td class="col-md-4">
1196
- <div class="io-line">Defined in <a href="" data-line="174" class="link-to-prism">src/input/text-input-label.component.ts:174</a></div>
1204
+ <div class="io-line">Defined in <a href="" data-line="178" class="link-to-prism">src/input/text-input-label.component.ts:178</a></div>
1197
1205
  </td>
1198
1206
  </tr>
1199
1207
 
@@ -1224,7 +1232,7 @@ variant class (<code>cds--label--inline--{size}</code>).</p>
1224
1232
  </tr>
1225
1233
  <tr>
1226
1234
  <td class="col-md-4">
1227
- <div class="io-line">Defined in <a href="" data-line="274" class="link-to-prism">src/input/text-input-label.component.ts:274</a></div>
1235
+ <div class="io-line">Defined in <a href="" data-line="281" class="link-to-prism">src/input/text-input-label.component.ts:281</a></div>
1228
1236
  </td>
1229
1237
  </tr>
1230
1238
 
@@ -1250,7 +1258,7 @@ variant class (<code>cds--label--inline--{size}</code>).</p>
1250
1258
  </tr>
1251
1259
  <tr>
1252
1260
  <td class="col-md-4">
1253
- <div class="io-line">Defined in <a href="" data-line="162" class="link-to-prism">src/input/text-input-label.component.ts:162</a></div>
1261
+ <div class="io-line">Defined in <a href="" data-line="166" class="link-to-prism">src/input/text-input-label.component.ts:166</a></div>
1254
1262
  </td>
1255
1263
  </tr>
1256
1264
 
@@ -1276,7 +1284,7 @@ variant class (<code>cds--label--inline--{size}</code>).</p>
1276
1284
  </tr>
1277
1285
  <tr>
1278
1286
  <td class="col-md-4">
1279
- <div class="io-line">Defined in <a href="" data-line="166" class="link-to-prism">src/input/text-input-label.component.ts:166</a></div>
1287
+ <div class="io-line">Defined in <a href="" data-line="170" class="link-to-prism">src/input/text-input-label.component.ts:170</a></div>
1280
1288
  </td>
1281
1289
  </tr>
1282
1290
 
@@ -1313,15 +1321,16 @@ variant class (<code>cds--label--inline--{size}</code>).</p>
1313
1321
 
1314
1322
  <tr>
1315
1323
  <td class="col-md-4">
1316
- <div class="io-line">Defined in <a href="" data-line="356"
1317
- class="link-to-prism">src/input/text-input-label.component.ts:356</a></div>
1324
+ <div class="io-line">Defined in <a href="" data-line="367"
1325
+ class="link-to-prism">src/input/text-input-label.component.ts:367</a></div>
1318
1326
  </td>
1319
1327
  </tr>
1320
1328
 
1321
1329
 
1322
1330
  <tr>
1323
1331
  <td class="col-md-4">
1324
- <div class="io-description"><p>Attaches the input event listener, ensuring it is never added twice.</p>
1332
+ <div class="io-description"><p>Attaches the counter listener, listen for either ngControl or native DOM input
1333
+ event listener</p>
1325
1334
  </div>
1326
1335
 
1327
1336
  <div class="io-description">
@@ -1354,15 +1363,16 @@ variant class (<code>cds--label--inline--{size}</code>).</p>
1354
1363
 
1355
1364
  <tr>
1356
1365
  <td class="col-md-4">
1357
- <div class="io-line">Defined in <a href="" data-line="371"
1358
- class="link-to-prism">src/input/text-input-label.component.ts:371</a></div>
1366
+ <div class="io-line">Defined in <a href="" data-line="396"
1367
+ class="link-to-prism">src/input/text-input-label.component.ts:396</a></div>
1359
1368
  </td>
1360
1369
  </tr>
1361
1370
 
1362
1371
 
1363
1372
  <tr>
1364
1373
  <td class="col-md-4">
1365
- <div class="io-description"><p>Removes the input event listener and clears the cached reference.</p>
1374
+ <div class="io-description"><p>Removes the subscription (NgControl path) or removes the DOM listener.
1375
+ Safe to call when neither is active.</p>
1366
1376
  </div>
1367
1377
 
1368
1378
  <div class="io-description">
@@ -1395,8 +1405,8 @@ variant class (<code>cds--label--inline--{size}</code>).</p>
1395
1405
 
1396
1406
  <tr>
1397
1407
  <td class="col-md-4">
1398
- <div class="io-line">Defined in <a href="" data-line="349"
1399
- class="link-to-prism">src/input/text-input-label.component.ts:349</a></div>
1408
+ <div class="io-line">Defined in <a href="" data-line="359"
1409
+ class="link-to-prism">src/input/text-input-label.component.ts:359</a></div>
1400
1410
  </td>
1401
1411
  </tr>
1402
1412
 
@@ -1458,8 +1468,8 @@ variant class (<code>cds--label--inline--{size}</code>).</p>
1458
1468
 
1459
1469
  <tr>
1460
1470
  <td class="col-md-4">
1461
- <div class="io-line">Defined in <a href="" data-line="341"
1462
- class="link-to-prism">src/input/text-input-label.component.ts:341</a></div>
1471
+ <div class="io-line">Defined in <a href="" data-line="351"
1472
+ class="link-to-prism">src/input/text-input-label.component.ts:351</a></div>
1463
1473
  </td>
1464
1474
  </tr>
1465
1475
 
@@ -1495,8 +1505,8 @@ variant class (<code>cds--label--inline--{size}</code>).</p>
1495
1505
 
1496
1506
  <tr>
1497
1507
  <td class="col-md-4">
1498
- <div class="io-line">Defined in <a href="" data-line="290"
1499
- class="link-to-prism">src/input/text-input-label.component.ts:290</a></div>
1508
+ <div class="io-line">Defined in <a href="" data-line="301"
1509
+ class="link-to-prism">src/input/text-input-label.component.ts:301</a></div>
1500
1510
  </td>
1501
1511
  </tr>
1502
1512
 
@@ -1535,15 +1545,15 @@ counter listener when <code>enableCounter</code> is already <code>true</code> on
1535
1545
 
1536
1546
  <tr>
1537
1547
  <td class="col-md-4">
1538
- <div class="io-line">Defined in <a href="" data-line="327"
1539
- class="link-to-prism">src/input/text-input-label.component.ts:327</a></div>
1548
+ <div class="io-line">Defined in <a href="" data-line="337"
1549
+ class="link-to-prism">src/input/text-input-label.component.ts:337</a></div>
1540
1550
  </td>
1541
1551
  </tr>
1542
1552
 
1543
1553
 
1544
1554
  <tr>
1545
1555
  <td class="col-md-4">
1546
- <div class="io-description"><p>Attach/remove listener and seed <code>textCount</code> from the textarea&#39;s current value.</p>
1556
+ <div class="io-description"><p>Attach/remove listener and seed <code>textCount</code> from the input&#39;s current value.</p>
1547
1557
  </div>
1548
1558
 
1549
1559
  <div class="io-description">
@@ -1604,8 +1614,8 @@ counter listener when <code>enableCounter</code> is already <code>true</code> on
1604
1614
 
1605
1615
  <tr>
1606
1616
  <td class="col-md-4">
1607
- <div class="io-line">Defined in <a href="" data-line="345"
1608
- class="link-to-prism">src/input/text-input-label.component.ts:345</a></div>
1617
+ <div class="io-line">Defined in <a href="" data-line="355"
1618
+ class="link-to-prism">src/input/text-input-label.component.ts:355</a></div>
1609
1619
  </td>
1610
1620
  </tr>
1611
1621
 
@@ -1652,7 +1662,7 @@ counter listener when <code>enableCounter</code> is already <code>true</code> on
1652
1662
  </tr>
1653
1663
  <tr>
1654
1664
  <td class="col-md-4">
1655
- <div class="io-line">Defined in <a href="" data-line="277" class="link-to-prism">src/input/text-input-label.component.ts:277</a></div>
1665
+ <div class="io-line">Defined in <a href="" data-line="284" class="link-to-prism">src/input/text-input-label.component.ts:284</a></div>
1656
1666
  </td>
1657
1667
  </tr>
1658
1668
 
@@ -1684,7 +1694,39 @@ counter listener when <code>enableCounter</code> is already <code>true</code> on
1684
1694
  </tr>
1685
1695
  <tr>
1686
1696
  <td class="col-md-4">
1687
- <div class="io-line">Defined in <a href="" data-line="279" class="link-to-prism">src/input/text-input-label.component.ts:279</a></div>
1697
+ <div class="io-line">Defined in <a href="" data-line="290" class="link-to-prism">src/input/text-input-label.component.ts:290</a></div>
1698
+ </td>
1699
+ </tr>
1700
+
1701
+
1702
+ </tbody>
1703
+ </table>
1704
+ <table class="table table-sm table-bordered">
1705
+ <tbody>
1706
+ <tr>
1707
+ <td class="col-md-4">
1708
+ <a name="_subscription"></a>
1709
+ <span class="name">
1710
+ <span class="modifier">Private</span>
1711
+ <span ><b>_subscription</b></span>
1712
+ <a href="#_subscription"><span class="icon ion-ios-link"></span></a>
1713
+ </span>
1714
+ </td>
1715
+ </tr>
1716
+ <tr>
1717
+ <td class="col-md-4">
1718
+ <i>Type : </i> <code>Subscription | null</code>
1719
+
1720
+ </td>
1721
+ </tr>
1722
+ <tr>
1723
+ <td class="col-md-4">
1724
+ <i>Default value : </i><code>null</code>
1725
+ </td>
1726
+ </tr>
1727
+ <tr>
1728
+ <td class="col-md-4">
1729
+ <div class="io-line">Defined in <a href="" data-line="287" class="link-to-prism">src/input/text-input-label.component.ts:287</a></div>
1688
1730
  </td>
1689
1731
  </tr>
1690
1732
 
@@ -1719,7 +1761,7 @@ counter listener when <code>enableCounter</code> is already <code>true</code> on
1719
1761
  </tr>
1720
1762
  <tr>
1721
1763
  <td class="col-md-4">
1722
- <div class="io-line">Defined in <a href="" data-line="272" class="link-to-prism">src/input/text-input-label.component.ts:272</a></div>
1764
+ <div class="io-line">Defined in <a href="" data-line="279" class="link-to-prism">src/input/text-input-label.component.ts:279</a></div>
1723
1765
  </td>
1724
1766
  </tr>
1725
1767
 
@@ -1751,7 +1793,7 @@ counter listener when <code>enableCounter</code> is already <code>true</code> on
1751
1793
  </tr>
1752
1794
  <tr>
1753
1795
  <td class="col-md-4">
1754
- <div class="io-line">Defined in <a href="" data-line="180" class="link-to-prism">src/input/text-input-label.component.ts:180</a></div>
1796
+ <div class="io-line">Defined in <a href="" data-line="184" class="link-to-prism">src/input/text-input-label.component.ts:184</a></div>
1755
1797
  </td>
1756
1798
  </tr>
1757
1799
 
@@ -1788,7 +1830,43 @@ counter listener when <code>enableCounter</code> is already <code>true</code> on
1788
1830
  </tr>
1789
1831
  <tr>
1790
1832
  <td class="col-md-4">
1791
- <div class="io-line">Defined in <a href="" data-line="267" class="link-to-prism">src/input/text-input-label.component.ts:267</a></div>
1833
+ <div class="io-line">Defined in <a href="" data-line="271" class="link-to-prism">src/input/text-input-label.component.ts:271</a></div>
1834
+ </td>
1835
+ </tr>
1836
+
1837
+
1838
+ </tbody>
1839
+ </table>
1840
+ <table class="table table-sm table-bordered">
1841
+ <tbody>
1842
+ <tr>
1843
+ <td class="col-md-4">
1844
+ <a name="textInput"></a>
1845
+ <span class="name">
1846
+ <span class="modifier"></span>
1847
+ <span ><b>textInput</b></span>
1848
+ <a href="#textInput"><span class="icon ion-ios-link"></span></a>
1849
+ </span>
1850
+ </td>
1851
+ </tr>
1852
+ <tr>
1853
+ <td class="col-md-4">
1854
+ <i>Type : </i> <code><a href="../directives/TextInput.html" target="_self" >TextInput</a></code>
1855
+
1856
+ </td>
1857
+ </tr>
1858
+ <tr>
1859
+ <td class="col-md-4">
1860
+ <b>Decorators : </b>
1861
+ <br />
1862
+ <code>
1863
+ @ContentChild(TextInput, {static: false})<br />
1864
+ </code>
1865
+ </td>
1866
+ </tr>
1867
+ <tr>
1868
+ <td class="col-md-4">
1869
+ <div class="io-line">Defined in <a href="" data-line="277" class="link-to-prism">src/input/text-input-label.component.ts:277</a></div>
1792
1870
  </td>
1793
1871
  </tr>
1794
1872
 
@@ -1823,7 +1901,7 @@ counter listener when <code>enableCounter</code> is already <code>true</code> on
1823
1901
  </tr>
1824
1902
  <tr>
1825
1903
  <td class="col-md-4">
1826
- <div class="io-line">Defined in <a href="" data-line="274" class="link-to-prism">src/input/text-input-label.component.ts:274</a></div>
1904
+ <div class="io-line">Defined in <a href="" data-line="281" class="link-to-prism">src/input/text-input-label.component.ts:281</a></div>
1827
1905
  </td>
1828
1906
  </tr>
1829
1907
 
@@ -1859,7 +1937,7 @@ counter listener when <code>enableCounter</code> is already <code>true</code> on
1859
1937
  </tr>
1860
1938
  <tr>
1861
1939
  <td class="col-md-4">
1862
- <div class="io-line">Defined in <a href="" data-line="270" class="link-to-prism">src/input/text-input-label.component.ts:270</a></div>
1940
+ <div class="io-line">Defined in <a href="" data-line="274" class="link-to-prism">src/input/text-input-label.component.ts:274</a></div>
1863
1941
  </td>
1864
1942
  </tr>
1865
1943
 
@@ -1888,7 +1966,7 @@ counter listener when <code>enableCounter</code> is already <code>true</code> on
1888
1966
  </tr>
1889
1967
  <tr>
1890
1968
  <td class="col-md-4">
1891
- <div class="io-line">Defined in <a href="" data-line="162" class="link-to-prism">src/input/text-input-label.component.ts:162</a></div>
1969
+ <div class="io-line">Defined in <a href="" data-line="166" class="link-to-prism">src/input/text-input-label.component.ts:166</a></div>
1892
1970
  </td>
1893
1971
  </tr>
1894
1972
 
@@ -1910,7 +1988,7 @@ counter listener when <code>enableCounter</code> is already <code>true</code> on
1910
1988
  </tr>
1911
1989
  <tr>
1912
1990
  <td class="col-md-4">
1913
- <div class="io-line">Defined in <a href="" data-line="166" class="link-to-prism">src/input/text-input-label.component.ts:166</a></div>
1991
+ <div class="io-line">Defined in <a href="" data-line="170" class="link-to-prism">src/input/text-input-label.component.ts:170</a></div>
1914
1992
  </td>
1915
1993
  </tr>
1916
1994
 
@@ -1932,7 +2010,7 @@ counter listener when <code>enableCounter</code> is already <code>true</code> on
1932
2010
  </tr>
1933
2011
  <tr>
1934
2012
  <td class="col-md-4">
1935
- <div class="io-line">Defined in <a href="" data-line="170" class="link-to-prism">src/input/text-input-label.component.ts:170</a></div>
2013
+ <div class="io-line">Defined in <a href="" data-line="174" class="link-to-prism">src/input/text-input-label.component.ts:174</a></div>
1936
2014
  </td>
1937
2015
  </tr>
1938
2016
 
@@ -1954,7 +2032,7 @@ counter listener when <code>enableCounter</code> is already <code>true</code> on
1954
2032
  </tr>
1955
2033
  <tr>
1956
2034
  <td class="col-md-4">
1957
- <div class="io-line">Defined in <a href="" data-line="174" class="link-to-prism">src/input/text-input-label.component.ts:174</a></div>
2035
+ <div class="io-line">Defined in <a href="" data-line="178" class="link-to-prism">src/input/text-input-label.component.ts:178</a></div>
1958
2036
  </td>
1959
2037
  </tr>
1960
2038
 
@@ -1970,6 +2048,7 @@ counter listener when <code>enableCounter</code> is already <code>true</code> on
1970
2048
  AfterViewInit,
1971
2049
  ChangeDetectorRef,
1972
2050
  Component,
2051
+ ContentChild,
1973
2052
  ElementRef,
1974
2053
  HostBinding,
1975
2054
  Input,
@@ -1979,6 +2058,9 @@ counter listener when <code>enableCounter</code> is already <code>true</code> on
1979
2058
  TemplateRef,
1980
2059
  ViewChild
1981
2060
  } from &quot;@angular/core&quot;;
2061
+ import { Subscription } from &quot;rxjs&quot;;
2062
+ import { startWith } from &quot;rxjs/operators&quot;;
2063
+ import { TextInput } from &quot;./input.directive&quot;;
1982
2064
 
1983
2065
  /**
1984
2066
  * Get started with importing the module:
@@ -2236,13 +2318,20 @@ export class TextInputLabelComponent implements AfterViewInit, AfterContentInit,
2236
2318
  // @ts-ignore
2237
2319
  @ViewChild(&quot;wrapper&quot;, { static: false }) wrapper: ElementRef&lt;HTMLDivElement&gt;;
2238
2320
 
2321
+ // @ts-ignore
2322
+ @ContentChild(TextInput, { static: false }) textInput: TextInput;
2323
+
2239
2324
  @HostBinding(&quot;class.cds--form-item&quot;) labelClass &#x3D; true;
2240
2325
 
2241
2326
  @HostBinding(&quot;class.cds--text-input-wrapper&quot;) textInputWrapper &#x3D; true;
2242
2327
 
2243
2328
  // Cached reference to the input element, set once in ngAfterViewInit.
2244
2329
  private _inputElement: HTMLInputElement | null &#x3D; null;
2245
- // Cached listener so it can be removed precisely (avoids anonymous-function leak).
2330
+
2331
+ // RxJS subscription used when NgControl is available (template-driven &amp; reactive forms).
2332
+ private _subscription: Subscription | null &#x3D; null;
2333
+
2334
+ // Fallback cached DOM listener so it can be removed precisely (avoids anonymous-function leak).
2246
2335
  private _inputListener: ((e: Event) &#x3D;&gt; void) | null &#x3D; null;
2247
2336
 
2248
2337
  /**
@@ -2288,8 +2377,7 @@ export class TextInputLabelComponent implements AfterViewInit, AfterContentInit,
2288
2377
  }
2289
2378
 
2290
2379
  /**
2291
- * Attach/remove listener and seed &#x60;textCount&#x60; from the textarea&#x27;s current value.
2292
- * @param changes
2380
+ * Attach/remove listener and seed &#x60;textCount&#x60; from the input&#x27;s current value.
2293
2381
  */
2294
2382
  ngOnChanges(changes: SimpleChanges) {
2295
2383
  if (changes.enableCounter &amp;&amp; !changes.enableCounter.firstChange) {
@@ -2318,24 +2406,42 @@ export class TextInputLabelComponent implements AfterViewInit, AfterContentInit,
2318
2406
  }
2319
2407
 
2320
2408
  /**
2321
- * Attaches the input event listener, ensuring it is never added twice.
2409
+ * Attaches the counter listener, listen for either ngControl or native DOM input
2410
+ * event listener
2322
2411
  */
2323
2412
  private _attachCounterListener(): void {
2324
2413
  this._detachCounterListener();
2325
- if (!this._inputElement) {
2326
- return;
2414
+
2415
+ const control &#x3D; this.textInput?.ngControl;
2416
+ if (control?.valueChanges) {
2417
+ // NgControl listener
2418
+ this._subscription &#x3D; control.valueChanges
2419
+ .pipe(startWith(control.value))
2420
+ .subscribe((value: string) &#x3D;&gt; {
2421
+ this.textCount &#x3D; value?.length || 0;
2422
+ this.changeDetectorRef.markForCheck();
2423
+ });
2424
+ } else {
2425
+ // Fallback DOM path
2426
+ if (!this._inputElement) {
2427
+ return;
2428
+ }
2429
+ this._inputListener &#x3D; (e: Event) &#x3D;&gt; {
2430
+ this.textCount &#x3D; (e.target as HTMLInputElement).value?.length || 0;
2431
+ this.changeDetectorRef.detectChanges();
2432
+ };
2433
+ this._inputElement.addEventListener(&quot;input&quot;, this._inputListener);
2327
2434
  }
2328
- this._inputListener &#x3D; (e: Event) &#x3D;&gt; {
2329
- this.textCount &#x3D; (e.target as HTMLInputElement).value?.length || 0;
2330
- this.changeDetectorRef.detectChanges();
2331
- };
2332
- this._inputElement.addEventListener(&quot;input&quot;, this._inputListener);
2333
2435
  }
2334
2436
 
2335
2437
  /**
2336
- * Removes the input event listener and clears the cached reference.
2438
+ * Removes the subscription (NgControl path) or removes the DOM listener.
2439
+ * Safe to call when neither is active.
2337
2440
  */
2338
2441
  private _detachCounterListener(): void {
2442
+ this._subscription?.unsubscribe();
2443
+ this._subscription &#x3D; null;
2444
+
2339
2445
  if (this._inputListener &amp;&amp; this._inputElement) {
2340
2446
  this._inputElement.removeEventListener(&quot;input&quot;, this._inputListener);
2341
2447
  this._inputListener &#x3D; null;