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
  /**
@@ -643,12 +655,23 @@ class TextInputLabelComponent {
643
655
  * Set to `true` to show a warning (contents set by warningText)
644
656
  */
645
657
  this.warn = false;
658
+ /**
659
+ * Experimental: enable fluid state
660
+ */
661
+ this.fluid = false;
646
662
  this.labelClass = true;
663
+ this.textInputWrapper = true;
647
664
  }
648
665
  get isReadonly() {
649
666
  var _a, _b, _c;
650
667
  return (_c = (_b = (_a = this.wrapper) === null || _a === void 0 ? void 0 : _a.nativeElement.querySelector("input")) === null || _b === void 0 ? void 0 : _b.readOnly) !== null && _c !== void 0 ? _c : false;
651
668
  }
669
+ get fluidClass() {
670
+ return this.fluid && !this.skeleton;
671
+ }
672
+ get fluidSkeletonClass() {
673
+ return this.fluid && this.skeleton;
674
+ }
652
675
  /**
653
676
  * Sets the id on the input item associated with the `Label`.
654
677
  */
@@ -684,58 +707,78 @@ class TextInputLabelComponent {
684
707
  */
685
708
  TextInputLabelComponent.labelCounter = 0;
686
709
  TextInputLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TextInputLabelComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
687
- 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: `
710
+ 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: `
711
+ <ng-container *ngIf="skeleton">
712
+ <span class="cds--label cds--skeleton"></span>
713
+ <div class="cds--text-input cds--skeleton"></div>
714
+ </ng-container>
688
715
  <label
716
+ *ngIf="!skeleton"
689
717
  [for]="labelInputID"
690
718
  [attr.aria-label]="ariaLabel"
691
719
  class="cds--label"
692
720
  [ngClass]="{
693
- 'cds--label--disabled': disabled,
694
- 'cds--skeleton': skeleton
721
+ 'cds--label--disabled': disabled
695
722
  }">
696
723
  <ng-template *ngIf="labelTemplate; else labelContent" [ngTemplateOutlet]="labelTemplate"></ng-template>
697
724
  <ng-template #labelContent>
698
725
  <ng-content></ng-content>
699
726
  </ng-template>
700
727
  </label>
701
- <div
702
- class="cds--text-input__field-wrapper"
703
- [ngClass]="{
704
- 'cds--text-input__field-wrapper--warning': warn
705
- }"
706
- [attr.data-invalid]="(invalid ? true : null)"
707
- #wrapper>
708
- <svg
709
- *ngIf="invalid"
710
- cdsIcon="warning--filled"
711
- size="16"
712
- class="cds--text-input__invalid-icon">
713
- </svg>
714
- <svg
715
- *ngIf="!invalid && warn"
716
- cdsIcon="warning--alt--filled"
717
- size="16"
718
- class="cds--text-input__invalid-icon cds--text-input__invalid-icon--warning">
719
- </svg>
720
- <ng-template *ngIf="textInputTemplate; else textInputContent" [ngTemplateOutlet]="textInputTemplate"></ng-template>
721
- <ng-template #textInputContent>
722
- <ng-content select="[cdsText],[ibmText],input[type=text],div"></ng-content>
723
- </ng-template>
724
- </div>
725
- <div
726
- *ngIf="!skeleton && helperText && !invalid && !warn"
727
- class="cds--form__helper-text"
728
- [ngClass]="{'cds--form__helper-text--disabled': disabled}">
729
- <ng-container *ngIf="!isTemplate(helperText)">{{helperText}}</ng-container>
730
- <ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
731
- </div>
732
- <div *ngIf="invalid" class="cds--form-requirement">
733
- <ng-container *ngIf="!isTemplate(invalidText)">{{invalidText}}</ng-container>
734
- <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
735
- </div>
736
- <div *ngIf="!invalid && warn" class="cds--form-requirement">
737
- <ng-container *ngIf="!isTemplate(warnText)">{{warnText}}</ng-container>
738
- <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
728
+ <div *ngIf="!skeleton" class="cds--text-input__field-outer-wrapper">
729
+ <div
730
+ class="cds--text-input__field-wrapper"
731
+ [ngClass]="{
732
+ 'cds--text-input__field-wrapper--warning': warn
733
+ }"
734
+ [attr.data-invalid]="(invalid ? true : null)"
735
+ #wrapper>
736
+ <svg
737
+ *ngIf="invalid && !warn"
738
+ cdsIcon="warning--filled"
739
+ size="16"
740
+ class="cds--text-input__invalid-icon">
741
+ </svg>
742
+ <svg
743
+ *ngIf="!invalid && warn"
744
+ cdsIcon="warning--alt--filled"
745
+ size="16"
746
+ class="cds--text-input__invalid-icon cds--text-input__invalid-icon--warning">
747
+ </svg>
748
+ <ng-template *ngIf="textInputTemplate; else textInputContent" [ngTemplateOutlet]="textInputTemplate"></ng-template>
749
+ <ng-template #textInputContent>
750
+ <ng-content select="[cdsText],[ibmText],input[type=text],div"></ng-content>
751
+ </ng-template>
752
+
753
+ <ng-container *ngIf="fluid">
754
+ <hr class="cds--text-input__divider" />
755
+ <div *ngIf="invalid" class="cds--form-requirement">
756
+ <ng-container *ngIf="!isTemplate(invalidText)">{{invalidText}}</ng-container>
757
+ <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
758
+ </div>
759
+ <div *ngIf="!invalid && warn" class="cds--form-requirement">
760
+ <ng-container *ngIf="!isTemplate(warnText)">{{warnText}}</ng-container>
761
+ <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
762
+ </div>
763
+ </ng-container>
764
+ </div>
765
+ <ng-container *ngIf="!fluid">
766
+ <div
767
+ *ngIf="helperText && !invalid && !warn"
768
+ class="cds--form__helper-text"
769
+ [ngClass]="{'cds--form__helper-text--disabled': disabled}">
770
+ <ng-container *ngIf="!isTemplate(helperText)">{{helperText}}</ng-container>
771
+ <ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
772
+ </div>
773
+ <div *ngIf="invalid" class="cds--form-requirement">
774
+ <ng-container *ngIf="!isTemplate(invalidText)">{{invalidText}}</ng-container>
775
+ <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
776
+ </div>
777
+ <div *ngIf="!invalid && warn" class="cds--form-requirement">
778
+ <ng-container *ngIf="!isTemplate(warnText)">{{warnText}}</ng-container>
779
+ <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
780
+ </div>
781
+ </ng-container>
739
782
  </div>
740
783
  `, 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"] }] });
741
784
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TextInputLabelComponent, decorators: [{
@@ -743,57 +786,77 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
743
786
  args: [{
744
787
  selector: "cds-text-label, ibm-text-label",
745
788
  template: `
789
+ <ng-container *ngIf="skeleton">
790
+ <span class="cds--label cds--skeleton"></span>
791
+ <div class="cds--text-input cds--skeleton"></div>
792
+ </ng-container>
746
793
  <label
794
+ *ngIf="!skeleton"
747
795
  [for]="labelInputID"
748
796
  [attr.aria-label]="ariaLabel"
749
797
  class="cds--label"
750
798
  [ngClass]="{
751
- 'cds--label--disabled': disabled,
752
- 'cds--skeleton': skeleton
799
+ 'cds--label--disabled': disabled
753
800
  }">
754
801
  <ng-template *ngIf="labelTemplate; else labelContent" [ngTemplateOutlet]="labelTemplate"></ng-template>
755
802
  <ng-template #labelContent>
756
803
  <ng-content></ng-content>
757
804
  </ng-template>
758
805
  </label>
759
- <div
760
- class="cds--text-input__field-wrapper"
761
- [ngClass]="{
762
- 'cds--text-input__field-wrapper--warning': warn
763
- }"
764
- [attr.data-invalid]="(invalid ? true : null)"
765
- #wrapper>
766
- <svg
767
- *ngIf="invalid"
768
- cdsIcon="warning--filled"
769
- size="16"
770
- class="cds--text-input__invalid-icon">
771
- </svg>
772
- <svg
773
- *ngIf="!invalid && warn"
774
- cdsIcon="warning--alt--filled"
775
- size="16"
776
- class="cds--text-input__invalid-icon cds--text-input__invalid-icon--warning">
777
- </svg>
778
- <ng-template *ngIf="textInputTemplate; else textInputContent" [ngTemplateOutlet]="textInputTemplate"></ng-template>
779
- <ng-template #textInputContent>
780
- <ng-content select="[cdsText],[ibmText],input[type=text],div"></ng-content>
781
- </ng-template>
782
- </div>
783
- <div
784
- *ngIf="!skeleton && helperText && !invalid && !warn"
785
- class="cds--form__helper-text"
786
- [ngClass]="{'cds--form__helper-text--disabled': disabled}">
787
- <ng-container *ngIf="!isTemplate(helperText)">{{helperText}}</ng-container>
788
- <ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
789
- </div>
790
- <div *ngIf="invalid" class="cds--form-requirement">
791
- <ng-container *ngIf="!isTemplate(invalidText)">{{invalidText}}</ng-container>
792
- <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
793
- </div>
794
- <div *ngIf="!invalid && warn" class="cds--form-requirement">
795
- <ng-container *ngIf="!isTemplate(warnText)">{{warnText}}</ng-container>
796
- <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
806
+ <div *ngIf="!skeleton" class="cds--text-input__field-outer-wrapper">
807
+ <div
808
+ class="cds--text-input__field-wrapper"
809
+ [ngClass]="{
810
+ 'cds--text-input__field-wrapper--warning': warn
811
+ }"
812
+ [attr.data-invalid]="(invalid ? true : null)"
813
+ #wrapper>
814
+ <svg
815
+ *ngIf="invalid && !warn"
816
+ cdsIcon="warning--filled"
817
+ size="16"
818
+ class="cds--text-input__invalid-icon">
819
+ </svg>
820
+ <svg
821
+ *ngIf="!invalid && warn"
822
+ cdsIcon="warning--alt--filled"
823
+ size="16"
824
+ class="cds--text-input__invalid-icon cds--text-input__invalid-icon--warning">
825
+ </svg>
826
+ <ng-template *ngIf="textInputTemplate; else textInputContent" [ngTemplateOutlet]="textInputTemplate"></ng-template>
827
+ <ng-template #textInputContent>
828
+ <ng-content select="[cdsText],[ibmText],input[type=text],div"></ng-content>
829
+ </ng-template>
830
+
831
+ <ng-container *ngIf="fluid">
832
+ <hr class="cds--text-input__divider" />
833
+ <div *ngIf="invalid" class="cds--form-requirement">
834
+ <ng-container *ngIf="!isTemplate(invalidText)">{{invalidText}}</ng-container>
835
+ <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
836
+ </div>
837
+ <div *ngIf="!invalid && warn" class="cds--form-requirement">
838
+ <ng-container *ngIf="!isTemplate(warnText)">{{warnText}}</ng-container>
839
+ <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
840
+ </div>
841
+ </ng-container>
842
+ </div>
843
+ <ng-container *ngIf="!fluid">
844
+ <div
845
+ *ngIf="helperText && !invalid && !warn"
846
+ class="cds--form__helper-text"
847
+ [ngClass]="{'cds--form__helper-text--disabled': disabled}">
848
+ <ng-container *ngIf="!isTemplate(helperText)">{{helperText}}</ng-container>
849
+ <ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
850
+ </div>
851
+ <div *ngIf="invalid" class="cds--form-requirement">
852
+ <ng-container *ngIf="!isTemplate(invalidText)">{{invalidText}}</ng-container>
853
+ <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
854
+ </div>
855
+ <div *ngIf="!invalid && warn" class="cds--form-requirement">
856
+ <ng-container *ngIf="!isTemplate(warnText)">{{warnText}}</ng-container>
857
+ <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
858
+ </div>
859
+ </ng-container>
797
860
  </div>
798
861
  `
799
862
  }]
@@ -819,15 +882,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
819
882
  type: Input
820
883
  }], ariaLabel: [{
821
884
  type: Input
885
+ }], fluid: [{
886
+ type: Input
822
887
  }], wrapper: [{
823
888
  type: ViewChild,
824
889
  args: ["wrapper", { static: false }]
825
890
  }], labelClass: [{
826
891
  type: HostBinding,
827
892
  args: ["class.cds--form-item"]
893
+ }], textInputWrapper: [{
894
+ type: HostBinding,
895
+ args: ["class.cds--text-input-wrapper"]
828
896
  }], isReadonly: [{
829
897
  type: HostBinding,
830
898
  args: ["class.cds--text-input-wrapper--readonly"]
899
+ }], fluidClass: [{
900
+ type: HostBinding,
901
+ args: ["class.cds--text-input--fluid"]
902
+ }], fluidSkeletonClass: [{
903
+ type: HostBinding,
904
+ args: ["class.cds--text-input--fluid__skeleton"]
831
905
  }] } });
832
906
 
833
907
  /**
@@ -893,6 +967,10 @@ class PasswordInputLabelComponent extends BaseIconButton {
893
967
  * Tooltip text for showing password.
894
968
  */
895
969
  this.showPasswordLabel = "Show password";
970
+ /**
971
+ * Experimental: enable fluid state
972
+ */
973
+ this.fluid = false;
896
974
  /**
897
975
  * Binding for applying class to host element.
898
976
  */
@@ -904,6 +982,12 @@ class PasswordInputLabelComponent extends BaseIconButton {
904
982
  var _a, _b, _c;
905
983
  return (_c = (_b = (_a = this.wrapper) === null || _a === void 0 ? void 0 : _a.nativeElement.querySelector("input")) === null || _b === void 0 ? void 0 : _b.readOnly) !== null && _c !== void 0 ? _c : false;
906
984
  }
985
+ get fluidClass() {
986
+ return this.fluid && !this.skeleton;
987
+ }
988
+ get fluidSkeletonClass() {
989
+ return this.fluid && this.skeleton;
990
+ }
907
991
  /**
908
992
  * Lifecycle hook called after the view has been initialized to set the ID of the input element
909
993
  */
@@ -942,14 +1026,18 @@ class PasswordInputLabelComponent extends BaseIconButton {
942
1026
  */
943
1027
  PasswordInputLabelComponent.labelCounter = 0;
944
1028
  PasswordInputLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PasswordInputLabelComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
945
- 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: `
1029
+ 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: `
1030
+ <ng-container *ngIf="skeleton">
1031
+ <span class="cds--label cds--skeleton"></span>
1032
+ <div class="cds--text-input cds--skeleton"></div>
1033
+ </ng-container>
946
1034
  <label
1035
+ *ngIf="!skeleton"
947
1036
  [for]="labelInputID"
948
1037
  [attr.aria-label]="ariaLabel"
949
1038
  class="cds--label"
950
1039
  [ngClass]="{
951
- 'cds--label--disabled': disabled,
952
- 'cds--skeleton': skeleton
1040
+ 'cds--label--disabled': disabled
953
1041
  }">
954
1042
  <ng-template *ngIf="labelTemplate; else labelContent" [ngTemplateOutlet]="labelTemplate"></ng-template>
955
1043
  <ng-template #labelContent>
@@ -957,7 +1045,7 @@ PasswordInputLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.
957
1045
  </ng-template>
958
1046
  </label>
959
1047
 
960
- <div class="cds--text-input__field-outer-wrapper">
1048
+ <div *ngIf="!skeleton" class="cds--text-input__field-outer-wrapper">
961
1049
  <div
962
1050
  class="cds--text-input__field-wrapper"
963
1051
  [ngClass]="{
@@ -1002,24 +1090,38 @@ PasswordInputLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.
1002
1090
  </button>
1003
1091
  </div>
1004
1092
  </cds-tooltip>
1005
- </div>
1006
- <div
1007
- *ngIf="!skeleton && helperText && !invalid && !warn"
1008
- class="cds--form__helper-text"
1009
- [ngClass]="{ 'cds--form__helper-text--disabled': disabled }">
1010
- <ng-container *ngIf="!isTemplate(helperText)">{{ helperText }}</ng-container>
1011
- <ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
1012
- </div>
1013
1093
 
1014
- <div *ngIf="!warn && invalid" class="cds--form-requirement">
1015
- <ng-container *ngIf="!isTemplate(invalidText)">{{ invalidText }}</ng-container>
1016
- <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
1094
+ <ng-container *ngIf="fluid">
1095
+ <hr class="cds--text-input__divider" />
1096
+ <div *ngIf="!warn && invalid" class="cds--form-requirement">
1097
+ <ng-container *ngIf="!isTemplate(invalidText)">{{ invalidText }}</ng-container>
1098
+ <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
1099
+ </div>
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>
1104
+ </ng-container>
1017
1105
  </div>
1106
+ <ng-container *ngIf="!fluid">
1107
+ <div
1108
+ *ngIf="!skeleton && helperText && !invalid && !warn"
1109
+ class="cds--form__helper-text"
1110
+ [ngClass]="{ 'cds--form__helper-text--disabled': disabled }">
1111
+ <ng-container *ngIf="!isTemplate(helperText)">{{ helperText }}</ng-container>
1112
+ <ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
1113
+ </div>
1018
1114
 
1019
- <div *ngIf="!invalid && warn" class="cds--form-requirement">
1020
- <ng-container *ngIf="!isTemplate(warnText)">{{ warnText }}</ng-container>
1021
- <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
1022
- </div>
1115
+ <div *ngIf="!warn && invalid" class="cds--form-requirement">
1116
+ <ng-container *ngIf="!isTemplate(invalidText)">{{ invalidText }}</ng-container>
1117
+ <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
1118
+ </div>
1119
+
1120
+ <div *ngIf="!invalid && warn" class="cds--form-requirement">
1121
+ <ng-container *ngIf="!isTemplate(warnText)">{{ warnText }}</ng-container>
1122
+ <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
1123
+ </div>
1124
+ </ng-container>
1023
1125
  </div>
1024
1126
  `, 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"] }] });
1025
1127
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PasswordInputLabelComponent, decorators: [{
@@ -1027,13 +1129,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
1027
1129
  args: [{
1028
1130
  selector: "cds-password-label, ibm-password-label",
1029
1131
  template: `
1132
+ <ng-container *ngIf="skeleton">
1133
+ <span class="cds--label cds--skeleton"></span>
1134
+ <div class="cds--text-input cds--skeleton"></div>
1135
+ </ng-container>
1030
1136
  <label
1137
+ *ngIf="!skeleton"
1031
1138
  [for]="labelInputID"
1032
1139
  [attr.aria-label]="ariaLabel"
1033
1140
  class="cds--label"
1034
1141
  [ngClass]="{
1035
- 'cds--label--disabled': disabled,
1036
- 'cds--skeleton': skeleton
1142
+ 'cds--label--disabled': disabled
1037
1143
  }">
1038
1144
  <ng-template *ngIf="labelTemplate; else labelContent" [ngTemplateOutlet]="labelTemplate"></ng-template>
1039
1145
  <ng-template #labelContent>
@@ -1041,7 +1147,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
1041
1147
  </ng-template>
1042
1148
  </label>
1043
1149
 
1044
- <div class="cds--text-input__field-outer-wrapper">
1150
+ <div *ngIf="!skeleton" class="cds--text-input__field-outer-wrapper">
1045
1151
  <div
1046
1152
  class="cds--text-input__field-wrapper"
1047
1153
  [ngClass]="{
@@ -1086,24 +1192,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
1086
1192
  </button>
1087
1193
  </div>
1088
1194
  </cds-tooltip>
1089
- </div>
1090
- <div
1091
- *ngIf="!skeleton && helperText && !invalid && !warn"
1092
- class="cds--form__helper-text"
1093
- [ngClass]="{ 'cds--form__helper-text--disabled': disabled }">
1094
- <ng-container *ngIf="!isTemplate(helperText)">{{ helperText }}</ng-container>
1095
- <ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
1096
- </div>
1097
1195
 
1098
- <div *ngIf="!warn && invalid" class="cds--form-requirement">
1099
- <ng-container *ngIf="!isTemplate(invalidText)">{{ invalidText }}</ng-container>
1100
- <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
1196
+ <ng-container *ngIf="fluid">
1197
+ <hr class="cds--text-input__divider" />
1198
+ <div *ngIf="!warn && invalid" class="cds--form-requirement">
1199
+ <ng-container *ngIf="!isTemplate(invalidText)">{{ invalidText }}</ng-container>
1200
+ <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
1201
+ </div>
1202
+ <div *ngIf="!invalid && warn" class="cds--form-requirement">
1203
+ <ng-container *ngIf="!isTemplate(warnText)">{{ warnText }}</ng-container>
1204
+ <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
1205
+ </div>
1206
+ </ng-container>
1101
1207
  </div>
1208
+ <ng-container *ngIf="!fluid">
1209
+ <div
1210
+ *ngIf="!skeleton && helperText && !invalid && !warn"
1211
+ class="cds--form__helper-text"
1212
+ [ngClass]="{ 'cds--form__helper-text--disabled': disabled }">
1213
+ <ng-container *ngIf="!isTemplate(helperText)">{{ helperText }}</ng-container>
1214
+ <ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
1215
+ </div>
1102
1216
 
1103
- <div *ngIf="!invalid && warn" class="cds--form-requirement">
1104
- <ng-container *ngIf="!isTemplate(warnText)">{{ warnText }}</ng-container>
1105
- <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
1106
- </div>
1217
+ <div *ngIf="!warn && invalid" class="cds--form-requirement">
1218
+ <ng-container *ngIf="!isTemplate(invalidText)">{{ invalidText }}</ng-container>
1219
+ <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
1220
+ </div>
1221
+
1222
+ <div *ngIf="!invalid && warn" class="cds--form-requirement">
1223
+ <ng-container *ngIf="!isTemplate(warnText)">{{ warnText }}</ng-container>
1224
+ <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
1225
+ </div>
1226
+ </ng-container>
1107
1227
  </div>
1108
1228
  `
1109
1229
  }]
@@ -1136,6 +1256,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
1136
1256
  type: Input
1137
1257
  }], showPasswordLabel: [{
1138
1258
  type: Input
1259
+ }], fluid: [{
1260
+ type: Input
1139
1261
  }], wrapper: [{
1140
1262
  type: ViewChild,
1141
1263
  args: ["wrapper", { static: true }]
@@ -1151,6 +1273,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
1151
1273
  }], isReadonly: [{
1152
1274
  type: HostBinding,
1153
1275
  args: ["class.cds--text-input-wrapper--readonly"]
1276
+ }], fluidClass: [{
1277
+ type: HostBinding,
1278
+ args: ["class.cds--text-input--fluid"]
1279
+ }], fluidSkeletonClass: [{
1280
+ type: HostBinding,
1281
+ args: ["class.cds--text-input--fluid__skeleton"]
1154
1282
  }] } });
1155
1283
 
1156
1284
  /**
@@ -1360,7 +1488,7 @@ Label.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0
1360
1488
  <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
1361
1489
  </div>
1362
1490
  </ng-template>
1363
- `, 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"] }] });
1491
+ `, 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"] }] });
1364
1492
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Label, decorators: [{
1365
1493
  type: Component,
1366
1494
  args: [{