packages/components/eui-disable-content/eui-disable-content.component.ts
A component that disables content and displays a semi-transparent overlay with optional notification. Manages focus state and provides visual feedback when content is temporarily unavailable. Useful for indicating loading states, processing operations, or temporarily disabled sections.
<eui-disable-content [isDisabled]="isProcessing">
<form>
<!-- Form content -->
</form>
</eui-disable-content><eui-disable-content
[isDisabled]="isSaving"
[disabledText]="'Please wait while we save your changes'">
<div class="content-section">
<!-- Content -->
</div>
</eui-disable-content>// Component
isFormDisabled = false;
submitForm(): void {
this.isFormDisabled = true;
this.api.submit().subscribe(() => {
this.isFormDisabled = false;
});
}
// Template
<eui-disable-content [isDisabled]="isFormDisabled">
<button (click)="submitForm()">Submit</button>
</eui-disable-content>aria-disabled="true" on focused elements when disabledtabindex="-1" on disabled elements to prevent keyboard navigationdisabledText provided)<ng-content/> for flexible compositionEuiGrowlService for notification functionalityeui-disable-content--disabled applied when activedisabled attribute| encapsulation | ViewEncapsulation.None |
| selector | eui-disable-content |
| styleUrls | ./eui-disable-content.scss |
| template | |
Inputs |
HostListeners |
constructor()
|
|
Initializes the component and sets up an effect to handle disabled state changes |
| disabledText |
Default value : ''
|
|
Text to display in an eui-growl (type info) notification when clicking the disabled content. |
| isDisabled |
Type : boolean, BooleanInput
|
Default value : null, { transform: booleanAttribute }
|
|
Controls whether the content is disabled. If disabled, a semi-transparent overlay with spinner is shown. |
| click |
click()
|
|
Handles click events on the disabled content Shows a growl notification if content is disabled and has disabled text |