{"version":3,"file":"eui-components-eui-block-document.mjs","sources":["../../eui-block-document/eui-block-document.component.ts","../../eui-block-document/eui-block-document.component.html","../../eui-block-document/index.ts","../../eui-block-document/eui-components-eui-block-document.ts"],"sourcesContent":["import { Component, Input, ChangeDetectionStrategy, HostBinding, booleanAttribute } from '@angular/core';\n\n/**\n * @description\n * EuiBlockDocumentComponent creates a document overlay that can be toggled into\n * a blocked state. When blocked, a loading indicator is displayed.\n * Uses OnPush change detection strategy for better performance.\n * \n * @usageNotes\n * #### Typically placed at app root level\n * ```html\n * <eui-block-document [isBlocked]=\"isProcessing\"></eui-block-document>\n * ```\n *\n * #### Trigger blocking from component\n * ```html\n * <button euiButton (click)=\"blockDocument()\">Process Data</button>\n * ```\n * \n * ```ts\n * import { EuiAppShellService } from '@eui/core';\n * \n * private appShellService = inject(EuiAppShellService);\n * isProcessing = false;\n * \n * blockDocument(): void {\n *   this.appShellService.isBlockDocumentActive = true;\n *   \n *   // Simulate async operation\n *   setTimeout(() => {\n *     this.appShellService.isBlockDocumentActive = false;\n *   }, 2000);\n * }\n * ```\n *\n * ### Accessibility\n * - Uses role=\"region\" for semantic landmark identification\n * - aria-label provides context about the blocked state\n * - Loading indicator is announced to screen readers\n * - Prevents interaction with underlying content when blocked\n * - Focus is trapped within the overlay during blocked state\n *\n * ### Notes\n * - Typically controlled via EuiAppShellService.isBlockDocumentActive property\n * - Creates full-page overlay when isBlocked is true\n * - Displays loading spinner automatically during blocked state\n * - Should be placed at application root level for full document coverage\n * - Use for long-running operations that require blocking entire UI\n * - Different from eui-block-content which blocks specific sections\n * - Automatically handles z-index to appear above all content\n * - Consider user experience - use sparingly for truly blocking operations\n */\n@Component({\n    selector: 'eui-block-document',\n    templateUrl: './eui-block-document.component.html',\n    styleUrls: ['./eui-block-document.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiBlockDocumentComponent {\n    /**\n     * Applies CSS classes to the host element.\n     * Always includes 'eui-block-document' and conditionally adds\n     * 'eui-block-document--blocked' when isBlocked is true.\n     *\n     * @returns String of space-separated CSS classes\n     */\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-block-document',\n            this.isBlocked ? 'eui-block-document--blocked' : '',\n        ].join(' ').trim();\n    }\n\n    /**\n     * Controls whether the document is in blocked state.\n     * When true, displays the loading indicator.\n     *\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isBlocked = false;\n\n    /**\n     * ARIA role for the document component.\n     *\n     * @default 'region'\n     */\n    @HostBinding('attr.role') role = 'region';\n\n    /**\n     * ARIA label for the document component.\n     *\n     * @default 'eUI Block Document'\n     */\n    @Input() @HostBinding('attr.aria-label') ariaLabel = 'eUI Block Document'\n}\n","<div class=\"eui-block-document__loader\"></div>\n","import { EuiBlockDocumentComponent } from './eui-block-document.component';\n\nexport * from './eui-block-document.component';\n\nexport const EUI_BLOCK_DOCUMENT = [\n    EuiBlockDocumentComponent,\n] as const;\n\n// export { EuiBlockDocumentComponent as EuiBlockDocument } from './eui-block-document.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDG;MAOU,yBAAyB,CAAA;AANtC,IAAA,WAAA,GAAA;AAsBI;;;;;AAKG;QACqC,IAAA,CAAA,SAAS,GAAG,KAAK;AAEzD;;;;AAIG;QACuB,IAAA,CAAA,IAAI,GAAG,QAAQ;AAEzC;;;;AAIG;QACsC,IAAA,CAAA,SAAS,GAAG,oBAAoB;AAC5E,IAAA;AApCG;;;;;;AAMG;AACH,IAAA,IACI,UAAU,GAAA;QACV,OAAO;YACH,oBAAoB;YACpB,IAAI,CAAC,SAAS,GAAG,6BAA6B,GAAG,EAAE;AACtD,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IACtB;8GAdS,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAsBd,gBAAgB,CAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChFxC,oDACA,EAAA,MAAA,EAAA,CAAA,ysCAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDyDa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;+BACI,oBAAoB,EAAA,eAAA,EAGb,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,oDAAA,EAAA,MAAA,EAAA,CAAA,ysCAAA,CAAA,EAAA;;sBAU9C,WAAW;uBAAC,OAAO;;sBAcnB,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAOrC,WAAW;uBAAC,WAAW;;sBAOvB;;sBAAS,WAAW;uBAAC,iBAAiB;;;AE1FpC,MAAM,kBAAkB,GAAG;IAC9B,yBAAyB;;AAG7B;;ACRA;;AAEG;;;;"}