carbon-components-angular 5.41.0 → 5.42.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 (90) hide show
  1. package/docs/documentation/classes/CheckboxExportedTests.html +1 -1
  2. package/docs/documentation/components/ComboBox.html +4 -4
  3. package/docs/documentation/components/TextareaLabelComponent.html +346 -128
  4. package/docs/documentation/coverage.html +6 -6
  5. package/docs/documentation/directives/RouterLinkExtendedDirective.html +1 -1
  6. package/docs/documentation/directives/TextArea.html +58 -0
  7. package/docs/documentation/js/search/search_index.js +2 -2
  8. package/docs/documentation/modules/ComboBoxModule/dependencies.svg +4 -4
  9. package/docs/documentation/modules/ComboBoxModule.html +4 -4
  10. package/docs/documentation/modules/ContentSwitcherModule/dependencies.svg +4 -4
  11. package/docs/documentation/modules/ContentSwitcherModule.html +4 -4
  12. package/docs/documentation/modules/DatePickerInputModule/dependencies.svg +41 -37
  13. package/docs/documentation/modules/DatePickerInputModule.html +41 -37
  14. package/docs/documentation/modules/DatePickerModule/dependencies.svg +38 -38
  15. package/docs/documentation/modules/DatePickerModule.html +38 -38
  16. package/docs/documentation/modules/GridModule/dependencies.svg +60 -60
  17. package/docs/documentation/modules/GridModule.html +60 -60
  18. package/docs/documentation/modules/LoadingModule/dependencies.svg +4 -4
  19. package/docs/documentation/modules/LoadingModule.html +4 -4
  20. package/docs/documentation/modules/NFormsModule/dependencies.svg +4 -4
  21. package/docs/documentation/modules/NFormsModule.html +4 -4
  22. package/docs/documentation/modules/NumberModule/dependencies.svg +4 -4
  23. package/docs/documentation/modules/NumberModule.html +4 -4
  24. package/docs/documentation/modules/ProgressIndicatorModule/dependencies.svg +4 -4
  25. package/docs/documentation/modules/ProgressIndicatorModule.html +4 -4
  26. package/docs/documentation/modules/RadioModule/dependencies.svg +4 -4
  27. package/docs/documentation/modules/RadioModule.html +4 -4
  28. package/docs/documentation/modules/SelectModule/dependencies.svg +58 -58
  29. package/docs/documentation/modules/SelectModule.html +58 -58
  30. package/docs/documentation/modules/SliderModule/dependencies.svg +4 -4
  31. package/docs/documentation/modules/SliderModule.html +4 -4
  32. package/docs/documentation/modules/TableModule/dependencies.svg +216 -216
  33. package/docs/documentation/modules/TableModule.html +216 -216
  34. package/docs/documentation/modules/TabsModule/dependencies.svg +69 -69
  35. package/docs/documentation/modules/TabsModule.html +69 -69
  36. package/docs/documentation/modules/TagModule/dependencies.svg +4 -4
  37. package/docs/documentation/modules/TagModule.html +4 -4
  38. package/docs/documentation/modules/ThemeModule/dependencies.svg +4 -4
  39. package/docs/documentation/modules/ThemeModule.html +4 -4
  40. package/docs/documentation/modules/TilesModule/dependencies.svg +86 -86
  41. package/docs/documentation/modules/TilesModule.html +86 -86
  42. package/docs/documentation/modules/TimePickerSelectModule/dependencies.svg +40 -44
  43. package/docs/documentation/modules/TimePickerSelectModule.html +40 -44
  44. package/docs/documentation/modules/ToggleModule/dependencies.svg +42 -46
  45. package/docs/documentation/modules/ToggleModule.html +42 -46
  46. package/docs/documentation/modules/ToggletipModule/dependencies.svg +4 -4
  47. package/docs/documentation/modules/ToggletipModule.html +4 -4
  48. package/docs/documentation/modules/TooltipModule/dependencies.svg +4 -4
  49. package/docs/documentation/modules/TooltipModule.html +4 -4
  50. package/docs/documentation/modules/TreeviewModule/dependencies.svg +35 -35
  51. package/docs/documentation/modules/TreeviewModule.html +35 -35
  52. package/docs/documentation/modules/UIShellModule/dependencies.svg +4 -4
  53. package/docs/documentation/modules/UIShellModule.html +4 -4
  54. package/docs/documentation.json +200 -108
  55. package/docs/storybook/1250.47c381c1.iframe.bundle.js +1 -0
  56. package/docs/storybook/1277.4be2b1a4.iframe.bundle.js +1 -0
  57. package/docs/storybook/{1345.9eabf5e2.iframe.bundle.js → 1345.ec2701f8.iframe.bundle.js} +1 -1
  58. package/docs/storybook/{6765.2096c92a.iframe.bundle.js → 6765.2c6ceeb0.iframe.bundle.js} +1 -1
  59. package/docs/storybook/{combobox-combobox-stories.3bbada2d.iframe.bundle.js → combobox-combobox-stories.84acbfa0.iframe.bundle.js} +1 -1
  60. package/docs/storybook/iframe.html +2 -2
  61. package/docs/storybook/index.json +1 -1
  62. package/docs/storybook/input-textarea-stories.f6532f41.iframe.bundle.js +1 -0
  63. package/docs/storybook/main.a2b57351.iframe.bundle.js +1 -0
  64. package/docs/storybook/project.json +1 -1
  65. package/docs/storybook/runtime~main.f3aed674.iframe.bundle.js +1 -0
  66. package/docs/storybook/stories.json +1 -1
  67. package/esm2020/combobox/combobox.component.mjs +3 -3
  68. package/esm2020/input/label.component.mjs +1 -1
  69. package/esm2020/input/text-area.directive.mjs +8 -2
  70. package/esm2020/input/textarea-label.component.mjs +186 -106
  71. package/esm2020/ui-shell/sidenav/routerlink-extended.directive.mjs +2 -2
  72. package/fesm2015/carbon-components-angular-combobox.mjs +2 -2
  73. package/fesm2015/carbon-components-angular-combobox.mjs.map +1 -1
  74. package/fesm2015/carbon-components-angular-input.mjs +193 -107
  75. package/fesm2015/carbon-components-angular-input.mjs.map +1 -1
  76. package/fesm2015/carbon-components-angular-ui-shell.mjs +1 -1
  77. package/fesm2015/carbon-components-angular-ui-shell.mjs.map +1 -1
  78. package/fesm2020/carbon-components-angular-combobox.mjs +2 -2
  79. package/fesm2020/carbon-components-angular-combobox.mjs.map +1 -1
  80. package/fesm2020/carbon-components-angular-input.mjs +193 -107
  81. package/fesm2020/carbon-components-angular-input.mjs.map +1 -1
  82. package/fesm2020/carbon-components-angular-ui-shell.mjs +1 -1
  83. package/fesm2020/carbon-components-angular-ui-shell.mjs.map +1 -1
  84. package/input/text-area.directive.d.ts +1 -0
  85. package/input/textarea-label.component.d.ts +7 -1
  86. package/package.json +1 -1
  87. package/docs/storybook/7529.5272f30b.iframe.bundle.js +0 -1
  88. package/docs/storybook/input-textarea-stories.1a3b5e80.iframe.bundle.js +0 -1
  89. package/docs/storybook/main.7f34f466.iframe.bundle.js +0 -1
  90. package/docs/storybook/runtime~main.d2952d59.iframe.bundle.js +0 -1
@@ -139,9 +139,12 @@ class TextArea {
139
139
  get isLightTheme() {
140
140
  return this.theme === "light";
141
141
  }
142
+ get getInvalidAttr() {
143
+ return this.invalid ? true : undefined;
144
+ }
142
145
  }
143
146
  TextArea.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TextArea, deps: [], target: i0.ɵɵFactoryTarget.Directive });
144
- TextArea.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: TextArea, selector: "[cdsTextArea], [ibmTextArea]", inputs: { theme: "theme", invalid: "invalid", skeleton: "skeleton" }, host: { properties: { "class.cds--text-area": "this.baseClass", "class.cds--text-area--invalid": "this.invalid", "class.cds--skeleton": "this.skeleton", "class.cds--text-area--light": "this.isLightTheme" } }, ngImport: i0 });
147
+ TextArea.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: TextArea, selector: "[cdsTextArea], [ibmTextArea]", inputs: { theme: "theme", invalid: "invalid", skeleton: "skeleton" }, host: { properties: { "class.cds--text-area": "this.baseClass", "class.cds--text-area--invalid": "this.invalid", "class.cds--skeleton": "this.skeleton", "class.cds--text-area--light": "this.isLightTheme", "attr.data-invalid": "this.getInvalidAttr" } }, ngImport: i0 });
145
148
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TextArea, decorators: [{
146
149
  type: Directive,
147
150
  args: [{
@@ -165,6 +168,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
165
168
  }], isLightTheme: [{
166
169
  type: HostBinding,
167
170
  args: ["class.cds--text-area--light"]
171
+ }], getInvalidAttr: [{
172
+ type: HostBinding,
173
+ args: ["attr.data-invalid"]
168
174
  }] } });
169
175
 
170
176
  class PasswordInput {
@@ -324,11 +330,21 @@ class TextareaLabelComponent {
324
330
  * Set to `true` to show a warning (contents set by warningText)
325
331
  */
326
332
  this.warn = false;
333
+ /**
334
+ * Experimental: enable fluid state
335
+ */
336
+ this.fluid = false;
327
337
  this.labelClass = true;
328
338
  }
329
339
  get isReadonly() {
330
340
  return this.wrapper?.nativeElement.querySelector("textarea")?.readOnly ?? false;
331
341
  }
342
+ get fluidClass() {
343
+ return this.fluid && !this.skeleton;
344
+ }
345
+ get fluidSkeletonClass() {
346
+ return this.fluid && this.skeleton;
347
+ }
332
348
  /**
333
349
  * Sets the id on the input item associated with the `Label`.
334
350
  */
@@ -364,117 +380,179 @@ class TextareaLabelComponent {
364
380
  */
365
381
  TextareaLabelComponent.labelCounter = 0;
366
382
  TextareaLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TextareaLabelComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
367
- TextareaLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TextareaLabelComponent, selector: "cds-textarea-label, ibm-textarea-label", inputs: { labelInputID: "labelInputID", disabled: "disabled", skeleton: "skeleton", labelTemplate: "labelTemplate", textAreaTemplate: "textAreaTemplate", helperText: "helperText", invalidText: "invalidText", invalid: "invalid", warn: "warn", warnText: "warnText", ariaLabel: "ariaLabel" }, host: { properties: { "class.cds--form-item": "this.labelClass", "class.cds--text-area__wrapper--readonly": "this.isReadonly" } }, queries: [{ propertyName: "textArea", first: true, predicate: TextArea, descendants: true }], viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true }], ngImport: i0, template: `
368
- <label
369
- [for]="labelInputID"
370
- [attr.aria-label]="ariaLabel"
371
- class="cds--label"
372
- [ngClass]="{
373
- 'cds--label--disabled': disabled,
374
- 'cds--skeleton': skeleton
375
- }">
376
- <ng-template *ngIf="labelTemplate; else labelContent" [ngTemplateOutlet]="labelTemplate"></ng-template>
377
- <ng-template #labelContent>
378
- <ng-content></ng-content>
379
- </ng-template>
380
- </label>
381
- <div
382
- class="cds--text-area__wrapper"
383
- [ngClass]="{
384
- 'cds--text-input__field-wrapper--warning': warn
385
- }"
386
- [attr.data-invalid]="(invalid ? true : null)"
387
- #wrapper>
388
- <svg
389
- *ngIf="invalid"
390
- cdsIcon="warning--filled"
391
- size="16"
392
- class="cds--text-area__invalid-icon">
393
- </svg>
394
- <svg
395
- *ngIf="!invalid && warn"
396
- cdsIcon="warning--alt--filled"
397
- size="16"
398
- class="cds--text-input__invalid-icon cds--text-input__invalid-icon--warning">
399
- </svg>
400
- <ng-template *ngIf="textAreaTemplate; else textAreaContent" [ngTemplateOutlet]="textAreaTemplate"></ng-template>
401
- <ng-template #textAreaContent>
402
- <ng-content select="[cdsTextArea],[ibmTextArea],textarea"></ng-content>
403
- </ng-template>
404
- </div>
405
- <div
406
- *ngIf="!skeleton && helperText && !invalid && !warn"
407
- class="cds--form__helper-text"
408
- [ngClass]="{'cds--form__helper-text--disabled': disabled}">
409
- <ng-container *ngIf="!isTemplate(helperText)">{{helperText}}</ng-container>
410
- <ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
411
- </div>
412
- <div *ngIf="invalid" class="cds--form-requirement">
413
- <ng-container *ngIf="!isTemplate(invalidText)">{{invalidText}}</ng-container>
414
- <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
415
- </div>
416
- <div *ngIf="!invalid && warn" class="cds--form-requirement">
417
- <ng-container *ngIf="!isTemplate(warnText)">{{warnText}}</ng-container>
418
- <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
419
- </div>
383
+ TextareaLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TextareaLabelComponent, selector: "cds-textarea-label, ibm-textarea-label", inputs: { labelInputID: "labelInputID", disabled: "disabled", skeleton: "skeleton", labelTemplate: "labelTemplate", textAreaTemplate: "textAreaTemplate", 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-area__wrapper--readonly": "this.isReadonly", "class.cds--text-area--fluid": "this.fluidClass", "class.cds--text-area--fluid__skeleton": "this.fluidSkeletonClass" } }, queries: [{ propertyName: "textArea", first: true, predicate: TextArea, descendants: true }], viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true }], ngImport: i0, template: `
384
+ <ng-container *ngIf="skeleton">
385
+ <span class="cds--label cds--skeleton"></span>
386
+ <div class="cds--text-area cds--skeleton"></div>
387
+ </ng-container>
388
+ <ng-container *ngIf="!skeleton">
389
+ <div class="cds--text-area__label-wrapper">
390
+ <label
391
+ [for]="labelInputID"
392
+ [attr.aria-label]="ariaLabel"
393
+ class="cds--label"
394
+ [ngClass]="{
395
+ 'cds--label--disabled': disabled
396
+ }">
397
+ <ng-template *ngIf="labelTemplate; else labelContent" [ngTemplateOutlet]="labelTemplate"></ng-template>
398
+ <ng-template #labelContent>
399
+ <ng-content></ng-content>
400
+ </ng-template>
401
+ </label>
402
+ </div>
403
+ <div
404
+ class="cds--text-area__wrapper"
405
+ [ngClass]="{
406
+ 'cds--text-area__wrapper--warn': warn
407
+ }"
408
+ [attr.data-invalid]="(invalid ? true : null)"
409
+ #wrapper>
410
+ <svg
411
+ *ngIf="!fluid && invalid"
412
+ cdsIcon="warning--filled"
413
+ size="16"
414
+ class="cds--text-area__invalid-icon">
415
+ </svg>
416
+ <svg
417
+ *ngIf="!fluid && !invalid && warn"
418
+ cdsIcon="warning--alt--filled"
419
+ size="16"
420
+ class="cds--text-area__invalid-icon cds--text-area__invalid-icon--warning">
421
+ </svg>
422
+ <ng-template *ngIf="textAreaTemplate; else textAreaContent" [ngTemplateOutlet]="textAreaTemplate"></ng-template>
423
+ <ng-template #textAreaContent>
424
+ <ng-content select="[cdsTextArea],[ibmTextArea],textarea"></ng-content>
425
+ </ng-template>
426
+
427
+ <ng-container *ngIf="fluid">
428
+ <hr class="cds--text-area__divider" />
429
+ <div *ngIf="invalid" class="cds--form-requirement">
430
+ <ng-container *ngIf="!isTemplate(invalidText)">{{invalidText}}</ng-container>
431
+ <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
432
+ <svg
433
+ cdsIcon="warning--filled"
434
+ size="16"
435
+ class="cds--text-area__invalid-icon">
436
+ </svg>
437
+ </div>
438
+ <div *ngIf="!invalid && warn" class="cds--form-requirement">
439
+ <ng-container *ngIf="!isTemplate(warnText)">{{warnText}}</ng-container>
440
+ <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
441
+ <svg
442
+ cdsIcon="warning--alt--filled"
443
+ size="16"
444
+ class="cds--text-area__invalid-icon cds--text-area__invalid-icon--warning">
445
+ </svg>
446
+ </div>
447
+ </ng-container>
448
+ </div>
449
+ <ng-container *ngIf="!fluid">
450
+ <div
451
+ *ngIf="helperText && !invalid && !warn"
452
+ class="cds--form__helper-text"
453
+ [ngClass]="{'cds--form__helper-text--disabled': disabled}">
454
+ <ng-container *ngIf="!isTemplate(helperText)">{{helperText}}</ng-container>
455
+ <ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
456
+ </div>
457
+ <div *ngIf="invalid" class="cds--form-requirement">
458
+ <ng-container *ngIf="!isTemplate(invalidText)">{{invalidText}}</ng-container>
459
+ <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
460
+ </div>
461
+ <div *ngIf="!invalid && warn" class="cds--form-requirement">
462
+ <ng-container *ngIf="!isTemplate(warnText)">{{warnText}}</ng-container>
463
+ <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
464
+ </div>
465
+ </ng-container>
466
+ </ng-container>
420
467
  `, 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"] }] });
421
468
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TextareaLabelComponent, decorators: [{
422
469
  type: Component,
423
470
  args: [{
424
471
  selector: "cds-textarea-label, ibm-textarea-label",
425
472
  template: `
426
- <label
427
- [for]="labelInputID"
428
- [attr.aria-label]="ariaLabel"
429
- class="cds--label"
430
- [ngClass]="{
431
- 'cds--label--disabled': disabled,
432
- 'cds--skeleton': skeleton
433
- }">
434
- <ng-template *ngIf="labelTemplate; else labelContent" [ngTemplateOutlet]="labelTemplate"></ng-template>
435
- <ng-template #labelContent>
436
- <ng-content></ng-content>
437
- </ng-template>
438
- </label>
439
- <div
440
- class="cds--text-area__wrapper"
441
- [ngClass]="{
442
- 'cds--text-input__field-wrapper--warning': warn
443
- }"
444
- [attr.data-invalid]="(invalid ? true : null)"
445
- #wrapper>
446
- <svg
447
- *ngIf="invalid"
448
- cdsIcon="warning--filled"
449
- size="16"
450
- class="cds--text-area__invalid-icon">
451
- </svg>
452
- <svg
453
- *ngIf="!invalid && warn"
454
- cdsIcon="warning--alt--filled"
455
- size="16"
456
- class="cds--text-input__invalid-icon cds--text-input__invalid-icon--warning">
457
- </svg>
458
- <ng-template *ngIf="textAreaTemplate; else textAreaContent" [ngTemplateOutlet]="textAreaTemplate"></ng-template>
459
- <ng-template #textAreaContent>
460
- <ng-content select="[cdsTextArea],[ibmTextArea],textarea"></ng-content>
461
- </ng-template>
462
- </div>
463
- <div
464
- *ngIf="!skeleton && helperText && !invalid && !warn"
465
- class="cds--form__helper-text"
466
- [ngClass]="{'cds--form__helper-text--disabled': disabled}">
467
- <ng-container *ngIf="!isTemplate(helperText)">{{helperText}}</ng-container>
468
- <ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
469
- </div>
470
- <div *ngIf="invalid" class="cds--form-requirement">
471
- <ng-container *ngIf="!isTemplate(invalidText)">{{invalidText}}</ng-container>
472
- <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
473
- </div>
474
- <div *ngIf="!invalid && warn" class="cds--form-requirement">
475
- <ng-container *ngIf="!isTemplate(warnText)">{{warnText}}</ng-container>
476
- <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
477
- </div>
473
+ <ng-container *ngIf="skeleton">
474
+ <span class="cds--label cds--skeleton"></span>
475
+ <div class="cds--text-area cds--skeleton"></div>
476
+ </ng-container>
477
+ <ng-container *ngIf="!skeleton">
478
+ <div class="cds--text-area__label-wrapper">
479
+ <label
480
+ [for]="labelInputID"
481
+ [attr.aria-label]="ariaLabel"
482
+ class="cds--label"
483
+ [ngClass]="{
484
+ 'cds--label--disabled': disabled
485
+ }">
486
+ <ng-template *ngIf="labelTemplate; else labelContent" [ngTemplateOutlet]="labelTemplate"></ng-template>
487
+ <ng-template #labelContent>
488
+ <ng-content></ng-content>
489
+ </ng-template>
490
+ </label>
491
+ </div>
492
+ <div
493
+ class="cds--text-area__wrapper"
494
+ [ngClass]="{
495
+ 'cds--text-area__wrapper--warn': warn
496
+ }"
497
+ [attr.data-invalid]="(invalid ? true : null)"
498
+ #wrapper>
499
+ <svg
500
+ *ngIf="!fluid && invalid"
501
+ cdsIcon="warning--filled"
502
+ size="16"
503
+ class="cds--text-area__invalid-icon">
504
+ </svg>
505
+ <svg
506
+ *ngIf="!fluid && !invalid && warn"
507
+ cdsIcon="warning--alt--filled"
508
+ size="16"
509
+ class="cds--text-area__invalid-icon cds--text-area__invalid-icon--warning">
510
+ </svg>
511
+ <ng-template *ngIf="textAreaTemplate; else textAreaContent" [ngTemplateOutlet]="textAreaTemplate"></ng-template>
512
+ <ng-template #textAreaContent>
513
+ <ng-content select="[cdsTextArea],[ibmTextArea],textarea"></ng-content>
514
+ </ng-template>
515
+
516
+ <ng-container *ngIf="fluid">
517
+ <hr class="cds--text-area__divider" />
518
+ <div *ngIf="invalid" class="cds--form-requirement">
519
+ <ng-container *ngIf="!isTemplate(invalidText)">{{invalidText}}</ng-container>
520
+ <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
521
+ <svg
522
+ cdsIcon="warning--filled"
523
+ size="16"
524
+ class="cds--text-area__invalid-icon">
525
+ </svg>
526
+ </div>
527
+ <div *ngIf="!invalid && warn" class="cds--form-requirement">
528
+ <ng-container *ngIf="!isTemplate(warnText)">{{warnText}}</ng-container>
529
+ <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
530
+ <svg
531
+ cdsIcon="warning--alt--filled"
532
+ size="16"
533
+ class="cds--text-area__invalid-icon cds--text-area__invalid-icon--warning">
534
+ </svg>
535
+ </div>
536
+ </ng-container>
537
+ </div>
538
+ <ng-container *ngIf="!fluid">
539
+ <div
540
+ *ngIf="helperText && !invalid && !warn"
541
+ class="cds--form__helper-text"
542
+ [ngClass]="{'cds--form__helper-text--disabled': disabled}">
543
+ <ng-container *ngIf="!isTemplate(helperText)">{{helperText}}</ng-container>
544
+ <ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
545
+ </div>
546
+ <div *ngIf="invalid" class="cds--form-requirement">
547
+ <ng-container *ngIf="!isTemplate(invalidText)">{{invalidText}}</ng-container>
548
+ <ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
549
+ </div>
550
+ <div *ngIf="!invalid && warn" class="cds--form-requirement">
551
+ <ng-container *ngIf="!isTemplate(warnText)">{{warnText}}</ng-container>
552
+ <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
553
+ </div>
554
+ </ng-container>
555
+ </ng-container>
478
556
  `
479
557
  }]
480
558
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { labelInputID: [{
@@ -499,6 +577,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
499
577
  type: Input
500
578
  }], ariaLabel: [{
501
579
  type: Input
580
+ }], fluid: [{
581
+ type: Input
502
582
  }], wrapper: [{
503
583
  type: ViewChild,
504
584
  args: ["wrapper", { static: false }]
@@ -511,6 +591,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
511
591
  }], isReadonly: [{
512
592
  type: HostBinding,
513
593
  args: ["class.cds--text-area__wrapper--readonly"]
594
+ }], fluidClass: [{
595
+ type: HostBinding,
596
+ args: ["class.cds--text-area--fluid"]
597
+ }], fluidSkeletonClass: [{
598
+ type: HostBinding,
599
+ args: ["class.cds--text-area--fluid__skeleton"]
514
600
  }] } });
515
601
 
516
602
  /**
@@ -1271,7 +1357,7 @@ Label.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0
1271
1357
  <ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
1272
1358
  </div>
1273
1359
  </ng-template>
1274
- `, 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"] }, { 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"] }] });
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"] }] });
1275
1361
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Label, decorators: [{
1276
1362
  type: Component,
1277
1363
  args: [{