@ndwnu/design-system 1.1.0 → 2.0.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.
- package/components/accordion/accordion.component.d.ts +1 -0
- package/components/alert/alert.component.d.ts +18 -2
- package/components/alert/alert.model.d.ts +1 -0
- package/components/badge/badge.component.d.ts +8 -1
- package/components/card/card-footer/card-footer.component.d.ts +0 -1
- package/components/card/card-header/card-header.component.d.ts +0 -3
- package/components/card/card.component.d.ts +2 -8
- package/components/card/index.d.ts +3 -1
- package/components/collapsible/collapsible.component.d.ts +4 -3
- package/components/dropdown/dropdown.component.d.ts +5 -5
- package/components/form-field/checkbox/checkbox.component.d.ts +0 -1
- package/components/form-field/file-upload/file-upload-text.interface.d.ts +4 -0
- package/components/form-field/file-upload/file-upload.component.d.ts +44 -0
- package/components/form-field/file-upload/index.d.ts +2 -0
- package/components/form-field/form-field.component.d.ts +8 -2
- package/components/form-field/index.d.ts +3 -0
- package/components/form-field/input/input.directive.d.ts +1 -0
- package/components/form-field/option-group/index.d.ts +2 -0
- package/components/form-field/option-group/option-group.component.d.ts +18 -0
- package/components/form-field/option-group/option.component.d.ts +8 -0
- package/components/form-field/radio-button/radio-button.component.d.ts +0 -4
- package/components/form-field/radio-group/radio-group.component.d.ts +1 -1
- package/components/form-field/textarea/auto-grow.directive.d.ts +19 -0
- package/components/form-field/textarea/index.d.ts +1 -0
- package/components/icon/action-icon/action-icon.component.d.ts +33 -0
- package/components/icon/icon.component.d.ts +4 -6
- package/components/icon/index.d.ts +1 -0
- package/components/index.d.ts +1 -0
- package/components/main-navigation/main-navigation.component.d.ts +2 -1
- package/components/modal/index.d.ts +7 -1
- package/components/modal/modal-content/index.d.ts +1 -0
- package/components/modal/modal-content/modal-content.component.d.ts +5 -0
- package/components/modal/modal-footer/index.d.ts +1 -0
- package/components/modal/modal-footer/modal-footer.component.d.ts +5 -0
- package/components/modal/modal-header/index.d.ts +1 -0
- package/components/modal/modal-header/modal-header.component.d.ts +7 -0
- package/components/modal/modal.component.d.ts +11 -0
- package/components/modal/modal.service.d.ts +0 -1
- package/components/multi-select/multi-select.component.d.ts +6 -5
- package/components/pill/pill.component.d.ts +8 -0
- package/components/removable-pill/removable-pill.component.d.ts +9 -2
- package/components/toast/index.d.ts +2 -0
- package/components/toast/toast.component.d.ts +18 -0
- package/components/toast/toast.service.d.ts +12 -0
- package/components/tooltip/tooltip.directive.d.ts +4 -0
- package/core/styles/ndw-styles.scss +99 -31
- package/core/styles/nwb-styles.scss +99 -31
- package/esm2022/components/accordion/accordion.component.mjs +9 -5
- package/esm2022/components/accordion/accordion.service.mjs +3 -6
- package/esm2022/components/alert/alert.component.mjs +28 -4
- package/esm2022/components/alert/alert.model.mjs +1 -1
- package/esm2022/components/badge/badge.component.mjs +10 -3
- package/esm2022/components/breadcrumb-group/breadcrumb-group.component.mjs +3 -3
- package/esm2022/components/card/card-footer/card-footer.component.mjs +1 -4
- package/esm2022/components/card/card-header/card-header.component.mjs +4 -12
- package/esm2022/components/card/card.component.mjs +5 -22
- package/esm2022/components/card/index.mjs +12 -2
- package/esm2022/components/collapsible/collapsible.component.mjs +6 -13
- package/esm2022/components/dropdown/dropdown.component.mjs +8 -9
- package/esm2022/components/form-field/checkbox/checkbox.component.mjs +8 -17
- package/esm2022/components/form-field/error/error.component.mjs +3 -3
- package/esm2022/components/form-field/file-upload/file-upload-text.interface.mjs +2 -0
- package/esm2022/components/form-field/file-upload/file-upload.component.mjs +210 -0
- package/esm2022/components/form-field/file-upload/index.mjs +3 -0
- package/esm2022/components/form-field/form-field.component.mjs +30 -5
- package/esm2022/components/form-field/index.mjs +4 -1
- package/esm2022/components/form-field/info/info.component.mjs +2 -2
- package/esm2022/components/form-field/input/input.directive.mjs +5 -3
- package/esm2022/components/form-field/option-group/index.mjs +3 -0
- package/esm2022/components/form-field/option-group/option-group.component.mjs +53 -0
- package/esm2022/components/form-field/option-group/option.component.mjs +22 -0
- package/esm2022/components/form-field/radio-button/radio-button.component.mjs +8 -35
- package/esm2022/components/form-field/radio-group/radio-group.component.mjs +4 -6
- package/esm2022/components/form-field/textarea/auto-grow.directive.mjs +45 -0
- package/esm2022/components/form-field/textarea/index.mjs +2 -0
- package/esm2022/components/icon/action-icon/action-icon.component.mjs +39 -0
- package/esm2022/components/icon/icon.component.mjs +10 -24
- package/esm2022/components/icon/index.mjs +2 -1
- package/esm2022/components/index.mjs +2 -1
- package/esm2022/components/main-navigation/main-navigation.component.mjs +4 -3
- package/esm2022/components/modal/index.mjs +18 -2
- package/esm2022/components/modal/modal-content/index.mjs +2 -0
- package/esm2022/components/modal/modal-content/modal-content.component.mjs +11 -0
- package/esm2022/components/modal/modal-footer/index.mjs +2 -0
- package/esm2022/components/modal/modal-footer/modal-footer.component.mjs +11 -0
- package/esm2022/components/modal/modal-header/index.mjs +2 -0
- package/esm2022/components/modal/modal-header/modal-header.component.mjs +19 -0
- package/esm2022/components/modal/modal.component.mjs +32 -0
- package/esm2022/components/modal/modal.service.mjs +5 -10
- package/esm2022/components/multi-select/multi-select.component.mjs +10 -8
- package/esm2022/components/pill/pill.component.mjs +17 -4
- package/esm2022/components/removable-pill/removable-pill.component.mjs +13 -11
- package/esm2022/components/toast/index.mjs +3 -0
- package/esm2022/components/toast/toast.component.mjs +74 -0
- package/esm2022/components/toast/toast.service.mjs +43 -0
- package/esm2022/components/tooltip/tooltip.component.mjs +5 -3
- package/esm2022/components/tooltip/tooltip.directive.mjs +43 -18
- package/fesm2022/ndwnu-design-system.mjs +884 -334
- package/fesm2022/ndwnu-design-system.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Directive, ElementRef, inject } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Directive that automatically grows a textarea element to fit its content.
|
|
5
|
+
*
|
|
6
|
+
* Note that at this moment (2024-09-06) there is an experimental CSS property
|
|
7
|
+
* `field-sizing: content;` that can be used to achieve the same effect. At this
|
|
8
|
+
* moment not all browsers support this property (FF and Safari do not for example).
|
|
9
|
+
*
|
|
10
|
+
* So for now a directive is used to achieve the same effect.
|
|
11
|
+
*/
|
|
12
|
+
export class AutoGrowDirective {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.elementRef = inject(ElementRef);
|
|
15
|
+
}
|
|
16
|
+
get element() {
|
|
17
|
+
return this.elementRef.nativeElement;
|
|
18
|
+
}
|
|
19
|
+
ngAfterViewInit() {
|
|
20
|
+
this.element.style.resize = 'none';
|
|
21
|
+
this.element.style.overflow = 'hidden';
|
|
22
|
+
this.element.addEventListener('input', fitContentInTextArea);
|
|
23
|
+
// Use set timeout to make sure the textarea is rendered before
|
|
24
|
+
// we set the initial height. This is needed for Firefox.
|
|
25
|
+
setTimeout(() => fitContentInTextArea({ target: this.element }));
|
|
26
|
+
}
|
|
27
|
+
ngOnDestroy() {
|
|
28
|
+
this.element.removeEventListener('input', fitContentInTextArea);
|
|
29
|
+
}
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AutoGrowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
31
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.3", type: AutoGrowDirective, isStandalone: true, selector: "textarea[ndwAutoGrow]", ngImport: i0 }); }
|
|
32
|
+
}
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AutoGrowDirective, decorators: [{
|
|
34
|
+
type: Directive,
|
|
35
|
+
args: [{
|
|
36
|
+
selector: 'textarea[ndwAutoGrow]',
|
|
37
|
+
standalone: true,
|
|
38
|
+
}]
|
|
39
|
+
}] });
|
|
40
|
+
function fitContentInTextArea(event) {
|
|
41
|
+
const element = event.target;
|
|
42
|
+
element.style.height = 'auto'; // Make the textarea shrink when a lot of text is removed.
|
|
43
|
+
element.style.height = `${element.scrollHeight}px`;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1ncm93LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9mb3JtLWZpZWxkL3RleHRhcmVhL2F1dG8tZ3Jvdy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsVUFBVSxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFeEY7Ozs7Ozs7O0dBUUc7QUFLSCxNQUFNLE9BQU8saUJBQWlCO0lBSjlCO1FBS21CLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7S0FrQmxEO0lBaEJDLElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBb0MsQ0FBQztJQUM5RCxDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUM3RCwrREFBK0Q7UUFDL0QseURBQXlEO1FBQ3pELFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFDbEUsQ0FBQzs4R0FsQlUsaUJBQWlCO2tHQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBSjdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOztBQXNCRCxTQUFTLG9CQUFvQixDQUFDLEtBQTRCO0lBQ3hELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUE2QixDQUFDO0lBQ3BELE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLDBEQUEwRDtJQUN6RixPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxZQUFZLElBQUksQ0FBQztBQUNyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0aGF0IGF1dG9tYXRpY2FsbHkgZ3Jvd3MgYSB0ZXh0YXJlYSBlbGVtZW50IHRvIGZpdCBpdHMgY29udGVudC5cbiAqXG4gKiBOb3RlIHRoYXQgYXQgdGhpcyBtb21lbnQgKDIwMjQtMDktMDYpIHRoZXJlIGlzIGFuIGV4cGVyaW1lbnRhbCBDU1MgcHJvcGVydHlcbiAqIGBmaWVsZC1zaXppbmc6IGNvbnRlbnQ7YCB0aGF0IGNhbiBiZSB1c2VkIHRvIGFjaGlldmUgdGhlIHNhbWUgZWZmZWN0LiBBdCB0aGlzXG4gKiBtb21lbnQgbm90IGFsbCBicm93c2VycyBzdXBwb3J0IHRoaXMgcHJvcGVydHkgKEZGIGFuZCBTYWZhcmkgZG8gbm90IGZvciBleGFtcGxlKS5cbiAqXG4gKiBTbyBmb3Igbm93IGEgZGlyZWN0aXZlIGlzIHVzZWQgdG8gYWNoaWV2ZSB0aGUgc2FtZSBlZmZlY3QuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3RleHRhcmVhW25kd0F1dG9Hcm93XScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9Hcm93RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIHB1YmxpYyBnZXQgZWxlbWVudCgpOiBIVE1MVGV4dEFyZWFFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTFRleHRBcmVhRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5lbGVtZW50LnN0eWxlLnJlc2l6ZSA9ICdub25lJztcbiAgICB0aGlzLmVsZW1lbnQuc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcbiAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCBmaXRDb250ZW50SW5UZXh0QXJlYSk7XG4gICAgLy8gVXNlIHNldCB0aW1lb3V0IHRvIG1ha2Ugc3VyZSB0aGUgdGV4dGFyZWEgaXMgcmVuZGVyZWQgYmVmb3JlXG4gICAgLy8gd2Ugc2V0IHRoZSBpbml0aWFsIGhlaWdodC4gVGhpcyBpcyBuZWVkZWQgZm9yIEZpcmVmb3guXG4gICAgc2V0VGltZW91dCgoKSA9PiBmaXRDb250ZW50SW5UZXh0QXJlYSh7IHRhcmdldDogdGhpcy5lbGVtZW50IH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignaW5wdXQnLCBmaXRDb250ZW50SW5UZXh0QXJlYSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZml0Q29udGVudEluVGV4dEFyZWEoZXZlbnQ6IFBpY2s8RXZlbnQsICd0YXJnZXQnPik6IHZvaWQge1xuICBjb25zdCBlbGVtZW50ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxUZXh0QXJlYUVsZW1lbnQ7XG4gIGVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJ2F1dG8nOyAvLyBNYWtlIHRoZSB0ZXh0YXJlYSBzaHJpbmsgd2hlbiBhIGxvdCBvZiB0ZXh0IGlzIHJlbW92ZWQuXG4gIGVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gYCR7ZWxlbWVudC5zY3JvbGxIZWlnaHR9cHhgO1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './auto-grow.directive';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZm9ybS1maWVsZC90ZXh0YXJlYS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRvLWdyb3cuZGlyZWN0aXZlJztcbiJdfQ==
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, input, output } from '@angular/core';
|
|
2
|
+
import { IconComponent } from '../icon.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ActionIconComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
/**
|
|
7
|
+
* Used to give meaning to the button, used by screen readers.
|
|
8
|
+
*/
|
|
9
|
+
this.ariaLabel = input.required();
|
|
10
|
+
/**
|
|
11
|
+
* Color scheme of the ActionIcon, available `primary`, `link`,
|
|
12
|
+
* `grey` and `white` (defaults to primary).
|
|
13
|
+
*/
|
|
14
|
+
this.variant = input('primary');
|
|
15
|
+
/**
|
|
16
|
+
* Specify button type, defaults to `button`
|
|
17
|
+
*/
|
|
18
|
+
this.buttonType = input('button');
|
|
19
|
+
/**
|
|
20
|
+
* Disables the button, defaults to `false`.
|
|
21
|
+
*/
|
|
22
|
+
this.disabled = input(false);
|
|
23
|
+
/**
|
|
24
|
+
* Sets the size of the button, defaults to `md`.
|
|
25
|
+
*/
|
|
26
|
+
this.size = input('md');
|
|
27
|
+
/**
|
|
28
|
+
* Event emitted when the button is clicked.
|
|
29
|
+
*/
|
|
30
|
+
this.onClick = output();
|
|
31
|
+
}
|
|
32
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ActionIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.3", type: ActionIconComponent, isStandalone: true, selector: "ndw-action-icon", inputs: { ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: true, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, buttonType: { classPropertyName: "buttonType", publicName: "buttonType", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<button\n class=\"ndw-action-icon ndw-action-icon--{{ variant() }}\"\n [type]=\"buttonType()\"\n [attr.aria-label]=\"ariaLabel()\"\n [disabled]=\"disabled()\"\n (click)=\"onClick.emit()\"\n>\n <ndw-icon [size]=\"size()\"><ng-content /></ndw-icon>\n</button>\n", styles: [":host{display:inline-block}.ndw-action-icon{position:relative;box-sizing:border-box;display:inline-block;padding:0;border:0;border-radius:var(--ndw-border-radius-md);background-color:transparent;transition:background-color .15s ease-in-out}.ndw-action-icon--primary{color:var(--ndw-color-primary)}.ndw-action-icon--link{color:var(--ndw-color-link-400)}.ndw-action-icon--grey{color:var(--ndw-color-grey-400)}.ndw-action-icon--white{color:var(--ndw-color-white)}.ndw-action-icon:disabled{opacity:.5;pointer-events:none}.ndw-action-icon:not(:disabled):hover{background-color:var(--ndw-alpha-black-007)}.ndw-action-icon:not(:disabled):active,.ndw-action-icon:not(:disabled):focus,.ndw-action-icon:not(:disabled):focus-visible{background-color:var(--ndw-alpha-black-015)}.ndw-action-icon:not(:disabled):focus-visible{outline-color:var(--ndw-color-secondary-500)}.ndw-action-icon ndw-icon{padding:var(--ndw-spacing-2xs);vertical-align:middle}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "ndw-icon", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
34
|
+
}
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ActionIconComponent, decorators: [{
|
|
36
|
+
type: Component,
|
|
37
|
+
args: [{ selector: 'ndw-action-icon', standalone: true, imports: [IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n class=\"ndw-action-icon ndw-action-icon--{{ variant() }}\"\n [type]=\"buttonType()\"\n [attr.aria-label]=\"ariaLabel()\"\n [disabled]=\"disabled()\"\n (click)=\"onClick.emit()\"\n>\n <ndw-icon [size]=\"size()\"><ng-content /></ndw-icon>\n</button>\n", styles: [":host{display:inline-block}.ndw-action-icon{position:relative;box-sizing:border-box;display:inline-block;padding:0;border:0;border-radius:var(--ndw-border-radius-md);background-color:transparent;transition:background-color .15s ease-in-out}.ndw-action-icon--primary{color:var(--ndw-color-primary)}.ndw-action-icon--link{color:var(--ndw-color-link-400)}.ndw-action-icon--grey{color:var(--ndw-color-grey-400)}.ndw-action-icon--white{color:var(--ndw-color-white)}.ndw-action-icon:disabled{opacity:.5;pointer-events:none}.ndw-action-icon:not(:disabled):hover{background-color:var(--ndw-alpha-black-007)}.ndw-action-icon:not(:disabled):active,.ndw-action-icon:not(:disabled):focus,.ndw-action-icon:not(:disabled):focus-visible{background-color:var(--ndw-alpha-black-015)}.ndw-action-icon:not(:disabled):focus-visible{outline-color:var(--ndw-color-secondary-500)}.ndw-action-icon ndw-icon{padding:var(--ndw-spacing-2xs);vertical-align:middle}\n"] }]
|
|
38
|
+
}] });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWljb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2ljb24vYWN0aW9uLWljb24vYWN0aW9uLWljb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2ljb24vYWN0aW9uLWljb24vYWN0aW9uLWljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxhQUFhLEVBQVksTUFBTSxtQkFBbUIsQ0FBQzs7QUFhNUQsTUFBTSxPQUFPLG1CQUFtQjtJQVJoQztRQVNFOztXQUVHO1FBQ0ksY0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUU1Qzs7O1dBR0c7UUFDSSxZQUFPLEdBQUcsS0FBSyxDQUFjLFNBQVMsQ0FBQyxDQUFDO1FBRS9DOztXQUVHO1FBQ0ksZUFBVSxHQUFHLEtBQUssQ0FBYSxRQUFRLENBQUMsQ0FBQztRQUVoRDs7V0FFRztRQUNJLGFBQVEsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFeEM7O1dBRUc7UUFDSSxTQUFJLEdBQUcsS0FBSyxDQUFXLElBQUksQ0FBQyxDQUFDO1FBRXBDOztXQUVHO1FBQ2EsWUFBTyxHQUFHLE1BQU0sRUFBUSxDQUFDO0tBQzFDOzhHQS9CWSxtQkFBbUI7a0dBQW5CLG1CQUFtQixzdkJDZGhDLDJRQVNBLG8rQkRBWSxhQUFhOzsyRkFLWixtQkFBbUI7a0JBUi9CLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMsYUFBYSxDQUFDLG1CQUdQLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50LCBJY29uU2l6ZSB9IGZyb20gJy4uL2ljb24uY29tcG9uZW50JztcblxuZXhwb3J0IHR5cGUgQnV0dG9uVHlwZSA9ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnO1xuZXhwb3J0IHR5cGUgSWNvblZhcmlhbnQgPSAncHJpbWFyeScgfCAnbGluaycgfCAnZ3JleScgfCAnd2hpdGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZHctYWN0aW9uLWljb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbSWNvbkNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb24taWNvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9hY3Rpb24taWNvbi5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25JY29uQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFVzZWQgdG8gZ2l2ZSBtZWFuaW5nIHRvIHRoZSBidXR0b24sIHVzZWQgYnkgc2NyZWVuIHJlYWRlcnMuXG4gICAqL1xuICBwdWJsaWMgYXJpYUxhYmVsID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBDb2xvciBzY2hlbWUgb2YgdGhlIEFjdGlvbkljb24sIGF2YWlsYWJsZSBgcHJpbWFyeWAsIGBsaW5rYCxcbiAgICogYGdyZXlgIGFuZCBgd2hpdGVgIChkZWZhdWx0cyB0byBwcmltYXJ5KS5cbiAgICovXG4gIHB1YmxpYyB2YXJpYW50ID0gaW5wdXQ8SWNvblZhcmlhbnQ+KCdwcmltYXJ5Jyk7XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgYnV0dG9uIHR5cGUsIGRlZmF1bHRzIHRvIGBidXR0b25gXG4gICAqL1xuICBwdWJsaWMgYnV0dG9uVHlwZSA9IGlucHV0PEJ1dHRvblR5cGU+KCdidXR0b24nKTtcblxuICAvKipcbiAgICogRGlzYWJsZXMgdGhlIGJ1dHRvbiwgZGVmYXVsdHMgdG8gYGZhbHNlYC5cbiAgICovXG4gIHB1YmxpYyBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAvKipcbiAgICogU2V0cyB0aGUgc2l6ZSBvZiB0aGUgYnV0dG9uLCBkZWZhdWx0cyB0byBgbWRgLlxuICAgKi9cbiAgcHVibGljIHNpemUgPSBpbnB1dDxJY29uU2l6ZT4oJ21kJyk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgYnV0dG9uIGlzIGNsaWNrZWQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgb25DbGljayA9IG91dHB1dDx2b2lkPigpO1xufVxuIiwiPGJ1dHRvblxuICBjbGFzcz1cIm5kdy1hY3Rpb24taWNvbiBuZHctYWN0aW9uLWljb24tLXt7IHZhcmlhbnQoKSB9fVwiXG4gIFt0eXBlXT1cImJ1dHRvblR5cGUoKVwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsKClcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gIChjbGljayk9XCJvbkNsaWNrLmVtaXQoKVwiXG4+XG4gIDxuZHctaWNvbiBbc2l6ZV09XCJzaXplKClcIj48bmctY29udGVudCAvPjwvbmR3LWljb24+XG48L2J1dHRvbj5cbiJdfQ==
|
|
@@ -2,19 +2,12 @@ import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, inject, in
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class IconComponent {
|
|
4
4
|
constructor() {
|
|
5
|
+
this.size = input('md');
|
|
5
6
|
this.elementRef = inject(ElementRef);
|
|
6
7
|
this.renderer = inject(Renderer2);
|
|
7
|
-
this.interactive = input(false);
|
|
8
|
-
this.iconClass = 'material-symbols-rounded';
|
|
9
8
|
}
|
|
10
|
-
get
|
|
11
|
-
return this.
|
|
12
|
-
}
|
|
13
|
-
get role() {
|
|
14
|
-
return this.interactive() ? 'button' : 'img';
|
|
15
|
-
}
|
|
16
|
-
get tabIndex() {
|
|
17
|
-
return this.interactive() ? 0 : -1;
|
|
9
|
+
get hostClass() {
|
|
10
|
+
return `icon--${this.size()}`;
|
|
18
11
|
}
|
|
19
12
|
ngOnInit() {
|
|
20
13
|
const { nativeElement } = this.elementRef;
|
|
@@ -23,24 +16,17 @@ export class IconComponent {
|
|
|
23
16
|
this.renderer.setStyle(nativeElement, 'width', height + paddingInline);
|
|
24
17
|
}
|
|
25
18
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.3", type: IconComponent, isStandalone: true, selector: "ndw-icon", inputs: {
|
|
19
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.3", type: IconComponent, isStandalone: true, selector: "ndw-icon", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "aria-hidden": "true", "aria-role": "img" }, properties: { "class": "this.hostClass" }, classAttribute: "material-symbols-rounded" }, ngImport: i0, template: "<ng-content />\n", styles: [":host{display:inline-block;font-size:var(--ndw-spacing-lg);position:relative;-webkit-user-select:none;user-select:none}:host.icon--sm{font-size:var(--ndw-spacing-md)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27
20
|
}
|
|
28
21
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: IconComponent, decorators: [{
|
|
29
22
|
type: Component,
|
|
30
23
|
args: [{ selector: 'ndw-icon', standalone: true, imports: [], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
24
|
+
class: 'material-symbols-rounded',
|
|
25
|
+
'aria-hidden': 'true',
|
|
26
|
+
'aria-role': 'img',
|
|
27
|
+
}, template: "<ng-content />\n", styles: [":host{display:inline-block;font-size:var(--ndw-spacing-lg);position:relative;-webkit-user-select:none;user-select:none}:host.icon--sm{font-size:var(--ndw-spacing-md)}\n"] }]
|
|
28
|
+
}], propDecorators: { hostClass: [{
|
|
34
29
|
type: HostBinding,
|
|
35
30
|
args: ['class']
|
|
36
|
-
}], interactiveClass: [{
|
|
37
|
-
type: HostBinding,
|
|
38
|
-
args: ['class.interactive']
|
|
39
|
-
}], role: [{
|
|
40
|
-
type: HostBinding,
|
|
41
|
-
args: ['attr.role']
|
|
42
|
-
}], tabIndex: [{
|
|
43
|
-
type: HostBinding,
|
|
44
|
-
args: ['attr.tabindex']
|
|
45
31
|
}] } });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUVMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQzs7QUFpQnZCLE1BQU0sT0FBTyxhQUFhO0lBYjFCO1FBY1MsU0FBSSxHQUFHLEtBQUssQ0FBVyxJQUFJLENBQUMsQ0FBQztRQUVuQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7S0FhL0M7SUFYQyxJQUNXLFNBQVM7UUFDbEIsT0FBTyxTQUFTLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxRQUFRO1FBQ2IsTUFBTSxFQUFFLGFBQWEsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDMUMsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQ3hELE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUNwRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sR0FBRyxhQUFhLENBQUMsQ0FBQztJQUN6RSxDQUFDOzhHQWhCVSxhQUFhO2tHQUFiLGFBQWEsaVdDMUIxQixrQkFDQTs7MkZEeUJhLGFBQWE7a0JBYnpCLFNBQVM7K0JBQ0UsVUFBVSxjQUNSLElBQUksV0FDUCxFQUFFLG1CQUdNLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osS0FBSyxFQUFFLDBCQUEwQjt3QkFDakMsYUFBYSxFQUFFLE1BQU07d0JBQ3JCLFdBQVcsRUFBRSxLQUFLO3FCQUNuQjs4QkFTVSxTQUFTO3NCQURuQixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgT25Jbml0LFxuICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBJY29uU2l6ZSA9ICdzbScgfCAnbWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZHctaWNvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtdLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9pY29uLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ21hdGVyaWFsLXN5bWJvbHMtcm91bmRlZCcsXG4gICAgJ2FyaWEtaGlkZGVuJzogJ3RydWUnLFxuICAgICdhcmlhLXJvbGUnOiAnaW1nJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgSWNvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBzaXplID0gaW5wdXQ8SWNvblNpemU+KCdtZCcpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwdWJsaWMgZ2V0IGhvc3RDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgaWNvbi0tJHt0aGlzLnNpemUoKX1gO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHsgbmF0aXZlRWxlbWVudCB9ID0gdGhpcy5lbGVtZW50UmVmO1xuICAgIGNvbnN0IGhlaWdodCA9IGdldENvbXB1dGVkU3R5bGUobmF0aXZlRWxlbWVudCkuZm9udFNpemU7XG4gICAgY29uc3QgcGFkZGluZ0lubGluZSA9IGdldENvbXB1dGVkU3R5bGUobmF0aXZlRWxlbWVudCkucGFkZGluZ0lubGluZTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKG5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIGhlaWdodCArIHBhZGRpbmdJbmxpbmUpO1xuICB9XG59XG4iLCI8bmctY29udGVudCAvPlxuIl19
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export * from './icon.component';
|
|
2
|
-
|
|
2
|
+
export * from './action-icon/action-icon.component';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvaWNvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMscUNBQXFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ljb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uLWljb24vYWN0aW9uLWljb24uY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -18,5 +18,6 @@ export * from './router-breadcrumbs';
|
|
|
18
18
|
export * from './tab';
|
|
19
19
|
export * from './tab-group';
|
|
20
20
|
export * from './tooltip';
|
|
21
|
+
export * from './toast';
|
|
21
22
|
export * from './removable-pill';
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLE9BQU8sQ0FBQztBQUN0QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY2NvcmRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9hbGVydCc7XG5leHBvcnQgKiBmcm9tICcuL2JhZGdlJztcbmV4cG9ydCAqIGZyb20gJy4vYnJlYWRjcnVtYic7XG5leHBvcnQgKiBmcm9tICcuL2JyZWFkY3J1bWItZ3JvdXAnO1xuZXhwb3J0ICogZnJvbSAnLi9idXR0b24nO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJkJztcbmV4cG9ydCAqIGZyb20gJy4vY29sbGFwc2libGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bic7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tZmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9pY29uJztcbmV4cG9ydCAqIGZyb20gJy4vbWFpbi1uYXZpZ2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tdWx0aS1zZWxlY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9waWxsJztcbmV4cG9ydCAqIGZyb20gJy4vcG9wb3Zlcic7XG5leHBvcnQgKiBmcm9tICcuL3JvdXRlci1icmVhZGNydW1icyc7XG5leHBvcnQgKiBmcm9tICcuL3RhYic7XG5leHBvcnQgKiBmcm9tICcuL3RhYi1ncm91cCc7XG5leHBvcnQgKiBmcm9tICcuL3Rvb2x0aXAnO1xuZXhwb3J0ICogZnJvbSAnLi90b2FzdCc7XG5leHBvcnQgKiBmcm9tICcuL3JlbW92YWJsZS1waWxsJztcbiJdfQ==
|
|
@@ -16,6 +16,7 @@ export class MainNavigationComponent {
|
|
|
16
16
|
this.brand = input(NdwBrand.NDW);
|
|
17
17
|
this.footerTexts = input();
|
|
18
18
|
this.isCollapsible = input(true);
|
|
19
|
+
this.version = input();
|
|
19
20
|
this.selected = output();
|
|
20
21
|
this.isExpanded = model(true);
|
|
21
22
|
this.buttons = viewChildren('menuTrigger');
|
|
@@ -98,7 +99,7 @@ export class MainNavigationComponent {
|
|
|
98
99
|
.withPositions(this.overlayPositions);
|
|
99
100
|
}
|
|
100
101
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: MainNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
101
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: MainNavigationComponent, isStandalone: true, selector: "ndw-main-navigation", inputs: { applicationName: { classPropertyName: "applicationName", publicName: "applicationName", isSignal: true, isRequired: true, transformFunction: null }, topMenuItems: { classPropertyName: "topMenuItems", publicName: "topMenuItems", isSignal: true, isRequired: true, transformFunction: null }, bottomMenuItems: { classPropertyName: "bottomMenuItems", publicName: "bottomMenuItems", isSignal: true, isRequired: false, transformFunction: null }, brand: { classPropertyName: "brand", publicName: "brand", isSignal: true, isRequired: false, transformFunction: null }, footerTexts: { classPropertyName: "footerTexts", publicName: "footerTexts", isSignal: true, isRequired: false, transformFunction: null }, isCollapsible: { classPropertyName: "isCollapsible", publicName: "isCollapsible", isSignal: true, isRequired: false, transformFunction: null }, isExpanded: { classPropertyName: "isExpanded", publicName: "isExpanded", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selected", isExpanded: "isExpandedChange" }, host: { listeners: { "document:mousemove": "onMouseMove($event)" }, properties: { "attr.brand": "this.brandAttribute", "class.expanded": "this.expandedClass" } }, viewQueries: [{ propertyName: "buttons", predicate: ["menuTrigger"], descendants: true, isSignal: true }, { propertyName: "childMenuTemplate", first: true, predicate: ["childMenu"], descendants: true, isSignal: true }], ngImport: i0, template: "<header>\n <img [src]=\"brandImagePath()\" [alt]=\"brand() + ' logo'\" />\n @if (isExpanded()) {\n {{ applicationName() }}\n }\n</header>\n<main>\n @for (item of topMenuItems(); track $index) {\n <ng-container *ngTemplateOutlet=\"menuItem; context: { $implicit: item }\" />\n }\n</main>\n<footer>\n @for (item of bottomMenuItems(); track $index) {\n <ng-container *ngTemplateOutlet=\"menuItem; context: { $implicit: item }\" />\n }\n @if (isExpanded()) {\n
|
|
102
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: MainNavigationComponent, isStandalone: true, selector: "ndw-main-navigation", inputs: { applicationName: { classPropertyName: "applicationName", publicName: "applicationName", isSignal: true, isRequired: true, transformFunction: null }, topMenuItems: { classPropertyName: "topMenuItems", publicName: "topMenuItems", isSignal: true, isRequired: true, transformFunction: null }, bottomMenuItems: { classPropertyName: "bottomMenuItems", publicName: "bottomMenuItems", isSignal: true, isRequired: false, transformFunction: null }, brand: { classPropertyName: "brand", publicName: "brand", isSignal: true, isRequired: false, transformFunction: null }, footerTexts: { classPropertyName: "footerTexts", publicName: "footerTexts", isSignal: true, isRequired: false, transformFunction: null }, isCollapsible: { classPropertyName: "isCollapsible", publicName: "isCollapsible", isSignal: true, isRequired: false, transformFunction: null }, version: { classPropertyName: "version", publicName: "version", isSignal: true, isRequired: false, transformFunction: null }, isExpanded: { classPropertyName: "isExpanded", publicName: "isExpanded", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selected", isExpanded: "isExpandedChange" }, host: { listeners: { "document:mousemove": "onMouseMove($event)" }, properties: { "attr.brand": "this.brandAttribute", "class.expanded": "this.expandedClass" } }, viewQueries: [{ propertyName: "buttons", predicate: ["menuTrigger"], descendants: true, isSignal: true }, { propertyName: "childMenuTemplate", first: true, predicate: ["childMenu"], descendants: true, isSignal: true }], ngImport: i0, template: "<header>\n <img [src]=\"brandImagePath()\" [alt]=\"brand() + ' logo'\" />\n @if (isExpanded()) {\n {{ applicationName() }}\n }\n</header>\n<main>\n @for (item of topMenuItems(); track $index) {\n <ng-container *ngTemplateOutlet=\"menuItem; context: { $implicit: item }\" />\n }\n</main>\n<footer>\n @for (item of bottomMenuItems(); track $index) {\n <ng-container *ngTemplateOutlet=\"menuItem; context: { $implicit: item }\" />\n }\n <div class=\"texts\">\n @if (isExpanded()) {\n @for (text of footerTexts(); track $index) {\n <p>{{ text }}</p>\n }\n }\n </div>\n <div class=\"version\">\n <p>{{ version() }}</p>\n @if (isCollapsible()) {\n <button ndwButton menu aria-label=\"expand-button\" (click)=\"toggleView()\">\n <ndw-icon>keyboard_double_arrow_right</ndw-icon>\n </button>\n }\n </div>\n</footer>\n\n<!-- Templates -->\n<ng-template #menuItem let-item>\n <button\n ndwButton\n menu\n #menuTrigger\n [id]=\"item.id\"\n (click)=\"item.callback?.(item.id)\"\n (focus)=\"open(item)\"\n (mouseover)=\"open(item)\"\n >\n @if (item.icon) {\n <ndw-icon>{{ item.icon }}</ndw-icon>\n }\n @if (isExpanded()) {\n {{ item.label }}\n }\n @if (item.notifications) {\n <ndw-badge [ngClass]=\"{ collapsed: !isExpanded() }\" [value]=\"item.notifications\" />\n }\n @if (isExpanded() && item.children) {\n <ndw-icon class=\"suffix\">arrow_right</ndw-icon>\n }\n </button>\n</ng-template>\n\n<ng-template #childMenu>\n <ndw-main-navigation-menu [menuItems]=\"activeChildItems\" />\n</ng-template>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght@20..48,400&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\";.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:host{--main-navigation-collapse-width: 2.75rem;background-color:var(--ndw-color-grey-700);box-sizing:border-box;color:var(--ndw-color-grey-400);display:grid;grid-template-rows:auto 1fr auto;height:100%;padding-block-start:var(--ndw-spacing-lg);width:var(--main-navigation-collapse-width)}header{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;align-items:baseline;color:var(--ndw-color-white);display:flex;flex-wrap:wrap;gap:var(--ndw-spacing-xs);justify-content:center;letter-spacing:.2em;margin-bottom:var(--ndw-spacing-xl);padding-inline:0;text-transform:uppercase}header img{width:1rem}main [ndwButton],footer [ndwButton]{justify-content:center}main [ndwButton] ndw-badge,footer [ndwButton] ndw-badge{margin-left:var(--ndw-spacing-2xs);position:absolute;right:.375rem;top:.375rem}main [ndwButton] .suffix,footer [ndwButton] .suffix{position:absolute;right:var(--ndw-spacing-sm)}footer .texts{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;display:grid;gap:var(--ndw-spacing-xs);min-height:2.625rem;padding-inline:var(--ndw-spacing-md);padding-top:var(--ndw-spacing-md)}footer .texts p{margin:auto;text-align:center}footer .version{align-items:center;display:grid;grid-template-columns:1fr}footer .version p{display:none;font-size:var(--ndw-font-size-2xs);padding-left:var(--main-navigation-collapse-width);text-align:center}:host(.expanded){width:12.5rem}:host(.expanded) header{justify-content:flex-start;padding-inline:var(--ndw-spacing-md)}:host(.expanded) header img{width:4rem}:host(.expanded) main>[ndwButton],:host(.expanded) footer>[ndwButton]{justify-content:flex-start;padding-inline:var(--ndw-spacing-md)}:host(.expanded) main>[ndwButton] ndw-badge,:host(.expanded) footer>[ndwButton] ndw-badge{position:relative;right:auto;top:auto}:host(.expanded) footer{position:relative}:host(.expanded) footer .version{grid-template-columns:1fr var(--main-navigation-collapse-width)}:host(.expanded) footer .version p{display:block}:host(.expanded) footer .version [ndwButton] ndw-icon{transform:var(--ndw-rotate-half)}:host([brand=nwb]) header{font-size:.5rem}:host(.expanded[brand=nwb]) header{flex-direction:column}:host(.expanded[brand=nwb]) header img{width:8rem}\n"], dependencies: [{ kind: "component", type: BadgeComponent, selector: "ndw-badge", inputs: ["value", "ariaLabel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "ndw-icon", inputs: ["size"] }, { kind: "component", type: MainNavigationMenuComponent, selector: "ndw-main-navigation-menu", inputs: ["menuItems"] }, { kind: "ngmodule", type: OverlayModule }] }); }
|
|
102
103
|
}
|
|
103
104
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: MainNavigationComponent, decorators: [{
|
|
104
105
|
type: Component,
|
|
@@ -108,7 +109,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
108
109
|
IconComponent,
|
|
109
110
|
MainNavigationMenuComponent,
|
|
110
111
|
OverlayModule,
|
|
111
|
-
], template: "<header>\n <img [src]=\"brandImagePath()\" [alt]=\"brand() + ' logo'\" />\n @if (isExpanded()) {\n {{ applicationName() }}\n }\n</header>\n<main>\n @for (item of topMenuItems(); track $index) {\n <ng-container *ngTemplateOutlet=\"menuItem; context: { $implicit: item }\" />\n }\n</main>\n<footer>\n @for (item of bottomMenuItems(); track $index) {\n <ng-container *ngTemplateOutlet=\"menuItem; context: { $implicit: item }\" />\n }\n @if (isExpanded()) {\n
|
|
112
|
+
], template: "<header>\n <img [src]=\"brandImagePath()\" [alt]=\"brand() + ' logo'\" />\n @if (isExpanded()) {\n {{ applicationName() }}\n }\n</header>\n<main>\n @for (item of topMenuItems(); track $index) {\n <ng-container *ngTemplateOutlet=\"menuItem; context: { $implicit: item }\" />\n }\n</main>\n<footer>\n @for (item of bottomMenuItems(); track $index) {\n <ng-container *ngTemplateOutlet=\"menuItem; context: { $implicit: item }\" />\n }\n <div class=\"texts\">\n @if (isExpanded()) {\n @for (text of footerTexts(); track $index) {\n <p>{{ text }}</p>\n }\n }\n </div>\n <div class=\"version\">\n <p>{{ version() }}</p>\n @if (isCollapsible()) {\n <button ndwButton menu aria-label=\"expand-button\" (click)=\"toggleView()\">\n <ndw-icon>keyboard_double_arrow_right</ndw-icon>\n </button>\n }\n </div>\n</footer>\n\n<!-- Templates -->\n<ng-template #menuItem let-item>\n <button\n ndwButton\n menu\n #menuTrigger\n [id]=\"item.id\"\n (click)=\"item.callback?.(item.id)\"\n (focus)=\"open(item)\"\n (mouseover)=\"open(item)\"\n >\n @if (item.icon) {\n <ndw-icon>{{ item.icon }}</ndw-icon>\n }\n @if (isExpanded()) {\n {{ item.label }}\n }\n @if (item.notifications) {\n <ndw-badge [ngClass]=\"{ collapsed: !isExpanded() }\" [value]=\"item.notifications\" />\n }\n @if (isExpanded() && item.children) {\n <ndw-icon class=\"suffix\">arrow_right</ndw-icon>\n }\n </button>\n</ng-template>\n\n<ng-template #childMenu>\n <ndw-main-navigation-menu [menuItems]=\"activeChildItems\" />\n</ng-template>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght@20..48,400&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\";.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:host{--main-navigation-collapse-width: 2.75rem;background-color:var(--ndw-color-grey-700);box-sizing:border-box;color:var(--ndw-color-grey-400);display:grid;grid-template-rows:auto 1fr auto;height:100%;padding-block-start:var(--ndw-spacing-lg);width:var(--main-navigation-collapse-width)}header{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;align-items:baseline;color:var(--ndw-color-white);display:flex;flex-wrap:wrap;gap:var(--ndw-spacing-xs);justify-content:center;letter-spacing:.2em;margin-bottom:var(--ndw-spacing-xl);padding-inline:0;text-transform:uppercase}header img{width:1rem}main [ndwButton],footer [ndwButton]{justify-content:center}main [ndwButton] ndw-badge,footer [ndwButton] ndw-badge{margin-left:var(--ndw-spacing-2xs);position:absolute;right:.375rem;top:.375rem}main [ndwButton] .suffix,footer [ndwButton] .suffix{position:absolute;right:var(--ndw-spacing-sm)}footer .texts{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;display:grid;gap:var(--ndw-spacing-xs);min-height:2.625rem;padding-inline:var(--ndw-spacing-md);padding-top:var(--ndw-spacing-md)}footer .texts p{margin:auto;text-align:center}footer .version{align-items:center;display:grid;grid-template-columns:1fr}footer .version p{display:none;font-size:var(--ndw-font-size-2xs);padding-left:var(--main-navigation-collapse-width);text-align:center}:host(.expanded){width:12.5rem}:host(.expanded) header{justify-content:flex-start;padding-inline:var(--ndw-spacing-md)}:host(.expanded) header img{width:4rem}:host(.expanded) main>[ndwButton],:host(.expanded) footer>[ndwButton]{justify-content:flex-start;padding-inline:var(--ndw-spacing-md)}:host(.expanded) main>[ndwButton] ndw-badge,:host(.expanded) footer>[ndwButton] ndw-badge{position:relative;right:auto;top:auto}:host(.expanded) footer{position:relative}:host(.expanded) footer .version{grid-template-columns:1fr var(--main-navigation-collapse-width)}:host(.expanded) footer .version p{display:block}:host(.expanded) footer .version [ndwButton] ndw-icon{transform:var(--ndw-rotate-half)}:host([brand=nwb]) header{font-size:.5rem}:host(.expanded[brand=nwb]) header{flex-direction:column}:host(.expanded[brand=nwb]) header img{width:8rem}\n"] }]
|
|
112
113
|
}], propDecorators: { brandAttribute: [{
|
|
113
114
|
type: HostBinding,
|
|
114
115
|
args: ['attr.brand']
|
|
@@ -119,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
119
120
|
type: HostListener,
|
|
120
121
|
args: ['document:mousemove', ['$event']]
|
|
121
122
|
}] } });
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9tYWluLW5hdmlnYXRpb24vbWFpbi1uYXZpZ2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9tYWluLW5hdmlnYXRpb24vbWFpbi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxPQUFPLEVBQ1AsYUFBYSxHQUdkLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsU0FBUyxFQUVULFdBQVcsRUFDWCxZQUFZLEVBRVosZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdEUsT0FBTyxFQUFZLFFBQVEsRUFBa0IsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBZTdFLE1BQU0sT0FBTyx1QkFBdUI7SUFicEM7UUFjUyxvQkFBZSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUMzQyxpQkFBWSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQWMsQ0FBQztRQUM1QyxvQkFBZSxHQUFHLEtBQUssRUFBYyxDQUFDO1FBQ3RDLFVBQUssR0FBRyxL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d2xEQStEQSxreUlEM0JJLGNBQWMsd0VBQ2QsWUFBWSxvU0FDWixhQUFhLDhFQUNiLDJCQUEyQiwyRkFDM0IsYUFBYTs7MkZBS0osdUJBQXVCO2tCQWJuQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1A7d0JBQ1AsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsMkJBQTJCO3dCQUMzQixhQUFhO3FCQUNkOzhCQTRCYSxjQUFjO3NCQUQzQixXQUFXO3VCQUFDLFlBQVk7Z0JBTVgsYUFBYTtzQkFEMUIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBT3RCLFdBQVc7c0JBRGpCLFlBQVk7dUJBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb25uZWN0ZWRQb3NpdGlvbixcbiAgT3ZlcmxheSxcbiAgT3ZlcmxheU1vZHVsZSxcbiAgT3ZlcmxheVJlZixcbiAgUG9zaXRpb25TdHJhdGVneSxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBjb21wdXRlZCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIG91dHB1dCxcbiAgdmlld0NoaWxkLFxuICB2aWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCYWRnZUNvbXBvbmVudCB9IGZyb20gJy4uL2JhZGdlJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uJztcbmltcG9ydCB7IE1haW5OYXZpZ2F0aW9uTWVudUNvbXBvbmVudCB9IGZyb20gJy4uL21haW4tbmF2aWdhdGlvbi1tZW51JztcblxuaW1wb3J0IHsgTWVudUl0ZW0sIE5kd0JyYW5kLCBTaW1wbGVNZW51SXRlbSB9IGZyb20gJy4vbWFpbi1uYXZpZ2F0aW9uLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmR3LW1haW4tbmF2aWdhdGlvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBCYWRnZUNvbXBvbmVudCxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBNYWluTmF2aWdhdGlvbk1lbnVDb21wb25lbnQsXG4gICAgT3ZlcmxheU1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21haW4tbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9tYWluLW5hdmlnYXRpb24uY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBNYWluTmF2aWdhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBwdWJsaWMgYXBwbGljYXRpb25OYW1lID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICBwdWJsaWMgdG9wTWVudUl0ZW1zID0gaW5wdXQucmVxdWlyZWQ8TWVudUl0ZW1bXT4oKTtcbiAgcHVibGljIGJvdHRvbU1lbnVJdGVtcyA9IGlucHV0PE1lbnVJdGVtW10+KCk7XG4gIHB1YmxpYyBicmFuZCA9IGlucHV0KE5kd0JyYW5kLk5EVyk7XG4gIHB1YmxpYyBmb290ZXJUZXh0cyA9IGlucHV0PHN0cmluZ1tdPigpO1xuICBwdWJsaWMgaXNDb2xsYXBzaWJsZSA9IGlucHV0KHRydWUpO1xuXG4gIHB1YmxpYyBzZWxlY3RlZCA9IG91dHB1dDxudW1iZXI+KCk7XG5cbiAgcHVibGljIGlzRXhwYW5kZWQgPSBtb2RlbCh0cnVlKTtcblxuICBwdWJsaWMgYnV0dG9ucyA9IHZpZXdDaGlsZHJlbjxFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50Pj4oJ21lbnVUcmlnZ2VyJyk7XG4gIHB1YmxpYyBjaGlsZE1lbnVUZW1wbGF0ZSA9XG4gICAgdmlld0NoaWxkLnJlcXVpcmVkPFRlbXBsYXRlUmVmPE1haW5OYXZpZ2F0aW9uTWVudUNvbXBvbmVudD4+KCdjaGlsZE1lbnUnKTtcblxuICBwdWJsaWMgYnJhbmRJbWFnZVBhdGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgYnJhbmQgPSB0aGlzLmJyYW5kKCkudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCB2YXJpYW50ID0gIXRoaXMuaXNFeHBhbmRlZCgpID8gJy1zaG9ydCcgOiAnJztcbiAgICBjb25zdCBleHRlbnNpb24gPSAnLnN2Zyc7XG4gICAgcmV0dXJuIGBhc3NldHMvaW1hZ2VzLyR7YnJhbmR9LWxvZ28ke3ZhcmlhbnR9JHtleHRlbnNpb259YDtcbiAgfSk7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmJyYW5kJylcbiAgcHJvdGVjdGVkIGdldCBicmFuZEF0dHJpYnV0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmJyYW5kKCkudG9Mb3dlckNhc2UoKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZXhwYW5kZWQnKVxuICBwcm90ZWN0ZWQgZ2V0IGV4cGFuZGVkQ2xhc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNFeHBhbmRlZCgpO1xuICB9XG5cbiAgLy8gT25seSBjbG9zZSB0aGUgbWVudSB3aGVuIHRoZSBjdXJzb3IgaXMgbm90IG92ZXIgdGhlIGJ1dHRvbiBvciB0aGUgY2hpbGQgbWVudVxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZW1vdmUnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25Nb3VzZU1vdmUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBpc0N1cnNvck92ZXJCdXR0b24gPSB0aGlzLmFjdGl2ZUJ1dHRvbj8ubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSk7XG4gICAgY29uc3QgaXNDdXJzb3JPdmVyQ2hpbGRNZW51ID0gdGhpcy5vdmVybGF5UmVmPy5vdmVybGF5RWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSk7XG4gICAgaWYgKCFpc0N1cnNvck92ZXJCdXR0b24gJiYgIWlzQ3Vyc29yT3ZlckNoaWxkTWVudSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhY3RpdmVDaGlsZEl0ZW1zOiBTaW1wbGVNZW51SXRlbVtdID0gW107XG4gIHB1YmxpYyBvdmVybGF5UG9zaXRpb25zOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW1xuICAgIHtcbiAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICB9LFxuICBdO1xuXG4gIHByaXZhdGUgb3ZlcmxheSA9IGluamVjdChPdmVybGF5KTtcbiAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuXG4gIHByaXZhdGUgYWN0aXZlQnV0dG9uPzogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG4gIHByaXZhdGUgb3ZlcmxheVJlZj86IE92ZXJsYXlSZWY7XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuc2V0UG9zaXRpb25TdHJhdGVneSgpLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMub3ZlcmxheVJlZj8uZGV0YWNoKCk7XG4gIH1cblxuICBwdWJsaWMgb3BlbihpdGVtOiBNZW51SXRlbSk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2UoKTtcblxuICAgIHRoaXMuYWN0aXZlQnV0dG9uID0gdGhpcy5idXR0b25zKCkuZmluZChcbiAgICAgIChidXR0b24pID0+IE51bWJlcihidXR0b24ubmF0aXZlRWxlbWVudC5pZCkgPT09IGl0ZW0uaWQsXG4gICAgKTtcblxuICAgIGlmICghdGhpcy5hY3RpdmVCdXR0b24/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmFjdGl2ZUNoaWxkSXRlbXMgPSBpdGVtLmNoaWxkcmVuO1xuXG4gICAgY29uc3QgcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMuY2hpbGRNZW51VGVtcGxhdGUoKSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAvLyBVcGRhdGUgdGhlIHBvc2l0aW9uIHN0cmF0ZWd5IHdpdGggdGhlIGFjdGl2ZSBidXR0b24gYXMgdGhlIHRyaWdnZXJcbiAgICB0aGlzLm92ZXJsYXlSZWY/LnVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3koXG4gICAgICB0aGlzLnNldFBvc2l0aW9uU3RyYXRlZ3kodGhpcy5hY3RpdmVCdXR0b24ubmF0aXZlRWxlbWVudCksXG4gICAgKTtcbiAgICB0aGlzLm92ZXJsYXlSZWY/LmF0dGFjaChwb3J0YWwpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZVNlbGVjdGVkKGlkOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkLmVtaXQoaWQpO1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVWaWV3KCk6IHZvaWQge1xuICAgIHRoaXMuaXNFeHBhbmRlZC5zZXQoIXRoaXMuaXNFeHBhbmRlZCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UG9zaXRpb25TdHJhdGVneSh0cmlnZ2VyPzogSFRNTEJ1dHRvbkVsZW1lbnQpOiBQb3NpdGlvblN0cmF0ZWd5IHtcbiAgICBpZiAoIXRyaWdnZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5vdmVybGF5XG4gICAgICAucG9zaXRpb24oKVxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odHJpZ2dlcilcbiAgICAgIC53aXRoUG9zaXRpb25zKHRoaXMub3ZlcmxheVBvc2l0aW9ucyk7XG4gIH1cbn1cbiIsIjxoZWFkZXI+XG4gIDxpbWcgW3NyY109XCJicmFuZEltYWdlUGF0aCgpXCIgW2FsdF09XCJicmFuZCgpICsgJyBsb2dvJ1wiIC8+XG4gIEBpZiAoaXNFeHBhbmRlZCgpKSB7XG4gICAge3sgYXBwbGljYXRpb25OYW1lKCkgfX1cbiAgfVxuPC9oZWFkZXI+XG48bWFpbj5cbiAgQGZvciAoaXRlbSBvZiB0b3BNZW51SXRlbXMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1lbnVJdGVtOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCIgLz5cbiAgfVxuPC9tYWluPlxuPGZvb3Rlcj5cbiAgQGZvciAoaXRlbSBvZiBib3R0b21NZW51SXRlbXMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1lbnVJdGVtOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCIgLz5cbiAgfVxuICBAaWYgKGlzRXhwYW5kZWQoKSkge1xuICAgIEBmb3IgKHRleHQgb2YgZm9vdGVyVGV4dHMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICA8cD57eyB0ZXh0IH19PC9wPlxuICAgIH1cbiAgfVxuICBAaWYgKGlzQ29sbGFwc2libGUoKSkge1xuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiY29sbGFwc2UtYnV0dG9uXCJcbiAgICAgIG5kd0J1dHRvblxuICAgICAgbWVudVxuICAgICAgYXJpYS1sYWJlbD1cImV4cGFuZC1idXR0b25cIlxuICAgICAgW25nQ2xhc3NdPVwieyBjb2xsYXBzZWQ6ICFpc0V4cGFuZGVkKCkgfVwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlVmlldygpXCJcbiAgICA+XG4gICAgICA8bmR3LWljb24+a2V5Ym9hcmRfZG91YmxlX2Fycm93X2xlZnQ8L25kdy1pY29uPlxuICAgIDwvYnV0dG9uPlxuICB9XG48L2Zvb3Rlcj5cblxuPCEtLSBUZW1wbGF0ZXMgLS0+XG48bmctdGVtcGxhdGUgI21lbnVJdGVtIGxldC1pdGVtPlxuICA8YnV0dG9uXG4gICAgbmR3QnV0dG9uXG4gICAgbWVudVxuICAgICNtZW51VHJpZ2dlclxuICAgIFtpZF09XCJpdGVtLmlkXCJcbiAgICAoY2xpY2spPVwiaXRlbS5jYWxsYmFjaz8uKGl0ZW0uaWQpXCJcbiAgICAoZm9jdXMpPVwib3BlbihpdGVtKVwiXG4gICAgKG1vdXNlb3Zlcik9XCJvcGVuKGl0ZW0pXCJcbiAgPlxuICAgIEBpZiAoaXRlbS5pY29uKSB7XG4gICAgICA8bmR3LWljb24+e3sgaXRlbS5pY29uIH19PC9uZHctaWNvbj5cbiAgICB9XG4gICAgQGlmIChpc0V4cGFuZGVkKCkpIHtcbiAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICB9XG4gICAgQGlmIChpdGVtLm5vdGlmaWNhdGlvbnMpIHtcbiAgICAgIDxuZHctYmFkZ2UgW25nQ2xhc3NdPVwieyBjb2xsYXBzZWQ6ICFpc0V4cGFuZGVkKCkgfVwiIFt2YWx1ZV09XCJpdGVtLm5vdGlmaWNhdGlvbnNcIiAvPlxuICAgIH1cbiAgICBAaWYgKGlzRXhwYW5kZWQoKSAmJiBpdGVtLmNoaWxkcmVuKSB7XG4gICAgICA8bmR3LWljb24gY2xhc3M9XCJzdWZmaXhcIj5hcnJvd19yaWdodDwvbmR3LWljb24+XG4gICAgfVxuICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY2hpbGRNZW51PlxuICA8bmR3LW1haW4tbmF2aWdhdGlvbi1tZW51IFttZW51SXRlbXNdPVwiYWN0aXZlQ2hpbGRJdGVtc1wiIC8+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9tYWluLW5hdmlnYXRpb24vbWFpbi1uYXZpZ2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9tYWluLW5hdmlnYXRpb24vbWFpbi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxPQUFPLEVBQ1AsYUFBYSxHQUdkLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsU0FBUyxFQUVULFdBQVcsRUFDWCxZQUFZLEVBRVosZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdEUsT0FBTyxFQUFZLFFBQVEsRUFBa0IsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBZTdFLE1BQU0sT0FBTyx1QkFBdUI7SUFicEM7UUFjUyxvQkFBZSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUMzQyxpQkFBWSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQWMsQ0FBQztRQUM1QyxvQkFBZSxHQUFHLEtBQUssRUFBYyxDQUFDO1FBQ3RDLFVBQUssR0FBRyxL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LHVCQUF1QjtrR0FBdkIsdUJBQXVCLDJtREM3Q3BDLDRsREE2REEsdXBJRHpCSSxjQUFjLHFGQUNkLFlBQVksb1NBQ1osYUFBYSx1RUFDYiwyQkFBMkIsMkZBQzNCLGFBQWE7OzJGQUtKLHVCQUF1QjtrQkFibkMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQO3dCQUNQLGNBQWM7d0JBQ2QsWUFBWTt3QkFDWixhQUFhO3dCQUNiLDJCQUEyQjt3QkFDM0IsYUFBYTtxQkFDZDs4QkE2QmEsY0FBYztzQkFEM0IsV0FBVzt1QkFBQyxZQUFZO2dCQU1YLGFBQWE7c0JBRDFCLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQU90QixXQUFXO3NCQURqQixZQUFZO3VCQUFDLG9CQUFvQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29ubmVjdGVkUG9zaXRpb24sXG4gIE92ZXJsYXksXG4gIE92ZXJsYXlNb2R1bGUsXG4gIE92ZXJsYXlSZWYsXG4gIFBvc2l0aW9uU3RyYXRlZ3ksXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBvdXRwdXQsXG4gIHZpZXdDaGlsZCxcbiAgdmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmFkZ2VDb21wb25lbnQgfSBmcm9tICcuLi9iYWRnZSc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbic7XG5pbXBvcnQgeyBNYWluTmF2aWdhdGlvbk1lbnVDb21wb25lbnQgfSBmcm9tICcuLi9tYWluLW5hdmlnYXRpb24tbWVudSc7XG5cbmltcG9ydCB7IE1lbnVJdGVtLCBOZHdCcmFuZCwgU2ltcGxlTWVudUl0ZW0gfSBmcm9tICcuL21haW4tbmF2aWdhdGlvbi5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy1tYWluLW5hdmlnYXRpb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQmFkZ2VDb21wb25lbnQsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEljb25Db21wb25lbnQsXG4gICAgTWFpbk5hdmlnYXRpb25NZW51Q29tcG9uZW50LFxuICAgIE92ZXJsYXlNb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9tYWluLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbWFpbi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgTWFpbk5hdmlnYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgcHVibGljIGFwcGxpY2F0aW9uTmFtZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgcHVibGljIHRvcE1lbnVJdGVtcyA9IGlucHV0LnJlcXVpcmVkPE1lbnVJdGVtW10+KCk7XG4gIHB1YmxpYyBib3R0b21NZW51SXRlbXMgPSBpbnB1dDxNZW51SXRlbVtdPigpO1xuICBwdWJsaWMgYnJhbmQgPSBpbnB1dChOZHdCcmFuZC5ORFcpO1xuICBwdWJsaWMgZm9vdGVyVGV4dHMgPSBpbnB1dDxzdHJpbmdbXT4oKTtcbiAgcHVibGljIGlzQ29sbGFwc2libGUgPSBpbnB1dCh0cnVlKTtcbiAgcHVibGljIHZlcnNpb24gPSBpbnB1dDxzdHJpbmc+KCk7XG5cbiAgcHVibGljIHNlbGVjdGVkID0gb3V0cHV0PG51bWJlcj4oKTtcblxuICBwdWJsaWMgaXNFeHBhbmRlZCA9IG1vZGVsKHRydWUpO1xuXG4gIHB1YmxpYyBidXR0b25zID0gdmlld0NoaWxkcmVuPEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+PignbWVudVRyaWdnZXInKTtcbiAgcHVibGljIGNoaWxkTWVudVRlbXBsYXRlID1cbiAgICB2aWV3Q2hpbGQucmVxdWlyZWQ8VGVtcGxhdGVSZWY8TWFpbk5hdmlnYXRpb25NZW51Q29tcG9uZW50Pj4oJ2NoaWxkTWVudScpO1xuXG4gIHB1YmxpYyBicmFuZEltYWdlUGF0aCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBicmFuZCA9IHRoaXMuYnJhbmQoKS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IHZhcmlhbnQgPSAhdGhpcy5pc0V4cGFuZGVkKCkgPyAnLXNob3J0JyA6ICcnO1xuICAgIGNvbnN0IGV4dGVuc2lvbiA9ICcuc3ZnJztcbiAgICByZXR1cm4gYGFzc2V0cy9pbWFnZXMvJHticmFuZH0tbG9nbyR7dmFyaWFudH0ke2V4dGVuc2lvbn1gO1xuICB9KTtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYnJhbmQnKVxuICBwcm90ZWN0ZWQgZ2V0IGJyYW5kQXR0cmlidXRlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYnJhbmQoKS50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5leHBhbmRlZCcpXG4gIHByb3RlY3RlZCBnZXQgZXhwYW5kZWRDbGFzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0V4cGFuZGVkKCk7XG4gIH1cblxuICAvLyBPbmx5IGNsb3NlIHRoZSBtZW51IHdoZW4gdGhlIGN1cnNvciBpcyBub3Qgb3ZlciB0aGUgYnV0dG9uIG9yIHRoZSBjaGlsZCBtZW51XG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNlbW92ZScsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbk1vdXNlTW92ZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlzQ3Vyc29yT3ZlckJ1dHRvbiA9IHRoaXMuYWN0aXZlQnV0dG9uPy5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKTtcbiAgICBjb25zdCBpc0N1cnNvck92ZXJDaGlsZE1lbnUgPSB0aGlzLm92ZXJsYXlSZWY/Lm92ZXJsYXlFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKTtcbiAgICBpZiAoIWlzQ3Vyc29yT3ZlckJ1dHRvbiAmJiAhaXNDdXJzb3JPdmVyQ2hpbGRNZW51KSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFjdGl2ZUNoaWxkSXRlbXM6IFNpbXBsZU1lbnVJdGVtW10gPSBbXTtcbiAgcHVibGljIG92ZXJsYXlQb3NpdGlvbnM6IENvbm5lY3RlZFBvc2l0aW9uW10gPSBbXG4gICAge1xuICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgIH0sXG4gICAge1xuICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgIH0sXG4gIF07XG5cbiAgcHJpdmF0ZSBvdmVybGF5ID0gaW5qZWN0KE92ZXJsYXkpO1xuICBwcml2YXRlIHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG5cbiAgcHJpdmF0ZSBhY3RpdmVCdXR0b24/OiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcbiAgcHJpdmF0ZSBvdmVybGF5UmVmPzogT3ZlcmxheVJlZjtcblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5zZXRQb3NpdGlvblN0cmF0ZWd5KCksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5vdmVybGF5UmVmPy5kZXRhY2goKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKGl0ZW06IE1lbnVJdGVtKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZSgpO1xuXG4gICAgdGhpcy5hY3RpdmVCdXR0b24gPSB0aGlzLmJ1dHRvbnMoKS5maW5kKFxuICAgICAgKGJ1dHRvbikgPT4gTnVtYmVyKGJ1dHRvbi5uYXRpdmVFbGVtZW50LmlkKSA9PT0gaXRlbS5pZCxcbiAgICApO1xuXG4gICAgaWYgKCF0aGlzLmFjdGl2ZUJ1dHRvbj8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghaXRlbS5jaGlsZHJlbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYWN0aXZlQ2hpbGRJdGVtcyA9IGl0ZW0uY2hpbGRyZW47XG5cbiAgICBjb25zdCBwb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5jaGlsZE1lbnVUZW1wbGF0ZSgpLCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgIC8vIFVwZGF0ZSB0aGUgcG9zaXRpb24gc3RyYXRlZ3kgd2l0aCB0aGUgYWN0aXZlIGJ1dHRvbiBhcyB0aGUgdHJpZ2dlclxuICAgIHRoaXMub3ZlcmxheVJlZj8udXBkYXRlUG9zaXRpb25TdHJhdGVneShcbiAgICAgIHRoaXMuc2V0UG9zaXRpb25TdHJhdGVneSh0aGlzLmFjdGl2ZUJ1dHRvbi5uYXRpdmVFbGVtZW50KSxcbiAgICApO1xuICAgIHRoaXMub3ZlcmxheVJlZj8uYXR0YWNoKHBvcnRhbCk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlU2VsZWN0ZWQoaWQ6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWQuZW1pdChpZCk7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZVZpZXcoKTogdm9pZCB7XG4gICAgdGhpcy5pc0V4cGFuZGVkLnNldCghdGhpcy5pc0V4cGFuZGVkKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQb3NpdGlvblN0cmF0ZWd5KHRyaWdnZXI/OiBIVE1MQnV0dG9uRWxlbWVudCk6IFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgIGlmICghdHJpZ2dlcikge1xuICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLm92ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0cmlnZ2VyKVxuICAgICAgLndpdGhQb3NpdGlvbnModGhpcy5vdmVybGF5UG9zaXRpb25zKTtcbiAgfVxufVxuIiwiPGhlYWRlcj5cbiAgPGltZyBbc3JjXT1cImJyYW5kSW1hZ2VQYXRoKClcIiBbYWx0XT1cImJyYW5kKCkgKyAnIGxvZ28nXCIgLz5cbiAgQGlmIChpc0V4cGFuZGVkKCkpIHtcbiAgICB7eyBhcHBsaWNhdGlvbk5hbWUoKSB9fVxuICB9XG48L2hlYWRlcj5cbjxtYWluPlxuICBAZm9yIChpdGVtIG9mIHRvcE1lbnVJdGVtcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibWVudUl0ZW07IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIiAvPlxuICB9XG48L21haW4+XG48Zm9vdGVyPlxuICBAZm9yIChpdGVtIG9mIGJvdHRvbU1lbnVJdGVtcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibWVudUl0ZW07IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIiAvPlxuICB9XG4gIDxkaXYgY2xhc3M9XCJ0ZXh0c1wiPlxuICAgIEBpZiAoaXNFeHBhbmRlZCgpKSB7XG4gICAgICBAZm9yICh0ZXh0IG9mIGZvb3RlclRleHRzKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICA8cD57eyB0ZXh0IH19PC9wPlxuICAgICAgfVxuICAgIH1cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ2ZXJzaW9uXCI+XG4gICAgPHA+e3sgdmVyc2lvbigpIH19PC9wPlxuICAgIEBpZiAoaXNDb2xsYXBzaWJsZSgpKSB7XG4gICAgICA8YnV0dG9uIG5kd0J1dHRvbiBtZW51IGFyaWEtbGFiZWw9XCJleHBhbmQtYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZVZpZXcoKVwiPlxuICAgICAgICA8bmR3LWljb24+a2V5Ym9hcmRfZG91YmxlX2Fycm93X3JpZ2h0PC9uZHctaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIH1cbiAgPC9kaXY+XG48L2Zvb3Rlcj5cblxuPCEtLSBUZW1wbGF0ZXMgLS0+XG48bmctdGVtcGxhdGUgI21lbnVJdGVtIGxldC1pdGVtPlxuICA8YnV0dG9uXG4gICAgbmR3QnV0dG9uXG4gICAgbWVudVxuICAgICNtZW51VHJpZ2dlclxuICAgIFtpZF09XCJpdGVtLmlkXCJcbiAgICAoY2xpY2spPVwiaXRlbS5jYWxsYmFjaz8uKGl0ZW0uaWQpXCJcbiAgICAoZm9jdXMpPVwib3BlbihpdGVtKVwiXG4gICAgKG1vdXNlb3Zlcik9XCJvcGVuKGl0ZW0pXCJcbiAgPlxuICAgIEBpZiAoaXRlbS5pY29uKSB7XG4gICAgICA8bmR3LWljb24+e3sgaXRlbS5pY29uIH19PC9uZHctaWNvbj5cbiAgICB9XG4gICAgQGlmIChpc0V4cGFuZGVkKCkpIHtcbiAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICB9XG4gICAgQGlmIChpdGVtLm5vdGlmaWNhdGlvbnMpIHtcbiAgICAgIDxuZHctYmFkZ2UgW25nQ2xhc3NdPVwieyBjb2xsYXBzZWQ6ICFpc0V4cGFuZGVkKCkgfVwiIFt2YWx1ZV09XCJpdGVtLm5vdGlmaWNhdGlvbnNcIiAvPlxuICAgIH1cbiAgICBAaWYgKGlzRXhwYW5kZWQoKSAmJiBpdGVtLmNoaWxkcmVuKSB7XG4gICAgICA8bmR3LWljb24gY2xhc3M9XCJzdWZmaXhcIj5hcnJvd19yaWdodDwvbmR3LWljb24+XG4gICAgfVxuICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY2hpbGRNZW51PlxuICA8bmR3LW1haW4tbmF2aWdhdGlvbi1tZW51IFttZW51SXRlbXNdPVwiYWN0aXZlQ2hpbGRJdGVtc1wiIC8+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1,3 +1,19 @@
|
|
|
1
|
-
|
|
1
|
+
import { ModalContentComponent } from './modal-content';
|
|
2
|
+
import { ModalFooterComponent } from './modal-footer';
|
|
3
|
+
import { ModalHeaderComponent } from './modal-header';
|
|
4
|
+
import { ModalTriggerDirective } from './modal-trigger.directive';
|
|
5
|
+
import { ModalComponent } from './modal.component';
|
|
6
|
+
export * from './modal-content';
|
|
7
|
+
export * from './modal-footer';
|
|
8
|
+
export * from './modal-header';
|
|
2
9
|
export * from './modal-trigger.directive';
|
|
3
|
-
|
|
10
|
+
export * from './modal.component';
|
|
11
|
+
export * from './modal.service';
|
|
12
|
+
export const MODAL_COMPONENTS = [
|
|
13
|
+
ModalComponent,
|
|
14
|
+
ModalHeaderComponent,
|
|
15
|
+
ModalContentComponent,
|
|
16
|
+
ModalFooterComponent,
|
|
17
|
+
ModalTriggerDirective,
|
|
18
|
+
];
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvbW9kYWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5ELGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGlCQUFpQixDQUFDO0FBRWhDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLGNBQWM7SUFDZCxvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLG9CQUFvQjtJQUNwQixxQkFBcUI7Q0FDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGFsQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwtY29udGVudCc7XG5pbXBvcnQgeyBNb2RhbEZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwtZm9vdGVyJztcbmltcG9ydCB7IE1vZGFsSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC1oZWFkZXInO1xuaW1wb3J0IHsgTW9kYWxUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9tb2RhbC10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9tb2RhbC1jb250ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwtZm9vdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwtaGVhZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwtdHJpZ2dlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RhbC5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IE1PREFMX0NPTVBPTkVOVFMgPSBbXG4gIE1vZGFsQ29tcG9uZW50LFxuICBNb2RhbEhlYWRlckNvbXBvbmVudCxcbiAgTW9kYWxDb250ZW50Q29tcG9uZW50LFxuICBNb2RhbEZvb3RlckNvbXBvbmVudCxcbiAgTW9kYWxUcmlnZ2VyRGlyZWN0aXZlLFxuXTtcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './modal-content.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwtY29udGVudC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb2RhbC1jb250ZW50LmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ModalContentComponent {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ModalContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: ModalContentComponent, isStandalone: true, selector: "ndw-modal-content", ngImport: i0, template: "<ng-content />\n", styles: [":host{font-size:var(--ndw-font-size-sm);max-height:100%;overflow-y:auto}\n"] }); }
|
|
6
|
+
}
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ModalContentComponent, decorators: [{
|
|
8
|
+
type: Component,
|
|
9
|
+
args: [{ selector: 'ndw-modal-content', standalone: true, imports: [], template: "<ng-content />\n", styles: [":host{font-size:var(--ndw-font-size-sm);max-height:100%;overflow-y:auto}\n"] }]
|
|
10
|
+
}] });
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwtY29udGVudC9tb2RhbC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9tb2RhbC9tb2RhbC1jb250ZW50L21vZGFsLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTMUMsTUFBTSxPQUFPLHFCQUFxQjs4R0FBckIscUJBQXFCO2tHQUFyQixxQkFBcUIsNkVDVGxDLGtCQUNBOzsyRkRRYSxxQkFBcUI7a0JBUGpDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy1tb2RhbC1jb250ZW50JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW10sXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuLi8uLi9jYXJkL2NhcmQtY29udGVudC9jYXJkLWNvbnRlbnQuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbENvbnRlbnRDb21wb25lbnQge31cbiIsIjxuZy1jb250ZW50IC8+XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './modal-footer.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwtZm9vdGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vZGFsLWZvb3Rlci5jb21wb25lbnQnO1xuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ModalFooterComponent {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ModalFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: ModalFooterComponent, isStandalone: true, selector: "ndw-modal-footer", ngImport: i0, template: "<ng-content />\n", styles: [":host{display:flex;font-size:var(--ndw-font-size-sm);justify-content:flex-end;gap:var(--ndw-spacing-md)}\n"] }); }
|
|
6
|
+
}
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ModalFooterComponent, decorators: [{
|
|
8
|
+
type: Component,
|
|
9
|
+
args: [{ selector: 'ndw-modal-footer', standalone: true, imports: [], template: "<ng-content />\n", styles: [":host{display:flex;font-size:var(--ndw-font-size-sm);justify-content:flex-end;gap:var(--ndw-spacing-md)}\n"] }]
|
|
10
|
+
}] });
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9tb2RhbC9tb2RhbC1mb290ZXIvbW9kYWwtZm9vdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9tb2RhbC9tb2RhbC1mb290ZXIvbW9kYWwtZm9vdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUzFDLE1BQU0sT0FBTyxvQkFBb0I7OEdBQXBCLG9CQUFvQjtrR0FBcEIsb0JBQW9CLDRFQ1RqQyxrQkFDQTs7MkZEUWEsb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZHctbW9kYWwtZm9vdGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW10sXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC1mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4uLy4uL2NhcmQvY2FyZC1mb290ZXIvY2FyZC1mb290ZXIuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbEZvb3RlckNvbXBvbmVudCB7fVxuIiwiPG5nLWNvbnRlbnQgLz5cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './modal-header.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwtaGVhZGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vZGFsLWhlYWRlci5jb21wb25lbnQnO1xuIl19
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Component, inject } from '@angular/core';
|
|
2
|
+
import { ActionIconComponent, IconComponent } from '../../icon';
|
|
3
|
+
import { ModalService } from '../../modal';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class ModalHeaderComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.modalService = inject(ModalService);
|
|
8
|
+
}
|
|
9
|
+
detachModal() {
|
|
10
|
+
this.modalService.detach();
|
|
11
|
+
}
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: ModalHeaderComponent, isStandalone: true, selector: "ndw-modal-header", ngImport: i0, template: "<ng-content />\n<ndw-action-icon ariaLabel=\"Close\" (click)=\"detachModal()\">close</ndw-action-icon>\n", styles: [":host{display:grid;align-items:center;font-size:var(--ndw-font-size-lg);font-weight:700}\n", ":host{grid-template-columns:1fr auto}ndw-icon{color:var(--ndw-color-primary)}\n"], dependencies: [{ kind: "component", type: ActionIconComponent, selector: "ndw-action-icon", inputs: ["ariaLabel", "variant", "buttonType", "disabled", "size"], outputs: ["onClick"] }] }); }
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ModalHeaderComponent, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{ selector: 'ndw-modal-header', standalone: true, imports: [IconComponent, ActionIconComponent], template: "<ng-content />\n<ndw-action-icon ariaLabel=\"Close\" (click)=\"detachModal()\">close</ndw-action-icon>\n", styles: [":host{display:grid;align-items:center;font-size:var(--ndw-font-size-lg);font-weight:700}\n", ":host{grid-template-columns:1fr auto}ndw-icon{color:var(--ndw-color-primary)}\n"] }]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9tb2RhbC9tb2RhbC1oZWFkZXIvbW9kYWwtaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9tb2RhbC9tb2RhbC1oZWFkZXIvbW9kYWwtaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFTM0MsTUFBTSxPQUFPLG9CQUFvQjtJQVBqQztRQVFtQixpQkFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztLQUt0RDtJQUhRLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM3QixDQUFDOzhHQUxVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLDRFQ1pqQywwR0FFQSx1T0RNMkIsbUJBQW1COzsyRkFJakMsb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBY3Rpb25JY29uQ29tcG9uZW50LCBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaWNvbic7XG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9tb2RhbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy1tb2RhbC1oZWFkZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbSWNvbkNvbXBvbmVudCwgQWN0aW9uSWNvbkNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi4vLi4vY2FyZC9jYXJkLWhlYWRlci9jYXJkLWhlYWRlci5jb21wb25lbnQuc2NzcycsICcuL21vZGFsLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbEhlYWRlckNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgbW9kYWxTZXJ2aWNlID0gaW5qZWN0KE1vZGFsU2VydmljZSk7XG5cbiAgcHVibGljIGRldGFjaE1vZGFsKCk6IHZvaWQge1xuICAgIHRoaXMubW9kYWxTZXJ2aWNlLmRldGFjaCgpO1xuICB9XG59XG4iLCI8bmctY29udGVudCAvPlxuPG5kdy1hY3Rpb24taWNvbiBhcmlhTGFiZWw9XCJDbG9zZVwiIChjbGljayk9XCJkZXRhY2hNb2RhbCgpXCI+Y2xvc2U8L25kdy1hY3Rpb24taWNvbj5cbiJdfQ==
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Component, HostBinding, input } from '@angular/core';
|
|
2
|
+
import { CardComponent } from '../card';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ModalComponent extends CardComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this.size = input('sm');
|
|
8
|
+
this.roleAttr = 'dialog';
|
|
9
|
+
}
|
|
10
|
+
get isSmall() {
|
|
11
|
+
return this.size() === 'sm';
|
|
12
|
+
}
|
|
13
|
+
get isMedium() {
|
|
14
|
+
return this.size() === 'md';
|
|
15
|
+
}
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ModalComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.3", type: ModalComponent, isStandalone: true, selector: "ndw-modal", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.modal-size-sm": "this.isSmall", "class.modal-size-md": "this.isMedium", "attr.role": "this.roleAttr" } }, usesInheritance: true, ngImport: i0, template: "<ng-content />\n", styles: [":host{background-color:var(--ndw-color-white);border-radius:var(--ndw-border-radius-md);box-shadow:var(--ndw-elevation-content);display:grid;gap:var(--ndw-spacing-lg);padding:var(--ndw-spacing-lg)}\n", ":host{width:var(--ndw-modal-width-sm)}:host.modal-size-md{width:var(--ndw-modal-width-md)}\n"] }); }
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ModalComponent, decorators: [{
|
|
20
|
+
type: Component,
|
|
21
|
+
args: [{ selector: 'ndw-modal', standalone: true, imports: [], template: "<ng-content />\n", styles: [":host{background-color:var(--ndw-color-white);border-radius:var(--ndw-border-radius-md);box-shadow:var(--ndw-elevation-content);display:grid;gap:var(--ndw-spacing-lg);padding:var(--ndw-spacing-lg)}\n", ":host{width:var(--ndw-modal-width-sm)}:host.modal-size-md{width:var(--ndw-modal-width-md)}\n"] }]
|
|
22
|
+
}], propDecorators: { isSmall: [{
|
|
23
|
+
type: HostBinding,
|
|
24
|
+
args: ['class.modal-size-sm']
|
|
25
|
+
}], isMedium: [{
|
|
26
|
+
type: HostBinding,
|
|
27
|
+
args: ['class.modal-size-md']
|
|
28
|
+
}], roleAttr: [{
|
|
29
|
+
type: HostBinding,
|
|
30
|
+
args: ['attr.role']
|
|
31
|
+
}] } });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL21vZGFsL21vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFXeEMsTUFBTSxPQUFPLGNBQWUsU0FBUSxhQUFhO0lBUGpEOztRQVFTLFNBQUksR0FBRyxLQUFLLENBQVksSUFBSSxDQUFDLENBQUM7UUFhckIsYUFBUSxHQUFHLFFBQVEsQ0FBQztLQUNyQztJQVpDLElBQ1csT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQ1csUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxJQUFJLENBQUM7SUFDOUIsQ0FBQzs4R0FYVSxjQUFjO2tHQUFkLGNBQWMsb1dDYjNCLGtCQUNBOzsyRkRZYSxjQUFjO2tCQVAxQixTQUFTOytCQUNFLFdBQVcsY0FDVCxJQUFJLFdBQ1AsRUFBRTs4QkFRQSxPQUFPO3NCQURqQixXQUFXO3VCQUFDLHFCQUFxQjtnQkFNdkIsUUFBUTtzQkFEbEIsV0FBVzt1QkFBQyxxQkFBcUI7Z0JBTWxCLFFBQVE7c0JBRHZCLFdBQVc7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENhcmRDb21wb25lbnQgfSBmcm9tICcuLi9jYXJkJztcblxuZXhwb3J0IHR5cGUgTW9kYWxTaXplID0gJ3NtJyB8ICdtZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy1tb2RhbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtdLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi4vY2FyZC9jYXJkLmNvbXBvbmVudC5zY3NzJywgJy4vbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTW9kYWxDb21wb25lbnQgZXh0ZW5kcyBDYXJkQ29tcG9uZW50IHtcbiAgcHVibGljIHNpemUgPSBpbnB1dDxNb2RhbFNpemU+KCdzbScpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MubW9kYWwtc2l6ZS1zbScpXG4gIHB1YmxpYyBnZXQgaXNTbWFsbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaXplKCkgPT09ICdzbSc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1vZGFsLXNpemUtbWQnKVxuICBwdWJsaWMgZ2V0IGlzTWVkaXVtKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNpemUoKSA9PT0gJ21kJztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgcHVibGljIHJlYWRvbmx5IHJvbGVBdHRyID0gJ2RpYWxvZyc7XG59XG4iLCI8bmctY29udGVudCAvPlxuIl19
|
|
@@ -2,7 +2,7 @@ import { Overlay } from '@angular/cdk/overlay';
|
|
|
2
2
|
import { TemplatePortal } from '@angular/cdk/portal';
|
|
3
3
|
import { DestroyRef, inject, Injectable } from '@angular/core';
|
|
4
4
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
|
-
import {
|
|
5
|
+
import { Subject, take } from 'rxjs';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export class ModalService {
|
|
8
8
|
constructor() {
|
|
@@ -33,18 +33,13 @@ export class ModalService {
|
|
|
33
33
|
this.overlayRef.attach(templatePortal);
|
|
34
34
|
this.isOpen = true;
|
|
35
35
|
this.isOpen$.next(this.isOpen);
|
|
36
|
-
this.
|
|
37
|
-
.
|
|
36
|
+
this.overlayRef
|
|
37
|
+
.backdropClick()
|
|
38
|
+
.pipe(takeUntilDestroyed(this.destroyRef), take(1))
|
|
38
39
|
.subscribe(() => {
|
|
39
40
|
this.detach();
|
|
40
41
|
});
|
|
41
42
|
}
|
|
42
|
-
actions() {
|
|
43
|
-
if (!this.overlayRef) {
|
|
44
|
-
return EMPTY;
|
|
45
|
-
}
|
|
46
|
-
return this.overlayRef._outsidePointerEvents;
|
|
47
|
-
}
|
|
48
43
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
49
44
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ModalService, providedIn: 'root' }); }
|
|
50
45
|
}
|
|
@@ -54,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
54
49
|
providedIn: 'root',
|
|
55
50
|
}]
|
|
56
51
|
}] });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFpQyxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLckMsTUFBTSxPQUFPLFlBQVk7SUFIekI7UUFJbUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxZQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXBDLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBRWhDLFdBQU0sR0FBRyxLQUFLLENBQUM7S0FxQ3hCO0lBbENRLE1BQU07UUFDWCxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVNLElBQUksQ0FBQyxXQUFpQyxFQUFFLGdCQUFrQztRQUMvRSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDcEMsV0FBVyxFQUFFLElBQUk7WUFDakIsYUFBYSxFQUFFLHNCQUFzQjtZQUNyQyxjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUU7WUFDMUQsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLGdCQUFnQixFQUFFO1NBQzNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUvQixJQUFJLENBQUMsVUFBVTthQUNaLGFBQWEsRUFBRTthQUNmLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2xELFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQTFDVSxZQUFZO2tIQUFaLFlBQVksY0FGWCxNQUFNOzsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgRGVzdHJveVJlZiwgaW5qZWN0LCBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTW9kYWxTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IG92ZXJsYXkgPSBpbmplY3QoT3ZlcmxheSk7XG5cbiAgcHVibGljIGlzT3BlbiQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIHByaXZhdGUgaXNPcGVuID0gZmFsc2U7XG4gIHByaXZhdGUgb3ZlcmxheVJlZj86IE92ZXJsYXlSZWY7XG5cbiAgcHVibGljIGRldGFjaCgpOiB2b2lkIHtcbiAgICB0aGlzLm92ZXJsYXlSZWY/LmRldGFjaCgpO1xuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgdGhpcy5pc09wZW4kLm5leHQodGhpcy5pc09wZW4pO1xuICB9XG5cbiAgcHVibGljIGRpc3Bvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XG4gIH1cblxuICBwdWJsaWMgb3Blbih0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4sIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0ZW1wbGF0ZVBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0ZW1wbGF0ZVJlZiwgdmlld0NvbnRhaW5lclJlZik7XG4gICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSh7XG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICduZHctb3ZlcmxheS1iYWNrZHJvcCcsXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpLFxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkuY2VudGVySG9yaXpvbnRhbGx5KCkuY2VudGVyVmVydGljYWxseSgpLFxuICAgIH0pO1xuXG4gICAgdGhpcy5vdmVybGF5UmVmLmF0dGFjaCh0ZW1wbGF0ZVBvcnRhbCk7XG4gICAgdGhpcy5pc09wZW4gPSB0cnVlO1xuICAgIHRoaXMuaXNPcGVuJC5uZXh0KHRoaXMuaXNPcGVuKTtcblxuICAgIHRoaXMub3ZlcmxheVJlZlxuICAgICAgLmJhY2tkcm9wQ2xpY2soKVxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksIHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5kZXRhY2goKTtcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
|