carbon-components-angular 5.49.0 → 5.51.0

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 (267) hide show
  1. package/docs/documentation/components/Accordion.html +1 -1
  2. package/docs/documentation/components/AccordionItem.html +1 -1
  3. package/docs/documentation/components/ActionableNotification.html +1 -1
  4. package/docs/documentation/components/AlertModal.html +1 -1
  5. package/docs/documentation/components/BaseIconButton.html +1 -1
  6. package/docs/documentation/components/BaseNotification.html +1 -1
  7. package/docs/documentation/components/BaseTabHeader.html +1 -1
  8. package/docs/documentation/components/Breadcrumb.html +1 -1
  9. package/docs/documentation/components/BreadcrumbItemComponent.html +1 -1
  10. package/docs/documentation/components/ButtonSet.html +1 -1
  11. package/docs/documentation/components/Checkbox.html +1 -1
  12. package/docs/documentation/components/ClickableTile.html +1 -1
  13. package/docs/documentation/components/CodeSnippet.html +1 -1
  14. package/docs/documentation/components/ComboBox.html +1 -1
  15. package/docs/documentation/components/ContainedList.html +1 -1
  16. package/docs/documentation/components/ContainedListItem.html +1 -1
  17. package/docs/documentation/components/ContentSwitcher.html +1 -1
  18. package/docs/documentation/components/ContextMenuComponent.html +1 -1
  19. package/docs/documentation/components/ContextMenuDividerComponent.html +1 -1
  20. package/docs/documentation/components/ContextMenuGroupComponent.html +1 -1
  21. package/docs/documentation/components/ContextMenuItemComponent.html +1 -1
  22. package/docs/documentation/components/DatePicker.html +1 -1
  23. package/docs/documentation/components/DatePickerInput.html +1 -1
  24. package/docs/documentation/components/Dialog.html +1 -1
  25. package/docs/documentation/components/Documentation.html +1 -1
  26. package/docs/documentation/components/Dropdown.html +1 -1
  27. package/docs/documentation/components/DropdownList.html +1 -1
  28. package/docs/documentation/components/ExpandableTile.html +1 -1
  29. package/docs/documentation/components/FileComponent.html +1 -1
  30. package/docs/documentation/components/FileUploader.html +1 -1
  31. package/docs/documentation/components/Hamburger.html +1 -1
  32. package/docs/documentation/components/Header.html +1 -1
  33. package/docs/documentation/components/HeaderAction.html +1 -1
  34. package/docs/documentation/components/HeaderGlobal.html +1 -1
  35. package/docs/documentation/components/HeaderItem.html +1 -1
  36. package/docs/documentation/components/HeaderMenu.html +1 -1
  37. package/docs/documentation/components/HeaderNavigation.html +1 -1
  38. package/docs/documentation/components/IconButton.html +1 -1
  39. package/docs/documentation/components/InlineLoading.html +1 -1
  40. package/docs/documentation/components/Label.html +1 -1
  41. package/docs/documentation/components/ListColumn.html +1 -1
  42. package/docs/documentation/components/ListHeader.html +1 -1
  43. package/docs/documentation/components/ListRow.html +2 -2
  44. package/docs/documentation/components/Loading.html +1 -1
  45. package/docs/documentation/components/Modal.html +1 -1
  46. package/docs/documentation/components/ModalFooter.html +1 -1
  47. package/docs/documentation/components/ModalHeader.html +1 -1
  48. package/docs/documentation/components/Notification.html +1 -1
  49. package/docs/documentation/components/NumberComponent.html +1 -1
  50. package/docs/documentation/components/OverflowMenu.html +1 -1
  51. package/docs/documentation/components/OverflowMenuCustomPane.html +1 -1
  52. package/docs/documentation/components/OverflowMenuOption.html +1 -1
  53. package/docs/documentation/components/OverflowMenuPane.html +1 -1
  54. package/docs/documentation/components/Overlay.html +1 -1
  55. package/docs/documentation/components/Pagination.html +1 -1
  56. package/docs/documentation/components/PaginationNav.html +1 -1
  57. package/docs/documentation/components/PaginationNavItem.html +1 -1
  58. package/docs/documentation/components/PaginationOverflow.html +1 -1
  59. package/docs/documentation/components/Panel.html +1 -1
  60. package/docs/documentation/components/PasswordInputLabelComponent.html +264 -72
  61. package/docs/documentation/components/Placeholder.html +1 -1
  62. package/docs/documentation/components/PopoverContent.html +1 -1
  63. package/docs/documentation/components/ProgressBar.html +1 -1
  64. package/docs/documentation/components/ProgressIndicator.html +1 -1
  65. package/docs/documentation/components/Radio.html +1 -1
  66. package/docs/documentation/components/RadioGroup.html +1 -1
  67. package/docs/documentation/components/Search.html +1 -1
  68. package/docs/documentation/components/Select.html +1 -1
  69. package/docs/documentation/components/SelectionTile.html +1 -1
  70. package/docs/documentation/components/SideNav.html +1 -1
  71. package/docs/documentation/components/SideNavItem.html +1 -1
  72. package/docs/documentation/components/SideNavMenu.html +1 -1
  73. package/docs/documentation/components/SkeletonPlaceholder.html +1 -1
  74. package/docs/documentation/components/SkeletonText.html +1 -1
  75. package/docs/documentation/components/Slider.html +1 -1
  76. package/docs/documentation/components/StructuredList.html +1 -1
  77. package/docs/documentation/components/SwitcherList.html +1 -1
  78. package/docs/documentation/components/SwitcherListItem.html +1 -1
  79. package/docs/documentation/components/Tab.html +1 -1
  80. package/docs/documentation/components/TabHeaderGroup.html +1 -1
  81. package/docs/documentation/components/TabHeaders.html +1 -1
  82. package/docs/documentation/components/TabSkeleton.html +1 -1
  83. package/docs/documentation/components/Table.html +1 -1
  84. package/docs/documentation/components/TableBody.html +1 -1
  85. package/docs/documentation/components/TableCheckbox.html +1 -1
  86. package/docs/documentation/components/TableContainer.html +1 -1
  87. package/docs/documentation/components/TableData.html +1 -1
  88. package/docs/documentation/components/TableExpandButton.html +1 -1
  89. package/docs/documentation/components/TableExpandedRow.html +1 -1
  90. package/docs/documentation/components/TableHead.html +1 -1
  91. package/docs/documentation/components/TableHeadCell.html +1 -1
  92. package/docs/documentation/components/TableHeadCheckbox.html +1 -1
  93. package/docs/documentation/components/TableHeadExpand.html +1 -1
  94. package/docs/documentation/components/TableHeader.html +1 -1
  95. package/docs/documentation/components/TableRadio.html +1 -1
  96. package/docs/documentation/components/TableRowComponent.html +1 -1
  97. package/docs/documentation/components/TableToolbar.html +1 -1
  98. package/docs/documentation/components/TableToolbarActions.html +1 -1
  99. package/docs/documentation/components/TableToolbarContent.html +1 -1
  100. package/docs/documentation/components/TableToolbarSearch.html +1 -1
  101. package/docs/documentation/components/Tabs.html +1 -1
  102. package/docs/documentation/components/Tag.html +1 -1
  103. package/docs/documentation/components/TagFilter.html +1 -1
  104. package/docs/documentation/components/TextInputLabelComponent.html +380 -109
  105. package/docs/documentation/components/TextareaLabelComponent.html +1 -1
  106. package/docs/documentation/components/Tile.html +1 -1
  107. package/docs/documentation/components/TileGroup.html +1 -1
  108. package/docs/documentation/components/TimePicker.html +1 -1
  109. package/docs/documentation/components/TimePickerSelect.html +1 -1
  110. package/docs/documentation/components/Toast.html +1 -1
  111. package/docs/documentation/components/Toggle.html +1 -1
  112. package/docs/documentation/components/Toggletip.html +1 -1
  113. package/docs/documentation/components/Tooltip.html +1 -1
  114. package/docs/documentation/components/TooltipDefinition.html +1 -1
  115. package/docs/documentation/components/TreeNodeComponent.html +1 -1
  116. package/docs/documentation/components/TreeViewComponent.html +1 -1
  117. package/docs/documentation/coverage.html +22 -10
  118. package/docs/documentation/directives/IconDirective.html +6 -5
  119. package/docs/documentation/directives/LinkIconDirective.html +368 -0
  120. package/docs/documentation/directives/PasswordInput.html +63 -5
  121. package/docs/documentation/directives/TextInput.html +60 -1
  122. package/docs/documentation/graph/dependencies.svg +1983 -1959
  123. package/docs/documentation/js/menu-wc.js +6 -3
  124. package/docs/documentation/js/menu-wc_es5.js +1 -1
  125. package/docs/documentation/js/search/search_index.js +2 -2
  126. package/docs/documentation/modules/ComboBoxModule/dependencies.svg +6 -6
  127. package/docs/documentation/modules/ComboBoxModule.html +6 -6
  128. package/docs/documentation/modules/DatePickerInputModule/dependencies.svg +41 -45
  129. package/docs/documentation/modules/DatePickerInputModule.html +41 -45
  130. package/docs/documentation/modules/DatePickerModule/dependencies.svg +48 -52
  131. package/docs/documentation/modules/DatePickerModule.html +48 -52
  132. package/docs/documentation/modules/LinkModule/dependencies.svg +41 -17
  133. package/docs/documentation/modules/LinkModule.html +52 -19
  134. package/docs/documentation/modules/NumberModule/dependencies.svg +4 -4
  135. package/docs/documentation/modules/NumberModule.html +4 -4
  136. package/docs/documentation/modules/RadioModule/dependencies.svg +26 -26
  137. package/docs/documentation/modules/RadioModule.html +26 -26
  138. package/docs/documentation/modules/SearchModule/dependencies.svg +4 -4
  139. package/docs/documentation/modules/SearchModule.html +4 -4
  140. package/docs/documentation/modules/SliderModule/dependencies.svg +4 -4
  141. package/docs/documentation/modules/SliderModule.html +4 -4
  142. package/docs/documentation/modules/TableModule/dependencies.svg +4 -4
  143. package/docs/documentation/modules/TableModule.html +4 -4
  144. package/docs/documentation/modules/TagModule/dependencies.svg +4 -4
  145. package/docs/documentation/modules/TagModule.html +4 -4
  146. package/docs/documentation/modules/ThemeModule/dependencies.svg +13 -13
  147. package/docs/documentation/modules/ThemeModule.html +13 -13
  148. package/docs/documentation/modules/TilesModule/dependencies.svg +7 -7
  149. package/docs/documentation/modules/TilesModule.html +7 -7
  150. package/docs/documentation/modules/TimePickerModule/dependencies.svg +45 -41
  151. package/docs/documentation/modules/TimePickerModule.html +45 -41
  152. package/docs/documentation/modules/TimePickerSelectModule/dependencies.svg +23 -23
  153. package/docs/documentation/modules/TimePickerSelectModule.html +23 -23
  154. package/docs/documentation/modules/TooltipModule/dependencies.svg +28 -28
  155. package/docs/documentation/modules/TooltipModule.html +28 -28
  156. package/docs/documentation/modules/TreeviewModule/dependencies.svg +32 -32
  157. package/docs/documentation/modules/TreeviewModule.html +32 -32
  158. package/docs/documentation/modules/UIShellModule/dependencies.svg +4 -4
  159. package/docs/documentation/modules/UIShellModule.html +4 -4
  160. package/docs/documentation/overview.html +1984 -1960
  161. package/docs/documentation.json +638 -299
  162. package/docs/storybook/1345.4ae7e616.iframe.bundle.js +1 -0
  163. package/docs/storybook/7141.e6990367.iframe.bundle.js +1 -0
  164. package/docs/storybook/901.32dc2d61.iframe.bundle.js +1 -0
  165. package/docs/storybook/9558.1e461c76.iframe.bundle.js +1 -0
  166. package/docs/storybook/9672.a4277bf9.iframe.bundle.js +1 -0
  167. package/docs/storybook/accordion-accordion-stories.f0e7b598.iframe.bundle.js +1 -0
  168. package/docs/storybook/button-button-set-stories.ed1d0fd9.iframe.bundle.js +1 -0
  169. package/docs/storybook/button-button-stories.de18db98.iframe.bundle.js +1 -0
  170. package/docs/storybook/button-icon-button-stories.4a9748f3.iframe.bundle.js +1 -0
  171. package/docs/storybook/code-snippet-code-snippet-stories.2701eee9.iframe.bundle.js +1 -0
  172. package/docs/storybook/combobox-combobox-stories.632a96c1.iframe.bundle.js +1 -0
  173. package/docs/storybook/context-menu-context-menu-stories.431b9c7a.iframe.bundle.js +1 -0
  174. package/docs/storybook/datepicker-datepicker-stories.2f076085.iframe.bundle.js +1 -0
  175. package/docs/storybook/dropdown-dropdown-stories.03c37214.iframe.bundle.js +1 -0
  176. package/docs/storybook/icon-icon-stories.e234de11.iframe.bundle.js +1 -0
  177. package/docs/storybook/iframe.html +2 -2
  178. package/docs/storybook/index-stories.fba8f9b4.iframe.bundle.js +1 -0
  179. package/docs/storybook/index.json +1 -1
  180. package/docs/storybook/inline-loading-inline-loading-stories.fea34c40.iframe.bundle.js +1 -0
  181. package/docs/storybook/input-input-stories.4bd7425d.iframe.bundle.js +1 -0
  182. package/docs/storybook/input-password-stories.575fa23d.iframe.bundle.js +1 -0
  183. package/docs/storybook/input-textarea-stories.75dfc9b8.iframe.bundle.js +1 -0
  184. package/docs/storybook/link-link-stories.d436099f.iframe.bundle.js +1 -0
  185. package/docs/storybook/main.bfc549ba.iframe.bundle.js +1 -0
  186. package/docs/storybook/main.css +34 -28
  187. package/docs/storybook/number-input-number-stories.1e4ea9f3.iframe.bundle.js +1 -0
  188. package/docs/storybook/patterns-dialogs-modal-with-table-stories.f9bddeed.iframe.bundle.js +1 -0
  189. package/docs/storybook/patterns-loading-large-loading-stories.a8a467eb.iframe.bundle.js +1 -0
  190. package/docs/storybook/progress-bar-progress-bar-stories.9a58678a.iframe.bundle.js +1 -0
  191. package/docs/storybook/progress-indicator-progress-indicator-stories.981734fc.iframe.bundle.js +1 -0
  192. package/docs/storybook/project.json +1 -1
  193. package/docs/storybook/radio-radio-stories.035c4409.iframe.bundle.js +1 -0
  194. package/docs/storybook/{runtime~main.807a23cc.iframe.bundle.js → runtime~main.578dcffd.iframe.bundle.js} +1 -1
  195. package/docs/storybook/search-search-stories.6bd22f30.iframe.bundle.js +1 -0
  196. package/docs/storybook/stories.json +1 -1
  197. package/docs/storybook/structured-list-structured-list-stories.905f4b86.iframe.bundle.js +1 -0
  198. package/docs/storybook/tag-tag-stories.60e1dec6.iframe.bundle.js +1 -0
  199. package/docs/storybook/toggletip-toggletip-stories.73f8eaaa.iframe.bundle.js +1 -0
  200. package/docs/storybook/treeview-treeview-stories.a7ea66bb.iframe.bundle.js +1 -0
  201. package/docs/storybook/ui-shell-ui-shell-stories.642f613c.iframe.bundle.js +1 -0
  202. package/esm2020/icon/icon.directive.mjs +3 -2
  203. package/esm2020/input/input.directive.mjs +9 -3
  204. package/esm2020/input/label.component.mjs +1 -1
  205. package/esm2020/input/password-input-label.component.mjs +92 -38
  206. package/esm2020/input/password.directive.mjs +9 -3
  207. package/esm2020/input/text-input-label.component.mjs +145 -83
  208. package/esm2020/link/index.mjs +2 -1
  209. package/esm2020/link/link-icon.directive.mjs +19 -0
  210. package/esm2020/link/link.module.mjs +9 -4
  211. package/esm2020/structured-list/list-row.component.mjs +1 -1
  212. package/fesm2015/carbon-components-angular-icon.mjs +2 -1
  213. package/fesm2015/carbon-components-angular-icon.mjs.map +1 -1
  214. package/fesm2015/carbon-components-angular-input.mjs +251 -123
  215. package/fesm2015/carbon-components-angular-input.mjs.map +1 -1
  216. package/fesm2015/carbon-components-angular-link.mjs +25 -4
  217. package/fesm2015/carbon-components-angular-link.mjs.map +1 -1
  218. package/fesm2015/carbon-components-angular-structured-list.mjs.map +1 -1
  219. package/fesm2020/carbon-components-angular-icon.mjs +2 -1
  220. package/fesm2020/carbon-components-angular-icon.mjs.map +1 -1
  221. package/fesm2020/carbon-components-angular-input.mjs +251 -123
  222. package/fesm2020/carbon-components-angular-input.mjs.map +1 -1
  223. package/fesm2020/carbon-components-angular-link.mjs +25 -4
  224. package/fesm2020/carbon-components-angular-link.mjs.map +1 -1
  225. package/fesm2020/carbon-components-angular-structured-list.mjs.map +1 -1
  226. package/input/input.directive.d.ts +1 -0
  227. package/input/password-input-label.component.d.ts +7 -1
  228. package/input/password.directive.d.ts +1 -0
  229. package/input/text-input-label.component.d.ts +9 -2
  230. package/link/index.d.ts +1 -0
  231. package/link/link-icon.directive.d.ts +26 -0
  232. package/link/link.module.d.ts +3 -2
  233. package/package.json +1 -1
  234. package/docs/storybook/1345.e54b0c87.iframe.bundle.js +0 -1
  235. package/docs/storybook/7141.259796ae.iframe.bundle.js +0 -1
  236. package/docs/storybook/901.22b316ed.iframe.bundle.js +0 -1
  237. package/docs/storybook/9558.40984421.iframe.bundle.js +0 -1
  238. package/docs/storybook/9672.84e90325.iframe.bundle.js +0 -1
  239. package/docs/storybook/accordion-accordion-stories.e04e2378.iframe.bundle.js +0 -1
  240. package/docs/storybook/button-button-set-stories.1417284a.iframe.bundle.js +0 -1
  241. package/docs/storybook/button-button-stories.a12bca49.iframe.bundle.js +0 -1
  242. package/docs/storybook/button-icon-button-stories.d6e7f30d.iframe.bundle.js +0 -1
  243. package/docs/storybook/code-snippet-code-snippet-stories.0b374806.iframe.bundle.js +0 -1
  244. package/docs/storybook/combobox-combobox-stories.84acbfa0.iframe.bundle.js +0 -1
  245. package/docs/storybook/context-menu-context-menu-stories.64411dcb.iframe.bundle.js +0 -1
  246. package/docs/storybook/datepicker-datepicker-stories.adb85d77.iframe.bundle.js +0 -1
  247. package/docs/storybook/dropdown-dropdown-stories.c20a8aa6.iframe.bundle.js +0 -1
  248. package/docs/storybook/icon-icon-stories.7926f3ba.iframe.bundle.js +0 -1
  249. package/docs/storybook/index-stories.613320d5.iframe.bundle.js +0 -1
  250. package/docs/storybook/inline-loading-inline-loading-stories.5226939d.iframe.bundle.js +0 -1
  251. package/docs/storybook/input-input-stories.fa251a40.iframe.bundle.js +0 -1
  252. package/docs/storybook/input-password-stories.def6cbdf.iframe.bundle.js +0 -1
  253. package/docs/storybook/input-textarea-stories.425449a3.iframe.bundle.js +0 -1
  254. package/docs/storybook/link-link-stories.9e3dd976.iframe.bundle.js +0 -1
  255. package/docs/storybook/main.11fd86ca.iframe.bundle.js +0 -1
  256. package/docs/storybook/number-input-number-stories.8d02c22f.iframe.bundle.js +0 -1
  257. package/docs/storybook/patterns-dialogs-modal-with-table-stories.a011175b.iframe.bundle.js +0 -1
  258. package/docs/storybook/patterns-loading-large-loading-stories.a879e04d.iframe.bundle.js +0 -1
  259. package/docs/storybook/progress-bar-progress-bar-stories.b2965ab3.iframe.bundle.js +0 -1
  260. package/docs/storybook/progress-indicator-progress-indicator-stories.b7f8dfd4.iframe.bundle.js +0 -1
  261. package/docs/storybook/radio-radio-stories.b6c3c440.iframe.bundle.js +0 -1
  262. package/docs/storybook/search-search-stories.c9476b26.iframe.bundle.js +0 -1
  263. package/docs/storybook/structured-list-structured-list-stories.e6a4535e.iframe.bundle.js +0 -1
  264. package/docs/storybook/tag-tag-stories.dffa6874.iframe.bundle.js +0 -1
  265. package/docs/storybook/toggletip-toggletip-stories.c3354041.iframe.bundle.js +0 -1
  266. package/docs/storybook/treeview-treeview-stories.7addb70a.iframe.bundle.js +0 -1
  267. package/docs/storybook/ui-shell-ui-shell-stories.61c6235e.iframe.bundle.js +0 -1
@@ -61,9 +61,12 @@ class TextInput {
61
61
  get isLightTheme() {
62
62
  return this.theme === "light";
63
63
  }
64
+ get getInvalidAttribute() {
65
+ return this.invalid ? true : undefined;
66
+ }
64
67
  }
65
68
  TextInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TextInput, deps: [], target: i0.ɵɵFactoryTarget.Directive });
66
- TextInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: TextInput, selector: "[cdsText], [ibmText]", inputs: { theme: "theme", size: "size", invalid: "invalid", warn: "warn", skeleton: "skeleton" }, host: { properties: { "class.cds--text-input": "this.inputClass", "class.cds--text-input--sm": "this.isSizeSm", "class.cds--text-input--md": "this.isSizeMd", "class.cds--text-input--lg": "this.isSizelg", "class.cds--layout--size-sm": "this.sizeSm", "class.cds--layout--size-md": "this.sizeMd", "class.cds--layout--size-lg": "this.sizelg", "class.cds--text-input--invalid": "this.invalid", "class.cds--text-input__field-wrapper--warning": "this.warn", "class.cds--skeleton": "this.skeleton", "class.cds--text-input--light": "this.isLightTheme" } }, ngImport: i0 });
69
+ TextInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: TextInput, selector: "[cdsText], [ibmText]", inputs: { theme: "theme", size: "size", invalid: "invalid", warn: "warn", skeleton: "skeleton" }, host: { properties: { "class.cds--text-input": "this.inputClass", "class.cds--text-input--sm": "this.isSizeSm", "class.cds--text-input--md": "this.isSizeMd", "class.cds--text-input--lg": "this.isSizelg", "class.cds--layout--size-sm": "this.sizeSm", "class.cds--layout--size-md": "this.sizeMd", "class.cds--layout--size-lg": "this.sizelg", "class.cds--text-input--invalid": "this.invalid", "class.cds--text-input--warning": "this.warn", "class.cds--skeleton": "this.skeleton", "class.cds--text-input--light": "this.isLightTheme", "attr.data-invalid": "this.getInvalidAttribute" } }, ngImport: i0 });
67
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TextInput, decorators: [{
68
71
  type: Directive,
69
72
  args: [{
@@ -101,7 +104,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
101
104
  type: Input
102
105
  }], warn: [{
103
106
  type: HostBinding,
104
- args: ["class.cds--text-input__field-wrapper--warning"]
107
+ args: ["class.cds--text-input--warning"]
105
108
  }, {
106
109
  type: Input
107
110
  }], skeleton: [{
@@ -112,6 +115,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
112
115
  }], isLightTheme: [{
113
116
  type: HostBinding,
114
117
  args: ["class.cds--text-input--light"]
118
+ }], getInvalidAttribute: [{
119
+ type: HostBinding,
120
+ args: ["attr.data-invalid"]
115
121
  }] } });
116
122
 
117
123
  /**
@@ -226,12 +232,15 @@ class PasswordInput {
226
232
  get isLightTheme() {
227
233
  return this.theme === "light";
228
234
  }
235
+ get getInvalidAttribute() {
236
+ return this.invalid ? true : undefined;
237
+ }
229
238
  ngAfterViewInit() {
230
239
  this.renderer.setAttribute(this.elementRef.nativeElement, "type", this._type);
231
240
  }
232
241
  }
233
242
  PasswordInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PasswordInput, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
234
- PasswordInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: PasswordInput, selector: "[cdsPassword], [ibmPassword]", inputs: { type: "type", invalid: "invalid", warn: "warn", skeleton: "skeleton", theme: "theme", size: "size" }, host: { properties: { "class.cds--password-input": "this.passwordInputClass", "class.cds--text-input--sm": "this.isSizeSm", "class.cds--text-input--md": "this.isSizeMd", "class.cds--text-input--lg": "this.isSizelg", "class.cds--layout--size-sm": "this.sizeSm", "class.cds--layout--size-md": "this.sizeMd", "class.cds--layout--size-lg": "this.sizelg", "class.cds--text-input--light": "this.isLightTheme", "class.cds--text-input": "this.inputClass", "class.cds--text-input--invalid": "this.invalid", "class.cds--text-input__field-wrapper--warning": "this.warn", "class.cds--skeleton": "this.skeleton" } }, ngImport: i0 });
243
+ PasswordInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: PasswordInput, selector: "[cdsPassword], [ibmPassword]", inputs: { type: "type", invalid: "invalid", warn: "warn", skeleton: "skeleton", theme: "theme", size: "size" }, host: { properties: { "class.cds--password-input": "this.passwordInputClass", "class.cds--text-input--sm": "this.isSizeSm", "class.cds--text-input--md": "this.isSizeMd", "class.cds--text-input--lg": "this.isSizelg", "class.cds--layout--size-sm": "this.sizeSm", "class.cds--layout--size-md": "this.sizeMd", "class.cds--layout--size-lg": "this.sizelg", "class.cds--text-input--light": "this.isLightTheme", "class.cds--text-input": "this.inputClass", "class.cds--text-input--invalid": "this.invalid", "class.cds--text-input--warning": "this.warn", "class.cds--skeleton": "this.skeleton", "attr.data-invalid": "this.getInvalidAttribute" } }, ngImport: i0 });
235
244
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PasswordInput, decorators: [{
236
245
  type: Directive,
237
246
  args: [{
@@ -273,7 +282,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
273
282
  type: Input
274
283
  }], warn: [{
275
284
  type: HostBinding,
276
- args: ["class.cds--text-input__field-wrapper--warning"]
285
+ args: ["class.cds--text-input--warning"]
277
286
  }, {
278
287
  type: Input
279
288
  }], skeleton: [{
@@ -285,6 +294,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
285
294
  type: Input
286
295
  }], size: [{
287
296
  type: Input
297
+ }], getInvalidAttribute: [{
298
+ type: HostBinding,
299
+ args: ["attr.data-invalid"]
288
300
  }] } });
289
301
 
290
302
  /**
@@ -642,11 +654,22 @@ class TextInputLabelComponent {
642
654
  * Set to `true` to show a warning (contents set by warningText)
643
655
  */
644
656
  this.warn = false;
657
+ /**
658
+ * Experimental: enable fluid state
659
+ */
660
+ this.fluid = false;
645
661
  this.labelClass = true;
662
+ this.textInputWrapper = true;
646
663
  }
647
664
  get isReadonly() {
648
665
  return this.wrapper?.nativeElement.querySelector("input")?.readOnly ?? false;
649
666
  }
667
+ get fluidClass() {
668
+ return this.fluid && !this.skeleton;
669
+ }
670
+ get fluidSkeletonClass() {
671
+ return this.fluid && this.skeleton;
672
+ }
650
673
  /**
651
674
  * Sets the id on the input item associated with the `Label`.
652
675
  */
@@ -682,58 +705,78 @@ class TextInputLabelComponent {
682
705
  */
683
706
  TextInputLabelComponent.labelCounter = 0;
684
707
  TextInputLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TextInputLabelComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
685
- TextInputLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: { labelInputID: "labelInputID", disabled: "disabled", skeleton: "skeleton", labelTemplate: "labelTemplate", textInputTemplate: "textInputTemplate", helperText: "helperText", invalidText: "invalidText", invalid: "invalid", warn: "warn", warnText: "warnText", ariaLabel: "ariaLabel" }, host: { properties: { "class.cds--form-item": "this.labelClass", "class.cds--text-input-wrapper--readonly": "this.isReadonly" } }, viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true }], ngImport: i0, template: `
708
+ TextInputLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: { labelInputID: "labelInputID", disabled: "disabled", skeleton: "skeleton", labelTemplate: "labelTemplate", textInputTemplate: "textInputTemplate", helperText: "helperText", invalidText: "invalidText", invalid: "invalid", warn: "warn", warnText: "warnText", ariaLabel: "ariaLabel", fluid: "fluid" }, host: { properties: { "class.cds--form-item": "this.labelClass", "class.cds--text-input-wrapper": "this.textInputWrapper", "class.cds--text-input-wrapper--readonly": "this.isReadonly", "class.cds--text-input--fluid": "this.fluidClass", "class.cds--text-input--fluid__skeleton": "this.fluidSkeletonClass" } }, viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true }], ngImport: i0, template: `
709
+ <ng-container *ngIf="skeleton">
710
+ <span class="cds--label cds--skeleton"></span>
711
+ <div class="cds--text-input cds--skeleton"></div>
712
+ </ng-container>
686
713
  <label
714
+ *ngIf="!skeleton"
687
715
  [for]="labelInputID"
688
716
  [attr.aria-label]="ariaLabel"
689
717
  class="cds--label"
690
718
  [ngClass]="{
691
- 'cds--label--disabled': disabled,
692
- 'cds--skeleton': skeleton
719
+ 'cds--label--disabled': disabled
693
720
  }">
694
721
  <ng-template *ngIf="labelTemplate; else labelContent" [ngTemplateOutlet]="labelTemplate"></ng-template>
695
722
  <ng-template #labelContent>
696
723
  <ng-content></ng-content>
697
724
  </ng-template>
698
725
  </label>
699
- <div
700
- class="cds--text-input__field-wrapper"
701
- [ngClass]="{
702
- 'cds--text-input__field-wrapper--warning': warn
703
- }"
704
- [attr.data-invalid]="(invalid ? true : null)"
705
- #wrapper>
706
- <svg
707
- *ngIf="invalid"
708
- cdsIcon="warning--filled"
709
- size="16"
710
- class="cds--text-input__invalid-icon">
711
- </svg>
712
- <svg
713
- *ngIf="!invalid && warn"
714
- cdsIcon="warning--alt--filled"
715
- size="16"
716
- class="cds--text-input__invalid-icon cds--text-input__invalid-icon--warning">
717
- </svg>
718
- <ng-template *ngIf="textInputTemplate; else textInputContent" [ngTemplateOutlet]="textInputTemplate"></ng-template>
719
- <ng-template #textInputContent>
720
- <ng-content select="[cdsText],[ibmText],input[type=text],div"></ng-content>
721
- </ng-template>
722
- </div>
723
- <div
724
- *ngIf="!skeleton && helperText && !invalid && !warn"
725
- class="cds--form__helper-text"
726
- [ngClass]="{'cds--form__helper-text--disabled': disabled}">
727
- <ng-container *ngIf="!isTemplate(helperText)">{{helperText}}</ng-container>
728
- <ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
729
- </div>
730
- <div *ngIf="invalid" class="cds--form-requirement">
731
- <ng-container *ngIf="!isTemplate(invalidText)">{{invalidText}}</ng-container>
732
- <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
733
- </div>
734
- <div *ngIf="!invalid && warn" class="cds--form-requirement">
735
- <ng-container *ngIf="!isTemplate(warnText)">{{warnText}}</ng-container>
736
- <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
726
+ <div *ngIf="!skeleton" class="cds--text-input__field-outer-wrapper">
727
+ <div
728
+ class="cds--text-input__field-wrapper"
729
+ [ngClass]="{
730
+ 'cds--text-input__field-wrapper--warning': warn
731
+ }"
732
+ [attr.data-invalid]="(invalid ? true : null)"
733
+ #wrapper>
734
+ <svg
735
+ *ngIf="invalid && !warn"
736
+ cdsIcon="warning--filled"
737
+ size="16"
738
+ class="cds--text-input__invalid-icon">
739
+ </svg>
740
+ <svg
741
+ *ngIf="!invalid && warn"
742
+ cdsIcon="warning--alt--filled"
743
+ size="16"
744
+ class="cds--text-input__invalid-icon cds--text-input__invalid-icon--warning">
745
+ </svg>
746
+ <ng-template *ngIf="textInputTemplate; else textInputContent" [ngTemplateOutlet]="textInputTemplate"></ng-template>
747
+ <ng-template #textInputContent>
748
+ <ng-content select="[cdsText],[ibmText],input[type=text],div"></ng-content>
749
+ </ng-template>
750
+
751
+ <ng-container *ngIf="fluid">
752
+ <hr class="cds--text-input__divider" />
753
+ <div *ngIf="invalid" class="cds--form-requirement">
754
+ <ng-container *ngIf="!isTemplate(invalidText)">{{invalidText}}</ng-container>
755
+ <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
756
+ </div>
757
+ <div *ngIf="!invalid && warn" class="cds--form-requirement">
758
+ <ng-container *ngIf="!isTemplate(warnText)">{{warnText}}</ng-container>
759
+ <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
760
+ </div>
761
+ </ng-container>
762
+ </div>
763
+ <ng-container *ngIf="!fluid">
764
+ <div
765
+ *ngIf="helperText && !invalid && !warn"
766
+ class="cds--form__helper-text"
767
+ [ngClass]="{'cds--form__helper-text--disabled': disabled}">
768
+ <ng-container *ngIf="!isTemplate(helperText)">{{helperText}}</ng-container>
769
+ <ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
770
+ </div>
771
+ <div *ngIf="invalid" class="cds--form-requirement">
772
+ <ng-container *ngIf="!isTemplate(invalidText)">{{invalidText}}</ng-container>
773
+ <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
774
+ </div>
775
+ <div *ngIf="!invalid && warn" class="cds--form-requirement">
776
+ <ng-container *ngIf="!isTemplate(warnText)">{{warnText}}</ng-container>
777
+ <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
778
+ </div>
779
+ </ng-container>
737
780
  </div>
738
781
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }] });
739
782
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TextInputLabelComponent, decorators: [{
@@ -741,57 +784,77 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
741
784
  args: [{
742
785
  selector: "cds-text-label, ibm-text-label",
743
786
  template: `
787
+ <ng-container *ngIf="skeleton">
788
+ <span class="cds--label cds--skeleton"></span>
789
+ <div class="cds--text-input cds--skeleton"></div>
790
+ </ng-container>
744
791
  <label
792
+ *ngIf="!skeleton"
745
793
  [for]="labelInputID"
746
794
  [attr.aria-label]="ariaLabel"
747
795
  class="cds--label"
748
796
  [ngClass]="{
749
- 'cds--label--disabled': disabled,
750
- 'cds--skeleton': skeleton
797
+ 'cds--label--disabled': disabled
751
798
  }">
752
799
  <ng-template *ngIf="labelTemplate; else labelContent" [ngTemplateOutlet]="labelTemplate"></ng-template>
753
800
  <ng-template #labelContent>
754
801
  <ng-content></ng-content>
755
802
  </ng-template>
756
803
  </label>
757
- <div
758
- class="cds--text-input__field-wrapper"
759
- [ngClass]="{
760
- 'cds--text-input__field-wrapper--warning': warn
761
- }"
762
- [attr.data-invalid]="(invalid ? true : null)"
763
- #wrapper>
764
- <svg
765
- *ngIf="invalid"
766
- cdsIcon="warning--filled"
767
- size="16"
768
- class="cds--text-input__invalid-icon">
769
- </svg>
770
- <svg
771
- *ngIf="!invalid && warn"
772
- cdsIcon="warning--alt--filled"
773
- size="16"
774
- class="cds--text-input__invalid-icon cds--text-input__invalid-icon--warning">
775
- </svg>
776
- <ng-template *ngIf="textInputTemplate; else textInputContent" [ngTemplateOutlet]="textInputTemplate"></ng-template>
777
- <ng-template #textInputContent>
778
- <ng-content select="[cdsText],[ibmText],input[type=text],div"></ng-content>
779
- </ng-template>
780
- </div>
781
- <div
782
- *ngIf="!skeleton && helperText && !invalid && !warn"
783
- class="cds--form__helper-text"
784
- [ngClass]="{'cds--form__helper-text--disabled': disabled}">
785
- <ng-container *ngIf="!isTemplate(helperText)">{{helperText}}</ng-container>
786
- <ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
787
- </div>
788
- <div *ngIf="invalid" class="cds--form-requirement">
789
- <ng-container *ngIf="!isTemplate(invalidText)">{{invalidText}}</ng-container>
790
- <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
791
- </div>
792
- <div *ngIf="!invalid && warn" class="cds--form-requirement">
793
- <ng-container *ngIf="!isTemplate(warnText)">{{warnText}}</ng-container>
794
- <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
804
+ <div *ngIf="!skeleton" class="cds--text-input__field-outer-wrapper">
805
+ <div
806
+ class="cds--text-input__field-wrapper"
807
+ [ngClass]="{
808
+ 'cds--text-input__field-wrapper--warning': warn
809
+ }"
810
+ [attr.data-invalid]="(invalid ? true : null)"
811
+ #wrapper>
812
+ <svg
813
+ *ngIf="invalid && !warn"
814
+ cdsIcon="warning--filled"
815
+ size="16"
816
+ class="cds--text-input__invalid-icon">
817
+ </svg>
818
+ <svg
819
+ *ngIf="!invalid && warn"
820
+ cdsIcon="warning--alt--filled"
821
+ size="16"
822
+ class="cds--text-input__invalid-icon cds--text-input__invalid-icon--warning">
823
+ </svg>
824
+ <ng-template *ngIf="textInputTemplate; else textInputContent" [ngTemplateOutlet]="textInputTemplate"></ng-template>
825
+ <ng-template #textInputContent>
826
+ <ng-content select="[cdsText],[ibmText],input[type=text],div"></ng-content>
827
+ </ng-template>
828
+
829
+ <ng-container *ngIf="fluid">
830
+ <hr class="cds--text-input__divider" />
831
+ <div *ngIf="invalid" class="cds--form-requirement">
832
+ <ng-container *ngIf="!isTemplate(invalidText)">{{invalidText}}</ng-container>
833
+ <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
834
+ </div>
835
+ <div *ngIf="!invalid && warn" class="cds--form-requirement">
836
+ <ng-container *ngIf="!isTemplate(warnText)">{{warnText}}</ng-container>
837
+ <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
838
+ </div>
839
+ </ng-container>
840
+ </div>
841
+ <ng-container *ngIf="!fluid">
842
+ <div
843
+ *ngIf="helperText && !invalid && !warn"
844
+ class="cds--form__helper-text"
845
+ [ngClass]="{'cds--form__helper-text--disabled': disabled}">
846
+ <ng-container *ngIf="!isTemplate(helperText)">{{helperText}}</ng-container>
847
+ <ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
848
+ </div>
849
+ <div *ngIf="invalid" class="cds--form-requirement">
850
+ <ng-container *ngIf="!isTemplate(invalidText)">{{invalidText}}</ng-container>
851
+ <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
852
+ </div>
853
+ <div *ngIf="!invalid && warn" class="cds--form-requirement">
854
+ <ng-container *ngIf="!isTemplate(warnText)">{{warnText}}</ng-container>
855
+ <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
856
+ </div>
857
+ </ng-container>
795
858
  </div>
796
859
  `
797
860
  }]
@@ -817,15 +880,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
817
880
  type: Input
818
881
  }], ariaLabel: [{
819
882
  type: Input
883
+ }], fluid: [{
884
+ type: Input
820
885
  }], wrapper: [{
821
886
  type: ViewChild,
822
887
  args: ["wrapper", { static: false }]
823
888
  }], labelClass: [{
824
889
  type: HostBinding,
825
890
  args: ["class.cds--form-item"]
891
+ }], textInputWrapper: [{
892
+ type: HostBinding,
893
+ args: ["class.cds--text-input-wrapper"]
826
894
  }], isReadonly: [{
827
895
  type: HostBinding,
828
896
  args: ["class.cds--text-input-wrapper--readonly"]
897
+ }], fluidClass: [{
898
+ type: HostBinding,
899
+ args: ["class.cds--text-input--fluid"]
900
+ }], fluidSkeletonClass: [{
901
+ type: HostBinding,
902
+ args: ["class.cds--text-input--fluid__skeleton"]
829
903
  }] } });
830
904
 
831
905
  /**
@@ -891,6 +965,10 @@ class PasswordInputLabelComponent extends BaseIconButton {
891
965
  * Tooltip text for showing password.
892
966
  */
893
967
  this.showPasswordLabel = "Show password";
968
+ /**
969
+ * Experimental: enable fluid state
970
+ */
971
+ this.fluid = false;
894
972
  /**
895
973
  * Binding for applying class to host element.
896
974
  */
@@ -901,6 +979,12 @@ class PasswordInputLabelComponent extends BaseIconButton {
901
979
  get isReadonly() {
902
980
  return this.wrapper?.nativeElement.querySelector("input")?.readOnly ?? false;
903
981
  }
982
+ get fluidClass() {
983
+ return this.fluid && !this.skeleton;
984
+ }
985
+ get fluidSkeletonClass() {
986
+ return this.fluid && this.skeleton;
987
+ }
904
988
  /**
905
989
  * Lifecycle hook called after the view has been initialized to set the ID of the input element
906
990
  */
@@ -939,14 +1023,18 @@ class PasswordInputLabelComponent extends BaseIconButton {
939
1023
  */
940
1024
  PasswordInputLabelComponent.labelCounter = 0;
941
1025
  PasswordInputLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PasswordInputLabelComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
942
- PasswordInputLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PasswordInputLabelComponent, selector: "cds-password-label, ibm-password-label", inputs: { labelInputID: "labelInputID", disabled: "disabled", skeleton: "skeleton", labelTemplate: "labelTemplate", passwordInputTemplate: "passwordInputTemplate", helperText: "helperText", invalidText: "invalidText", invalid: "invalid", warn: "warn", warnText: "warnText", ariaLabel: "ariaLabel", hidePasswordLabel: "hidePasswordLabel", showPasswordLabel: "showPasswordLabel" }, host: { properties: { "class.cds--form-item": "this.labelClass", "class.cds--password-input-wrapper": "this.passwordInputWrapper", "class.cds--text-input-wrapper": "this.textInputWrapper", "class.cds--text-input-wrapper--readonly": "this.isReadonly" } }, queries: [{ propertyName: "textInput", first: true, predicate: PasswordInput, descendants: true }], viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
1026
+ PasswordInputLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PasswordInputLabelComponent, selector: "cds-password-label, ibm-password-label", inputs: { labelInputID: "labelInputID", disabled: "disabled", skeleton: "skeleton", labelTemplate: "labelTemplate", passwordInputTemplate: "passwordInputTemplate", helperText: "helperText", invalidText: "invalidText", invalid: "invalid", warn: "warn", warnText: "warnText", ariaLabel: "ariaLabel", hidePasswordLabel: "hidePasswordLabel", showPasswordLabel: "showPasswordLabel", fluid: "fluid" }, host: { properties: { "class.cds--form-item": "this.labelClass", "class.cds--password-input-wrapper": "this.passwordInputWrapper", "class.cds--text-input-wrapper": "this.textInputWrapper", "class.cds--text-input-wrapper--readonly": "this.isReadonly", "class.cds--text-input--fluid": "this.fluidClass", "class.cds--text-input--fluid__skeleton": "this.fluidSkeletonClass" } }, queries: [{ propertyName: "textInput", first: true, predicate: PasswordInput, descendants: true }], viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
1027
+ <ng-container *ngIf="skeleton">
1028
+ <span class="cds--label cds--skeleton"></span>
1029
+ <div class="cds--text-input cds--skeleton"></div>
1030
+ </ng-container>
943
1031
  <label
1032
+ *ngIf="!skeleton"
944
1033
  [for]="labelInputID"
945
1034
  [attr.aria-label]="ariaLabel"
946
1035
  class="cds--label"
947
1036
  [ngClass]="{
948
- 'cds--label--disabled': disabled,
949
- 'cds--skeleton': skeleton
1037
+ 'cds--label--disabled': disabled
950
1038
  }">
951
1039
  <ng-template *ngIf="labelTemplate; else labelContent" [ngTemplateOutlet]="labelTemplate"></ng-template>
952
1040
  <ng-template #labelContent>
@@ -954,7 +1042,7 @@ PasswordInputLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.
954
1042
  </ng-template>
955
1043
  </label>
956
1044
 
957
- <div class="cds--text-input__field-outer-wrapper">
1045
+ <div *ngIf="!skeleton" class="cds--text-input__field-outer-wrapper">
958
1046
  <div
959
1047
  class="cds--text-input__field-wrapper"
960
1048
  [ngClass]="{
@@ -999,24 +1087,38 @@ PasswordInputLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.
999
1087
  </button>
1000
1088
  </div>
1001
1089
  </cds-tooltip>
1002
- </div>
1003
- <div
1004
- *ngIf="!skeleton && helperText && !invalid && !warn"
1005
- class="cds--form__helper-text"
1006
- [ngClass]="{ 'cds--form__helper-text--disabled': disabled }">
1007
- <ng-container *ngIf="!isTemplate(helperText)">{{ helperText }}</ng-container>
1008
- <ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
1009
- </div>
1010
1090
 
1011
- <div *ngIf="!warn && invalid" class="cds--form-requirement">
1012
- <ng-container *ngIf="!isTemplate(invalidText)">{{ invalidText }}</ng-container>
1013
- <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
1091
+ <ng-container *ngIf="fluid">
1092
+ <hr class="cds--text-input__divider" />
1093
+ <div *ngIf="!warn && invalid" class="cds--form-requirement">
1094
+ <ng-container *ngIf="!isTemplate(invalidText)">{{ invalidText }}</ng-container>
1095
+ <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
1096
+ </div>
1097
+ <div *ngIf="!invalid && warn" class="cds--form-requirement">
1098
+ <ng-container *ngIf="!isTemplate(warnText)">{{ warnText }}</ng-container>
1099
+ <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
1100
+ </div>
1101
+ </ng-container>
1014
1102
  </div>
1103
+ <ng-container *ngIf="!fluid">
1104
+ <div
1105
+ *ngIf="!skeleton && helperText && !invalid && !warn"
1106
+ class="cds--form__helper-text"
1107
+ [ngClass]="{ 'cds--form__helper-text--disabled': disabled }">
1108
+ <ng-container *ngIf="!isTemplate(helperText)">{{ helperText }}</ng-container>
1109
+ <ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
1110
+ </div>
1015
1111
 
1016
- <div *ngIf="!invalid && warn" class="cds--form-requirement">
1017
- <ng-container *ngIf="!isTemplate(warnText)">{{ warnText }}</ng-container>
1018
- <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
1019
- </div>
1112
+ <div *ngIf="!warn && invalid" class="cds--form-requirement">
1113
+ <ng-container *ngIf="!isTemplate(invalidText)">{{ invalidText }}</ng-container>
1114
+ <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
1115
+ </div>
1116
+
1117
+ <div *ngIf="!invalid && warn" class="cds--form-requirement">
1118
+ <ng-container *ngIf="!isTemplate(warnText)">{{ warnText }}</ng-container>
1119
+ <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
1120
+ </div>
1121
+ </ng-container>
1020
1122
  </div>
1021
1123
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i3.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description", "templateContext"] }] });
1022
1124
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PasswordInputLabelComponent, decorators: [{
@@ -1024,13 +1126,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
1024
1126
  args: [{
1025
1127
  selector: "cds-password-label, ibm-password-label",
1026
1128
  template: `
1129
+ <ng-container *ngIf="skeleton">
1130
+ <span class="cds--label cds--skeleton"></span>
1131
+ <div class="cds--text-input cds--skeleton"></div>
1132
+ </ng-container>
1027
1133
  <label
1134
+ *ngIf="!skeleton"
1028
1135
  [for]="labelInputID"
1029
1136
  [attr.aria-label]="ariaLabel"
1030
1137
  class="cds--label"
1031
1138
  [ngClass]="{
1032
- 'cds--label--disabled': disabled,
1033
- 'cds--skeleton': skeleton
1139
+ 'cds--label--disabled': disabled
1034
1140
  }">
1035
1141
  <ng-template *ngIf="labelTemplate; else labelContent" [ngTemplateOutlet]="labelTemplate"></ng-template>
1036
1142
  <ng-template #labelContent>
@@ -1038,7 +1144,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
1038
1144
  </ng-template>
1039
1145
  </label>
1040
1146
 
1041
- <div class="cds--text-input__field-outer-wrapper">
1147
+ <div *ngIf="!skeleton" class="cds--text-input__field-outer-wrapper">
1042
1148
  <div
1043
1149
  class="cds--text-input__field-wrapper"
1044
1150
  [ngClass]="{
@@ -1083,24 +1189,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
1083
1189
  </button>
1084
1190
  </div>
1085
1191
  </cds-tooltip>
1086
- </div>
1087
- <div
1088
- *ngIf="!skeleton && helperText && !invalid && !warn"
1089
- class="cds--form__helper-text"
1090
- [ngClass]="{ 'cds--form__helper-text--disabled': disabled }">
1091
- <ng-container *ngIf="!isTemplate(helperText)">{{ helperText }}</ng-container>
1092
- <ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
1093
- </div>
1094
1192
 
1095
- <div *ngIf="!warn && invalid" class="cds--form-requirement">
1096
- <ng-container *ngIf="!isTemplate(invalidText)">{{ invalidText }}</ng-container>
1097
- <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
1193
+ <ng-container *ngIf="fluid">
1194
+ <hr class="cds--text-input__divider" />
1195
+ <div *ngIf="!warn && invalid" class="cds--form-requirement">
1196
+ <ng-container *ngIf="!isTemplate(invalidText)">{{ invalidText }}</ng-container>
1197
+ <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
1198
+ </div>
1199
+ <div *ngIf="!invalid && warn" class="cds--form-requirement">
1200
+ <ng-container *ngIf="!isTemplate(warnText)">{{ warnText }}</ng-container>
1201
+ <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
1202
+ </div>
1203
+ </ng-container>
1098
1204
  </div>
1205
+ <ng-container *ngIf="!fluid">
1206
+ <div
1207
+ *ngIf="!skeleton && helperText && !invalid && !warn"
1208
+ class="cds--form__helper-text"
1209
+ [ngClass]="{ 'cds--form__helper-text--disabled': disabled }">
1210
+ <ng-container *ngIf="!isTemplate(helperText)">{{ helperText }}</ng-container>
1211
+ <ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
1212
+ </div>
1099
1213
 
1100
- <div *ngIf="!invalid && warn" class="cds--form-requirement">
1101
- <ng-container *ngIf="!isTemplate(warnText)">{{ warnText }}</ng-container>
1102
- <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
1103
- </div>
1214
+ <div *ngIf="!warn && invalid" class="cds--form-requirement">
1215
+ <ng-container *ngIf="!isTemplate(invalidText)">{{ invalidText }}</ng-container>
1216
+ <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
1217
+ </div>
1218
+
1219
+ <div *ngIf="!invalid && warn" class="cds--form-requirement">
1220
+ <ng-container *ngIf="!isTemplate(warnText)">{{ warnText }}</ng-container>
1221
+ <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
1222
+ </div>
1223
+ </ng-container>
1104
1224
  </div>
1105
1225
  `
1106
1226
  }]
@@ -1133,6 +1253,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
1133
1253
  type: Input
1134
1254
  }], showPasswordLabel: [{
1135
1255
  type: Input
1256
+ }], fluid: [{
1257
+ type: Input
1136
1258
  }], wrapper: [{
1137
1259
  type: ViewChild,
1138
1260
  args: ["wrapper", { static: true }]
@@ -1148,6 +1270,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
1148
1270
  }], isReadonly: [{
1149
1271
  type: HostBinding,
1150
1272
  args: ["class.cds--text-input-wrapper--readonly"]
1273
+ }], fluidClass: [{
1274
+ type: HostBinding,
1275
+ args: ["class.cds--text-input--fluid"]
1276
+ }], fluidSkeletonClass: [{
1277
+ type: HostBinding,
1278
+ args: ["class.cds--text-input--fluid__skeleton"]
1151
1279
  }] } });
1152
1280
 
1153
1281
  /**
@@ -1357,7 +1485,7 @@ Label.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0
1357
1485
  <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
1358
1486
  </div>
1359
1487
  </ng-template>
1360
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: TextareaLabelComponent, selector: "cds-textarea-label, ibm-textarea-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textAreaTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "component", type: TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "component", type: PasswordInputLabelComponent, selector: "cds-password-label, ibm-password-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "passwordInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "hidePasswordLabel", "showPasswordLabel"] }] });
1488
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: TextareaLabelComponent, selector: "cds-textarea-label, ibm-textarea-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textAreaTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "component", type: TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "component", type: PasswordInputLabelComponent, selector: "cds-password-label, ibm-password-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "passwordInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "hidePasswordLabel", "showPasswordLabel", "fluid"] }] });
1361
1489
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Label, decorators: [{
1362
1490
  type: Component,
1363
1491
  args: [{