@ifsworld/granite-components 13.2.6 → 13.2.7

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.
@@ -4,6 +4,7 @@ import { ClientOutputTouchDirective } from './devices/client-output-touch.direct
4
4
  import { ClientInputDesktopDirective } from './devices/client-input-desktop.directive';
5
5
  import { ClientInputTouchDirective } from './devices/client-input-touch.directive';
6
6
  import { GraniteHideOnOverflowDirective } from './hide-on-overflow.directive';
7
+ import { GraniteOverlayTriggerForBaseDirective } from './overlay-trigger-for-base.directive';
7
8
  import * as i0 from "@angular/core";
8
9
  // TODO: Move client devices into a separate module
9
10
  export class GraniteCoreModule {
@@ -12,7 +13,8 @@ export class GraniteCoreModule {
12
13
  ClientOutputTouchDirective,
13
14
  ClientInputDesktopDirective,
14
15
  ClientInputTouchDirective,
15
- GraniteHideOnOverflowDirective], exports: [ClientOutputDesktopDirective,
16
+ GraniteHideOnOverflowDirective,
17
+ GraniteOverlayTriggerForBaseDirective], exports: [ClientOutputDesktopDirective,
16
18
  ClientOutputTouchDirective,
17
19
  ClientInputDesktopDirective,
18
20
  ClientInputTouchDirective,
@@ -28,6 +30,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
28
30
  ClientInputDesktopDirective,
29
31
  ClientInputTouchDirective,
30
32
  GraniteHideOnOverflowDirective,
33
+ GraniteOverlayTriggerForBaseDirective,
31
34
  ],
32
35
  exports: [
33
36
  ClientOutputDesktopDirective,
@@ -38,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
38
41
  ],
39
42
  }]
40
43
  }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvcmUvY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN6RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNyRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN2RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFFOUUsbURBQW1EO0FBa0JuRCxNQUFNLE9BQU8saUJBQWlCOzhHQUFqQixpQkFBaUI7K0dBQWpCLGlCQUFpQixpQkFkMUIsNEJBQTRCO1lBQzVCLDBCQUEwQjtZQUMxQiwyQkFBMkI7WUFDM0IseUJBQXlCO1lBQ3pCLDhCQUE4QixhQUc5Qiw0QkFBNEI7WUFDNUIsMEJBQTBCO1lBQzFCLDJCQUEyQjtZQUMzQix5QkFBeUI7WUFDekIsOEJBQThCOytHQUdyQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBaEI3QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWiw0QkFBNEI7d0JBQzVCLDBCQUEwQjt3QkFDMUIsMkJBQTJCO3dCQUMzQix5QkFBeUI7d0JBQ3pCLDhCQUE4QjtxQkFDL0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDRCQUE0Qjt3QkFDNUIsMEJBQTBCO3dCQUMxQiwyQkFBMkI7d0JBQzNCLHlCQUF5Qjt3QkFDekIsOEJBQThCO3FCQUMvQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbGllbnRPdXRwdXREZXNrdG9wRGlyZWN0aXZlIH0gZnJvbSAnLi9kZXZpY2VzL2NsaWVudC1vdXRwdXQtZGVza3RvcC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2xpZW50T3V0cHV0VG91Y2hEaXJlY3RpdmUgfSBmcm9tICcuL2RldmljZXMvY2xpZW50LW91dHB1dC10b3VjaC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2xpZW50SW5wdXREZXNrdG9wRGlyZWN0aXZlIH0gZnJvbSAnLi9kZXZpY2VzL2NsaWVudC1pbnB1dC1kZXNrdG9wLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDbGllbnRJbnB1dFRvdWNoRGlyZWN0aXZlIH0gZnJvbSAnLi9kZXZpY2VzL2NsaWVudC1pbnB1dC10b3VjaC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgR3Jhbml0ZUhpZGVPbk92ZXJmbG93RGlyZWN0aXZlIH0gZnJvbSAnLi9oaWRlLW9uLW92ZXJmbG93LmRpcmVjdGl2ZSc7XG5cbi8vIFRPRE86IE1vdmUgY2xpZW50IGRldmljZXMgaW50byBhIHNlcGFyYXRlIG1vZHVsZVxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBDbGllbnRPdXRwdXREZXNrdG9wRGlyZWN0aXZlLFxuICAgIENsaWVudE91dHB1dFRvdWNoRGlyZWN0aXZlLFxuICAgIENsaWVudElucHV0RGVza3RvcERpcmVjdGl2ZSxcbiAgICBDbGllbnRJbnB1dFRvdWNoRGlyZWN0aXZlLFxuICAgIEdyYW5pdGVIaWRlT25PdmVyZmxvd0RpcmVjdGl2ZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIENsaWVudE91dHB1dERlc2t0b3BEaXJlY3RpdmUsXG4gICAgQ2xpZW50T3V0cHV0VG91Y2hEaXJlY3RpdmUsXG4gICAgQ2xpZW50SW5wdXREZXNrdG9wRGlyZWN0aXZlLFxuICAgIENsaWVudElucHV0VG91Y2hEaXJlY3RpdmUsXG4gICAgR3Jhbml0ZUhpZGVPbk92ZXJmbG93RGlyZWN0aXZlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBHcmFuaXRlQ29yZU1vZHVsZSB7fVxuIl19
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvcmUvY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN6RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNyRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN2RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RSxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7QUFFN0YsbURBQW1EO0FBbUJuRCxNQUFNLE9BQU8saUJBQWlCOzhHQUFqQixpQkFBaUI7K0dBQWpCLGlCQUFpQixpQkFmMUIsNEJBQTRCO1lBQzVCLDBCQUEwQjtZQUMxQiwyQkFBMkI7WUFDM0IseUJBQXlCO1lBQ3pCLDhCQUE4QjtZQUM5QixxQ0FBcUMsYUFHckMsNEJBQTRCO1lBQzVCLDBCQUEwQjtZQUMxQiwyQkFBMkI7WUFDM0IseUJBQXlCO1lBQ3pCLDhCQUE4QjsrR0FHckIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQWpCN0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osNEJBQTRCO3dCQUM1QiwwQkFBMEI7d0JBQzFCLDJCQUEyQjt3QkFDM0IseUJBQXlCO3dCQUN6Qiw4QkFBOEI7d0JBQzlCLHFDQUFxQztxQkFDdEM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDRCQUE0Qjt3QkFDNUIsMEJBQTBCO3dCQUMxQiwyQkFBMkI7d0JBQzNCLHlCQUF5Qjt3QkFDekIsOEJBQThCO3FCQUMvQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbGllbnRPdXRwdXREZXNrdG9wRGlyZWN0aXZlIH0gZnJvbSAnLi9kZXZpY2VzL2NsaWVudC1vdXRwdXQtZGVza3RvcC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2xpZW50T3V0cHV0VG91Y2hEaXJlY3RpdmUgfSBmcm9tICcuL2RldmljZXMvY2xpZW50LW91dHB1dC10b3VjaC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2xpZW50SW5wdXREZXNrdG9wRGlyZWN0aXZlIH0gZnJvbSAnLi9kZXZpY2VzL2NsaWVudC1pbnB1dC1kZXNrdG9wLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDbGllbnRJbnB1dFRvdWNoRGlyZWN0aXZlIH0gZnJvbSAnLi9kZXZpY2VzL2NsaWVudC1pbnB1dC10b3VjaC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgR3Jhbml0ZUhpZGVPbk92ZXJmbG93RGlyZWN0aXZlIH0gZnJvbSAnLi9oaWRlLW9uLW92ZXJmbG93LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBHcmFuaXRlT3ZlcmxheVRyaWdnZXJGb3JCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi9vdmVybGF5LXRyaWdnZXItZm9yLWJhc2UuZGlyZWN0aXZlJztcblxuLy8gVE9ETzogTW92ZSBjbGllbnQgZGV2aWNlcyBpbnRvIGEgc2VwYXJhdGUgbW9kdWxlXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIENsaWVudE91dHB1dERlc2t0b3BEaXJlY3RpdmUsXG4gICAgQ2xpZW50T3V0cHV0VG91Y2hEaXJlY3RpdmUsXG4gICAgQ2xpZW50SW5wdXREZXNrdG9wRGlyZWN0aXZlLFxuICAgIENsaWVudElucHV0VG91Y2hEaXJlY3RpdmUsXG4gICAgR3Jhbml0ZUhpZGVPbk92ZXJmbG93RGlyZWN0aXZlLFxuICAgIEdyYW5pdGVPdmVybGF5VHJpZ2dlckZvckJhc2VEaXJlY3RpdmUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBDbGllbnRPdXRwdXREZXNrdG9wRGlyZWN0aXZlLFxuICAgIENsaWVudE91dHB1dFRvdWNoRGlyZWN0aXZlLFxuICAgIENsaWVudElucHV0RGVza3RvcERpcmVjdGl2ZSxcbiAgICBDbGllbnRJbnB1dFRvdWNoRGlyZWN0aXZlLFxuICAgIEdyYW5pdGVIaWRlT25PdmVyZmxvd0RpcmVjdGl2ZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgR3Jhbml0ZUNvcmVNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { Directive, TemplateRef, ViewChild } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class OverlayBaseComponent {
4
+ constructor() {
5
+ this.xPosition = 'after';
6
+ this.yPosition = 'below';
7
+ }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OverlayBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
9
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.4", type: OverlayBaseComponent, viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0 }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OverlayBaseComponent, decorators: [{
12
+ type: Directive,
13
+ args: [{}]
14
+ }], propDecorators: { templateRef: [{
15
+ type: ViewChild,
16
+ args: [TemplateRef]
17
+ }] } });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9jb3JlL292ZXJsYXktYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVWxFLE1BQU0sT0FBTyxvQkFBb0I7SUFEakM7UUFJRSxjQUFTLEdBQWMsT0FBTyxDQUFDO1FBRS9CLGNBQVMsR0FBYyxPQUFPLENBQUM7S0FPaEM7OEdBWlksb0JBQW9CO2tHQUFwQixvQkFBb0IsdUVBQ3BCLFdBQVc7OzJGQURYLG9CQUFvQjtrQkFEaEMsU0FBUzttQkFBQyxFQUFFOzhCQUVhLFdBQVc7c0JBQWxDLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ2xpZW50SW5wdXRJbnRlcmZhY2UsXG4gIENsaWVudE91dHB1dEludGVyZmFjZSxcbn0gZnJvbSAnLi9jbGllbnQtZW52aXJvbm1lbnQnO1xuXG5leHBvcnQgdHlwZSBQb3NpdGlvblggPSAnYmVmb3JlJyB8ICdhZnRlcic7XG5leHBvcnQgdHlwZSBQb3NpdGlvblkgPSAnYWJvdmUnIHwgJ2JlbG93JztcblxuQERpcmVjdGl2ZSh7fSlcbmV4cG9ydCBjbGFzcyBPdmVybGF5QmFzZUNvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYpIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHhQb3NpdGlvbjogUG9zaXRpb25YID0gJ2FmdGVyJztcblxuICB5UG9zaXRpb246IFBvc2l0aW9uWSA9ICdiZWxvdyc7XG5cbiAgZGlyZWN0aW9uOiBEaXJlY3Rpb247XG5cbiAgY2xpZW50SW5wdXQ6IENsaWVudElucHV0SW50ZXJmYWNlO1xuXG4gIGNsaWVudE91dHB1dDogQ2xpZW50T3V0cHV0SW50ZXJmYWNlO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1wb3NpdGlvbi1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvcmUvb3ZlcmxheS1wb3NpdGlvbi1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgT3ZlcmxheVBvc2l0aW9uQ29uZmlnIHtcbiAgb3JpZ2luWD86ICdzdGFydCcgfCAnY2VudGVyJyB8ICdlbmQnO1xuICBvcmlnaW5GYWxsYmFja1g/OiAnc3RhcnQnIHwgJ2NlbnRlcicgfCAnZW5kJztcbiAgb3JpZ2luWT86ICd0b3AnIHwgJ2NlbnRlcicgfCAnYm90dG9tJztcbiAgb3JpZ2luRmFsbGJhY2tZPzogJ3RvcCcgfCAnY2VudGVyJyB8ICdib3R0b20nO1xuICBvdmVybGF5WD86ICdzdGFydCcgfCAnY2VudGVyJyB8ICdlbmQnO1xuICBvdmVybGF5RmFsbGJhY2tYPzogJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCc7XG4gIG92ZXJsYXlZPzogJ3RvcCcgfCAnY2VudGVyJyB8ICdib3R0b20nO1xuICBvdmVybGF5RmFsbGJhY2tZPzogJ3RvcCcgfCAnY2VudGVyJyB8ICdib3R0b20nO1xuICBvZmZzZXRYPzogbnVtYmVyO1xuICBvZmZzZXRZPzogbnVtYmVyO1xufVxuIl19
@@ -0,0 +1,121 @@
1
+ import { Overlay, OverlayConfig, } from '@angular/cdk/overlay';
2
+ import { Directive, ElementRef, inject, Optional, ViewContainerRef, } from '@angular/core';
3
+ import { GRANITE_CLIENT_INPUT, GRANITE_CLIENT_OUTPUT, } from './client-environment';
4
+ import { Directionality } from '@angular/cdk/bidi';
5
+ import { OverlayService } from './overlay.service';
6
+ import * as i0 from "@angular/core";
7
+ export class GraniteOverlayTriggerForBaseDirective {
8
+ constructor() {
9
+ /** Client output device information */
10
+ this._clientOutput = inject(GRANITE_CLIENT_OUTPUT);
11
+ /** Client input device information */
12
+ this._clientInput = inject(GRANITE_CLIENT_INPUT);
13
+ this._dir = inject(Directionality);
14
+ this.offsetX = 0;
15
+ this.offsetY = 0;
16
+ this._overlayRef = null;
17
+ this._overlay = inject(Overlay);
18
+ this._element = inject((ElementRef));
19
+ this._viewContainerRef = inject(ViewContainerRef);
20
+ this._overlayService = inject(OverlayService);
21
+ }
22
+ ngOnDestroy() {
23
+ if (this._overlayRef) {
24
+ this._overlayRef.dispose();
25
+ this._overlayRef = null;
26
+ }
27
+ }
28
+ getPositionConfig() {
29
+ const [originX, originFallbackX] = this.componentRef.xPosition === 'before'
30
+ ? ['end', 'start']
31
+ : ['start', 'end'];
32
+ const [overlayY, overlayFallbackY] = this.componentRef.yPosition === 'above'
33
+ ? ['bottom', 'top']
34
+ : ['top', 'bottom'];
35
+ let [originY, originFallbackY] = [overlayY, overlayFallbackY];
36
+ const [overlayX, overlayFallbackX] = [originX, originFallbackX];
37
+ originY = overlayY === 'top' ? 'bottom' : 'top';
38
+ originFallbackY = overlayFallbackY === 'top' ? 'bottom' : 'top';
39
+ return {
40
+ originX,
41
+ originFallbackX,
42
+ originY,
43
+ originFallbackY,
44
+ overlayX,
45
+ overlayFallbackX,
46
+ overlayY,
47
+ overlayFallbackY,
48
+ offsetX: this.offsetX,
49
+ offsetY: this.offsetY,
50
+ };
51
+ }
52
+ getPositionStrategy() {
53
+ let positionStrategy = this._overlayService.desktopPositionStrategy(this._element, this.selector);
54
+ const positionConfig = this.getPositionConfig();
55
+ positionStrategy = this._overlayService.setPosition(positionStrategy, positionConfig);
56
+ return positionStrategy;
57
+ }
58
+ getScrollStrategy() {
59
+ return this.setScrollStrategy('close');
60
+ }
61
+ setScrollStrategy(scrollStrategy) {
62
+ switch (scrollStrategy) {
63
+ case 'reposition':
64
+ return this._overlay.scrollStrategies.reposition();
65
+ case 'block':
66
+ return this._overlay.scrollStrategies.block();
67
+ case 'close':
68
+ return this._overlay.scrollStrategies.close();
69
+ default:
70
+ return this._overlay.scrollStrategies.close();
71
+ }
72
+ }
73
+ toggleOverlay(isOpen) {
74
+ isOpen ? this._closeOverlay() : this._openOverlay();
75
+ return !isOpen;
76
+ }
77
+ onOutsideClick() {
78
+ this._closeOverlay();
79
+ }
80
+ _openOverlay() {
81
+ this.componentRef.direction = this._dir.value === 'rtl' ? 'rtl' : 'ltr';
82
+ this.componentRef.clientInput = this._clientInput;
83
+ this.componentRef.clientOutput = this._clientOutput;
84
+ const panelClass = [];
85
+ if (this._clientOutput?.device === 'touch') {
86
+ panelClass.push('granite-overlay-pane-center');
87
+ }
88
+ const hasBackdrop = this._clientOutput?.device === 'touch';
89
+ const config = new OverlayConfig({
90
+ positionStrategy: this.getPositionStrategy(),
91
+ backdropClass: 'granite-overlay-dark-glass-backdrop',
92
+ scrollStrategy: this.getScrollStrategy(),
93
+ direction: this._dir,
94
+ panelClass,
95
+ hasBackdrop,
96
+ });
97
+ this._overlayRef = this._overlayService.createOverlay(config, this.componentRef, this._viewContainerRef);
98
+ this._overlayService.subscribeOutsideClick(this._overlayRef, () => this.onOutsideClick());
99
+ }
100
+ _closeOverlay() {
101
+ if (!this._overlayRef) {
102
+ return;
103
+ }
104
+ this._overlayService.closeOverlay(this._overlayRef, this._element);
105
+ }
106
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteOverlayTriggerForBaseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
107
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.4", type: GraniteOverlayTriggerForBaseDirective, selector: "[graniteOverlayTriggerForBase]", ngImport: i0 }); }
108
+ }
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteOverlayTriggerForBaseDirective, decorators: [{
110
+ type: Directive,
111
+ args: [{
112
+ selector: '[graniteOverlayTriggerForBase]',
113
+ }]
114
+ }], propDecorators: { _clientOutput: [{
115
+ type: Optional
116
+ }], _clientInput: [{
117
+ type: Optional
118
+ }], _dir: [{
119
+ type: Optional
120
+ }] } });
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS10cmlnZ2VyLWZvci1iYXNlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZ3Jhbml0ZS1jb21wb25lbnRzL3NyYy9saWIvY29yZS9vdmVybGF5LXRyaWdnZXItZm9yLWJhc2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLTCxPQUFPLEVBQ1AsYUFBYSxHQUtkLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUVOLFFBQVEsRUFDUixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixxQkFBcUIsR0FDdEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQU9uRCxNQUFNLE9BQU8scUNBQXFDO0lBSGxEO1FBSUUsdUNBQXVDO1FBRS9CLGtCQUFhLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFdEQsc0NBQXNDO1FBRTlCLGlCQUFZLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFHNUMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUk1QixZQUFPLEdBQVcsQ0FBQyxDQUFDO1FBQ3BCLFlBQU8sR0FBVyxDQUFDLENBQUM7UUFFdEIsZ0JBQVcsR0FBc0IsSUFBSSxDQUFDO1FBRXRDLGFBQVEsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsYUFBUSxHQUFHLE1BQU0sQ0FBQyxDQUFBLFVBQXVCLENBQUEsQ0FBQyxDQUFDO1FBQzNDLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzdDLG9CQUFl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QUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUNoRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQ3RCLENBQUM7SUFDSixDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckUsQ0FBQzs4R0EvSVUscUNBQXFDO2tHQUFyQyxxQ0FBcUM7OzJGQUFyQyxxQ0FBcUM7a0JBSGpELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdDQUFnQztpQkFDM0M7OEJBSVMsYUFBYTtzQkFEcEIsUUFBUTtnQkFLRCxZQUFZO3NCQURuQixRQUFRO2dCQUlELElBQUk7c0JBRFgsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJsb2NrU2Nyb2xsU3RyYXRlZ3ksXG4gIENsb3NlU2Nyb2xsU3RyYXRlZ3ksXG4gIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSxcbiAgSG9yaXpvbnRhbENvbm5lY3Rpb25Qb3MsXG4gIE92ZXJsYXksXG4gIE92ZXJsYXlDb25maWcsXG4gIE92ZXJsYXlSZWYsXG4gIFBvc2l0aW9uU3RyYXRlZ3ksXG4gIFJlcG9zaXRpb25TY3JvbGxTdHJhdGVneSxcbiAgVmVydGljYWxDb25uZWN0aW9uUG9zLFxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBHUkFOSVRFX0NMSUVOVF9JTlBVVCxcbiAgR1JBTklURV9DTElFTlRfT1VUUFVULFxufSBmcm9tICcuL2NsaWVudC1lbnZpcm9ubWVudCc7XG5pbXBvcnQgeyBEaXJlY3Rpb25hbGl0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7IE92ZXJsYXlTZXJ2aWNlIH0gZnJvbSAnLi9vdmVybGF5LnNlcnZpY2UnO1xuaW1wb3J0IHsgT3ZlcmxheVBvc2l0aW9uQ29uZmlnIH0gZnJvbSAnLi9vdmVybGF5LXBvc2l0aW9uLWNvbmZpZyc7XG5pbXBvcnQgeyBPdmVybGF5QmFzZUNvbXBvbmVudCB9IGZyb20gJy4vb3ZlcmxheS1iYXNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2dyYW5pdGVPdmVybGF5VHJpZ2dlckZvckJhc2VdJyxcbn0pXG5leHBvcnQgY2xhc3MgR3Jhbml0ZU92ZXJsYXlUcmlnZ2VyRm9yQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKiBDbGllbnQgb3V0cHV0IGRldmljZSBpbmZvcm1hdGlvbiAqL1xuICBAT3B0aW9uYWwoKVxuICBwcml2YXRlIF9jbGllbnRPdXRwdXQgPSBpbmplY3QoR1JBTklURV9DTElFTlRfT1VUUFVUKTtcblxuICAvKiogQ2xpZW50IGlucHV0IGRldmljZSBpbmZvcm1hdGlvbiAqL1xuICBAT3B0aW9uYWwoKVxuICBwcml2YXRlIF9jbGllbnRJbnB1dCA9IGluamVjdChHUkFOSVRFX0NMSUVOVF9JTlBVVCk7XG5cbiAgQE9wdGlvbmFsKClcbiAgcHJpdmF0ZSBfZGlyID0gaW5qZWN0KERpcmVjdGlvbmFsaXR5KTtcblxuICBwcm90ZWN0ZWQgY29tcG9uZW50UmVmOiBPdmVybGF5QmFzZUNvbXBvbmVudDtcbiAgcHJvdGVjdGVkIHNlbGVjdG9yOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBvZmZzZXRYOiBudW1iZXIgPSAwO1xuICBwcm90ZWN0ZWQgb2Zmc2V0WTogbnVtYmVyID0gMDtcblxuICBwcml2YXRlIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfb3ZlcmxheSA9IGluamVjdChPdmVybGF5KTtcbiAgcHJpdmF0ZSBfZWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik7XG4gIHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gIHByaXZhdGUgX292ZXJsYXlTZXJ2aWNlID0gaW5qZWN0KE92ZXJsYXlTZXJ2aWNlKTtcblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fb3ZlcmxheVJlZikge1xuICAgICAgdGhpcy5fb3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICB0aGlzLl9vdmVybGF5UmVmID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0UG9zaXRpb25Db25maWcoKTogT3ZlcmxheVBvc2l0aW9uQ29uZmlnIHtcbiAgICBjb25zdCBbb3JpZ2luWCwgb3JpZ2luRmFsbGJhY2tYXTogSG9yaXpvbnRhbENvbm5lY3Rpb25Qb3NbXSA9XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi54UG9zaXRpb24gPT09ICdiZWZvcmUnXG4gICAgICAgID8gWydlbmQnLCAnc3RhcnQnXVxuICAgICAgICA6IFsnc3RhcnQnLCAnZW5kJ107XG5cbiAgICBjb25zdCBbb3ZlcmxheVksIG92ZXJsYXlGYWxsYmFja1ldOiBWZXJ0aWNhbENvbm5lY3Rpb25Qb3NbXSA9XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi55UG9zaXRpb24gPT09ICdhYm92ZSdcbiAgICAgICAgPyBbJ2JvdHRvbScsICd0b3AnXVxuICAgICAgICA6IFsndG9wJywgJ2JvdHRvbSddO1xuXG4gICAgbGV0IFtvcmlnaW5ZLCBvcmlnaW5GYWxsYmFja1ldID0gW292ZXJsYXlZLCBvdmVybGF5RmFsbGJhY2tZXTtcbiAgICBjb25zdCBbb3ZlcmxheVgsIG92ZXJsYXlGYWxsYmFja1hdID0gW29yaWdpblgsIG9yaWdpbkZhbGxiYWNrWF07XG5cbiAgICBvcmlnaW5ZID0gb3ZlcmxheVkgPT09ICd0b3AnID8gJ2JvdHRvbScgOiAndG9wJztcbiAgICBvcmlnaW5GYWxsYmFja1kgPSBvdmVybGF5RmFsbGJhY2tZID09PSAndG9wJyA/ICdib3R0b20nIDogJ3RvcCc7XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3JpZ2luWCxcbiAgICAgIG9yaWdpbkZhbGxiYWNrWCxcbiAgICAgIG9yaWdpblksXG4gICAgICBvcmlnaW5GYWxsYmFja1ksXG4gICAgICBvdmVybGF5WCxcbiAgICAgIG92ZXJsYXlGYWxsYmFja1gsXG4gICAgICBvdmVybGF5WSxcbiAgICAgIG92ZXJsYXlGYWxsYmFja1ksXG4gICAgICBvZmZzZXRYOiB0aGlzLm9mZnNldFgsXG4gICAgICBvZmZzZXRZOiB0aGlzLm9mZnNldFksXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRQb3NpdGlvblN0cmF0ZWd5KCk6IFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgIGxldCBwb3NpdGlvblN0cmF0ZWd5OiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kgPVxuICAgICAgdGhpcy5fb3ZlcmxheVNlcnZpY2UuZGVza3RvcFBvc2l0aW9uU3RyYXRlZ3koXG4gICAgICAgIHRoaXMuX2VsZW1lbnQsXG4gICAgICAgIHRoaXMuc2VsZWN0b3JcbiAgICAgICk7XG4gICAgY29uc3QgcG9zaXRpb25Db25maWc6IE92ZXJsYXlQb3NpdGlvbkNvbmZpZyA9IHRoaXMuZ2V0UG9zaXRpb25Db25maWcoKTtcbiAgICBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5fb3ZlcmxheVNlcnZpY2Uuc2V0UG9zaXRpb24oXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgcG9zaXRpb25Db25maWdcbiAgICApO1xuICAgIHJldHVybiBwb3NpdGlvblN0cmF0ZWd5O1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFNjcm9sbFN0cmF0ZWd5KCk6XG4gICAgfCBSZXBvc2l0aW9uU2Nyb2xsU3RyYXRlZ3lcbiAgICB8IEJsb2NrU2Nyb2xsU3RyYXRlZ3lcbiAgICB8IENsb3NlU2Nyb2xsU3RyYXRlZ3kge1xuICAgIHJldHVybiB0aGlzLnNldFNjcm9sbFN0cmF0ZWd5KCdjbG9zZScpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldFNjcm9sbFN0cmF0ZWd5KFxuICAgIHNjcm9sbFN0cmF0ZWd5OiAncmVwb3NpdGlvbicgfCAnYmxvY2snIHwgJ2Nsb3NlJ1xuICApOiBSZXBvc2l0aW9uU2Nyb2xsU3RyYXRlZ3kgfCBCbG9ja1Njcm9sbFN0cmF0ZWd5IHwgQ2xvc2VTY3JvbGxTdHJhdGVneSB7XG4gICAgc3dpdGNoIChzY3JvbGxTdHJhdGVneSkge1xuICAgICAgY2FzZSAncmVwb3NpdGlvbic6XG4gICAgICAgIHJldHVybiB0aGlzLl9vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpO1xuICAgICAgY2FzZSAnYmxvY2snOlxuICAgICAgICByZXR1cm4gdGhpcy5fb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmJsb2NrKCk7XG4gICAgICBjYXNlICdjbG9zZSc6XG4gICAgICAgIHJldHVybiB0aGlzLl9vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuY2xvc2UoKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB0aGlzLl9vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgdG9nZ2xlT3ZlcmxheShpc09wZW46IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICBpc09wZW4gPyB0aGlzLl9jbG9zZU92ZXJsYXkoKSA6IHRoaXMuX29wZW5PdmVybGF5KCk7XG4gICAgcmV0dXJuICFpc09wZW47XG4gIH1cblxuICBwcm90ZWN0ZWQgb25PdXRzaWRlQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5fY2xvc2VPdmVybGF5KCk7XG4gIH1cblxuICBwcml2YXRlIF9vcGVuT3ZlcmxheSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5kaXJlY3Rpb24gPSB0aGlzLl9kaXIudmFsdWUgPT09ICdydGwnID8gJ3J0bCcgOiAnbHRyJztcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5jbGllbnRJbnB1dCA9IHRoaXMuX2NsaWVudElucHV0O1xuICAgIHRoaXMuY29tcG9uZW50UmVmLmNsaWVudE91dHB1dCA9IHRoaXMuX2NsaWVudE91dHB1dDtcblxuICAgIGNvbnN0IHBhbmVsQ2xhc3M6IHN0cmluZ1tdID0gW107XG4gICAgaWYgKHRoaXMuX2NsaWVudE91dHB1dD8uZGV2aWNlID09PSAndG91Y2gnKSB7XG4gICAgICBwYW5lbENsYXNzLnB1c2goJ2dyYW5pdGUtb3ZlcmxheS1wYW5lLWNlbnRlcicpO1xuICAgIH1cblxuICAgIGNvbnN0IGhhc0JhY2tkcm9wID0gdGhpcy5fY2xpZW50T3V0cHV0Py5kZXZpY2UgPT09ICd0b3VjaCc7XG5cbiAgICBjb25zdCBjb25maWcgPSBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLmdldFBvc2l0aW9uU3RyYXRlZ3koKSxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICdncmFuaXRlLW92ZXJsYXktZGFyay1nbGFzcy1iYWNrZHJvcCcsXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5nZXRTY3JvbGxTdHJhdGVneSgpLFxuICAgICAgZGlyZWN0aW9uOiB0aGlzLl9kaXIsXG4gICAgICBwYW5lbENsYXNzLFxuICAgICAgaGFzQmFja2Ryb3AsXG4gICAgfSk7XG5cbiAgICB0aGlzLl9vdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheVNlcnZpY2UuY3JlYXRlT3ZlcmxheShcbiAgICAgIGNvbmZpZyxcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmLFxuICAgICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZlxuICAgICk7XG4gICAgdGhpcy5fb3ZlcmxheVNlcnZpY2Uuc3Vic2NyaWJlT3V0c2lkZUNsaWNrKHRoaXMuX292ZXJsYXlSZWYsICgpID0+XG4gICAgICB0aGlzLm9uT3V0c2lkZUNsaWNrKClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2xvc2VPdmVybGF5KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fb3ZlcmxheVJlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9vdmVybGF5U2VydmljZS5jbG9zZU92ZXJsYXkodGhpcy5fb3ZlcmxheVJlZiwgdGhpcy5fZWxlbWVudCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,90 @@
1
+ import { Overlay, OverlayOutsideClickDispatcher, } from '@angular/cdk/overlay';
2
+ import { Injectable } from '@angular/core';
3
+ import { FocusMonitor } from '@angular/cdk/a11y';
4
+ import { TemplatePortal } from '@angular/cdk/portal';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/cdk/overlay";
7
+ import * as i2 from "@angular/cdk/a11y";
8
+ export class OverlayService {
9
+ constructor(_overlay, _focusMonitor, _outsideClickDispatcher) {
10
+ this._overlay = _overlay;
11
+ this._focusMonitor = _focusMonitor;
12
+ this._outsideClickDispatcher = _outsideClickDispatcher;
13
+ }
14
+ createOverlay(config, component, viewContainerRef) {
15
+ const overlayRef = this._overlay.create(config);
16
+ const portal = new TemplatePortal(component.templateRef, viewContainerRef);
17
+ overlayRef.attach(portal);
18
+ return overlayRef;
19
+ }
20
+ closeOverlay(overlayRef, element) {
21
+ this._outsideClickDispatcher.remove(overlayRef);
22
+ overlayRef.detach();
23
+ this.restoreFocus(element);
24
+ }
25
+ restoreFocus(element, origin = 'program', options) {
26
+ if (this._focusMonitor) {
27
+ this._focusMonitor.focusVia(element, origin, options);
28
+ }
29
+ else {
30
+ element.nativeElement.focus(options);
31
+ }
32
+ }
33
+ desktopPositionStrategy(element, selector) {
34
+ return this._overlay
35
+ .position()
36
+ .flexibleConnectedTo(element)
37
+ .withLockedPosition()
38
+ .withTransformOriginOn(selector)
39
+ .withPush(false);
40
+ }
41
+ touchPositionStrategy() {
42
+ return this._overlay.position().global();
43
+ }
44
+ setPosition(positionStrategy, positionConfig) {
45
+ const { originX, originFallbackX, originY, originFallbackY, overlayX, overlayFallbackX, overlayY, overlayFallbackY, offsetX, offsetY, } = positionConfig;
46
+ positionStrategy.withPositions([
47
+ { originX, originY, overlayX, overlayY, offsetY },
48
+ {
49
+ originX: originFallbackX,
50
+ originY,
51
+ overlayX: overlayFallbackX,
52
+ overlayY,
53
+ offsetY,
54
+ },
55
+ {
56
+ originX,
57
+ originY: originFallbackY,
58
+ overlayX,
59
+ overlayY: overlayFallbackY,
60
+ offsetY: -offsetY,
61
+ },
62
+ {
63
+ originX: originFallbackX,
64
+ originY: originFallbackY,
65
+ overlayX: overlayFallbackX,
66
+ overlayY: overlayFallbackY,
67
+ offsetY: -offsetY,
68
+ },
69
+ ]);
70
+ return positionStrategy;
71
+ }
72
+ subscribeOutsideClick(overlayRef, callback) {
73
+ this._outsideClickDispatcher.add(overlayRef);
74
+ overlayRef.outsidePointerEvents().subscribe((event) => {
75
+ event.stopPropagation();
76
+ if (callback) {
77
+ callback();
78
+ }
79
+ });
80
+ }
81
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OverlayService, deps: [{ token: i1.Overlay }, { token: i2.FocusMonitor }, { token: i1.OverlayOutsideClickDispatcher }], target: i0.ɵɵFactoryTarget.Injectable }); }
82
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OverlayService, providedIn: 'root' }); }
83
+ }
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OverlayService, decorators: [{
85
+ type: Injectable,
86
+ args: [{
87
+ providedIn: 'root',
88
+ }]
89
+ }], ctorParameters: () => [{ type: i1.Overlay }, { type: i2.FocusMonitor }, { type: i1.OverlayOutsideClickDispatcher }] });
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9jb3JlL292ZXJsYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsT0FBTyxFQUVQLDZCQUE2QixHQUc5QixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBYyxVQUFVLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxZQUFZLEVBQWUsTUFBTSxtQkFBbUIsQ0FBQztBQUc5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7QUFLckQsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFDVSxRQUFpQixFQUNqQixhQUEyQixFQUMzQix1QkFBc0Q7UUFGdEQsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMzQiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQStCO0lBQzdELENBQUM7SUFFSixhQUFhLENBQ1gsTUFBcUIsRUFDckIsU0FBK0IsRUFDL0IsZ0JBQWtDO1FBRWxDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hELE1BQU0sTUFBTSxHQUFHLElBQUksY0FBYyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUMzRSxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFCLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxZQUFZLENBQUMsVUFBc0IsRUFBRSxPQUFnQztRQUNuRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxZQUFZLENBQ1YsT0FBZ0MsRUFDaEMsU0FBc0IsU0FBUyxFQUMvQixPQUFzQjtRQUV0QixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7SUFFRCx1QkFBdUIsQ0FDckIsT0FBZ0MsRUFDaEMsUUFBZ0I7UUFFaEIsT0FBTyxJQUFJLENBQUMsUUFBUTthQUNqQixRQUFRLEVBQUU7YUFDVixtQkFBbUIsQ0FBQyxPQUFPLENBQUM7YUFDNUIsa0JBQWtCLEVBQUU7YUFDcEIscUJBQXFCLENBQUMsUUFBUSxDQUFDO2FBQy9CLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQscUJBQXFCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsV0FBVyxDQUNULGdCQUFtRCxFQUNuRCxjQUFxQztRQUVyQyxNQUFNLEVBQ0osT0FBTyxFQUNQLGVBQWUsRUFDZixPQUFPLEVBQ1AsZUFBZSxFQUNmLFFBQVEsRUFDUixnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLGdCQUFnQixFQUNoQixPQUFPLEVBQ1AsT0FBTyxHQUNSLEdBQUcsY0FBYyxDQUFDO1FBRW5CLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztZQUM3QixFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7WUFDakQ7Z0JBQ0UsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLE9BQU87Z0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsUUFBUTtnQkFDUixPQUFPO2FBQ1I7WUFDRDtnQkFDRSxPQUFPO2dCQUNQLE9BQU8sRUFBRSxlQUFlO2dCQUN4QixRQUFRO2dCQUNSLFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLE9BQU8sRUFBRSxDQUFDLE9BQU87YUFDbEI7WUFDRDtnQkFDRSxPQUFPLEVBQUUsZUFBZTtnQkFDeEIsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLE9BQU8sRUFBRSxDQUFDLE9BQU87YUFDbEI7U0FDRixDQUFDLENBQUM7UUFFSCxPQUFPLGdCQUFnQixDQUFDO0lBQzFCLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxVQUFzQixFQUFFLFFBQXFCO1FBQ2pFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0MsVUFBVSxDQUFDLG9CQUFvQixFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBaUIsRUFBRSxFQUFFO1lBQ2hFLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN4QixJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNiLFFBQVEsRUFBRSxDQUFDO1lBQ2IsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0F6R1UsY0FBYztrSEFBZCxjQUFjLGNBRmIsTUFBTTs7MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3ksXG4gIE92ZXJsYXksXG4gIE92ZXJsYXlDb25maWcsXG4gIE92ZXJsYXlPdXRzaWRlQ2xpY2tEaXNwYXRjaGVyLFxuICBPdmVybGF5UmVmLFxuICBQb3NpdGlvblN0cmF0ZWd5LFxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb2N1c01vbml0b3IsIEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgT3ZlcmxheVBvc2l0aW9uQ29uZmlnIH0gZnJvbSAnLi9vdmVybGF5LXBvc2l0aW9uLWNvbmZpZyc7XG5pbXBvcnQgeyBPdmVybGF5QmFzZUNvbXBvbmVudCB9IGZyb20gJy4vb3ZlcmxheS1iYXNlJztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBPdmVybGF5U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJpdmF0ZSBfZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXG4gICAgcHJpdmF0ZSBfb3V0c2lkZUNsaWNrRGlzcGF0Y2hlcjogT3ZlcmxheU91dHNpZGVDbGlja0Rpc3BhdGNoZXJcbiAgKSB7fVxuXG4gIGNyZWF0ZU92ZXJsYXkoXG4gICAgY29uZmlnOiBPdmVybGF5Q29uZmlnLFxuICAgIGNvbXBvbmVudDogT3ZlcmxheUJhc2VDb21wb25lbnQsXG4gICAgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZlxuICApOiBPdmVybGF5UmVmIHtcbiAgICBjb25zdCBvdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoY29uZmlnKTtcbiAgICBjb25zdCBwb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwoY29tcG9uZW50LnRlbXBsYXRlUmVmLCB2aWV3Q29udGFpbmVyUmVmKTtcbiAgICBvdmVybGF5UmVmLmF0dGFjaChwb3J0YWwpO1xuICAgIHJldHVybiBvdmVybGF5UmVmO1xuICB9XG5cbiAgY2xvc2VPdmVybGF5KG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KTogdm9pZCB7XG4gICAgdGhpcy5fb3V0c2lkZUNsaWNrRGlzcGF0Y2hlci5yZW1vdmUob3ZlcmxheVJlZik7XG4gICAgb3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgICB0aGlzLnJlc3RvcmVGb2N1cyhlbGVtZW50KTtcbiAgfVxuXG4gIHJlc3RvcmVGb2N1cyhcbiAgICBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBvcmlnaW46IEZvY3VzT3JpZ2luID0gJ3Byb2dyYW0nLFxuICAgIG9wdGlvbnM/OiBGb2N1c09wdGlvbnNcbiAgKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2ZvY3VzTW9uaXRvcikge1xuICAgICAgdGhpcy5fZm9jdXNNb25pdG9yLmZvY3VzVmlhKGVsZW1lbnQsIG9yaWdpbiwgb3B0aW9ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cyhvcHRpb25zKTtcbiAgICB9XG4gIH1cblxuICBkZXNrdG9wUG9zaXRpb25TdHJhdGVneShcbiAgICBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBzZWxlY3Rvcjogc3RyaW5nXG4gICk6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB7XG4gICAgcmV0dXJuIHRoaXMuX292ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhlbGVtZW50KVxuICAgICAgLndpdGhMb2NrZWRQb3NpdGlvbigpXG4gICAgICAud2l0aFRyYW5zZm9ybU9yaWdpbk9uKHNlbGVjdG9yKVxuICAgICAgLndpdGhQdXNoKGZhbHNlKTtcbiAgfVxuXG4gIHRvdWNoUG9zaXRpb25TdHJhdGVneSgpOiBQb3NpdGlvblN0cmF0ZWd5IHtcbiAgICByZXR1cm4gdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpO1xuICB9XG5cbiAgc2V0UG9zaXRpb24oXG4gICAgcG9zaXRpb25TdHJhdGVneTogRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LFxuICAgIHBvc2l0aW9uQ29uZmlnOiBPdmVybGF5UG9zaXRpb25Db25maWdcbiAgKTogRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5IHtcbiAgICBjb25zdCB7XG4gICAgICBvcmlnaW5YLFxuICAgICAgb3JpZ2luRmFsbGJhY2tYLFxuICAgICAgb3JpZ2luWSxcbiAgICAgIG9yaWdpbkZhbGxiYWNrWSxcbiAgICAgIG92ZXJsYXlYLFxuICAgICAgb3ZlcmxheUZhbGxiYWNrWCxcbiAgICAgIG92ZXJsYXlZLFxuICAgICAgb3ZlcmxheUZhbGxiYWNrWSxcbiAgICAgIG9mZnNldFgsXG4gICAgICBvZmZzZXRZLFxuICAgIH0gPSBwb3NpdGlvbkNvbmZpZztcblxuICAgIHBvc2l0aW9uU3RyYXRlZ3kud2l0aFBvc2l0aW9ucyhbXG4gICAgICB7IG9yaWdpblgsIG9yaWdpblksIG92ZXJsYXlYLCBvdmVybGF5WSwgb2Zmc2V0WSB9LFxuICAgICAge1xuICAgICAgICBvcmlnaW5YOiBvcmlnaW5GYWxsYmFja1gsXG4gICAgICAgIG9yaWdpblksXG4gICAgICAgIG92ZXJsYXlYOiBvdmVybGF5RmFsbGJhY2tYLFxuICAgICAgICBvdmVybGF5WSxcbiAgICAgICAgb2Zmc2V0WSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG9yaWdpblgsXG4gICAgICAgIG9yaWdpblk6IG9yaWdpbkZhbGxiYWNrWSxcbiAgICAgICAgb3ZlcmxheVgsXG4gICAgICAgIG92ZXJsYXlZOiBvdmVybGF5RmFsbGJhY2tZLFxuICAgICAgICBvZmZzZXRZOiAtb2Zmc2V0WSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG9yaWdpblg6IG9yaWdpbkZhbGxiYWNrWCxcbiAgICAgICAgb3JpZ2luWTogb3JpZ2luRmFsbGJhY2tZLFxuICAgICAgICBvdmVybGF5WDogb3ZlcmxheUZhbGxiYWNrWCxcbiAgICAgICAgb3ZlcmxheVk6IG92ZXJsYXlGYWxsYmFja1ksXG4gICAgICAgIG9mZnNldFk6IC1vZmZzZXRZLFxuICAgICAgfSxcbiAgICBdKTtcblxuICAgIHJldHVybiBwb3NpdGlvblN0cmF0ZWd5O1xuICB9XG5cbiAgc3Vic2NyaWJlT3V0c2lkZUNsaWNrKG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsIGNhbGxiYWNrPzogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX291dHNpZGVDbGlja0Rpc3BhdGNoZXIuYWRkKG92ZXJsYXlSZWYpO1xuICAgIG92ZXJsYXlSZWYub3V0c2lkZVBvaW50ZXJFdmVudHMoKS5zdWJzY3JpYmUoKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIGlmIChjYWxsYmFjaykge1xuICAgICAgICBjYWxsYmFjaygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -8,11 +8,11 @@ export class GraniteProgressBarLegendComponent extends LegendBaseComponent {
8
8
  this.legendItems = [];
9
9
  }
10
10
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteProgressBarLegendComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: GraniteProgressBarLegendComponent, selector: "granite-progress-bar-legend", inputs: { legendItems: "legendItems" }, usesInheritance: true, ngImport: i0, template: "<ng-template>\n <div class=\"legend\" data-fnd=\"legend\">\n <div\n *ngFor=\"let item of legendItems\"\n class=\"legend-item\"\n data-fnd=\"legend-item\"\n >\n <div class=\"legend-label-text\">{{ item.label }}</div>\n <div\n [style.background-color]=\"item.backgroundColor\"\n class=\"color-box\"\n ></div>\n </div>\n </div>\n</ng-template>\n", styles: [".legend{display:flex;flex-direction:column;align-items:flex-start;padding:var(--granite-spacing-8);gap:var(--granite-spacing-8);background-color:var(--granite-color-background-page);border:solid var(--granite-border-width-regular) var(--granite-color-border-contrast);border-radius:var(--granite-radius-s)}.legend-item{display:flex;align-items:center;justify-content:space-between;align-self:stretch;flex-wrap:wrap;padding:0 var(--granite-spacing-4);gap:var(--granite-spacing-8)}.legend-label-text{font-size:var(--granite-font-size-body-small);line-height:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);color:var(--granite-color-text);width:max-content}.color-box{width:8px;height:8px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: GraniteProgressBarLegendComponent, selector: "granite-progress-bar-legend", inputs: { legendItems: "legendItems" }, usesInheritance: true, ngImport: i0, template: "<ng-template>\n <div class=\"legend\" data-fnd=\"legend\">\n <div\n *ngFor=\"let item of legendItems\"\n class=\"legend-item\"\n data-fnd=\"legend-item\"\n >\n <div class=\"legend-label-text\">{{ item.label }}</div>\n <div\n [style.background-color]=\"item.backgroundColor\"\n class=\"color-box\"\n ></div>\n </div>\n </div>\n</ng-template>\n", styles: [".legend{display:flex;flex-direction:column;align-items:flex-start;padding:var(--granite-spacing-8);gap:var(--granite-spacing-8);background-color:var(--granite-color-background-page);border:solid var(--granite-border-width-regular) var(--granite-color-border-contrast);border-radius:var(--granite-radius-s);height:-moz-fit-content;height:fit-content}.legend-item{display:flex;align-items:center;justify-content:space-between;align-self:stretch;flex-wrap:wrap;padding:0 var(--granite-spacing-4);gap:var(--granite-spacing-8)}.legend-label-text{font-size:var(--granite-font-size-body-small);line-height:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);color:var(--granite-color-text);width:max-content}.color-box{width:8px;height:8px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12
12
  }
13
13
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteProgressBarLegendComponent, decorators: [{
14
14
  type: Component,
15
- args: [{ selector: 'granite-progress-bar-legend', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template>\n <div class=\"legend\" data-fnd=\"legend\">\n <div\n *ngFor=\"let item of legendItems\"\n class=\"legend-item\"\n data-fnd=\"legend-item\"\n >\n <div class=\"legend-label-text\">{{ item.label }}</div>\n <div\n [style.background-color]=\"item.backgroundColor\"\n class=\"color-box\"\n ></div>\n </div>\n </div>\n</ng-template>\n", styles: [".legend{display:flex;flex-direction:column;align-items:flex-start;padding:var(--granite-spacing-8);gap:var(--granite-spacing-8);background-color:var(--granite-color-background-page);border:solid var(--granite-border-width-regular) var(--granite-color-border-contrast);border-radius:var(--granite-radius-s)}.legend-item{display:flex;align-items:center;justify-content:space-between;align-self:stretch;flex-wrap:wrap;padding:0 var(--granite-spacing-4);gap:var(--granite-spacing-8)}.legend-label-text{font-size:var(--granite-font-size-body-small);line-height:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);color:var(--granite-color-text);width:max-content}.color-box{width:8px;height:8px}\n"] }]
15
+ args: [{ selector: 'granite-progress-bar-legend', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template>\n <div class=\"legend\" data-fnd=\"legend\">\n <div\n *ngFor=\"let item of legendItems\"\n class=\"legend-item\"\n data-fnd=\"legend-item\"\n >\n <div class=\"legend-label-text\">{{ item.label }}</div>\n <div\n [style.background-color]=\"item.backgroundColor\"\n class=\"color-box\"\n ></div>\n </div>\n </div>\n</ng-template>\n", styles: [".legend{display:flex;flex-direction:column;align-items:flex-start;padding:var(--granite-spacing-8);gap:var(--granite-spacing-8);background-color:var(--granite-color-background-page);border:solid var(--granite-border-width-regular) var(--granite-color-border-contrast);border-radius:var(--granite-radius-s);height:-moz-fit-content;height:fit-content}.legend-item{display:flex;align-items:center;justify-content:space-between;align-self:stretch;flex-wrap:wrap;padding:0 var(--granite-spacing-4);gap:var(--granite-spacing-8)}.legend-label-text{font-size:var(--granite-font-size-body-small);line-height:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);color:var(--granite-color-text);width:max-content}.color-box{width:8px;height:8px}\n"] }]
16
16
  }], propDecorators: { legendItems: [{
17
17
  type: Input
18
18
  }] } });
@@ -1,20 +1,17 @@
1
- import { Directive, TemplateRef, ViewChild } from '@angular/core';
1
+ import { Directive } from '@angular/core';
2
+ import { OverlayBaseComponent } from '../core/overlay-base';
2
3
  import * as i0 from "@angular/core";
3
4
  let legendPanelUid = 0;
4
- export class LegendBaseComponent {
5
+ export class LegendBaseComponent extends OverlayBaseComponent {
5
6
  constructor() {
6
- this.xPosition = 'before';
7
- this.yPosition = 'below';
7
+ super(...arguments);
8
8
  this.panelId = `granite-progress-bar-legend-panel-${legendPanelUid++}`;
9
+ this.xPosition = 'before';
9
10
  }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: LegendBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.4", type: LegendBaseComponent, viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0 }); }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: LegendBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
12
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.4", type: LegendBaseComponent, usesInheritance: true, ngImport: i0 }); }
12
13
  }
13
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: LegendBaseComponent, decorators: [{
14
- type: Directive,
15
- args: [{}]
16
- }], propDecorators: { templateRef: [{
17
- type: ViewChild,
18
- args: [TemplateRef]
19
- }] } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtYmFyLWxlZ2VuZC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLWxlZ2VuZC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTbEUsSUFBSSxjQUFjLEdBQUcsQ0FBQyxDQUFDO0FBR3ZCLE1BQU0sT0FBTyxtQkFBbUI7SUFEaEM7UUFJRSxjQUFTLEdBQWMsUUFBUSxDQUFDO1FBRWhDLGNBQVMsR0FBYyxPQUFPLENBQUM7UUFJdEIsWUFBTyxHQUFHLHFDQUFxQyxjQUFjLEVBQUUsRUFBRSxDQUFDO0tBSzVFOzhHQWRZLG1CQUFtQjtrR0FBbkIsbUJBQW1CLHVFQUNuQixXQUFXOzsyRkFEWCxtQkFBbUI7a0JBRC9CLFNBQVM7bUJBQUMsRUFBRTs4QkFFYSxXQUFXO3NCQUFsQyxTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENsaWVudElucHV0SW50ZXJmYWNlLFxuICBDbGllbnRPdXRwdXRJbnRlcmZhY2UsXG59IGZyb20gJy4uL2NvcmUvY2xpZW50LWVudmlyb25tZW50JztcblxuZXhwb3J0IHR5cGUgUG9zaXRpb25YID0gJ2JlZm9yZScgfCAnYWZ0ZXInO1xuZXhwb3J0IHR5cGUgUG9zaXRpb25ZID0gJ2Fib3ZlJyB8ICdiZWxvdyc7XG5cbmxldCBsZWdlbmRQYW5lbFVpZCA9IDA7XG5cbkBEaXJlY3RpdmUoe30pXG5leHBvcnQgY2xhc3MgTGVnZW5kQmFzZUNvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYpIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHhQb3NpdGlvbjogUG9zaXRpb25YID0gJ2JlZm9yZSc7XG5cbiAgeVBvc2l0aW9uOiBQb3NpdGlvblkgPSAnYmVsb3cnO1xuXG4gIGRpcmVjdGlvbjogRGlyZWN0aW9uO1xuXG4gIHJlYWRvbmx5IHBhbmVsSWQgPSBgZ3Jhbml0ZS1wcm9ncmVzcy1iYXItbGVnZW5kLXBhbmVsLSR7bGVnZW5kUGFuZWxVaWQrK31gO1xuXG4gIGNsaWVudElucHV0OiBDbGllbnRJbnB1dEludGVyZmFjZTtcblxuICBjbGllbnRPdXRwdXQ6IENsaWVudE91dHB1dEludGVyZmFjZTtcbn1cbiJdfQ==
15
+ type: Directive
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtYmFyLWxlZ2VuZC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLWxlZ2VuZC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLG9CQUFvQixFQUFhLE1BQU0sc0JBQXNCLENBQUM7O0FBRXZFLElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQztBQUd2QixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsb0JBQW9CO0lBRDdEOztRQUVXLFlBQU8sR0FBRyxxQ0FBcUMsY0FBYyxFQUFFLEVBQUUsQ0FBQztRQUNsRSxjQUFTLEdBQWMsUUFBUSxDQUFDO0tBQzFDOzhHQUhZLG1CQUFtQjtrR0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUQvQixTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdmVybGF5QmFzZUNvbXBvbmVudCwgUG9zaXRpb25YIH0gZnJvbSAnLi4vY29yZS9vdmVybGF5LWJhc2UnO1xuXG5sZXQgbGVnZW5kUGFuZWxVaWQgPSAwO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBMZWdlbmRCYXNlQ29tcG9uZW50IGV4dGVuZHMgT3ZlcmxheUJhc2VDb21wb25lbnQge1xuICByZWFkb25seSBwYW5lbElkID0gYGdyYW5pdGUtcHJvZ3Jlc3MtYmFyLWxlZ2VuZC1wYW5lbC0ke2xlZ2VuZFBhbmVsVWlkKyt9YDtcbiAgb3ZlcnJpZGUgeFBvc2l0aW9uOiBQb3NpdGlvblggPSAnYmVmb3JlJztcbn1cbiJdfQ==