UNPKG

@clr/angular

Version:

Angular components for Clarity

69 lines 6.67 kB
/* * Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved. * This software is released under MIT license. * The full license information can be found in LICENSE in the root directory of this project. */ import { Component, ContentChild } from '@angular/core'; import { ClrDatagridDetailHeader } from './datagrid-detail-header'; import * as i0 from "@angular/core"; import * as i1 from "./providers/detail.service"; import * as i2 from "../../utils/i18n/common-strings.service"; import * as i3 from "@angular/common"; import * as i4 from "../../utils/cdk/cdk-trap-focus.module"; export class ClrDatagridDetail { constructor(detailService, commonStrings) { this.detailService = detailService; this.commonStrings = commonStrings; } close() { this.detailService.close(); } } ClrDatagridDetail.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrDatagridDetail, deps: [{ token: i1.DetailService }, { token: i2.ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Component }); ClrDatagridDetail.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrDatagridDetail, selector: "clr-dg-detail", host: { properties: { "class.datagrid-detail-pane": "true" } }, queries: [{ propertyName: "header", first: true, predicate: ClrDatagridDetailHeader, descendants: true }], ngImport: i0, template: ` <div cdkTrapFocus [cdkTrapFocusAutoCapture]="true" class="datagrid-detail-pane-content" *ngIf="detailService.isOpen" role="dialog" [id]="detailService.id" aria-modal="true" [attr.aria-describedby]="header ? header.titleId : ''" > <div class="clr-sr-only">{{ commonStrings.keys.detailPaneStart }}</div> <ng-content></ng-content> <div class="clr-sr-only">{{ commonStrings.keys.detailPaneEnd }}</div> </div> `, isInline: true, dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.CdkTrapFocusModule_CdkTrapFocus, selector: "[cdkTrapFocus]" }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrDatagridDetail, decorators: [{ type: Component, args: [{ selector: 'clr-dg-detail', host: { '[class.datagrid-detail-pane]': 'true', }, // We put the *ngIf on the cdkTrapFocus so it doesn't always exist on the page // have to test for presence of header for aria-describedby because it was causing unit tests to crash template: ` <div cdkTrapFocus [cdkTrapFocusAutoCapture]="true" class="datagrid-detail-pane-content" *ngIf="detailService.isOpen" role="dialog" [id]="detailService.id" aria-modal="true" [attr.aria-describedby]="header ? header.titleId : ''" > <div class="clr-sr-only">{{ commonStrings.keys.detailPaneStart }}</div> <ng-content></ng-content> <div class="clr-sr-only">{{ commonStrings.keys.detailPaneEnd }}</div> </div> `, }] }], ctorParameters: function () { return [{ type: i1.DetailService }, { type: i2.ClrCommonStringsService }]; }, propDecorators: { header: [{ type: ContentChild, args: [ClrDatagridDetailHeader] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWdyaWQtZGV0YWlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvZGF0YS9kYXRhZ3JpZC9kYXRhZ3JpZC1kZXRhaWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3hELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7QUEyQm5FLE1BQU0sT0FBTyxpQkFBaUI7SUFHNUIsWUFBbUIsYUFBNEIsRUFBUyxhQUFzQztRQUEzRSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUFTLGtCQUFhLEdBQWIsYUFBYSxDQUF5QjtJQUFHLENBQUM7SUFFbEcsS0FBSztRQUNILElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7OEdBUFUsaUJBQWlCO2tHQUFqQixpQkFBaUIseUpBQ2QsdUJBQXVCLGdEQWxCM0I7Ozs7Ozs7Ozs7Ozs7OztHQWVUOzJGQUVVLGlCQUFpQjtrQkF4QjdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLElBQUksRUFBRTt3QkFDSiw4QkFBOEIsRUFBRSxNQUFNO3FCQUN2QztvQkFDRCw4RUFBOEU7b0JBQzlFLHNHQUFzRztvQkFDdEcsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7R0FlVDtpQkFDRjswSUFFd0MsTUFBTTtzQkFBNUMsWUFBWTt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjMgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENsckNvbW1vblN0cmluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvaTE4bi9jb21tb24tc3RyaW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IENsckRhdGFncmlkRGV0YWlsSGVhZGVyIH0gZnJvbSAnLi9kYXRhZ3JpZC1kZXRhaWwtaGVhZGVyJztcbmltcG9ydCB7IERldGFpbFNlcnZpY2UgfSBmcm9tICcuL3Byb3ZpZGVycy9kZXRhaWwuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1kZy1kZXRhaWwnLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5kYXRhZ3JpZC1kZXRhaWwtcGFuZV0nOiAndHJ1ZScsXG4gIH0sXG4gIC8vIFdlIHB1dCB0aGUgKm5nSWYgb24gdGhlIGNka1RyYXBGb2N1cyBzbyBpdCBkb2Vzbid0IGFsd2F5cyBleGlzdCBvbiB0aGUgcGFnZVxuICAvLyBoYXZlIHRvIHRlc3QgZm9yIHByZXNlbmNlIG9mIGhlYWRlciBmb3IgYXJpYS1kZXNjcmliZWRieSBiZWNhdXNlIGl0IHdhcyBjYXVzaW5nIHVuaXQgdGVzdHMgdG8gY3Jhc2hcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICBjZGtUcmFwRm9jdXNcbiAgICAgIFtjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZV09XCJ0cnVlXCJcbiAgICAgIGNsYXNzPVwiZGF0YWdyaWQtZGV0YWlsLXBhbmUtY29udGVudFwiXG4gICAgICAqbmdJZj1cImRldGFpbFNlcnZpY2UuaXNPcGVuXCJcbiAgICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgICAgW2lkXT1cImRldGFpbFNlcnZpY2UuaWRcIlxuICAgICAgYXJpYS1tb2RhbD1cInRydWVcIlxuICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJoZWFkZXIgPyBoZWFkZXIudGl0bGVJZCA6ICcnXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2xyLXNyLW9ubHlcIj57eyBjb21tb25TdHJpbmdzLmtleXMuZGV0YWlsUGFuZVN0YXJ0IH19PC9kaXY+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2xyLXNyLW9ubHlcIj57eyBjb21tb25TdHJpbmdzLmtleXMuZGV0YWlsUGFuZUVuZCB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBDbHJEYXRhZ3JpZERldGFpbCB7XG4gIEBDb250ZW50Q2hpbGQoQ2xyRGF0YWdyaWREZXRhaWxIZWFkZXIpIGhlYWRlcjogQ2xyRGF0YWdyaWREZXRhaWxIZWFkZXI7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGRldGFpbFNlcnZpY2U6IERldGFpbFNlcnZpY2UsIHB1YmxpYyBjb21tb25TdHJpbmdzOiBDbHJDb21tb25TdHJpbmdzU2VydmljZSkge31cblxuICBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRldGFpbFNlcnZpY2UuY2xvc2UoKTtcbiAgfVxufVxuIl19