ngx-tethys 17.0.0-next.7 → 17.0.0-next.8
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/CHANGELOG.md +9 -0
- package/dialog/body/dialog-body.component.d.ts +3 -3
- package/dialog/dialog.module.d.ts +1 -1
- package/dialog/footer/dialog-footer.component.d.ts +3 -3
- package/dialog/header/dialog-header.component.d.ts +3 -3
- package/esm2022/dialog/body/dialog-body.component.mjs +5 -5
- package/esm2022/dialog/confirm/confirm.component.mjs +5 -5
- package/esm2022/dialog/dialog.module.mjs +13 -13
- package/esm2022/dialog/footer/dialog-footer.component.mjs +6 -6
- package/esm2022/dialog/header/dialog-header.component.mjs +6 -6
- package/esm2022/version.mjs +2 -2
- package/fesm2022/ngx-tethys-dialog.mjs +26 -26
- package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
- package/fesm2022/ngx-tethys.mjs +1 -1
- package/fesm2022/ngx-tethys.mjs.map +1 -1
- package/package.json +1 -1
- package/schematics/ng-update/update-17/index.spec.js +14 -1
- package/schematics/ng-update/update-17/update-data.js +3 -3
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
# [17.0.0-next.8](https://github.com/atinc/ngx-tethys/compare/17.0.0-next.7...17.0.0-next.8) (2024-03-13)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* **dialog:** add Thy prefix to DialogHeader, DialogBody and DialogFooter and provide schematics #INFR-11891 ([#3052](https://github.com/atinc/ngx-tethys/issues/3052)) ([872afd3](https://github.com/atinc/ngx-tethys/commit/872afd356cc265f10b2b06bad92c9dee97443066)), closes [#INFR-11891](https://github.com/atinc/ngx-tethys/issues/INFR-11891)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
5
14
|
# [17.0.0-next.7](https://github.com/atinc/ngx-tethys/compare/17.0.0-next.6...17.0.0-next.7) (2024-03-11)
|
|
6
15
|
|
|
7
16
|
|
|
@@ -7,7 +7,7 @@ import * as i1 from "@angular/cdk/scrolling";
|
|
|
7
7
|
* @name thy-dialog-body
|
|
8
8
|
* @order 50
|
|
9
9
|
*/
|
|
10
|
-
export declare class
|
|
10
|
+
export declare class ThyDialogBody implements OnInit {
|
|
11
11
|
private dialog;
|
|
12
12
|
_isDialogBody: boolean;
|
|
13
13
|
thyClearPaddingClassName: boolean;
|
|
@@ -18,6 +18,6 @@ export declare class DialogBody implements OnInit {
|
|
|
18
18
|
set thyClearPadding(value: string);
|
|
19
19
|
constructor(dialog: ThyDialog);
|
|
20
20
|
ngOnInit(): void;
|
|
21
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
22
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<
|
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ThyDialogBody, never>;
|
|
22
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ThyDialogBody, "thy-dialog-body", ["thyDialogBody"], { "thyClearPadding": { "alias": "thyClearPadding"; "required": false; }; }, {}, never, ["*"], true, [{ directive: typeof i1.CdkScrollable; inputs: {}; outputs: {}; }]>;
|
|
23
23
|
}
|
|
@@ -15,6 +15,6 @@ import * as i13 from "./footer/dialog-footer.component";
|
|
|
15
15
|
import * as i14 from "./confirm/confirm.component";
|
|
16
16
|
export declare class ThyDialogModule {
|
|
17
17
|
static ɵfac: i0.ɵɵFactoryDeclaration<ThyDialogModule, never>;
|
|
18
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<ThyDialogModule, never, [typeof i1.CommonModule, typeof i2.ThySharedModule, typeof i3.PortalModule, typeof i4.OverlayModule, typeof i5.ThyButtonModule, typeof i6.ThyIconModule, typeof i7.ThyFormModule, typeof i8.FormsModule, typeof i9.ThyActionModule, typeof i10.ThyDialogContainer, typeof i11.
|
|
18
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ThyDialogModule, never, [typeof i1.CommonModule, typeof i2.ThySharedModule, typeof i3.PortalModule, typeof i4.OverlayModule, typeof i5.ThyButtonModule, typeof i6.ThyIconModule, typeof i7.ThyFormModule, typeof i8.FormsModule, typeof i9.ThyActionModule, typeof i10.ThyDialogContainer, typeof i11.ThyDialogHeader, typeof i12.ThyDialogBody, typeof i13.ThyDialogFooter, typeof i14.ThyConfirm], [typeof i10.ThyDialogContainer, typeof i11.ThyDialogHeader, typeof i12.ThyDialogBody, typeof i13.ThyDialogFooter]>;
|
|
19
19
|
static ɵinj: i0.ɵɵInjectorDeclaration<ThyDialogModule>;
|
|
20
20
|
}
|
|
@@ -6,7 +6,7 @@ import * as i0 from "@angular/core";
|
|
|
6
6
|
* @name thy-dialog-footer
|
|
7
7
|
* @order 60
|
|
8
8
|
*/
|
|
9
|
-
export declare class
|
|
9
|
+
export declare class ThyDialogFooter implements OnInit {
|
|
10
10
|
private dialogLayoutConfig;
|
|
11
11
|
/**
|
|
12
12
|
* 自定义弹出框底部的描述模板
|
|
@@ -30,6 +30,6 @@ export declare class DialogFooter implements OnInit {
|
|
|
30
30
|
private get align();
|
|
31
31
|
constructor(dialogLayoutConfig: ThyDialogLayoutConfig);
|
|
32
32
|
ngOnInit(): void;
|
|
33
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
34
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<
|
|
33
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ThyDialogFooter, never>;
|
|
34
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ThyDialogFooter, "thy-dialog-footer", ["thyDialogFooter"], { "thyDivided": { "alias": "thyDivided"; "required": false; }; "thyAlign": { "alias": "thyAlign"; "required": false; }; }, {}, ["description"], ["*"], true, never>;
|
|
35
35
|
}
|
|
@@ -8,7 +8,7 @@ import * as i0 from "@angular/core";
|
|
|
8
8
|
* @name thy-dialog-header
|
|
9
9
|
* @order 40
|
|
10
10
|
*/
|
|
11
|
-
export declare class
|
|
11
|
+
export declare class ThyDialogHeader implements OnInit {
|
|
12
12
|
private elementRef;
|
|
13
13
|
private dialog;
|
|
14
14
|
private translate;
|
|
@@ -47,6 +47,6 @@ export declare class DialogHeader implements OnInit {
|
|
|
47
47
|
constructor(elementRef: ElementRef, dialog: ThyDialog, translate: ThyTranslate, dialogContainer: ThyDialogContainer);
|
|
48
48
|
ngOnInit(): void;
|
|
49
49
|
close(event?: Event): void;
|
|
50
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
51
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<
|
|
50
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ThyDialogHeader, [null, null, null, { optional: true; }]>;
|
|
51
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ThyDialogHeader, "thy-dialog-header", ["thyDialogHeader"], { "thyTitle": { "alias": "thyTitle"; "required": false; }; "thySize": { "alias": "thySize"; "required": false; }; "thyDivided": { "alias": "thyDivided"; "required": false; }; "thyTitleTranslationKey": { "alias": "thyTitleTranslationKey"; "required": false; }; "thyIcon": { "alias": "thyIcon"; "required": false; }; }, { "thyOnClose": "thyOnClose"; }, ["headerTemplate"], never, true, never>;
|
|
52
52
|
}
|
|
@@ -10,7 +10,7 @@ import * as i2 from "@angular/cdk/scrolling";
|
|
|
10
10
|
* @name thy-dialog-body
|
|
11
11
|
* @order 50
|
|
12
12
|
*/
|
|
13
|
-
export class
|
|
13
|
+
export class ThyDialogBody {
|
|
14
14
|
/**
|
|
15
15
|
* 清除间距
|
|
16
16
|
* @default false
|
|
@@ -24,10 +24,10 @@ export class DialogBody {
|
|
|
24
24
|
this.thyClearPaddingClassName = false;
|
|
25
25
|
}
|
|
26
26
|
ngOnInit() { }
|
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type:
|
|
28
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type:
|
|
27
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyDialogBody, deps: [{ token: i1.ThyDialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyDialogBody, isStandalone: true, selector: "thy-dialog-body", inputs: { thyClearPadding: "thyClearPadding" }, host: { properties: { "class.dialog-body": "this._isDialogBody", "class.dialog-body-clear-padding": "this.thyClearPaddingClassName" } }, exportAs: ["thyDialogBody"], hostDirectives: [{ directive: i2.CdkScrollable }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
|
|
29
29
|
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type:
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyDialogBody, decorators: [{
|
|
31
31
|
type: Component,
|
|
32
32
|
args: [{
|
|
33
33
|
selector: 'thy-dialog-body',
|
|
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
46
46
|
}], thyClearPadding: [{
|
|
47
47
|
type: Input
|
|
48
48
|
}] } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWJvZHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RpYWxvZy9ib2R5L2RpYWxvZy1ib2R5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQUV2RDs7OztHQUlHO0FBU0gsTUFBTSxPQUFPLGFBQWE7SUFNdEI7OztPQUdHO0lBQ0gsSUFDSSxlQUFlLENBQUMsS0FBYTtRQUM3QixJQUFJLENBQUMsd0JBQXdCLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELFlBQW9CLE1BQWlCO1FBQWpCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFkSCxrQkFBYSxHQUFHLElBQUksQ0FBQztRQUd2RCw2QkFBd0IsR0FBRyxLQUFLLENBQUM7SUFXTyxDQUFDO0lBRXpDLFFBQVEsS0FBSSxDQUFDOzhHQWpCSixhQUFhO2tHQUFiLGFBQWEsb1ZBTlosMkJBQTJCOzsyRkFNNUIsYUFBYTtrQkFSekIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxtREFBbUQ7b0JBQ25ELFFBQVEsRUFBRSxlQUFlO29CQUN6QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUNsQzs4RUFFcUMsYUFBYTtzQkFBOUMsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBR2hDLHdCQUF3QjtzQkFEdkIsV0FBVzt1QkFBQyxpQ0FBaUM7Z0JBUTFDLGVBQWU7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlEaWFsb2cgfSBmcm9tICcuLi9kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgQ2RrU2Nyb2xsYWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuXG4vKipcbiAqIOaooeaAgeahhueahOS4u+S9k+e7hOS7tlxuICogQG5hbWUgdGh5LWRpYWxvZy1ib2R5XG4gKiBAb3JkZXIgNTBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktZGlhbG9nLWJvZHknLFxuICAgIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gICAgLy8gY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZXhwb3J0QXM6ICd0aHlEaWFsb2dCb2R5JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbQ2RrU2Nyb2xsYWJsZV1cbn0pXG5leHBvcnQgY2xhc3MgVGh5RGlhbG9nQm9keSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5kaWFsb2ctYm9keWApIF9pc0RpYWxvZ0JvZHkgPSB0cnVlO1xuXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5kaWFsb2ctYm9keS1jbGVhci1wYWRkaW5nYClcbiAgICB0aHlDbGVhclBhZGRpbmdDbGFzc05hbWUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOa4hemZpOmXtOi3nVxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5Q2xlYXJQYWRkaW5nKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy50aHlDbGVhclBhZGRpbmdDbGFzc05hbWUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlhbG9nOiBUaHlEaWFsb2cpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHt9XG59XG4iXX0=
|
|
@@ -4,10 +4,10 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Input }
|
|
|
4
4
|
import { NgClass } from '@angular/common';
|
|
5
5
|
import { FormsModule } from '@angular/forms';
|
|
6
6
|
import { ThyButton } from 'ngx-tethys/button';
|
|
7
|
-
import {
|
|
7
|
+
import { ThyDialogBody } from '../body/dialog-body.component';
|
|
8
8
|
import { THY_CONFIRM_DEFAULT_OPTIONS, THY_CONFIRM_DEFAULT_OPTIONS_VALUE } from '../confirm.config';
|
|
9
9
|
import { ThyDialogRef } from '../dialog-ref';
|
|
10
|
-
import {
|
|
10
|
+
import { ThyDialogHeader } from '../header/dialog-header.component';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
import * as i1 from "../dialog-ref";
|
|
13
13
|
import * as i2 from "@angular/forms";
|
|
@@ -56,15 +56,15 @@ export class ThyConfirm {
|
|
|
56
56
|
}
|
|
57
57
|
ngOnDestroy() { }
|
|
58
58
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyConfirm, deps: [{ token: i1.ThyDialogRef }, { token: i0.ChangeDetectorRef }, { token: THY_CONFIRM_DEFAULT_OPTIONS }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
59
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyConfirm, isStandalone: true, selector: "thy-confirm-default", inputs: { options: "options" }, ngImport: i0, template: "<thy-dialog-header [thyTitle]=\"title || 'Install Angular'\" (thyOnClose)=\"close()\"> </thy-dialog-header>\n<thy-dialog-body class=\"thy-form\">\n <form thyForm name=\"thyConfirm\" thyLayout=\"vertical\">\n <div class=\"form-group\">\n <p [innerHTML]=\"content\"></p>\n </div>\n <thy-form-group-footer [thyAlign]=\"footerAlign\">\n <div class=\"thy-confirm-footer\" [ngClass]=\"'thy-confirm-footer-' + footerAlign\">\n <button [thyButton]=\"okType\" (click)=\"confirm()\" [thyLoading]=\"loading\" [thyLoadingText]=\"okLoadingText\">{{ okText }}</button>\n <button thyButton=\"link-secondary\" (click)=\"close()\" class=\"thy-confirm-cancel\">{{ cancelText }}</button>\n </div>\n </thy-form-group-footer>\n </form>\n</thy-dialog-body>\n", dependencies: [{ kind: "component", type:
|
|
59
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyConfirm, isStandalone: true, selector: "thy-confirm-default", inputs: { options: "options" }, ngImport: i0, template: "<thy-dialog-header [thyTitle]=\"title || 'Install Angular'\" (thyOnClose)=\"close()\"> </thy-dialog-header>\n<thy-dialog-body class=\"thy-form\">\n <form thyForm name=\"thyConfirm\" thyLayout=\"vertical\">\n <div class=\"form-group\">\n <p [innerHTML]=\"content\"></p>\n </div>\n <thy-form-group-footer [thyAlign]=\"footerAlign\">\n <div class=\"thy-confirm-footer\" [ngClass]=\"'thy-confirm-footer-' + footerAlign\">\n <button [thyButton]=\"okType\" (click)=\"confirm()\" [thyLoading]=\"loading\" [thyLoadingText]=\"okLoadingText\">{{ okText }}</button>\n <button thyButton=\"link-secondary\" (click)=\"close()\" class=\"thy-confirm-cancel\">{{ cancelText }}</button>\n </div>\n </thy-form-group-footer>\n </form>\n</thy-dialog-body>\n", dependencies: [{ kind: "component", type: ThyDialogHeader, selector: "thy-dialog-header", inputs: ["thyTitle", "thySize", "thyDivided", "thyTitleTranslationKey", "thyIcon"], outputs: ["thyOnClose"], exportAs: ["thyDialogHeader"] }, { kind: "component", type: ThyDialogBody, selector: "thy-dialog-body", inputs: ["thyClearPadding"], exportAs: ["thyDialogBody"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: ThyFormDirective, selector: "[thyForm],[thy-form]", inputs: ["thyLayout", "thyEnterKeyMode", "thyFormValidatorConfig"], exportAs: ["thyForm"] }, { kind: "component", type: ThyFormGroupFooter, selector: "thy-form-group-footer", inputs: ["thyAlign"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
60
60
|
}
|
|
61
61
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyConfirm, decorators: [{
|
|
62
62
|
type: Component,
|
|
63
|
-
args: [{ selector: 'thy-confirm-default', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
63
|
+
args: [{ selector: 'thy-confirm-default', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ThyDialogHeader, ThyDialogBody, FormsModule, ThyFormDirective, ThyFormGroupFooter, NgClass, ThyButton], template: "<thy-dialog-header [thyTitle]=\"title || 'Install Angular'\" (thyOnClose)=\"close()\"> </thy-dialog-header>\n<thy-dialog-body class=\"thy-form\">\n <form thyForm name=\"thyConfirm\" thyLayout=\"vertical\">\n <div class=\"form-group\">\n <p [innerHTML]=\"content\"></p>\n </div>\n <thy-form-group-footer [thyAlign]=\"footerAlign\">\n <div class=\"thy-confirm-footer\" [ngClass]=\"'thy-confirm-footer-' + footerAlign\">\n <button [thyButton]=\"okType\" (click)=\"confirm()\" [thyLoading]=\"loading\" [thyLoadingText]=\"okLoadingText\">{{ okText }}</button>\n <button thyButton=\"link-secondary\" (click)=\"close()\" class=\"thy-confirm-cancel\">{{ cancelText }}</button>\n </div>\n </thy-form-group-footer>\n </form>\n</thy-dialog-body>\n" }]
|
|
64
64
|
}], ctorParameters: () => [{ type: i1.ThyDialogRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
65
65
|
type: Inject,
|
|
66
66
|
args: [THY_CONFIRM_DEFAULT_OPTIONS]
|
|
67
67
|
}] }], propDecorators: { options: [{
|
|
68
68
|
type: Input
|
|
69
69
|
}] } });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZGlhbG9nL2NvbmZpcm0vY29uZmlybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvZGlhbG9nL2NvbmZpcm0vY29uZmlybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQTJCLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFeEgsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBb0IsMkJBQTJCLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNySCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7OztBQUVwRTs7R0FFRztBQVFILE1BQU0sT0FBTyxVQUFVO0lBbUJuQixZQUNZLFNBQW1DLEVBQ25DLGlCQUFvQyxFQUNDLGFBQStCO1FBRnBFLGNBQVMsR0FBVCxTQUFTLENBQTBCO1FBQ25DLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDQyxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFFNUUsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLEdBQUksaUNBQXNELEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDL0csQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7UUFDdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUMxQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztRQUNoRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDckUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUN0RCxDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkMsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzdCLE1BQU07aUJBQ0QsSUFBSSxDQUNELFFBQVEsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMxQyxDQUFDLENBQUMsQ0FDTDtpQkFDQSxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ2pCLElBQUksT0FBTyxFQUFFLENBQUM7b0JBQ1YsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNqQixDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDWCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNqQixDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsV0FBVyxLQUFJLENBQUM7OEdBaEVQLFVBQVUsK0VBc0JQLDJCQUEyQjtrR0F0QjlCLFVBQVUsK0dDdkJ2Qiw2d0JBY0EsNENET2MsZUFBZSwwTUFBRSxhQUFhLHFIQUFFLFdBQVcsd2RBQUUsZ0JBQWdCLDRKQUFFLGtCQUFrQix3RkFBRSxPQUFPLG9GQUFFLFNBQVM7OzJGQUV0RyxVQUFVO2tCQVB0QixTQUFTOytCQUNJLHFCQUFxQixtQkFFZCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUM7OzBCQXdCM0csTUFBTTsyQkFBQywyQkFBMkI7eUNBbkI5QixPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaHlGb3JtRGlyZWN0aXZlLCBUaHlGb3JtR3JvdXBGb290ZXJBbGlnbiwgVGh5Rm9ybUdyb3VwRm9vdGVyIH0gZnJvbSAnbmd4LXRldGh5cy9mb3JtJztcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRoeUJ1dHRvbiB9IGZyb20gJ25neC10ZXRoeXMvYnV0dG9uJztcbmltcG9ydCB7IFRoeURpYWxvZ0JvZHkgfSBmcm9tICcuLi9ib2R5L2RpYWxvZy1ib2R5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaHlDb25maXJtQ29uZmlnLCBUSFlfQ09ORklSTV9ERUZBVUxUX09QVElPTlMsIFRIWV9DT05GSVJNX0RFRkFVTFRfT1BUSU9OU19WQUxVRSB9IGZyb20gJy4uL2NvbmZpcm0uY29uZmlnJztcbmltcG9ydCB7IFRoeURpYWxvZ1JlZiB9IGZyb20gJy4uL2RpYWxvZy1yZWYnO1xuaW1wb3J0IHsgVGh5RGlhbG9nSGVhZGVyIH0gZnJvbSAnLi4vaGVhZGVyL2RpYWxvZy1oZWFkZXIuY29tcG9uZW50JztcblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1jb25maXJtLWRlZmF1bHQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb25maXJtLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtUaHlEaWFsb2dIZWFkZXIsIFRoeURpYWxvZ0JvZHksIEZvcm1zTW9kdWxlLCBUaHlGb3JtRGlyZWN0aXZlLCBUaHlGb3JtR3JvdXBGb290ZXIsIE5nQ2xhc3MsIFRoeUJ1dHRvbl1cbn0pXG5leHBvcnQgY2xhc3MgVGh5Q29uZmlybSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBsb2FkaW5nOiBib29sZWFuO1xuXG4gICAgQElucHV0KCkgb3B0aW9uczogVGh5Q29uZmlybUNvbmZpZztcblxuICAgIHB1YmxpYyB0aXRsZTogc3RyaW5nO1xuXG4gICAgcHVibGljIGNvbnRlbnQ6IHN0cmluZztcblxuICAgIHB1YmxpYyBva1RleHQ6IHN0cmluZztcblxuICAgIHB1YmxpYyBva1R5cGU6IHN0cmluZztcblxuICAgIHB1YmxpYyBjYW5jZWxUZXh0OiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgb2tMb2FkaW5nVGV4dDogc3RyaW5nO1xuXG4gICAgcHVibGljIGZvb3RlckFsaWduOiBUaHlGb3JtR3JvdXBGb290ZXJBbGlnbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGRpYWxvZ1JlZjogVGh5RGlhbG9nUmVmPFRoeUNvbmZpcm0+LFxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUSFlfQ09ORklSTV9ERUZBVUxUX09QVElPTlMpIHByaXZhdGUgZGVmYXVsdENvbmZpZzogVGh5Q29uZmlybUNvbmZpZ1xuICAgICkge1xuICAgICAgICB0aGlzLmRlZmF1bHRDb25maWcgPSB7IC4uLihUSFlfQ09ORklSTV9ERUZBVUxUX09QVElPTlNfVkFMVUUgYXMgVGh5Q29uZmlybUNvbmZpZyksIC4uLnRoaXMuZGVmYXVsdENvbmZpZyB9O1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmRlZmF1bHRDb25maWcgPSB7IC4uLnRoaXMuZGVmYXVsdENvbmZpZywgLi4udGhpcy5vcHRpb25zIH07XG4gICAgICAgIHRoaXMudGl0bGUgPSB0aGlzLmRlZmF1bHRDb25maWcudGl0bGU7XG4gICAgICAgIHRoaXMuY29udGVudCA9IHRoaXMuZGVmYXVsdENvbmZpZy5jb250ZW50O1xuICAgICAgICB0aGlzLm9rVGV4dCA9IHRoaXMuZGVmYXVsdENvbmZpZy5va1RleHQ7XG4gICAgICAgIHRoaXMub2tUeXBlID0gdGhpcy5kZWZhdWx0Q29uZmlnLm9rVHlwZTtcbiAgICAgICAgdGhpcy5jYW5jZWxUZXh0ID0gdGhpcy5kZWZhdWx0Q29uZmlnLmNhbmNlbFRleHQ7XG4gICAgICAgIHRoaXMub2tMb2FkaW5nVGV4dCA9IHRoaXMuZGVmYXVsdENvbmZpZy5va0xvYWRpbmdUZXh0IHx8IHRoaXMub2tUZXh0O1xuICAgICAgICB0aGlzLmZvb3RlckFsaWduID0gdGhpcy5kZWZhdWx0Q29uZmlnLmZvb3RlckFsaWduO1xuICAgIH1cblxuICAgIGNvbmZpcm0oKSB7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMub3B0aW9ucy5vbk9rKCk7XG4gICAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LnN1YnNjcmliZSkge1xuICAgICAgICAgICAgcmVzdWx0XG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShzdWNjZXNzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2xvc2UoKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucz8ub25DYW5jZWw/LigpO1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge31cbn1cbiIsIjx0aHktZGlhbG9nLWhlYWRlciBbdGh5VGl0bGVdPVwidGl0bGUgfHwgJ0luc3RhbGwgQW5ndWxhcidcIiAodGh5T25DbG9zZSk9XCJjbG9zZSgpXCI+IDwvdGh5LWRpYWxvZy1oZWFkZXI+XG48dGh5LWRpYWxvZy1ib2R5IGNsYXNzPVwidGh5LWZvcm1cIj5cbiAgPGZvcm0gdGh5Rm9ybSBuYW1lPVwidGh5Q29uZmlybVwiIHRoeUxheW91dD1cInZlcnRpY2FsXCI+XG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgIDxwIFtpbm5lckhUTUxdPVwiY29udGVudFwiPjwvcD5cbiAgICA8L2Rpdj5cbiAgICA8dGh5LWZvcm0tZ3JvdXAtZm9vdGVyIFt0aHlBbGlnbl09XCJmb290ZXJBbGlnblwiPlxuICAgICAgPGRpdiBjbGFzcz1cInRoeS1jb25maXJtLWZvb3RlclwiIFtuZ0NsYXNzXT1cIid0aHktY29uZmlybS1mb290ZXItJyArIGZvb3RlckFsaWduXCI+XG4gICAgICAgIDxidXR0b24gW3RoeUJ1dHRvbl09XCJva1R5cGVcIiAoY2xpY2spPVwiY29uZmlybSgpXCIgW3RoeUxvYWRpbmddPVwibG9hZGluZ1wiIFt0aHlMb2FkaW5nVGV4dF09XCJva0xvYWRpbmdUZXh0XCI+e3sgb2tUZXh0IH19PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gdGh5QnV0dG9uPVwibGluay1zZWNvbmRhcnlcIiAoY2xpY2spPVwiY2xvc2UoKVwiIGNsYXNzPVwidGh5LWNvbmZpcm0tY2FuY2VsXCI+e3sgY2FuY2VsVGV4dCB9fTwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC90aHktZm9ybS1ncm91cC1mb290ZXI+XG4gIDwvZm9ybT5cbjwvdGh5LWRpYWxvZy1ib2R5PlxuIl19
|
|
@@ -8,15 +8,15 @@ import { ThyButtonModule } from 'ngx-tethys/button';
|
|
|
8
8
|
import { ThyFormModule } from 'ngx-tethys/form';
|
|
9
9
|
import { ThyIconModule } from 'ngx-tethys/icon';
|
|
10
10
|
import { ThySharedModule } from 'ngx-tethys/shared';
|
|
11
|
-
import {
|
|
11
|
+
import { ThyDialogBody } from './body/dialog-body.component';
|
|
12
12
|
import { THY_CONFIRM_DEFAULT_OPTIONS_PROVIDER } from './confirm.config';
|
|
13
13
|
import { ThyConfirm } from './confirm/confirm.component';
|
|
14
14
|
import { THY_CONFIRM_COMPONENT_TOKEN } from './confirm/token';
|
|
15
15
|
import { ThyDialogContainer } from './dialog-container.component';
|
|
16
16
|
import { THY_DIALOG_DEFAULT_OPTIONS_PROVIDER, THY_DIALOG_LAYOUT_CONFIG_PROVIDER } from './dialog.config';
|
|
17
17
|
import { ThyDialog } from './dialog.service';
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
18
|
+
import { ThyDialogFooter } from './footer/dialog-footer.component';
|
|
19
|
+
import { ThyDialogHeader } from './header/dialog-header.component';
|
|
20
20
|
import * as i0 from "@angular/core";
|
|
21
21
|
export class ThyDialogModule {
|
|
22
22
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -30,10 +30,10 @@ export class ThyDialogModule {
|
|
|
30
30
|
FormsModule,
|
|
31
31
|
ThyActionModule,
|
|
32
32
|
ThyDialogContainer,
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
ThyConfirm], exports: [ThyDialogContainer,
|
|
33
|
+
ThyDialogHeader,
|
|
34
|
+
ThyDialogBody,
|
|
35
|
+
ThyDialogFooter,
|
|
36
|
+
ThyConfirm], exports: [ThyDialogContainer, ThyDialogHeader, ThyDialogBody, ThyDialogFooter] }); }
|
|
37
37
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyDialogModule, providers: [
|
|
38
38
|
ThyDialog,
|
|
39
39
|
THY_DIALOG_DEFAULT_OPTIONS_PROVIDER,
|
|
@@ -53,7 +53,7 @@ export class ThyDialogModule {
|
|
|
53
53
|
FormsModule,
|
|
54
54
|
ThyActionModule,
|
|
55
55
|
ThyDialogContainer,
|
|
56
|
-
|
|
56
|
+
ThyDialogHeader,
|
|
57
57
|
ThyConfirm] }); }
|
|
58
58
|
}
|
|
59
59
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyDialogModule, decorators: [{
|
|
@@ -70,9 +70,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
70
70
|
FormsModule,
|
|
71
71
|
ThyActionModule,
|
|
72
72
|
ThyDialogContainer,
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
ThyDialogHeader,
|
|
74
|
+
ThyDialogBody,
|
|
75
|
+
ThyDialogFooter,
|
|
76
76
|
ThyConfirm
|
|
77
77
|
],
|
|
78
78
|
providers: [
|
|
@@ -85,7 +85,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
85
85
|
useValue: ThyConfirm
|
|
86
86
|
}
|
|
87
87
|
],
|
|
88
|
-
exports: [ThyDialogContainer,
|
|
88
|
+
exports: [ThyDialogContainer, ThyDialogHeader, ThyDialogBody, ThyDialogFooter]
|
|
89
89
|
}]
|
|
90
90
|
}] });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kaWFsb2cvZGlhbG9nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBK0JuRSxNQUFNLE9BQU8sZUFBZTs4R0FBZixlQUFlOytHQUFmLGVBQWUsWUEzQnBCLFlBQVk7WUFDWixlQUFlO1lBQ2YsWUFBWTtZQUNaLGFBQWE7WUFDYixlQUFlO1lBQ2YsYUFBYTtZQUNiLGFBQWE7WUFDYixXQUFXO1lBQ1gsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsYUFBYTtZQUNiLGVBQWU7WUFDZixVQUFVLGFBWUosa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxlQUFlOytHQUVwRSxlQUFlLGFBWmI7WUFDUCxTQUFTO1lBQ1QsbUNBQW1DO1lBQ25DLG9DQUFvQztZQUNwQyxpQ0FBaUM7WUFDakM7Z0JBQ0ksT0FBTyxFQUFFLDJCQUEyQjtnQkFDcEMsUUFBUSxFQUFFLFVBQVU7YUFDdkI7U0FDSixZQXhCRyxZQUFZO1lBQ1osZUFBZTtZQUNmLFlBQVk7WUFDWixhQUFhO1lBQ2IsZUFBZTtZQUNmLGFBQWE7WUFDYixhQUFhO1lBQ2IsV0FBVztZQUNYLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsZUFBZTtZQUdmLFVBQVU7OzJGQWNMLGVBQWU7a0JBN0IzQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixhQUFhO3dCQUNiLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixlQUFlO3dCQUNmLFVBQVU7cUJBQ2I7b0JBQ0QsU0FBUyxFQUFFO3dCQUNQLFNBQVM7d0JBQ1QsbUNBQW1DO3dCQUNuQyxvQ0FBb0M7d0JBQ3BDLGlDQUFpQzt3QkFDakM7NEJBQ0ksT0FBTyxFQUFFLDJCQUEyQjs0QkFDcEMsUUFBUSxFQUFFLFVBQVU7eUJBQ3ZCO3FCQUNKO29CQUNELE9BQU8sRUFBRSxDQUFDLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDO2lCQUNqRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUaHlBY3Rpb25Nb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2FjdGlvbic7XG5pbXBvcnQgeyBUaHlCdXR0b25Nb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2J1dHRvbic7XG5pbXBvcnQgeyBUaHlGb3JtTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9mb3JtJztcbmltcG9ydCB7IFRoeUljb25Nb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgVGh5U2hhcmVkTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9zaGFyZWQnO1xuaW1wb3J0IHsgVGh5RGlhbG9nQm9keSB9IGZyb20gJy4vYm9keS9kaWFsb2ctYm9keS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVEhZX0NPTkZJUk1fREVGQVVMVF9PUFRJT05TX1BST1ZJREVSIH0gZnJvbSAnLi9jb25maXJtLmNvbmZpZyc7XG5pbXBvcnQgeyBUaHlDb25maXJtIH0gZnJvbSAnLi9jb25maXJtL2NvbmZpcm0uY29tcG9uZW50JztcbmltcG9ydCB7IFRIWV9DT05GSVJNX0NPTVBPTkVOVF9UT0tFTiB9IGZyb20gJy4vY29uZmlybS90b2tlbic7XG5pbXBvcnQgeyBUaHlEaWFsb2dDb250YWluZXIgfSBmcm9tICcuL2RpYWxvZy1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRIWV9ESUFMT0dfREVGQVVMVF9PUFRJT05TX1BST1ZJREVSLCBUSFlfRElBTE9HX0xBWU9VVF9DT05GSUdfUFJPVklERVIgfSBmcm9tICcuL2RpYWxvZy5jb25maWcnO1xuaW1wb3J0IHsgVGh5RGlhbG9nIH0gZnJvbSAnLi9kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBUaHlEaWFsb2dGb290ZXIgfSBmcm9tICcuL2Zvb3Rlci9kaWFsb2ctZm9vdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaHlEaWFsb2dIZWFkZXIgfSBmcm9tICcuL2hlYWRlci9kaWFsb2ctaGVhZGVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFRoeVNoYXJlZE1vZHVsZSxcbiAgICAgICAgUG9ydGFsTW9kdWxlLFxuICAgICAgICBPdmVybGF5TW9kdWxlLFxuICAgICAgICBUaHlCdXR0b25Nb2R1bGUsXG4gICAgICAgIFRoeUljb25Nb2R1bGUsXG4gICAgICAgIFRoeUZvcm1Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBUaHlBY3Rpb25Nb2R1bGUsXG4gICAgICAgIFRoeURpYWxvZ0NvbnRhaW5lcixcbiAgICAgICAgVGh5RGlhbG9nSGVhZGVyLFxuICAgICAgICBUaHlEaWFsb2dCb2R5LFxuICAgICAgICBUaHlEaWFsb2dGb290ZXIsXG4gICAgICAgIFRoeUNvbmZpcm1cbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBUaHlEaWFsb2csXG4gICAgICAgIFRIWV9ESUFMT0dfREVGQVVMVF9PUFRJT05TX1BST1ZJREVSLFxuICAgICAgICBUSFlfQ09ORklSTV9ERUZBVUxUX09QVElPTlNfUFJPVklERVIsXG4gICAgICAgIFRIWV9ESUFMT0dfTEFZT1VUX0NPTkZJR19QUk9WSURFUixcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVEhZX0NPTkZJUk1fQ09NUE9ORU5UX1RPS0VOLFxuICAgICAgICAgICAgdXNlVmFsdWU6IFRoeUNvbmZpcm1cbiAgICAgICAgfVxuICAgIF0sXG4gICAgZXhwb3J0czogW1RoeURpYWxvZ0NvbnRhaW5lciwgVGh5RGlhbG9nSGVhZGVyLCBUaHlEaWFsb2dCb2R5LCBUaHlEaWFsb2dGb290ZXJdXG59KVxuZXhwb3J0IGNsYXNzIFRoeURpYWxvZ01vZHVsZSB7fVxuIl19
|
|
@@ -12,7 +12,7 @@ import * as i1 from "../dialog.config";
|
|
|
12
12
|
* @name thy-dialog-footer
|
|
13
13
|
* @order 60
|
|
14
14
|
*/
|
|
15
|
-
export class
|
|
15
|
+
export class ThyDialogFooter {
|
|
16
16
|
/**
|
|
17
17
|
* 底部是否有分割线,可全局配置默认值
|
|
18
18
|
* @type boolean
|
|
@@ -36,15 +36,15 @@ export class DialogFooter {
|
|
|
36
36
|
'dialog-footer-border-top': this.divided
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type:
|
|
40
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type:
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyDialogFooter, deps: [{ token: THY_DIALOG_LAYOUT_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyDialogFooter, isStandalone: true, selector: "thy-dialog-footer", inputs: { thyDivided: "thyDivided", thyAlign: "thyAlign" }, queries: [{ propertyName: "description", first: true, predicate: ["description"], descendants: true }], exportAs: ["thyDialogFooter"], ngImport: i0, template: "<div class=\"dialog-footer-actions btn-pair\">\n <ng-content></ng-content>\n</div>\n<div class=\"dialog-footer-description\" *ngIf=\"description\">\n <ng-container [ngTemplateOutlet]=\"description\"></ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
41
41
|
}
|
|
42
42
|
__decorate([
|
|
43
43
|
InputBoolean(),
|
|
44
44
|
__metadata("design:type", Boolean),
|
|
45
45
|
__metadata("design:paramtypes", [Boolean])
|
|
46
|
-
],
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type:
|
|
46
|
+
], ThyDialogFooter.prototype, "thyDivided", null);
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyDialogFooter, decorators: [{
|
|
48
48
|
type: Component,
|
|
49
49
|
args: [{ selector: 'thy-dialog-footer', exportAs: 'thyDialogFooter', standalone: true, imports: [NgIf, NgTemplateOutlet], template: "<div class=\"dialog-footer-actions btn-pair\">\n <ng-content></ng-content>\n</div>\n<div class=\"dialog-footer-description\" *ngIf=\"description\">\n <ng-container [ngTemplateOutlet]=\"description\"></ng-container>\n</div>\n" }]
|
|
50
50
|
}], ctorParameters: () => [{ type: i1.ThyDialogLayoutConfig, decorators: [{
|
|
@@ -58,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
58
58
|
}], thyAlign: [{
|
|
59
59
|
type: Input
|
|
60
60
|
}] } });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWZvb3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZGlhbG9nL2Zvb3Rlci9kaWFsb2ctZm9vdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9kaWFsb2cvZm9vdGVyL2RpYWxvZy1mb290ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1RixPQUFPLEVBQUUsd0JBQXdCLEVBQXdCLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekcsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRS9DOzs7O0dBSUc7QUFTSCxNQUFNLE9BQU8sZUFBZTtJQU94Qjs7OztPQUlHO0lBQ0gsSUFFSSxVQUFVLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFhRCxJQUFZLEtBQUs7UUFDYixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDO0lBQ2pGLENBQUM7SUFFRCxZQUFzRCxrQkFBeUM7UUFBekMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUF1QjtRQU52RixpQkFBWSxHQUFHLGVBQWUsRUFBRSxDQUFDO1FBT3JDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQztJQUN6RCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUM7WUFDL0IsZUFBZSxFQUFFLElBQUk7WUFDckIsQ0FBQywrQkFBK0IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSTtZQUNuRCwwQkFBMEIsRUFBRSxJQUFJLENBQUMsT0FBTztTQUMzQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQTNDUSxlQUFlLGtCQWlDSix3QkFBd0I7a0dBakNuQyxlQUFlLGdSQ3JCNUIsb09BTUEsNENEYWMsSUFBSSw2RkFBRSxnQkFBZ0I7O0FBY2hDO0lBQ0MsWUFBWSxFQUFFOzs7aURBR2Q7MkZBaEJRLGVBQWU7a0JBUjNCLFNBQVM7K0JBQ0ksbUJBQW1CLFlBR25CLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQzs7MEJBbUNwQixNQUFNOzJCQUFDLHdCQUF3Qjt5Q0E1QmYsV0FBVztzQkFBdkMsWUFBWTt1QkFBQyxhQUFhO2dCQVN2QixVQUFVO3NCQUZiLEtBQUs7Z0JBV0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyB1c2VIb3N0UmVuZGVyZXIgfSBmcm9tICdAdGV0aHlzL2Nkay9kb20nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVEhZX0RJQUxPR19MQVlPVVRfQ09ORklHLCBUaHlEaWFsb2dGb290ZXJBbGlnbiwgVGh5RGlhbG9nTGF5b3V0Q29uZmlnIH0gZnJvbSAnLi4vZGlhbG9nLmNvbmZpZyc7XG5pbXBvcnQgeyBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IElucHV0Qm9vbGVhbiB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5cbi8qKlxuICog5qih5oCB5qGG5bqV6YOo57uE5Lu2XG4gKiBAbmFtZSB0aHktZGlhbG9nLWZvb3RlclxuICogQG9yZGVyIDYwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWRpYWxvZy1mb290ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2ctZm9vdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICAvLyBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBleHBvcnRBczogJ3RoeURpYWxvZ0Zvb3RlcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgTmdUZW1wbGF0ZU91dGxldF1cbn0pXG5leHBvcnQgY2xhc3MgVGh5RGlhbG9nRm9vdGVyIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKipcbiAgICAgKiDoh6rlrprkuYnlvLnlh7rmoYblupXpg6jnmoTmj4/ov7DmqKHmnb9cbiAgICAgKiBAdHlwZSBUZW1wbGF0ZVJlZlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2Rlc2NyaXB0aW9uJykgZGVzY3JpcHRpb246IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiDlupXpg6jmmK/lkKbmnInliIblibLnur/vvIzlj6/lhajlsYDphY3nva7pu5jorqTlgLxcbiAgICAgKiBAdHlwZSBib29sZWFuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBJbnB1dEJvb2xlYW4oKVxuICAgIHNldCB0aHlEaXZpZGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGl2aWRlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5a+56b2Q5pa55byP77yM5Y+v5YWo5bGA6YWN572u6buY6K6k5YC8XG4gICAgICogQHR5cGUgbGVmdCB8IHJpZ2h0IHwgY2VudGVyXG4gICAgICogQGRlZmF1bHQgbGVmdFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUFsaWduOiBUaHlEaWFsb2dGb290ZXJBbGlnbjtcblxuICAgIHByaXZhdGUgZGl2aWRlZDogYm9vbGVhbjtcblxuICAgIHByaXZhdGUgaG9zdFJlbmRlcmVyID0gdXNlSG9zdFJlbmRlcmVyKCk7XG5cbiAgICBwcml2YXRlIGdldCBhbGlnbigpIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy50aHlBbGlnbiA/IHRoaXMudGh5QWxpZ24gOiB0aGlzLmRpYWxvZ0xheW91dENvbmZpZy5mb290ZXJBbGlnbjtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KFRIWV9ESUFMT0dfTEFZT1VUX0NPTkZJRykgcHJpdmF0ZSBkaWFsb2dMYXlvdXRDb25maWc6IFRoeURpYWxvZ0xheW91dENvbmZpZykge1xuICAgICAgICB0aGlzLmRpdmlkZWQgPSB0aGlzLmRpYWxvZ0xheW91dENvbmZpZy5mb290ZXJEaXZpZGVkO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci51cGRhdGVDbGFzc0J5TWFwKHtcbiAgICAgICAgICAgICdkaWFsb2ctZm9vdGVyJzogdHJ1ZSxcbiAgICAgICAgICAgIFtgZGlhbG9nLWZvb3Rlci1hY3Rpb25zLWFsaWduLSR7dGhpcy5hbGlnbn1gXTogdHJ1ZSxcbiAgICAgICAgICAgICdkaWFsb2ctZm9vdGVyLWJvcmRlci10b3AnOiB0aGlzLmRpdmlkZWRcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRpYWxvZy1mb290ZXItYWN0aW9ucyBidG4tcGFpclwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJkaWFsb2ctZm9vdGVyLWRlc2NyaXB0aW9uXCIgKm5nSWY9XCJkZXNjcmlwdGlvblwiPlxuICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRlc2NyaXB0aW9uXCI+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -15,7 +15,7 @@ import * as i3 from "../dialog-container.component";
|
|
|
15
15
|
* @name thy-dialog-header
|
|
16
16
|
* @order 40
|
|
17
17
|
*/
|
|
18
|
-
export class
|
|
18
|
+
export class ThyDialogHeader {
|
|
19
19
|
/**
|
|
20
20
|
* 标题的多语言 Key
|
|
21
21
|
*/
|
|
@@ -60,14 +60,14 @@ export class DialogHeader {
|
|
|
60
60
|
this.dialog.close();
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type:
|
|
64
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type:
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyDialogHeader, deps: [{ token: i0.ElementRef }, { token: i1.ThyDialog }, { token: i2.ThyTranslate }, { token: i3.ThyDialogContainer, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
64
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyDialogHeader, isStandalone: true, selector: "thy-dialog-header", inputs: { thyTitle: "thyTitle", thySize: "thySize", thyDivided: "thyDivided", thyTitleTranslationKey: "thyTitleTranslationKey", thyIcon: "thyIcon" }, outputs: { thyOnClose: "thyOnClose" }, host: { properties: { "class.thy-dialog-header-lg": "thySize === 'lg'", "class.thy-dialog-header-divided": "thyDivided" }, classAttribute: "dialog-header thy-dialog-header" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ["dialogHeader"], descendants: true }], exportAs: ["thyDialogHeader"], ngImport: i0, template: "<ng-container *ngIf=\"headerTemplate; else defaultHeader\">\n <template [ngTemplateOutlet]=\"headerTemplate\"></template>\n</ng-container>\n<ng-template #defaultHeader>\n <h3 class=\"dialog-title\"><thy-icon [thyIconName]=\"thyIcon\"></thy-icon>{{ thyTitle }}</h3>\n <a href=\"javascript:;\" class=\"mr-n2\" thyAction thyActionIcon=\"close\" (click)=\"close($event)\"></a>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }] }); }
|
|
65
65
|
}
|
|
66
66
|
__decorate([
|
|
67
67
|
InputBoolean(),
|
|
68
68
|
__metadata("design:type", Boolean)
|
|
69
|
-
],
|
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type:
|
|
69
|
+
], ThyDialogHeader.prototype, "thyDivided", void 0);
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyDialogHeader, decorators: [{
|
|
71
71
|
type: Component,
|
|
72
72
|
args: [{ selector: 'thy-dialog-header', exportAs: 'thyDialogHeader', host: {
|
|
73
73
|
class: 'dialog-header thy-dialog-header',
|
|
@@ -92,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
92
92
|
}], thyOnClose: [{
|
|
93
93
|
type: Output
|
|
94
94
|
}] } });
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZGlhbG9nL2hlYWRlci9kaWFsb2ctaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9kaWFsb2cvaGVhZGVyL2RpYWxvZy1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBVSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQUV6RDs7OztHQUlHO0FBY0gsTUFBTSxPQUFPLGVBQWU7SUF5QnhCOztPQUVHO0lBQ0gsSUFDSSxzQkFBc0IsQ0FBQyxHQUFXO1FBQ2xDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEQsQ0FBQztJQUNMLENBQUM7SUFZRCxZQUNZLFVBQXNCLEVBQ3RCLE1BQWlCLEVBQ2pCLFNBQXVCLEVBQ1gsZUFBbUM7UUFIL0MsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDWCxvQkFBZSxHQUFmLGVBQWUsQ0FBb0I7UUFUM0Q7O1dBRUc7UUFDTyxlQUFVLEdBQXdCLElBQUksWUFBWSxFQUFTLENBQUM7SUFPbkUsQ0FBQztJQUVKLFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLGlGQUFpRjtZQUNqRixrR0FBa0c7WUFDbEcsa0dBQWtHO1lBQ2xHLG9GQUFvRjtZQUNwRixtQ0FBbUM7WUFDbkMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBOEIsQ0FBQztZQUMzRyxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDMUUsQ0FBQztRQUVELG1GQUFtRjtRQUNuRiw4RUFBOEU7UUFDOUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDeEIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDeEQsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFhO1FBQ2YsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3hCLENBQUM7SUFDTCxDQUFDOzhHQTlFUSxlQUFlO2tHQUFmLGVBQWUscWtCQzNCNUIsMllBT0EsNENEa0JjLElBQUksNkZBQUUsZ0JBQWdCLG9KQUFFLE9BQU8sc01BQUUsU0FBUzs7QUF5QjNCO0lBQWYsWUFBWSxFQUFFOzttREFBcUI7MkZBdkJwQyxlQUFlO2tCQWIzQixTQUFTOytCQUNJLG1CQUFtQixZQUduQixpQkFBaUIsUUFDckI7d0JBQ0YsS0FBSyxFQUFFLGlDQUFpQzt3QkFDeEMsOEJBQThCLEVBQUUsa0JBQWtCO3dCQUNsRCxtQ0FBbUMsRUFBRSxZQUFZO3FCQUNwRCxjQUNXLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDOzswQkFtRGhELFFBQVE7eUNBNUNOLGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMsY0FBYztnQkFNbkIsUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxPQUFPO3NCQUFmLEtBQUs7Z0JBTW1CLFVBQVU7c0JBQWxDLEtBQUs7Z0JBTUYsc0JBQXNCO3NCQUR6QixLQUFLO2dCQVVHLE9BQU87c0JBQWYsS0FBSztnQkFLSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENvbnRlbnRDaGlsZCwgVGVtcGxhdGVSZWYsIE9uSW5pdCwgT3B0aW9uYWwsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeURpYWxvZyB9IGZyb20gJy4uL2RpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IFRoeURpYWxvZ0NvbnRhaW5lciB9IGZyb20gJy4uL2RpYWxvZy1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0Qm9vbGVhbiwgVGh5VHJhbnNsYXRlIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IFRoeUludGVybmFsRGlhbG9nUmVmIH0gZnJvbSAnLi4vZGlhbG9nLXJlZic7XG5pbXBvcnQgeyBUaHlBY3Rpb24gfSBmcm9tICduZ3gtdGV0aHlzL2FjdGlvbic7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIOaooeaAgeahhuWktOmDqOe7hOS7tlxuICogQG5hbWUgdGh5LWRpYWxvZy1oZWFkZXJcbiAqIEBvcmRlciA0MFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1kaWFsb2ctaGVhZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgLy8gY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZXhwb3J0QXM6ICd0aHlEaWFsb2dIZWFkZXInLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdkaWFsb2ctaGVhZGVyIHRoeS1kaWFsb2ctaGVhZGVyJyxcbiAgICAgICAgJ1tjbGFzcy50aHktZGlhbG9nLWhlYWRlci1sZ10nOiBgdGh5U2l6ZSA9PT0gJ2xnJ2AsXG4gICAgICAgICdbY2xhc3MudGh5LWRpYWxvZy1oZWFkZXItZGl2aWRlZF0nOiBgdGh5RGl2aWRlZGBcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIE5nVGVtcGxhdGVPdXRsZXQsIFRoeUljb24sIFRoeUFjdGlvbl1cbn0pXG5leHBvcnQgY2xhc3MgVGh5RGlhbG9nSGVhZGVyIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKipcbiAgICAgKiDoh6rlrprkuYnlpLTpg6jmqKHmnb9cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdkaWFsb2dIZWFkZXInKVxuICAgIHB1YmxpYyBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIOagh+mimFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVRpdGxlOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDlpKflsI/vvIzlj6rmnInlpKfnmoTor6bmg4XpobXlnLrmma/kvJrkvb/nlKggbGfvvIzlt6blj7MgcGFkZGluZyDnvKnlsI/oh7MgMjBweFxuICAgICAqIEB0eXBlIGxnIHwgbWRcbiAgICAgKiBAZGVmYXVsdCBtZFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVNpemU6ICdsZycgfCAnbWQnO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5pi+56S65YiG5Ymy57q/XG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgdGh5RGl2aWRlZDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIOagh+mimOeahOWkmuivreiogCBLZXlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlUaXRsZVRyYW5zbGF0aW9uS2V5KGtleTogc3RyaW5nKSB7XG4gICAgICAgIGlmIChrZXkgJiYgIXRoaXMudGh5VGl0bGUpIHtcbiAgICAgICAgICAgIHRoaXMudGh5VGl0bGUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGtleSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlpLTpg6jlm77moIdcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlJY29uOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDlhbPpl63kuovku7ZcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5T25DbG9zZTogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIGRpYWxvZzogVGh5RGlhbG9nLFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVGh5VHJhbnNsYXRlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGRpYWxvZ0NvbnRhaW5lcjogVGh5RGlhbG9nQ29udGFpbmVyXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5kaWFsb2dDb250YWluZXIpIHtcbiAgICAgICAgICAgIC8vIFdoZW4gdGhpcyBkaXJlY3RpdmUgaXMgaW5jbHVkZWQgaW4gYSBkaWFsb2cgdmlhIFRlbXBsYXRlUmVmIChyYXRoZXIgdGhhbiBiZWluZ1xuICAgICAgICAgICAgLy8gaW4gYSBDb21wb25lbnQpLCB0aGUgVGh5RGlhbG9nQ29udGFpbmVyQ29tcG9uZW50IGlzbid0IGF2YWlsYWJsZSB2aWEgaW5qZWN0aW9uIGJlY2F1c2UgZW1iZWRkZWRcbiAgICAgICAgICAgIC8vIHZpZXdzIGNhbm5vdCBiZSBnaXZlbiBhIGN1c3RvbSBpbmplY3Rvci4gSW5zdGVhZCwgd2UgbG9vayB1cCB0aGUgVGh5RGlhbG9nQ29udGFpbmVyQ29tcG9uZW50IGJ5XG4gICAgICAgICAgICAvLyBJRC4gVGhpcyBtdXN0IG9jY3VyIGluIGBvbkluaXRgLCBhcyB0aGUgSUQgYmluZGluZyBmb3IgdGhlIGRpYWxvZyBjb250YWluZXIgd29uJ3RcbiAgICAgICAgICAgIC8vIGJlIHJlc29sdmVkIGF0IGNvbnN0cnVjdG9yIHRpbWUuXG4gICAgICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5nZXRDbG9zZXN0RGlhbG9nKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KSBhcyBUaHlJbnRlcm5hbERpYWxvZ1JlZjxhbnk+O1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dDb250YWluZXIgPSBkaWFsb2dSZWYgPyBkaWFsb2dSZWYuY29udGFpbmVySW5zdGFuY2UgOiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gY2hhbmdlIGluIG5leHQgbWljcm90YXNrIGF2b2lkIHRocm93IEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3JcbiAgICAgICAgLy8gYmVjYXVzZSBzdWIgY29tcG9uZW50IGNoYW5nZSBwYXJlbnQncyBIb3N0QmluZGluZyBwcm9wZXJ0eSAoYXJpYUxhYmVsbGVkQnkpXG4gICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuZGlhbG9nQ29udGFpbmVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dDb250YWluZXIuYXJpYUxhYmVsbGVkQnkgPSB0aGlzLnRoeVRpdGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjbG9zZShldmVudD86IEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLnRoeU9uQ2xvc2Uub2JzZXJ2ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMudGh5T25DbG9zZS5lbWl0KGV2ZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiaGVhZGVyVGVtcGxhdGU7IGVsc2UgZGVmYXVsdEhlYWRlclwiPlxuICA8dGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyVGVtcGxhdGVcIj48L3RlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG48bmctdGVtcGxhdGUgI2RlZmF1bHRIZWFkZXI+XG4gIDxoMyBjbGFzcz1cImRpYWxvZy10aXRsZVwiPjx0aHktaWNvbiBbdGh5SWNvbk5hbWVdPVwidGh5SWNvblwiPjwvdGh5LWljb24+e3sgdGh5VGl0bGUgfX08L2gzPlxuICA8YSBocmVmPVwiamF2YXNjcmlwdDo7XCIgY2xhc3M9XCJtci1uMlwiIHRoeUFjdGlvbiB0aHlBY3Rpb25JY29uPVwiY2xvc2VcIiAoY2xpY2spPVwiY2xvc2UoJGV2ZW50KVwiPjwvYT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
package/esm2022/version.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Version } from '@angular/core';
|
|
2
|
-
export const VERSION = new Version('17.0.0-next.
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
export const VERSION = new Version('17.0.0-next.8');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVyc2lvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IG5ldyBWZXJzaW9uKCcxNy4wLjAtbmV4dC44Jyk7XG4iXX0=
|
|
@@ -419,7 +419,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
419
419
|
* @name thy-dialog-body
|
|
420
420
|
* @order 50
|
|
421
421
|
*/
|
|
422
|
-
class
|
|
422
|
+
class ThyDialogBody {
|
|
423
423
|
/**
|
|
424
424
|
* 清除间距
|
|
425
425
|
* @default false
|
|
@@ -433,10 +433,10 @@ class DialogBody {
|
|
|
433
433
|
this.thyClearPaddingClassName = false;
|
|
434
434
|
}
|
|
435
435
|
ngOnInit() { }
|
|
436
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type:
|
|
437
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type:
|
|
436
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyDialogBody, deps: [{ token: ThyDialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
437
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyDialogBody, isStandalone: true, selector: "thy-dialog-body", inputs: { thyClearPadding: "thyClearPadding" }, host: { properties: { "class.dialog-body": "this._isDialogBody", "class.dialog-body-clear-padding": "this.thyClearPaddingClassName" } }, exportAs: ["thyDialogBody"], hostDirectives: [{ directive: i2$1.CdkScrollable }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
|
|
438
438
|
}
|
|
439
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type:
|
|
439
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyDialogBody, decorators: [{
|
|
440
440
|
type: Component,
|
|
441
441
|
args: [{
|
|
442
442
|
selector: 'thy-dialog-body',
|
|
@@ -474,7 +474,7 @@ const THY_CONFIRM_DEFAULT_OPTIONS_PROVIDER = {
|
|
|
474
474
|
* @name thy-dialog-header
|
|
475
475
|
* @order 40
|
|
476
476
|
*/
|
|
477
|
-
class
|
|
477
|
+
class ThyDialogHeader {
|
|
478
478
|
/**
|
|
479
479
|
* 标题的多语言 Key
|
|
480
480
|
*/
|
|
@@ -519,14 +519,14 @@ class DialogHeader {
|
|
|
519
519
|
this.dialog.close();
|
|
520
520
|
}
|
|
521
521
|
}
|
|
522
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type:
|
|
523
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type:
|
|
522
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyDialogHeader, deps: [{ token: i0.ElementRef }, { token: ThyDialog }, { token: i2.ThyTranslate }, { token: ThyDialogContainer, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
523
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyDialogHeader, isStandalone: true, selector: "thy-dialog-header", inputs: { thyTitle: "thyTitle", thySize: "thySize", thyDivided: "thyDivided", thyTitleTranslationKey: "thyTitleTranslationKey", thyIcon: "thyIcon" }, outputs: { thyOnClose: "thyOnClose" }, host: { properties: { "class.thy-dialog-header-lg": "thySize === 'lg'", "class.thy-dialog-header-divided": "thyDivided" }, classAttribute: "dialog-header thy-dialog-header" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ["dialogHeader"], descendants: true }], exportAs: ["thyDialogHeader"], ngImport: i0, template: "<ng-container *ngIf=\"headerTemplate; else defaultHeader\">\n <template [ngTemplateOutlet]=\"headerTemplate\"></template>\n</ng-container>\n<ng-template #defaultHeader>\n <h3 class=\"dialog-title\"><thy-icon [thyIconName]=\"thyIcon\"></thy-icon>{{ thyTitle }}</h3>\n <a href=\"javascript:;\" class=\"mr-n2\" thyAction thyActionIcon=\"close\" (click)=\"close($event)\"></a>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }] }); }
|
|
524
524
|
}
|
|
525
525
|
__decorate([
|
|
526
526
|
InputBoolean(),
|
|
527
527
|
__metadata("design:type", Boolean)
|
|
528
|
-
],
|
|
529
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type:
|
|
528
|
+
], ThyDialogHeader.prototype, "thyDivided", void 0);
|
|
529
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyDialogHeader, decorators: [{
|
|
530
530
|
type: Component,
|
|
531
531
|
args: [{ selector: 'thy-dialog-header', exportAs: 'thyDialogHeader', host: {
|
|
532
532
|
class: 'dialog-header thy-dialog-header',
|
|
@@ -597,11 +597,11 @@ class ThyConfirm {
|
|
|
597
597
|
}
|
|
598
598
|
ngOnDestroy() { }
|
|
599
599
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyConfirm, deps: [{ token: ThyDialogRef }, { token: i0.ChangeDetectorRef }, { token: THY_CONFIRM_DEFAULT_OPTIONS }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
600
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyConfirm, isStandalone: true, selector: "thy-confirm-default", inputs: { options: "options" }, ngImport: i0, template: "<thy-dialog-header [thyTitle]=\"title || 'Install Angular'\" (thyOnClose)=\"close()\"> </thy-dialog-header>\n<thy-dialog-body class=\"thy-form\">\n <form thyForm name=\"thyConfirm\" thyLayout=\"vertical\">\n <div class=\"form-group\">\n <p [innerHTML]=\"content\"></p>\n </div>\n <thy-form-group-footer [thyAlign]=\"footerAlign\">\n <div class=\"thy-confirm-footer\" [ngClass]=\"'thy-confirm-footer-' + footerAlign\">\n <button [thyButton]=\"okType\" (click)=\"confirm()\" [thyLoading]=\"loading\" [thyLoadingText]=\"okLoadingText\">{{ okText }}</button>\n <button thyButton=\"link-secondary\" (click)=\"close()\" class=\"thy-confirm-cancel\">{{ cancelText }}</button>\n </div>\n </thy-form-group-footer>\n </form>\n</thy-dialog-body>\n", dependencies: [{ kind: "component", type:
|
|
600
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyConfirm, isStandalone: true, selector: "thy-confirm-default", inputs: { options: "options" }, ngImport: i0, template: "<thy-dialog-header [thyTitle]=\"title || 'Install Angular'\" (thyOnClose)=\"close()\"> </thy-dialog-header>\n<thy-dialog-body class=\"thy-form\">\n <form thyForm name=\"thyConfirm\" thyLayout=\"vertical\">\n <div class=\"form-group\">\n <p [innerHTML]=\"content\"></p>\n </div>\n <thy-form-group-footer [thyAlign]=\"footerAlign\">\n <div class=\"thy-confirm-footer\" [ngClass]=\"'thy-confirm-footer-' + footerAlign\">\n <button [thyButton]=\"okType\" (click)=\"confirm()\" [thyLoading]=\"loading\" [thyLoadingText]=\"okLoadingText\">{{ okText }}</button>\n <button thyButton=\"link-secondary\" (click)=\"close()\" class=\"thy-confirm-cancel\">{{ cancelText }}</button>\n </div>\n </thy-form-group-footer>\n </form>\n</thy-dialog-body>\n", dependencies: [{ kind: "component", type: ThyDialogHeader, selector: "thy-dialog-header", inputs: ["thyTitle", "thySize", "thyDivided", "thyTitleTranslationKey", "thyIcon"], outputs: ["thyOnClose"], exportAs: ["thyDialogHeader"] }, { kind: "component", type: ThyDialogBody, selector: "thy-dialog-body", inputs: ["thyClearPadding"], exportAs: ["thyDialogBody"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: ThyFormDirective, selector: "[thyForm],[thy-form]", inputs: ["thyLayout", "thyEnterKeyMode", "thyFormValidatorConfig"], exportAs: ["thyForm"] }, { kind: "component", type: ThyFormGroupFooter, selector: "thy-form-group-footer", inputs: ["thyAlign"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
601
601
|
}
|
|
602
602
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyConfirm, decorators: [{
|
|
603
603
|
type: Component,
|
|
604
|
-
args: [{ selector: 'thy-confirm-default', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
604
|
+
args: [{ selector: 'thy-confirm-default', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ThyDialogHeader, ThyDialogBody, FormsModule, ThyFormDirective, ThyFormGroupFooter, NgClass, ThyButton], template: "<thy-dialog-header [thyTitle]=\"title || 'Install Angular'\" (thyOnClose)=\"close()\"> </thy-dialog-header>\n<thy-dialog-body class=\"thy-form\">\n <form thyForm name=\"thyConfirm\" thyLayout=\"vertical\">\n <div class=\"form-group\">\n <p [innerHTML]=\"content\"></p>\n </div>\n <thy-form-group-footer [thyAlign]=\"footerAlign\">\n <div class=\"thy-confirm-footer\" [ngClass]=\"'thy-confirm-footer-' + footerAlign\">\n <button [thyButton]=\"okType\" (click)=\"confirm()\" [thyLoading]=\"loading\" [thyLoadingText]=\"okLoadingText\">{{ okText }}</button>\n <button thyButton=\"link-secondary\" (click)=\"close()\" class=\"thy-confirm-cancel\">{{ cancelText }}</button>\n </div>\n </thy-form-group-footer>\n </form>\n</thy-dialog-body>\n" }]
|
|
605
605
|
}], ctorParameters: () => [{ type: ThyDialogRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
606
606
|
type: Inject,
|
|
607
607
|
args: [THY_CONFIRM_DEFAULT_OPTIONS]
|
|
@@ -614,7 +614,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
614
614
|
* @name thy-dialog-footer
|
|
615
615
|
* @order 60
|
|
616
616
|
*/
|
|
617
|
-
class
|
|
617
|
+
class ThyDialogFooter {
|
|
618
618
|
/**
|
|
619
619
|
* 底部是否有分割线,可全局配置默认值
|
|
620
620
|
* @type boolean
|
|
@@ -638,15 +638,15 @@ class DialogFooter {
|
|
|
638
638
|
'dialog-footer-border-top': this.divided
|
|
639
639
|
});
|
|
640
640
|
}
|
|
641
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type:
|
|
642
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type:
|
|
641
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyDialogFooter, deps: [{ token: THY_DIALOG_LAYOUT_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
642
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyDialogFooter, isStandalone: true, selector: "thy-dialog-footer", inputs: { thyDivided: "thyDivided", thyAlign: "thyAlign" }, queries: [{ propertyName: "description", first: true, predicate: ["description"], descendants: true }], exportAs: ["thyDialogFooter"], ngImport: i0, template: "<div class=\"dialog-footer-actions btn-pair\">\n <ng-content></ng-content>\n</div>\n<div class=\"dialog-footer-description\" *ngIf=\"description\">\n <ng-container [ngTemplateOutlet]=\"description\"></ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
643
643
|
}
|
|
644
644
|
__decorate([
|
|
645
645
|
InputBoolean(),
|
|
646
646
|
__metadata("design:type", Boolean),
|
|
647
647
|
__metadata("design:paramtypes", [Boolean])
|
|
648
|
-
],
|
|
649
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type:
|
|
648
|
+
], ThyDialogFooter.prototype, "thyDivided", null);
|
|
649
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyDialogFooter, decorators: [{
|
|
650
650
|
type: Component,
|
|
651
651
|
args: [{ selector: 'thy-dialog-footer', exportAs: 'thyDialogFooter', standalone: true, imports: [NgIf, NgTemplateOutlet], template: "<div class=\"dialog-footer-actions btn-pair\">\n <ng-content></ng-content>\n</div>\n<div class=\"dialog-footer-description\" *ngIf=\"description\">\n <ng-container [ngTemplateOutlet]=\"description\"></ng-container>\n</div>\n" }]
|
|
652
652
|
}], ctorParameters: () => [{ type: ThyDialogLayoutConfig, decorators: [{
|
|
@@ -673,10 +673,10 @@ class ThyDialogModule {
|
|
|
673
673
|
FormsModule,
|
|
674
674
|
ThyActionModule,
|
|
675
675
|
ThyDialogContainer,
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
ThyConfirm], exports: [ThyDialogContainer,
|
|
676
|
+
ThyDialogHeader,
|
|
677
|
+
ThyDialogBody,
|
|
678
|
+
ThyDialogFooter,
|
|
679
|
+
ThyConfirm], exports: [ThyDialogContainer, ThyDialogHeader, ThyDialogBody, ThyDialogFooter] }); }
|
|
680
680
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyDialogModule, providers: [
|
|
681
681
|
ThyDialog,
|
|
682
682
|
THY_DIALOG_DEFAULT_OPTIONS_PROVIDER,
|
|
@@ -696,7 +696,7 @@ class ThyDialogModule {
|
|
|
696
696
|
FormsModule,
|
|
697
697
|
ThyActionModule,
|
|
698
698
|
ThyDialogContainer,
|
|
699
|
-
|
|
699
|
+
ThyDialogHeader,
|
|
700
700
|
ThyConfirm] }); }
|
|
701
701
|
}
|
|
702
702
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyDialogModule, decorators: [{
|
|
@@ -713,9 +713,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
713
713
|
FormsModule,
|
|
714
714
|
ThyActionModule,
|
|
715
715
|
ThyDialogContainer,
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
716
|
+
ThyDialogHeader,
|
|
717
|
+
ThyDialogBody,
|
|
718
|
+
ThyDialogFooter,
|
|
719
719
|
ThyConfirm
|
|
720
720
|
],
|
|
721
721
|
providers: [
|
|
@@ -728,7 +728,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
728
728
|
useValue: ThyConfirm
|
|
729
729
|
}
|
|
730
730
|
],
|
|
731
|
-
exports: [ThyDialogContainer,
|
|
731
|
+
exports: [ThyDialogContainer, ThyDialogHeader, ThyDialogBody, ThyDialogFooter]
|
|
732
732
|
}]
|
|
733
733
|
}] });
|
|
734
734
|
|
|
@@ -736,5 +736,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
736
736
|
* Generated bundle index. Do not edit.
|
|
737
737
|
*/
|
|
738
738
|
|
|
739
|
-
export {
|
|
739
|
+
export { THY_CONFIRM_DEFAULT_OPTIONS, THY_CONFIRM_DEFAULT_OPTIONS_PROVIDER, THY_CONFIRM_DEFAULT_OPTIONS_VALUE, THY_DIALOG_DEFAULT_OPTIONS, THY_DIALOG_DEFAULT_OPTIONS_PROVIDER, THY_DIALOG_LAYOUT_CONFIG, THY_DIALOG_LAYOUT_CONFIG_PROVIDER, ThyConfirm as ThyConfirmComponent$1, ThyDialog, ThyDialogBody, ThyDialogConfig, ThyDialogContainer, ThyDialogFooter, ThyDialogHeader, ThyDialogLayoutConfig, ThyDialogModule, ThyDialogRef, ThyDialogSizes, thyDialogAnimations };
|
|
740
740
|
//# sourceMappingURL=ngx-tethys-dialog.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-dialog.mjs","sources":["../../../src/dialog/confirm/token.ts","../../../src/dialog/dialog-animations.ts","../../../src/dialog/dialog.config.ts","../../../src/dialog/dialog.options.ts","../../../src/dialog/dialog-container.component.ts","../../../src/dialog/dialog-ref.ts","../../../src/dialog/dialog.service.ts","../../../src/dialog/body/dialog-body.component.ts","../../../src/dialog/confirm.config.ts","../../../src/dialog/header/dialog-header.component.ts","../../../src/dialog/header/dialog-header.component.html","../../../src/dialog/confirm/confirm.component.ts","../../../src/dialog/confirm/confirm.component.html","../../../src/dialog/footer/dialog-footer.component.ts","../../../src/dialog/footer/dialog-footer.component.html","../../../src/dialog/dialog.module.ts","../../../src/dialog/ngx-tethys-dialog.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport interface ThyConfirmAbstractComponent {\n okText: string;\n okType: string;\n cancelText: string;\n okLoadingText: string;\n}\n\nexport const THY_CONFIRM_COMPONENT_TOKEN = new InjectionToken<ThyConfirmAbstractComponent>('thy-confirm-component-token');\n","import { animate, state, style, transition, trigger, AnimationTriggerMetadata } from '@angular/animations';\n\nconst animationBody = [\n // Note: The `enter` animation transitions to `transform: none`, because for some reason\n // specifying the transform explicitly, causes IE both to blur the dialog content and\n // decimate the animation performance. Leaving it as `none` solves both issues. translate(-300px,-100px)\n state('void, exit', style({ opacity: 0, transform: 'scale(0.1)' })),\n state('enter', style({ transform: 'none' })),\n transition('* => enter', animate('200ms cubic-bezier(0, 0, 0.57, 1)', style({ transform: 'none', opacity: 1 }))),\n transition('* => exit', animate('150ms cubic-bezier(0.24, 0.18, 0.96, 0.52)', style({ transform: 'scale(0.3)', opacity: 0 })))\n];\n\n/**\n * Animations used by MatDialog.\n * @docs-private\n */\nexport const thyDialogAnimations: {\n readonly dialogContainer: AnimationTriggerMetadata;\n} = {\n dialogContainer: trigger('dialogContainer', animationBody)\n};\n\n// export const setAnimationStart\n","import { ThyAbstractOverlayConfig, ThyAbstractOverlayPosition } from 'ngx-tethys/core';\n\nimport { ScrollStrategy } from '@angular/cdk/overlay';\nimport { InjectionToken } from '@angular/core';\n\n/** Valid ARIA roles for a dialog element. */\nexport type ThyDialogRole = 'dialog' | 'alertdialog';\n\nexport enum ThyDialogSizes {\n lg = 'lg',\n /**\n * 已废弃,命名错误,请使用 superLg\n * @deprecated\n */\n supperLg = 'supper-lg',\n superLg = 'super-lg',\n maxLg = 'max-lg',\n md = 'md',\n sm = 'sm',\n full = 'full'\n}\n\n/**\n * 通过ThyDialog服务端打开模态框的配置\n * @description.en-us Configuration for opening a modal dialog with the ThyDialog service.\n * @public\n * @order 20\n */\nexport class ThyDialogConfig<TData = unknown> extends ThyAbstractOverlayConfig<TData> {\n /**\n * 对话框元素的 ARIA 角色\n * @description.en-us The ARIA role of the dialog element.\n */\n role?: ThyDialogRole = 'dialog';\n\n /**\n * 定位模态框的弹出位置\n * @description.en-us Position overrides.\n */\n position?: ThyAbstractOverlayPosition;\n\n /**\n * 模态框的大小,ThyDialogSizes: sm (400)、md (660)、lg (800)、maxLg (980)、superLg (94vw)、full (全屏)\n * @default md\n * @description.en-us Dialog size md, lg, sm\n */\n size?: ThyDialogSizes;\n\n /**\n * 用于模态框的滚动策略\n * @description.en-us Scroll strategy to be used for the dialog.\n */\n scrollStrategy?: ScrollStrategy;\n}\n\n/** Injection token that can be used to specify default dialog options. */\nexport const THY_DIALOG_DEFAULT_OPTIONS = new InjectionToken<ThyDialogConfig>('thy-dialog-default-options');\n\nexport const THY_DIALOG_DEFAULT_OPTIONS_PROVIDER = {\n provide: THY_DIALOG_DEFAULT_OPTIONS,\n useValue: {\n role: 'dialog',\n hasBackdrop: true,\n backdropClass: '',\n panelClass: '',\n backdropClosable: true,\n closeOnNavigation: true,\n autoFocus: true,\n restoreFocus: true,\n restoreFocusOptions: {\n preventScroll: true\n },\n hostClass: 'thy-dialog-content'\n }\n};\n\nexport type ThyDialogFooterAlign = 'left' | 'right' | 'center';\n\nexport class ThyDialogLayoutConfig {\n footerAlign?: ThyDialogFooterAlign;\n footerDivided?: boolean;\n}\n\nexport const THY_DIALOG_LAYOUT_CONFIG = new InjectionToken<ThyDialogLayoutConfig>('thy-dialog-layout-config');\n\nexport const THY_DIALOG_LAYOUT_CONFIG_PROVIDER = {\n provide: THY_DIALOG_LAYOUT_CONFIG,\n useValue: {\n footerAlign: 'left',\n footerDivided: false\n }\n};\n","import { ThyAbstractOverlayOptions } from 'ngx-tethys/core';\n\nexport const dialogAbstractOverlayOptions: ThyAbstractOverlayOptions = {\n name: 'dialog',\n animationEnabled: true,\n disposeWhenClose: true\n};\n","import { reqAnimFrame, ThyAbstractOverlayContainer, ThyClickPositioner, ThyPortalOutlet } from 'ngx-tethys/core';\nimport { Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { AnimationEvent } from '@angular/animations';\nimport { FocusTrap, FocusTrapFactory } from '@angular/cdk/a11y';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n NgZone,\n OnDestroy,\n Renderer2,\n ViewChild\n} from '@angular/core';\n\nimport { thyDialogAnimations } from './dialog-animations';\nimport { ThyDialogConfig } from './dialog.config';\nimport { dialogAbstractOverlayOptions } from './dialog.options';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-dialog-container',\n template: ` <ng-template thyPortalOutlet></ng-template> `,\n // Using OnPush for dialogs caused some sync issues, e.g. custom ngModel can't to detect changes\n // Disabled until we can track them down.\n changeDetection: ChangeDetectionStrategy.Default,\n animations: [thyDialogAnimations.dialogContainer],\n host: {\n class: 'thy-dialog-container',\n tabindex: '-1',\n 'aria-modal': 'true',\n '[attr.id]': 'id',\n '[attr.role]': 'config.role',\n '[attr.aria-labelledby]': 'config.ariaLabel ? null : ariaLabelledBy',\n '[attr.aria-label]': 'config.ariaLabel',\n '[attr.aria-describedby]': 'config.ariaDescribedBy || null',\n '[@dialogContainer]': 'animationState',\n '(@dialogContainer.start)': 'onAnimationStart($event)',\n '(@dialogContainer.done)': 'onAnimationDone($event)'\n },\n standalone: true,\n imports: [PortalModule, ThyPortalOutlet]\n})\nexport class ThyDialogContainer extends ThyAbstractOverlayContainer implements OnDestroy {\n animationOpeningDone: Observable<AnimationEvent>;\n animationClosingDone: Observable<AnimationEvent>;\n\n @ViewChild(ThyPortalOutlet, { static: true })\n portalOutlet: ThyPortalOutlet;\n\n @HostBinding(`attr.id`)\n id: string;\n\n /** State of the dialog animation. */\n animationState: 'void' | 'enter' | 'exit' = 'void';\n\n /** Emits when an animation state changes. */\n animationStateChanged = new EventEmitter<AnimationEvent>();\n\n /** ID of the element that should be considered as the dialog's label. */\n ariaLabelledBy: string | null = null;\n\n /** Element that was focused before the dialog was opened. Save this to restore upon close. */\n private elementFocusedBeforeDialogWasOpened: HTMLElement | null = null;\n\n /** The class that traps and manages focus within the dialog. */\n private focusTrap: FocusTrap;\n\n private savePreviouslyFocusedElement() {\n if (this.document) {\n this.elementFocusedBeforeDialogWasOpened = this.document.activeElement as HTMLElement;\n\n // Note that there is no focus method when rendering on the server.\n if (this.elementRef.nativeElement.focus) {\n // Note: this is being run outside of the Angular zone because `element.focus()` doesn't require\n // running change detection.\n this.ngZone.runOutsideAngular(() =>\n // Move focus onto the dialog immediately in order to prevent the user from accidentally\n // opening multiple dialogs at the same time. Needs to be async, because the element\n // may not be focusable immediately.\n\n // Note: `element.focus()` causes re-layout and this may lead to frame drop on slower devices.\n // https://gist.github.com/paulirish/5d52fb081b3570c81e3a#setting-focus\n // `setTimeout` is a macrotask and macrotasks are executed within the current rendering frame.\n // Animation tasks are executed within the next rendering frame.\n reqAnimFrame(() => this.elementRef.nativeElement.focus())\n );\n }\n }\n }\n\n /** Moves the focus inside the focus trap. */\n private trapFocus() {\n const element = this.elementRef.nativeElement;\n\n if (!this.focusTrap) {\n this.focusTrap = this.focusTrapFactory.create(element);\n }\n\n // If we were to attempt to focus immediately, then the content of the dialog would not yet be\n // ready in instances where change detection has to run first. To deal with this, we simply\n // wait for the microtask queue to be empty.\n if (this.config.autoFocus) {\n this.focusTrap.focusInitialElementWhenReady();\n } else {\n const activeElement = this.document.activeElement;\n\n // Otherwise ensure that focus is on the dialog container. It's possible that a different\n // component tried to move focus while the open animation was running. See:\n // https://github.com/angular/components/issues/16215. Note that we only want to do this\n // if the focus isn't inside the dialog already, because it's possible that the consumer\n // turned off `autoFocus` in order to move focus themselves.\n if (activeElement !== element && !element.contains(activeElement)) {\n element.focus();\n }\n }\n }\n\n private restoreFocus() {\n const toFocus = this.elementFocusedBeforeDialogWasOpened;\n\n // We need the extra check, because IE can set the `activeElement` to null in some cases.\n if (this.config.restoreFocus && toFocus && typeof toFocus.focus === 'function') {\n toFocus.focus(this.config.restoreFocusOptions);\n }\n\n if (this.focusTrap) {\n this.focusTrap.destroy();\n }\n }\n\n private setTransformOrigin() {\n this.clickPositioner.runTaskUseLastPosition(lastPosition => {\n if (lastPosition) {\n const containerElement: HTMLElement = this.elementRef.nativeElement;\n const transformOrigin = `${lastPosition.x - containerElement.offsetLeft}px ${\n lastPosition.y - containerElement.offsetTop\n }px 0px`;\n containerElement.style['transform-origin'] = transformOrigin;\n // 手动修改动画状态为从 void 到 enter, 开启动画\n }\n this.animationState = 'enter';\n this.changeDetectorRef.markForCheck();\n });\n }\n\n constructor(\n private elementRef: ElementRef,\n @Inject(DOCUMENT) private document: any,\n public config: ThyDialogConfig,\n changeDetectorRef: ChangeDetectorRef,\n private clickPositioner: ThyClickPositioner,\n private focusTrapFactory: FocusTrapFactory,\n private ngZone: NgZone,\n private renderer: Renderer2\n ) {\n super(dialogAbstractOverlayOptions, changeDetectorRef);\n this.animationOpeningDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === 'void';\n })\n );\n this.animationClosingDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === 'exit';\n })\n );\n /* Prohibit operations on elements inside the container during animation execution */\n this.animationStateChanged\n .pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'start' && event.toState === 'exit';\n })\n )\n .subscribe(() => {\n this.renderer.setStyle(this.elementRef.nativeElement, 'pointer-events', 'none');\n });\n }\n\n beforeAttachPortal(): void {\n this.setTransformOrigin();\n this.savePreviouslyFocusedElement();\n }\n\n /** Callback, invoked whenever an animation on the host completes. */\n onAnimationDone(event: AnimationEvent) {\n if (event.toState === 'void') {\n this.trapFocus();\n } else if (event.toState === 'exit') {\n this.restoreFocus();\n }\n this.animationStateChanged.emit(event);\n }\n\n /** Callback, invoked when an animation on the host starts. */\n onAnimationStart(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n ngOnDestroy() {\n super.destroy();\n }\n}\n","import { ThyAbstractInternalOverlayRef, ThyAbstractOverlayPosition, ThyAbstractOverlayRef } from 'ngx-tethys/core';\n\nimport { GlobalPositionStrategy, OverlayRef } from '@angular/cdk/overlay';\n\nimport { ThyDialogContainer } from './dialog-container.component';\nimport { ThyDialogConfig } from './dialog.config';\nimport { dialogAbstractOverlayOptions } from './dialog.options';\n\n/**\n * @publicApi\n * @order 30\n */\nexport abstract class ThyDialogRef<T, TResult = unknown> extends ThyAbstractOverlayRef<T, ThyDialogContainer, TResult> {}\n\nexport class ThyInternalDialogRef<T, TResult = unknown> extends ThyAbstractInternalOverlayRef<T, ThyDialogContainer, TResult> {\n constructor(overlayRef: OverlayRef, containerInstance: ThyDialogContainer, config: ThyDialogConfig<T>) {\n super(dialogAbstractOverlayOptions, overlayRef, containerInstance, config);\n }\n\n /**\n * Updates the dialog's position.\n * @param position New dialog position.\n */\n updatePosition(position?: ThyAbstractOverlayPosition): this {\n this.updateGlobalPosition(position);\n return this;\n }\n\n /**\n * Updates the dialog's width and height.\n * @param width New width of the dialog.\n * @param height New height of the dialog.\n */\n updateSizeAndPosition(width: string = '', height: string = '', position?: ThyAbstractOverlayPosition): this {\n (this.getPositionStrategy() as GlobalPositionStrategy).width(width).height(height);\n this.updatePosition(position);\n return this;\n }\n}\n","import { ThyAbstractOverlayRef, ThyAbstractOverlayService, ThyClickPositioner } from 'ngx-tethys/core';\nimport { of } from 'rxjs';\n\nimport { Directionality } from '@angular/cdk/bidi';\nimport { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal, ComponentType } from '@angular/cdk/portal';\nimport { Inject, Injectable, Injector, OnDestroy, Optional, StaticProvider, TemplateRef } from '@angular/core';\n\nimport { ThyConfirmConfig } from './confirm.config';\nimport { ThyConfirmAbstractComponent, THY_CONFIRM_COMPONENT_TOKEN } from './confirm/token';\nimport { ThyDialogContainer } from './dialog-container.component';\nimport { ThyDialogRef, ThyInternalDialogRef } from './dialog-ref';\nimport { THY_DIALOG_DEFAULT_OPTIONS, ThyDialogConfig, ThyDialogSizes } from './dialog.config';\nimport { dialogAbstractOverlayOptions } from './dialog.options';\n\n/**\n * @public\n * @order 10\n */\n@Injectable()\nexport class ThyDialog extends ThyAbstractOverlayService<ThyDialogConfig, ThyDialogContainer> implements OnDestroy {\n protected buildOverlayConfig(config: ThyDialogConfig<any>): OverlayConfig {\n const size = config.size || ThyDialogSizes.md;\n const overlayConfig = this.buildBaseOverlayConfig(config, [`dialog-${size}`]);\n overlayConfig.positionStrategy = this.overlay.position().global();\n overlayConfig.scrollStrategy = config.scrollStrategy || this.overlay.scrollStrategies.block();\n return overlayConfig;\n }\n\n protected attachOverlayContainer(overlay: OverlayRef, config: ThyDialogConfig<any>): ThyDialogContainer {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = Injector.create({\n parent: userInjector || this.injector,\n providers: [{ provide: ThyDialogConfig, useValue: config }]\n });\n const containerPortal = new ComponentPortal(ThyDialogContainer, config.viewContainerRef, injector);\n const containerRef = overlay.attach<ThyDialogContainer>(containerPortal);\n\n return containerRef.instance;\n }\n\n protected createAbstractOverlayRef<T, TResult>(\n overlayRef: OverlayRef,\n containerInstance: ThyDialogContainer,\n config: ThyDialogConfig<any>\n ): ThyAbstractOverlayRef<T, ThyDialogContainer, TResult> {\n return new ThyInternalDialogRef(overlayRef, containerInstance, config);\n }\n\n protected createInjector<T>(config: ThyDialogConfig, dialogRef: ThyDialogRef<T>, dialogContainer: ThyDialogContainer): Injector {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n\n const injectionTokens: StaticProvider[] = [\n { provide: ThyDialogContainer, useValue: dialogContainer },\n {\n provide: ThyDialogRef,\n useValue: dialogRef\n }\n ];\n\n if (config.direction && (!userInjector || !userInjector.get<Directionality | null>(Directionality, null))) {\n injectionTokens.push({\n provide: Directionality,\n useValue: {\n value: config.direction,\n change: of()\n }\n });\n }\n\n return Injector.create({ parent: userInjector || this.injector, providers: injectionTokens });\n }\n\n constructor(\n overlay: Overlay,\n injector: Injector,\n @Optional()\n @Inject(THY_DIALOG_DEFAULT_OPTIONS)\n defaultConfig: ThyDialogConfig,\n clickPositioner: ThyClickPositioner,\n @Inject(THY_CONFIRM_COMPONENT_TOKEN) private confirmComponentType: ComponentType<ThyConfirmAbstractComponent>\n ) {\n super(dialogAbstractOverlayOptions, overlay, injector, defaultConfig);\n clickPositioner.initialize();\n }\n\n /**\n * 打开 Dialog\n */\n open<T, TData = unknown, TResult = unknown>(\n componentOrTemplateRef: ComponentType<T> | TemplateRef<T>,\n config?: ThyDialogConfig<TData>\n ): ThyDialogRef<T, TResult> {\n const dialogRef = this.openOverlay(componentOrTemplateRef, config);\n const dialogRefInternal = dialogRef as ThyInternalDialogRef<T, TResult>;\n dialogRefInternal.updateSizeAndPosition(\n dialogRef.containerInstance.config.width,\n dialogRef.containerInstance.config.height,\n dialogRef.containerInstance.config.position\n );\n return dialogRef as ThyDialogRef<T, TResult>;\n }\n\n /**\n * 打开 Confirm\n */\n confirm(options: ThyConfirmConfig) {\n return this.open(this.confirmComponentType, {\n initialState: {\n options: options\n }\n });\n }\n\n /**\n * 根据 id 获取 Dialog\n */\n getDialogById(id: string): ThyDialogRef<any> | undefined {\n return this.getAbstractOverlayById(id) as ThyDialogRef<any> | undefined;\n }\n\n /**\n * 获取所有打开的 Dialog\n */\n getOpenedDialogs(): ThyDialogRef<any>[] {\n return this.getAbstractOverlays();\n }\n\n /**\n * @description.en-us Finds the closest ThyDialogRef to an element by looking at the DOM.\n * @description 获取与指定元素最接近的 ThyDialogRef\n */\n getClosestDialog(element: HTMLElement): ThyDialogRef<any> | undefined {\n let parent: HTMLElement | null = element.parentElement;\n\n while (parent && !parent.classList.contains('thy-dialog-container')) {\n parent = parent.parentElement;\n }\n if (parent && parent.id) {\n return this.getDialogById(parent.id);\n }\n return null;\n }\n\n ngOnDestroy() {\n this.dispose();\n }\n}\n","import { Component, Input, OnInit, HostBinding } from '@angular/core';\nimport { ThyDialog } from '../dialog.service';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\nimport { CdkScrollable } from '@angular/cdk/scrolling';\n\n/**\n * 模态框的主体组件\n * @name thy-dialog-body\n * @order 50\n */\n@Component({\n selector: 'thy-dialog-body',\n template: '<ng-content></ng-content>',\n // changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'thyDialogBody',\n standalone: true,\n hostDirectives: [CdkScrollable]\n})\nexport class DialogBody implements OnInit {\n @HostBinding(`class.dialog-body`) _isDialogBody = true;\n\n @HostBinding(`class.dialog-body-clear-padding`)\n thyClearPaddingClassName = false;\n\n /**\n * 清除间距\n * @default false\n */\n @Input()\n set thyClearPadding(value: string) {\n this.thyClearPaddingClassName = coerceBooleanProperty(value);\n }\n\n constructor(private dialog: ThyDialog) {}\n\n ngOnInit() {}\n}\n","import { InjectionToken } from '@angular/core';\nimport { ThyFormGroupFooterAlign } from 'ngx-tethys/form';\nimport { Observable } from 'rxjs';\n\n/**\n * 确认框配置\n * @public\n * @order 70\n */\nexport interface ThyConfirmConfig {\n /**\n * 标题\n */\n title?: string;\n\n /**\n * 提示内容\n */\n content: string;\n\n /**\n * 确认按钮的文案\n */\n okText?: string;\n\n /**\n * 确认按钮的类型,primary | danger\n */\n okType?: 'primary' | 'danger';\n\n /**\n * 确认按钮处于提交状态时的文案\n */\n okLoadingText?: string;\n\n /**\n * 底部对齐方式,left | center | right\n */\n footerAlign?: ThyFormGroupFooterAlign;\n\n /**\n * 确认后的回调事件\n */\n onOk?: () => Observable<boolean> | void;\n\n /**\n * 取消按钮的文案\n */\n cancelText?: string;\n\n /**\n * 取消后的回调事件\n */\n onCancel?: () => void;\n}\n\nexport const THY_CONFIRM_DEFAULT_OPTIONS = new InjectionToken<ThyConfirmConfig>('thy-confirm-default-options');\n\nexport const THY_CONFIRM_DEFAULT_OPTIONS_VALUE = {\n title: '确认删除',\n okText: '确定',\n okType: 'danger',\n cancelText: '取消',\n footerAlign: 'left'\n};\n\nexport const THY_CONFIRM_DEFAULT_OPTIONS_PROVIDER = {\n provide: THY_CONFIRM_DEFAULT_OPTIONS,\n useValue: THY_CONFIRM_DEFAULT_OPTIONS_VALUE\n};\n","import { Component, Input, Output, EventEmitter, ContentChild, TemplateRef, OnInit, Optional, ElementRef } from '@angular/core';\nimport { ThyDialog } from '../dialog.service';\nimport { ThyDialogContainer } from '../dialog-container.component';\nimport { InputBoolean, ThyTranslate } from 'ngx-tethys/core';\nimport { ThyInternalDialogRef } from '../dialog-ref';\nimport { ThyAction } from 'ngx-tethys/action';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\n\n/**\n * 模态框头部组件\n * @name thy-dialog-header\n * @order 40\n */\n@Component({\n selector: 'thy-dialog-header',\n templateUrl: './dialog-header.component.html',\n // changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'thyDialogHeader',\n host: {\n class: 'dialog-header thy-dialog-header',\n '[class.thy-dialog-header-lg]': `thySize === 'lg'`,\n '[class.thy-dialog-header-divided]': `thyDivided`\n },\n standalone: true,\n imports: [NgIf, NgTemplateOutlet, ThyIcon, ThyAction]\n})\nexport class DialogHeader implements OnInit {\n /**\n * 自定义头部模板\n */\n @ContentChild('dialogHeader')\n public headerTemplate: TemplateRef<any>;\n\n /**\n * 标题\n */\n @Input() thyTitle: string;\n\n /**\n * 大小,只有大的详情页场景会使用 lg,左右 padding 缩小至 20px\n * @type lg | md\n * @default md\n */\n @Input() thySize: 'lg' | 'md';\n\n /**\n * 是否显示分割线\n * @default false\n */\n @Input() @InputBoolean() thyDivided: boolean;\n\n /**\n * 标题的多语言 Key\n */\n @Input()\n set thyTitleTranslationKey(key: string) {\n if (key && !this.thyTitle) {\n this.thyTitle = this.translate.instant(key);\n }\n }\n\n /**\n * 头部图标\n */\n @Input() thyIcon: string;\n\n /**\n * 关闭事件\n */\n @Output() thyOnClose: EventEmitter<Event> = new EventEmitter<Event>();\n\n constructor(\n private elementRef: ElementRef,\n private dialog: ThyDialog,\n private translate: ThyTranslate,\n @Optional() private dialogContainer: ThyDialogContainer\n ) {}\n\n ngOnInit() {\n if (!this.dialogContainer) {\n // When this directive is included in a dialog via TemplateRef (rather than being\n // in a Component), the ThyDialogContainerComponent isn't available via injection because embedded\n // views cannot be given a custom injector. Instead, we look up the ThyDialogContainerComponent by\n // ID. This must occur in `onInit`, as the ID binding for the dialog container won't\n // be resolved at constructor time.\n const dialogRef = this.dialog.getClosestDialog(this.elementRef.nativeElement) as ThyInternalDialogRef<any>;\n this.dialogContainer = dialogRef ? dialogRef.containerInstance : null;\n }\n\n // change in next microtask avoid throw ExpressionChangedAfterItHasBeenCheckedError\n // because sub component change parent's HostBinding property (ariaLabelledBy)\n Promise.resolve().then(() => {\n if (this.dialogContainer) {\n this.dialogContainer.ariaLabelledBy = this.thyTitle;\n }\n });\n }\n\n close(event?: Event) {\n if (this.thyOnClose.observers.length > 0) {\n this.thyOnClose.emit(event);\n } else {\n this.dialog.close();\n }\n }\n}\n","<ng-container *ngIf=\"headerTemplate; else defaultHeader\">\n <template [ngTemplateOutlet]=\"headerTemplate\"></template>\n</ng-container>\n<ng-template #defaultHeader>\n <h3 class=\"dialog-title\"><thy-icon [thyIconName]=\"thyIcon\"></thy-icon>{{ thyTitle }}</h3>\n <a href=\"javascript:;\" class=\"mr-n2\" thyAction thyActionIcon=\"close\" (click)=\"close($event)\"></a>\n</ng-template>\n","import { ThyFormDirective, ThyFormGroupFooterAlign, ThyFormGroupFooter } from 'ngx-tethys/form';\nimport { finalize } from 'rxjs/operators';\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Input, OnDestroy, OnInit } from '@angular/core';\n\nimport { NgClass } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { ThyButton } from 'ngx-tethys/button';\nimport { DialogBody } from '../body/dialog-body.component';\nimport { ThyConfirmConfig, THY_CONFIRM_DEFAULT_OPTIONS, THY_CONFIRM_DEFAULT_OPTIONS_VALUE } from '../confirm.config';\nimport { ThyDialogRef } from '../dialog-ref';\nimport { DialogHeader } from '../header/dialog-header.component';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-confirm-default',\n templateUrl: './confirm.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [DialogHeader, DialogBody, FormsModule, ThyFormDirective, ThyFormGroupFooter, NgClass, ThyButton]\n})\nexport class ThyConfirm implements OnInit, OnDestroy {\n loading: boolean;\n\n @Input() options: ThyConfirmConfig;\n\n public title: string;\n\n public content: string;\n\n public okText: string;\n\n public okType: string;\n\n public cancelText: string;\n\n public okLoadingText: string;\n\n public footerAlign: ThyFormGroupFooterAlign;\n\n constructor(\n private dialogRef: ThyDialogRef<ThyConfirm>,\n private changeDetectorRef: ChangeDetectorRef,\n @Inject(THY_CONFIRM_DEFAULT_OPTIONS) private defaultConfig: ThyConfirmConfig\n ) {\n this.defaultConfig = { ...(THY_CONFIRM_DEFAULT_OPTIONS_VALUE as ThyConfirmConfig), ...this.defaultConfig };\n }\n\n ngOnInit() {\n this.defaultConfig = { ...this.defaultConfig, ...this.options };\n this.title = this.defaultConfig.title;\n this.content = this.defaultConfig.content;\n this.okText = this.defaultConfig.okText;\n this.okType = this.defaultConfig.okType;\n this.cancelText = this.defaultConfig.cancelText;\n this.okLoadingText = this.defaultConfig.okLoadingText || this.okText;\n this.footerAlign = this.defaultConfig.footerAlign;\n }\n\n confirm() {\n this.loading = true;\n const result = this.options.onOk();\n if (result && result.subscribe) {\n result\n .pipe(\n finalize(() => {\n this.loading = false;\n this.changeDetectorRef.markForCheck();\n })\n )\n .subscribe(success => {\n if (success) {\n this.close();\n }\n });\n } else {\n this.close();\n }\n }\n\n close() {\n this.options?.onCancel?.();\n this.dialogRef.close();\n }\n\n ngOnDestroy() {}\n}\n","<thy-dialog-header [thyTitle]=\"title || 'Install Angular'\" (thyOnClose)=\"close()\"> </thy-dialog-header>\n<thy-dialog-body class=\"thy-form\">\n <form thyForm name=\"thyConfirm\" thyLayout=\"vertical\">\n <div class=\"form-group\">\n <p [innerHTML]=\"content\"></p>\n </div>\n <thy-form-group-footer [thyAlign]=\"footerAlign\">\n <div class=\"thy-confirm-footer\" [ngClass]=\"'thy-confirm-footer-' + footerAlign\">\n <button [thyButton]=\"okType\" (click)=\"confirm()\" [thyLoading]=\"loading\" [thyLoadingText]=\"okLoadingText\">{{ okText }}</button>\n <button thyButton=\"link-secondary\" (click)=\"close()\" class=\"thy-confirm-cancel\">{{ cancelText }}</button>\n </div>\n </thy-form-group-footer>\n </form>\n</thy-dialog-body>\n","import { coerceBooleanProperty } from 'ngx-tethys/util';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { Component, ContentChild, Inject, Input, OnInit, TemplateRef } from '@angular/core';\n\nimport { THY_DIALOG_LAYOUT_CONFIG, ThyDialogFooterAlign, ThyDialogLayoutConfig } from '../dialog.config';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\nimport { InputBoolean } from 'ngx-tethys/core';\n\n/**\n * 模态框底部组件\n * @name thy-dialog-footer\n * @order 60\n */\n@Component({\n selector: 'thy-dialog-footer',\n templateUrl: './dialog-footer.component.html',\n // changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'thyDialogFooter',\n standalone: true,\n imports: [NgIf, NgTemplateOutlet]\n})\nexport class DialogFooter implements OnInit {\n /**\n * 自定义弹出框底部的描述模板\n * @type TemplateRef\n */\n @ContentChild('description') description: TemplateRef<any>;\n\n /**\n * 底部是否有分割线,可全局配置默认值\n * @type boolean\n * @default false\n */\n @Input()\n @InputBoolean()\n set thyDivided(value: boolean) {\n this.divided = coerceBooleanProperty(value);\n }\n\n /**\n * 对齐方式,可全局配置默认值\n * @type left | right | center\n * @default left\n */\n @Input() thyAlign: ThyDialogFooterAlign;\n\n private divided: boolean;\n\n private hostRenderer = useHostRenderer();\n\n private get align() {\n return !!this.thyAlign ? this.thyAlign : this.dialogLayoutConfig.footerAlign;\n }\n\n constructor(@Inject(THY_DIALOG_LAYOUT_CONFIG) private dialogLayoutConfig: ThyDialogLayoutConfig) {\n this.divided = this.dialogLayoutConfig.footerDivided;\n }\n\n ngOnInit() {\n this.hostRenderer.updateClassByMap({\n 'dialog-footer': true,\n [`dialog-footer-actions-align-${this.align}`]: true,\n 'dialog-footer-border-top': this.divided\n });\n }\n}\n","<div class=\"dialog-footer-actions btn-pair\">\n <ng-content></ng-content>\n</div>\n<div class=\"dialog-footer-description\" *ngIf=\"description\">\n <ng-container [ngTemplateOutlet]=\"description\"></ng-container>\n</div>\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ThyActionModule } from 'ngx-tethys/action';\nimport { ThyButtonModule } from 'ngx-tethys/button';\nimport { ThyFormModule } from 'ngx-tethys/form';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { DialogBody } from './body/dialog-body.component';\nimport { THY_CONFIRM_DEFAULT_OPTIONS_PROVIDER } from './confirm.config';\nimport { ThyConfirm } from './confirm/confirm.component';\nimport { THY_CONFIRM_COMPONENT_TOKEN } from './confirm/token';\nimport { ThyDialogContainer } from './dialog-container.component';\nimport { THY_DIALOG_DEFAULT_OPTIONS_PROVIDER, THY_DIALOG_LAYOUT_CONFIG_PROVIDER } from './dialog.config';\nimport { ThyDialog } from './dialog.service';\nimport { DialogFooter } from './footer/dialog-footer.component';\nimport { DialogHeader } from './header/dialog-header.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ThySharedModule,\n PortalModule,\n OverlayModule,\n ThyButtonModule,\n ThyIconModule,\n ThyFormModule,\n FormsModule,\n ThyActionModule,\n ThyDialogContainer,\n DialogHeader,\n DialogBody,\n DialogFooter,\n ThyConfirm\n ],\n providers: [\n ThyDialog,\n THY_DIALOG_DEFAULT_OPTIONS_PROVIDER,\n THY_CONFIRM_DEFAULT_OPTIONS_PROVIDER,\n THY_DIALOG_LAYOUT_CONFIG_PROVIDER,\n {\n provide: THY_CONFIRM_COMPONENT_TOKEN,\n useValue: ThyConfirm\n }\n ],\n exports: [ThyDialogContainer, DialogHeader, DialogBody, DialogFooter]\n})\nexport class ThyDialogModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ThyDialogConfig","i1.ThyDialog","i3.ThyDialogContainer","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-tethys-dialog.mjs","sources":["../../../src/dialog/confirm/token.ts","../../../src/dialog/dialog-animations.ts","../../../src/dialog/dialog.config.ts","../../../src/dialog/dialog.options.ts","../../../src/dialog/dialog-container.component.ts","../../../src/dialog/dialog-ref.ts","../../../src/dialog/dialog.service.ts","../../../src/dialog/body/dialog-body.component.ts","../../../src/dialog/confirm.config.ts","../../../src/dialog/header/dialog-header.component.ts","../../../src/dialog/header/dialog-header.component.html","../../../src/dialog/confirm/confirm.component.ts","../../../src/dialog/confirm/confirm.component.html","../../../src/dialog/footer/dialog-footer.component.ts","../../../src/dialog/footer/dialog-footer.component.html","../../../src/dialog/dialog.module.ts","../../../src/dialog/ngx-tethys-dialog.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport interface ThyConfirmAbstractComponent {\n okText: string;\n okType: string;\n cancelText: string;\n okLoadingText: string;\n}\n\nexport const THY_CONFIRM_COMPONENT_TOKEN = new InjectionToken<ThyConfirmAbstractComponent>('thy-confirm-component-token');\n","import { animate, state, style, transition, trigger, AnimationTriggerMetadata } from '@angular/animations';\n\nconst animationBody = [\n // Note: The `enter` animation transitions to `transform: none`, because for some reason\n // specifying the transform explicitly, causes IE both to blur the dialog content and\n // decimate the animation performance. Leaving it as `none` solves both issues. translate(-300px,-100px)\n state('void, exit', style({ opacity: 0, transform: 'scale(0.1)' })),\n state('enter', style({ transform: 'none' })),\n transition('* => enter', animate('200ms cubic-bezier(0, 0, 0.57, 1)', style({ transform: 'none', opacity: 1 }))),\n transition('* => exit', animate('150ms cubic-bezier(0.24, 0.18, 0.96, 0.52)', style({ transform: 'scale(0.3)', opacity: 0 })))\n];\n\n/**\n * Animations used by MatDialog.\n * @docs-private\n */\nexport const thyDialogAnimations: {\n readonly dialogContainer: AnimationTriggerMetadata;\n} = {\n dialogContainer: trigger('dialogContainer', animationBody)\n};\n\n// export const setAnimationStart\n","import { ThyAbstractOverlayConfig, ThyAbstractOverlayPosition } from 'ngx-tethys/core';\n\nimport { ScrollStrategy } from '@angular/cdk/overlay';\nimport { InjectionToken } from '@angular/core';\n\n/** Valid ARIA roles for a dialog element. */\nexport type ThyDialogRole = 'dialog' | 'alertdialog';\n\nexport enum ThyDialogSizes {\n lg = 'lg',\n /**\n * 已废弃,命名错误,请使用 superLg\n * @deprecated\n */\n supperLg = 'supper-lg',\n superLg = 'super-lg',\n maxLg = 'max-lg',\n md = 'md',\n sm = 'sm',\n full = 'full'\n}\n\n/**\n * 通过ThyDialog服务端打开模态框的配置\n * @description.en-us Configuration for opening a modal dialog with the ThyDialog service.\n * @public\n * @order 20\n */\nexport class ThyDialogConfig<TData = unknown> extends ThyAbstractOverlayConfig<TData> {\n /**\n * 对话框元素的 ARIA 角色\n * @description.en-us The ARIA role of the dialog element.\n */\n role?: ThyDialogRole = 'dialog';\n\n /**\n * 定位模态框的弹出位置\n * @description.en-us Position overrides.\n */\n position?: ThyAbstractOverlayPosition;\n\n /**\n * 模态框的大小,ThyDialogSizes: sm (400)、md (660)、lg (800)、maxLg (980)、superLg (94vw)、full (全屏)\n * @default md\n * @description.en-us Dialog size md, lg, sm\n */\n size?: ThyDialogSizes;\n\n /**\n * 用于模态框的滚动策略\n * @description.en-us Scroll strategy to be used for the dialog.\n */\n scrollStrategy?: ScrollStrategy;\n}\n\n/** Injection token that can be used to specify default dialog options. */\nexport const THY_DIALOG_DEFAULT_OPTIONS = new InjectionToken<ThyDialogConfig>('thy-dialog-default-options');\n\nexport const THY_DIALOG_DEFAULT_OPTIONS_PROVIDER = {\n provide: THY_DIALOG_DEFAULT_OPTIONS,\n useValue: {\n role: 'dialog',\n hasBackdrop: true,\n backdropClass: '',\n panelClass: '',\n backdropClosable: true,\n closeOnNavigation: true,\n autoFocus: true,\n restoreFocus: true,\n restoreFocusOptions: {\n preventScroll: true\n },\n hostClass: 'thy-dialog-content'\n }\n};\n\nexport type ThyDialogFooterAlign = 'left' | 'right' | 'center';\n\nexport class ThyDialogLayoutConfig {\n footerAlign?: ThyDialogFooterAlign;\n footerDivided?: boolean;\n}\n\nexport const THY_DIALOG_LAYOUT_CONFIG = new InjectionToken<ThyDialogLayoutConfig>('thy-dialog-layout-config');\n\nexport const THY_DIALOG_LAYOUT_CONFIG_PROVIDER = {\n provide: THY_DIALOG_LAYOUT_CONFIG,\n useValue: {\n footerAlign: 'left',\n footerDivided: false\n }\n};\n","import { ThyAbstractOverlayOptions } from 'ngx-tethys/core';\n\nexport const dialogAbstractOverlayOptions: ThyAbstractOverlayOptions = {\n name: 'dialog',\n animationEnabled: true,\n disposeWhenClose: true\n};\n","import { reqAnimFrame, ThyAbstractOverlayContainer, ThyClickPositioner, ThyPortalOutlet } from 'ngx-tethys/core';\nimport { Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { AnimationEvent } from '@angular/animations';\nimport { FocusTrap, FocusTrapFactory } from '@angular/cdk/a11y';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n NgZone,\n OnDestroy,\n Renderer2,\n ViewChild\n} from '@angular/core';\n\nimport { thyDialogAnimations } from './dialog-animations';\nimport { ThyDialogConfig } from './dialog.config';\nimport { dialogAbstractOverlayOptions } from './dialog.options';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-dialog-container',\n template: ` <ng-template thyPortalOutlet></ng-template> `,\n // Using OnPush for dialogs caused some sync issues, e.g. custom ngModel can't to detect changes\n // Disabled until we can track them down.\n changeDetection: ChangeDetectionStrategy.Default,\n animations: [thyDialogAnimations.dialogContainer],\n host: {\n class: 'thy-dialog-container',\n tabindex: '-1',\n 'aria-modal': 'true',\n '[attr.id]': 'id',\n '[attr.role]': 'config.role',\n '[attr.aria-labelledby]': 'config.ariaLabel ? null : ariaLabelledBy',\n '[attr.aria-label]': 'config.ariaLabel',\n '[attr.aria-describedby]': 'config.ariaDescribedBy || null',\n '[@dialogContainer]': 'animationState',\n '(@dialogContainer.start)': 'onAnimationStart($event)',\n '(@dialogContainer.done)': 'onAnimationDone($event)'\n },\n standalone: true,\n imports: [PortalModule, ThyPortalOutlet]\n})\nexport class ThyDialogContainer extends ThyAbstractOverlayContainer implements OnDestroy {\n animationOpeningDone: Observable<AnimationEvent>;\n animationClosingDone: Observable<AnimationEvent>;\n\n @ViewChild(ThyPortalOutlet, { static: true })\n portalOutlet: ThyPortalOutlet;\n\n @HostBinding(`attr.id`)\n id: string;\n\n /** State of the dialog animation. */\n animationState: 'void' | 'enter' | 'exit' = 'void';\n\n /** Emits when an animation state changes. */\n animationStateChanged = new EventEmitter<AnimationEvent>();\n\n /** ID of the element that should be considered as the dialog's label. */\n ariaLabelledBy: string | null = null;\n\n /** Element that was focused before the dialog was opened. Save this to restore upon close. */\n private elementFocusedBeforeDialogWasOpened: HTMLElement | null = null;\n\n /** The class that traps and manages focus within the dialog. */\n private focusTrap: FocusTrap;\n\n private savePreviouslyFocusedElement() {\n if (this.document) {\n this.elementFocusedBeforeDialogWasOpened = this.document.activeElement as HTMLElement;\n\n // Note that there is no focus method when rendering on the server.\n if (this.elementRef.nativeElement.focus) {\n // Note: this is being run outside of the Angular zone because `element.focus()` doesn't require\n // running change detection.\n this.ngZone.runOutsideAngular(() =>\n // Move focus onto the dialog immediately in order to prevent the user from accidentally\n // opening multiple dialogs at the same time. Needs to be async, because the element\n // may not be focusable immediately.\n\n // Note: `element.focus()` causes re-layout and this may lead to frame drop on slower devices.\n // https://gist.github.com/paulirish/5d52fb081b3570c81e3a#setting-focus\n // `setTimeout` is a macrotask and macrotasks are executed within the current rendering frame.\n // Animation tasks are executed within the next rendering frame.\n reqAnimFrame(() => this.elementRef.nativeElement.focus())\n );\n }\n }\n }\n\n /** Moves the focus inside the focus trap. */\n private trapFocus() {\n const element = this.elementRef.nativeElement;\n\n if (!this.focusTrap) {\n this.focusTrap = this.focusTrapFactory.create(element);\n }\n\n // If we were to attempt to focus immediately, then the content of the dialog would not yet be\n // ready in instances where change detection has to run first. To deal with this, we simply\n // wait for the microtask queue to be empty.\n if (this.config.autoFocus) {\n this.focusTrap.focusInitialElementWhenReady();\n } else {\n const activeElement = this.document.activeElement;\n\n // Otherwise ensure that focus is on the dialog container. It's possible that a different\n // component tried to move focus while the open animation was running. See:\n // https://github.com/angular/components/issues/16215. Note that we only want to do this\n // if the focus isn't inside the dialog already, because it's possible that the consumer\n // turned off `autoFocus` in order to move focus themselves.\n if (activeElement !== element && !element.contains(activeElement)) {\n element.focus();\n }\n }\n }\n\n private restoreFocus() {\n const toFocus = this.elementFocusedBeforeDialogWasOpened;\n\n // We need the extra check, because IE can set the `activeElement` to null in some cases.\n if (this.config.restoreFocus && toFocus && typeof toFocus.focus === 'function') {\n toFocus.focus(this.config.restoreFocusOptions);\n }\n\n if (this.focusTrap) {\n this.focusTrap.destroy();\n }\n }\n\n private setTransformOrigin() {\n this.clickPositioner.runTaskUseLastPosition(lastPosition => {\n if (lastPosition) {\n const containerElement: HTMLElement = this.elementRef.nativeElement;\n const transformOrigin = `${lastPosition.x - containerElement.offsetLeft}px ${\n lastPosition.y - containerElement.offsetTop\n }px 0px`;\n containerElement.style['transform-origin'] = transformOrigin;\n // 手动修改动画状态为从 void 到 enter, 开启动画\n }\n this.animationState = 'enter';\n this.changeDetectorRef.markForCheck();\n });\n }\n\n constructor(\n private elementRef: ElementRef,\n @Inject(DOCUMENT) private document: any,\n public config: ThyDialogConfig,\n changeDetectorRef: ChangeDetectorRef,\n private clickPositioner: ThyClickPositioner,\n private focusTrapFactory: FocusTrapFactory,\n private ngZone: NgZone,\n private renderer: Renderer2\n ) {\n super(dialogAbstractOverlayOptions, changeDetectorRef);\n this.animationOpeningDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === 'void';\n })\n );\n this.animationClosingDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === 'exit';\n })\n );\n /* Prohibit operations on elements inside the container during animation execution */\n this.animationStateChanged\n .pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'start' && event.toState === 'exit';\n })\n )\n .subscribe(() => {\n this.renderer.setStyle(this.elementRef.nativeElement, 'pointer-events', 'none');\n });\n }\n\n beforeAttachPortal(): void {\n this.setTransformOrigin();\n this.savePreviouslyFocusedElement();\n }\n\n /** Callback, invoked whenever an animation on the host completes. */\n onAnimationDone(event: AnimationEvent) {\n if (event.toState === 'void') {\n this.trapFocus();\n } else if (event.toState === 'exit') {\n this.restoreFocus();\n }\n this.animationStateChanged.emit(event);\n }\n\n /** Callback, invoked when an animation on the host starts. */\n onAnimationStart(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n ngOnDestroy() {\n super.destroy();\n }\n}\n","import { ThyAbstractInternalOverlayRef, ThyAbstractOverlayPosition, ThyAbstractOverlayRef } from 'ngx-tethys/core';\n\nimport { GlobalPositionStrategy, OverlayRef } from '@angular/cdk/overlay';\n\nimport { ThyDialogContainer } from './dialog-container.component';\nimport { ThyDialogConfig } from './dialog.config';\nimport { dialogAbstractOverlayOptions } from './dialog.options';\n\n/**\n * @publicApi\n * @order 30\n */\nexport abstract class ThyDialogRef<T, TResult = unknown> extends ThyAbstractOverlayRef<T, ThyDialogContainer, TResult> {}\n\nexport class ThyInternalDialogRef<T, TResult = unknown> extends ThyAbstractInternalOverlayRef<T, ThyDialogContainer, TResult> {\n constructor(overlayRef: OverlayRef, containerInstance: ThyDialogContainer, config: ThyDialogConfig<T>) {\n super(dialogAbstractOverlayOptions, overlayRef, containerInstance, config);\n }\n\n /**\n * Updates the dialog's position.\n * @param position New dialog position.\n */\n updatePosition(position?: ThyAbstractOverlayPosition): this {\n this.updateGlobalPosition(position);\n return this;\n }\n\n /**\n * Updates the dialog's width and height.\n * @param width New width of the dialog.\n * @param height New height of the dialog.\n */\n updateSizeAndPosition(width: string = '', height: string = '', position?: ThyAbstractOverlayPosition): this {\n (this.getPositionStrategy() as GlobalPositionStrategy).width(width).height(height);\n this.updatePosition(position);\n return this;\n }\n}\n","import { ThyAbstractOverlayRef, ThyAbstractOverlayService, ThyClickPositioner } from 'ngx-tethys/core';\nimport { of } from 'rxjs';\n\nimport { Directionality } from '@angular/cdk/bidi';\nimport { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal, ComponentType } from '@angular/cdk/portal';\nimport { Inject, Injectable, Injector, OnDestroy, Optional, StaticProvider, TemplateRef } from '@angular/core';\n\nimport { ThyConfirmConfig } from './confirm.config';\nimport { ThyConfirmAbstractComponent, THY_CONFIRM_COMPONENT_TOKEN } from './confirm/token';\nimport { ThyDialogContainer } from './dialog-container.component';\nimport { ThyDialogRef, ThyInternalDialogRef } from './dialog-ref';\nimport { THY_DIALOG_DEFAULT_OPTIONS, ThyDialogConfig, ThyDialogSizes } from './dialog.config';\nimport { dialogAbstractOverlayOptions } from './dialog.options';\n\n/**\n * @public\n * @order 10\n */\n@Injectable()\nexport class ThyDialog extends ThyAbstractOverlayService<ThyDialogConfig, ThyDialogContainer> implements OnDestroy {\n protected buildOverlayConfig(config: ThyDialogConfig<any>): OverlayConfig {\n const size = config.size || ThyDialogSizes.md;\n const overlayConfig = this.buildBaseOverlayConfig(config, [`dialog-${size}`]);\n overlayConfig.positionStrategy = this.overlay.position().global();\n overlayConfig.scrollStrategy = config.scrollStrategy || this.overlay.scrollStrategies.block();\n return overlayConfig;\n }\n\n protected attachOverlayContainer(overlay: OverlayRef, config: ThyDialogConfig<any>): ThyDialogContainer {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = Injector.create({\n parent: userInjector || this.injector,\n providers: [{ provide: ThyDialogConfig, useValue: config }]\n });\n const containerPortal = new ComponentPortal(ThyDialogContainer, config.viewContainerRef, injector);\n const containerRef = overlay.attach<ThyDialogContainer>(containerPortal);\n\n return containerRef.instance;\n }\n\n protected createAbstractOverlayRef<T, TResult>(\n overlayRef: OverlayRef,\n containerInstance: ThyDialogContainer,\n config: ThyDialogConfig<any>\n ): ThyAbstractOverlayRef<T, ThyDialogContainer, TResult> {\n return new ThyInternalDialogRef(overlayRef, containerInstance, config);\n }\n\n protected createInjector<T>(config: ThyDialogConfig, dialogRef: ThyDialogRef<T>, dialogContainer: ThyDialogContainer): Injector {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n\n const injectionTokens: StaticProvider[] = [\n { provide: ThyDialogContainer, useValue: dialogContainer },\n {\n provide: ThyDialogRef,\n useValue: dialogRef\n }\n ];\n\n if (config.direction && (!userInjector || !userInjector.get<Directionality | null>(Directionality, null))) {\n injectionTokens.push({\n provide: Directionality,\n useValue: {\n value: config.direction,\n change: of()\n }\n });\n }\n\n return Injector.create({ parent: userInjector || this.injector, providers: injectionTokens });\n }\n\n constructor(\n overlay: Overlay,\n injector: Injector,\n @Optional()\n @Inject(THY_DIALOG_DEFAULT_OPTIONS)\n defaultConfig: ThyDialogConfig,\n clickPositioner: ThyClickPositioner,\n @Inject(THY_CONFIRM_COMPONENT_TOKEN) private confirmComponentType: ComponentType<ThyConfirmAbstractComponent>\n ) {\n super(dialogAbstractOverlayOptions, overlay, injector, defaultConfig);\n clickPositioner.initialize();\n }\n\n /**\n * 打开 Dialog\n */\n open<T, TData = unknown, TResult = unknown>(\n componentOrTemplateRef: ComponentType<T> | TemplateRef<T>,\n config?: ThyDialogConfig<TData>\n ): ThyDialogRef<T, TResult> {\n const dialogRef = this.openOverlay(componentOrTemplateRef, config);\n const dialogRefInternal = dialogRef as ThyInternalDialogRef<T, TResult>;\n dialogRefInternal.updateSizeAndPosition(\n dialogRef.containerInstance.config.width,\n dialogRef.containerInstance.config.height,\n dialogRef.containerInstance.config.position\n );\n return dialogRef as ThyDialogRef<T, TResult>;\n }\n\n /**\n * 打开 Confirm\n */\n confirm(options: ThyConfirmConfig) {\n return this.open(this.confirmComponentType, {\n initialState: {\n options: options\n }\n });\n }\n\n /**\n * 根据 id 获取 Dialog\n */\n getDialogById(id: string): ThyDialogRef<any> | undefined {\n return this.getAbstractOverlayById(id) as ThyDialogRef<any> | undefined;\n }\n\n /**\n * 获取所有打开的 Dialog\n */\n getOpenedDialogs(): ThyDialogRef<any>[] {\n return this.getAbstractOverlays();\n }\n\n /**\n * @description.en-us Finds the closest ThyDialogRef to an element by looking at the DOM.\n * @description 获取与指定元素最接近的 ThyDialogRef\n */\n getClosestDialog(element: HTMLElement): ThyDialogRef<any> | undefined {\n let parent: HTMLElement | null = element.parentElement;\n\n while (parent && !parent.classList.contains('thy-dialog-container')) {\n parent = parent.parentElement;\n }\n if (parent && parent.id) {\n return this.getDialogById(parent.id);\n }\n return null;\n }\n\n ngOnDestroy() {\n this.dispose();\n }\n}\n","import { Component, Input, OnInit, HostBinding } from '@angular/core';\nimport { ThyDialog } from '../dialog.service';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\nimport { CdkScrollable } from '@angular/cdk/scrolling';\n\n/**\n * 模态框的主体组件\n * @name thy-dialog-body\n * @order 50\n */\n@Component({\n selector: 'thy-dialog-body',\n template: '<ng-content></ng-content>',\n // changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'thyDialogBody',\n standalone: true,\n hostDirectives: [CdkScrollable]\n})\nexport class ThyDialogBody implements OnInit {\n @HostBinding(`class.dialog-body`) _isDialogBody = true;\n\n @HostBinding(`class.dialog-body-clear-padding`)\n thyClearPaddingClassName = false;\n\n /**\n * 清除间距\n * @default false\n */\n @Input()\n set thyClearPadding(value: string) {\n this.thyClearPaddingClassName = coerceBooleanProperty(value);\n }\n\n constructor(private dialog: ThyDialog) {}\n\n ngOnInit() {}\n}\n","import { InjectionToken } from '@angular/core';\nimport { ThyFormGroupFooterAlign } from 'ngx-tethys/form';\nimport { Observable } from 'rxjs';\n\n/**\n * 确认框配置\n * @public\n * @order 70\n */\nexport interface ThyConfirmConfig {\n /**\n * 标题\n */\n title?: string;\n\n /**\n * 提示内容\n */\n content: string;\n\n /**\n * 确认按钮的文案\n */\n okText?: string;\n\n /**\n * 确认按钮的类型,primary | danger\n */\n okType?: 'primary' | 'danger';\n\n /**\n * 确认按钮处于提交状态时的文案\n */\n okLoadingText?: string;\n\n /**\n * 底部对齐方式,left | center | right\n */\n footerAlign?: ThyFormGroupFooterAlign;\n\n /**\n * 确认后的回调事件\n */\n onOk?: () => Observable<boolean> | void;\n\n /**\n * 取消按钮的文案\n */\n cancelText?: string;\n\n /**\n * 取消后的回调事件\n */\n onCancel?: () => void;\n}\n\nexport const THY_CONFIRM_DEFAULT_OPTIONS = new InjectionToken<ThyConfirmConfig>('thy-confirm-default-options');\n\nexport const THY_CONFIRM_DEFAULT_OPTIONS_VALUE = {\n title: '确认删除',\n okText: '确定',\n okType: 'danger',\n cancelText: '取消',\n footerAlign: 'left'\n};\n\nexport const THY_CONFIRM_DEFAULT_OPTIONS_PROVIDER = {\n provide: THY_CONFIRM_DEFAULT_OPTIONS,\n useValue: THY_CONFIRM_DEFAULT_OPTIONS_VALUE\n};\n","import { Component, Input, Output, EventEmitter, ContentChild, TemplateRef, OnInit, Optional, ElementRef } from '@angular/core';\nimport { ThyDialog } from '../dialog.service';\nimport { ThyDialogContainer } from '../dialog-container.component';\nimport { InputBoolean, ThyTranslate } from 'ngx-tethys/core';\nimport { ThyInternalDialogRef } from '../dialog-ref';\nimport { ThyAction } from 'ngx-tethys/action';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\n\n/**\n * 模态框头部组件\n * @name thy-dialog-header\n * @order 40\n */\n@Component({\n selector: 'thy-dialog-header',\n templateUrl: './dialog-header.component.html',\n // changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'thyDialogHeader',\n host: {\n class: 'dialog-header thy-dialog-header',\n '[class.thy-dialog-header-lg]': `thySize === 'lg'`,\n '[class.thy-dialog-header-divided]': `thyDivided`\n },\n standalone: true,\n imports: [NgIf, NgTemplateOutlet, ThyIcon, ThyAction]\n})\nexport class ThyDialogHeader implements OnInit {\n /**\n * 自定义头部模板\n */\n @ContentChild('dialogHeader')\n public headerTemplate: TemplateRef<any>;\n\n /**\n * 标题\n */\n @Input() thyTitle: string;\n\n /**\n * 大小,只有大的详情页场景会使用 lg,左右 padding 缩小至 20px\n * @type lg | md\n * @default md\n */\n @Input() thySize: 'lg' | 'md';\n\n /**\n * 是否显示分割线\n * @default false\n */\n @Input() @InputBoolean() thyDivided: boolean;\n\n /**\n * 标题的多语言 Key\n */\n @Input()\n set thyTitleTranslationKey(key: string) {\n if (key && !this.thyTitle) {\n this.thyTitle = this.translate.instant(key);\n }\n }\n\n /**\n * 头部图标\n */\n @Input() thyIcon: string;\n\n /**\n * 关闭事件\n */\n @Output() thyOnClose: EventEmitter<Event> = new EventEmitter<Event>();\n\n constructor(\n private elementRef: ElementRef,\n private dialog: ThyDialog,\n private translate: ThyTranslate,\n @Optional() private dialogContainer: ThyDialogContainer\n ) {}\n\n ngOnInit() {\n if (!this.dialogContainer) {\n // When this directive is included in a dialog via TemplateRef (rather than being\n // in a Component), the ThyDialogContainerComponent isn't available via injection because embedded\n // views cannot be given a custom injector. Instead, we look up the ThyDialogContainerComponent by\n // ID. This must occur in `onInit`, as the ID binding for the dialog container won't\n // be resolved at constructor time.\n const dialogRef = this.dialog.getClosestDialog(this.elementRef.nativeElement) as ThyInternalDialogRef<any>;\n this.dialogContainer = dialogRef ? dialogRef.containerInstance : null;\n }\n\n // change in next microtask avoid throw ExpressionChangedAfterItHasBeenCheckedError\n // because sub component change parent's HostBinding property (ariaLabelledBy)\n Promise.resolve().then(() => {\n if (this.dialogContainer) {\n this.dialogContainer.ariaLabelledBy = this.thyTitle;\n }\n });\n }\n\n close(event?: Event) {\n if (this.thyOnClose.observers.length > 0) {\n this.thyOnClose.emit(event);\n } else {\n this.dialog.close();\n }\n }\n}\n","<ng-container *ngIf=\"headerTemplate; else defaultHeader\">\n <template [ngTemplateOutlet]=\"headerTemplate\"></template>\n</ng-container>\n<ng-template #defaultHeader>\n <h3 class=\"dialog-title\"><thy-icon [thyIconName]=\"thyIcon\"></thy-icon>{{ thyTitle }}</h3>\n <a href=\"javascript:;\" class=\"mr-n2\" thyAction thyActionIcon=\"close\" (click)=\"close($event)\"></a>\n</ng-template>\n","import { ThyFormDirective, ThyFormGroupFooterAlign, ThyFormGroupFooter } from 'ngx-tethys/form';\nimport { finalize } from 'rxjs/operators';\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Input, OnDestroy, OnInit } from '@angular/core';\n\nimport { NgClass } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { ThyButton } from 'ngx-tethys/button';\nimport { ThyDialogBody } from '../body/dialog-body.component';\nimport { ThyConfirmConfig, THY_CONFIRM_DEFAULT_OPTIONS, THY_CONFIRM_DEFAULT_OPTIONS_VALUE } from '../confirm.config';\nimport { ThyDialogRef } from '../dialog-ref';\nimport { ThyDialogHeader } from '../header/dialog-header.component';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-confirm-default',\n templateUrl: './confirm.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ThyDialogHeader, ThyDialogBody, FormsModule, ThyFormDirective, ThyFormGroupFooter, NgClass, ThyButton]\n})\nexport class ThyConfirm implements OnInit, OnDestroy {\n loading: boolean;\n\n @Input() options: ThyConfirmConfig;\n\n public title: string;\n\n public content: string;\n\n public okText: string;\n\n public okType: string;\n\n public cancelText: string;\n\n public okLoadingText: string;\n\n public footerAlign: ThyFormGroupFooterAlign;\n\n constructor(\n private dialogRef: ThyDialogRef<ThyConfirm>,\n private changeDetectorRef: ChangeDetectorRef,\n @Inject(THY_CONFIRM_DEFAULT_OPTIONS) private defaultConfig: ThyConfirmConfig\n ) {\n this.defaultConfig = { ...(THY_CONFIRM_DEFAULT_OPTIONS_VALUE as ThyConfirmConfig), ...this.defaultConfig };\n }\n\n ngOnInit() {\n this.defaultConfig = { ...this.defaultConfig, ...this.options };\n this.title = this.defaultConfig.title;\n this.content = this.defaultConfig.content;\n this.okText = this.defaultConfig.okText;\n this.okType = this.defaultConfig.okType;\n this.cancelText = this.defaultConfig.cancelText;\n this.okLoadingText = this.defaultConfig.okLoadingText || this.okText;\n this.footerAlign = this.defaultConfig.footerAlign;\n }\n\n confirm() {\n this.loading = true;\n const result = this.options.onOk();\n if (result && result.subscribe) {\n result\n .pipe(\n finalize(() => {\n this.loading = false;\n this.changeDetectorRef.markForCheck();\n })\n )\n .subscribe(success => {\n if (success) {\n this.close();\n }\n });\n } else {\n this.close();\n }\n }\n\n close() {\n this.options?.onCancel?.();\n this.dialogRef.close();\n }\n\n ngOnDestroy() {}\n}\n","<thy-dialog-header [thyTitle]=\"title || 'Install Angular'\" (thyOnClose)=\"close()\"> </thy-dialog-header>\n<thy-dialog-body class=\"thy-form\">\n <form thyForm name=\"thyConfirm\" thyLayout=\"vertical\">\n <div class=\"form-group\">\n <p [innerHTML]=\"content\"></p>\n </div>\n <thy-form-group-footer [thyAlign]=\"footerAlign\">\n <div class=\"thy-confirm-footer\" [ngClass]=\"'thy-confirm-footer-' + footerAlign\">\n <button [thyButton]=\"okType\" (click)=\"confirm()\" [thyLoading]=\"loading\" [thyLoadingText]=\"okLoadingText\">{{ okText }}</button>\n <button thyButton=\"link-secondary\" (click)=\"close()\" class=\"thy-confirm-cancel\">{{ cancelText }}</button>\n </div>\n </thy-form-group-footer>\n </form>\n</thy-dialog-body>\n","import { coerceBooleanProperty } from 'ngx-tethys/util';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { Component, ContentChild, Inject, Input, OnInit, TemplateRef } from '@angular/core';\n\nimport { THY_DIALOG_LAYOUT_CONFIG, ThyDialogFooterAlign, ThyDialogLayoutConfig } from '../dialog.config';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\nimport { InputBoolean } from 'ngx-tethys/core';\n\n/**\n * 模态框底部组件\n * @name thy-dialog-footer\n * @order 60\n */\n@Component({\n selector: 'thy-dialog-footer',\n templateUrl: './dialog-footer.component.html',\n // changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'thyDialogFooter',\n standalone: true,\n imports: [NgIf, NgTemplateOutlet]\n})\nexport class ThyDialogFooter implements OnInit {\n /**\n * 自定义弹出框底部的描述模板\n * @type TemplateRef\n */\n @ContentChild('description') description: TemplateRef<any>;\n\n /**\n * 底部是否有分割线,可全局配置默认值\n * @type boolean\n * @default false\n */\n @Input()\n @InputBoolean()\n set thyDivided(value: boolean) {\n this.divided = coerceBooleanProperty(value);\n }\n\n /**\n * 对齐方式,可全局配置默认值\n * @type left | right | center\n * @default left\n */\n @Input() thyAlign: ThyDialogFooterAlign;\n\n private divided: boolean;\n\n private hostRenderer = useHostRenderer();\n\n private get align() {\n return !!this.thyAlign ? this.thyAlign : this.dialogLayoutConfig.footerAlign;\n }\n\n constructor(@Inject(THY_DIALOG_LAYOUT_CONFIG) private dialogLayoutConfig: ThyDialogLayoutConfig) {\n this.divided = this.dialogLayoutConfig.footerDivided;\n }\n\n ngOnInit() {\n this.hostRenderer.updateClassByMap({\n 'dialog-footer': true,\n [`dialog-footer-actions-align-${this.align}`]: true,\n 'dialog-footer-border-top': this.divided\n });\n }\n}\n","<div class=\"dialog-footer-actions btn-pair\">\n <ng-content></ng-content>\n</div>\n<div class=\"dialog-footer-description\" *ngIf=\"description\">\n <ng-container [ngTemplateOutlet]=\"description\"></ng-container>\n</div>\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ThyActionModule } from 'ngx-tethys/action';\nimport { ThyButtonModule } from 'ngx-tethys/button';\nimport { ThyFormModule } from 'ngx-tethys/form';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyDialogBody } from './body/dialog-body.component';\nimport { THY_CONFIRM_DEFAULT_OPTIONS_PROVIDER } from './confirm.config';\nimport { ThyConfirm } from './confirm/confirm.component';\nimport { THY_CONFIRM_COMPONENT_TOKEN } from './confirm/token';\nimport { ThyDialogContainer } from './dialog-container.component';\nimport { THY_DIALOG_DEFAULT_OPTIONS_PROVIDER, THY_DIALOG_LAYOUT_CONFIG_PROVIDER } from './dialog.config';\nimport { ThyDialog } from './dialog.service';\nimport { ThyDialogFooter } from './footer/dialog-footer.component';\nimport { ThyDialogHeader } from './header/dialog-header.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ThySharedModule,\n PortalModule,\n OverlayModule,\n ThyButtonModule,\n ThyIconModule,\n ThyFormModule,\n FormsModule,\n ThyActionModule,\n ThyDialogContainer,\n ThyDialogHeader,\n ThyDialogBody,\n ThyDialogFooter,\n ThyConfirm\n ],\n providers: [\n ThyDialog,\n THY_DIALOG_DEFAULT_OPTIONS_PROVIDER,\n THY_CONFIRM_DEFAULT_OPTIONS_PROVIDER,\n THY_DIALOG_LAYOUT_CONFIG_PROVIDER,\n {\n provide: THY_CONFIRM_COMPONENT_TOKEN,\n useValue: ThyConfirm\n }\n ],\n exports: [ThyDialogContainer, ThyDialogHeader, ThyDialogBody, ThyDialogFooter]\n})\nexport class ThyDialogModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ThyDialogConfig","i1.ThyDialog","i3.ThyDialogContainer","i2"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AASO,MAAM,2BAA2B,GAAG,IAAI,cAAc,CAA8B,6BAA6B,CAAC;;ACPzH,MAAM,aAAa,GAAG;;;;AAIlB,IAAA,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;IACnE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5C,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,mCAAmC,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChH,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,4CAA4C,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;CACjI,CAAC;AAEF;;;AAGG;AACU,MAAA,mBAAmB,GAE5B;AACA,IAAA,eAAe,EAAE,OAAO,CAAC,iBAAiB,EAAE,aAAa,CAAC;EAC5D;AAEF;;ICdY,eAYX;AAZD,CAAA,UAAY,cAAc,EAAA;AACtB,IAAA,cAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;AACT;;;AAGG;AACH,IAAA,cAAA,CAAA,UAAA,CAAA,GAAA,WAAsB,CAAA;AACtB,IAAA,cAAA,CAAA,SAAA,CAAA,GAAA,UAAoB,CAAA;AACpB,IAAA,cAAA,CAAA,OAAA,CAAA,GAAA,QAAgB,CAAA;AAChB,IAAA,cAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;AACT,IAAA,cAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;AACT,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACjB,CAAC,EAZW,cAAc,KAAd,cAAc,GAYzB,EAAA,CAAA,CAAA,CAAA;AAED;;;;;AAKG;AACG,MAAO,eAAiC,SAAQ,wBAA+B,CAAA;AAArF,IAAA,WAAA,GAAA;;AACI;;;AAGG;QACH,IAAI,CAAA,IAAA,GAAmB,QAAQ,CAAC;KAoBnC;AAAA,CAAA;AAED;MACa,0BAA0B,GAAG,IAAI,cAAc,CAAkB,4BAA4B,EAAE;AAE/F,MAAA,mCAAmC,GAAG;AAC/C,IAAA,OAAO,EAAE,0BAA0B;AACnC,IAAA,QAAQ,EAAE;AACN,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,aAAa,EAAE,EAAE;AACjB,QAAA,UAAU,EAAE,EAAE;AACd,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,iBAAiB,EAAE,IAAI;AACvB,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,mBAAmB,EAAE;AACjB,YAAA,aAAa,EAAE,IAAI;AACtB,SAAA;AACD,QAAA,SAAS,EAAE,oBAAoB;AAClC,KAAA;EACH;MAIW,qBAAqB,CAAA;AAGjC,CAAA;MAEY,wBAAwB,GAAG,IAAI,cAAc,CAAwB,0BAA0B,EAAE;AAEjG,MAAA,iCAAiC,GAAG;AAC7C,IAAA,OAAO,EAAE,wBAAwB;AACjC,IAAA,QAAQ,EAAE;AACN,QAAA,WAAW,EAAE,MAAM;AACnB,QAAA,aAAa,EAAE,KAAK;AACvB,KAAA;;;ACxFE,MAAM,4BAA4B,GAA8B;AACnE,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,gBAAgB,EAAE,IAAI;CACzB;;ACoBD;;AAEG;AAwBG,MAAO,kBAAmB,SAAQ,2BAA2B,CAAA;IAyBvD,4BAA4B,GAAA;AAChC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,mCAAmC,GAAG,IAAI,CAAC,QAAQ,CAAC,aAA4B,CAAC;;YAGtF,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE;;;AAGrC,gBAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;;;;;;;;AAS1B,gBAAA,YAAY,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAC5D,CAAC;aACL;SACJ;KACJ;;IAGO,SAAS,GAAA;AACb,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;AAE9C,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SAC1D;;;;AAKD,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;AACvB,YAAA,IAAI,CAAC,SAAS,CAAC,4BAA4B,EAAE,CAAC;SACjD;aAAM;AACH,YAAA,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;;;;;;AAOlD,YAAA,IAAI,aAAa,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;gBAC/D,OAAO,CAAC,KAAK,EAAE,CAAC;aACnB;SACJ;KACJ;IAEO,YAAY,GAAA;AAChB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,mCAAmC,CAAC;;AAGzD,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,UAAU,EAAE;YAC5E,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;SAClD;AAED,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;SAC5B;KACJ;IAEO,kBAAkB,GAAA;AACtB,QAAA,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,YAAY,IAAG;YACvD,IAAI,YAAY,EAAE;AACd,gBAAA,MAAM,gBAAgB,GAAgB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;AACpE,gBAAA,MAAM,eAAe,GAAG,CAAA,EAAG,YAAY,CAAC,CAAC,GAAG,gBAAgB,CAAC,UAAU,CACnE,GAAA,EAAA,YAAY,CAAC,CAAC,GAAG,gBAAgB,CAAC,SACtC,QAAQ,CAAC;AACT,gBAAA,gBAAgB,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,eAAe,CAAC;;aAEhE;AACD,YAAA,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;AAC9B,YAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;AAC1C,SAAC,CAAC,CAAC;KACN;AAED,IAAA,WAAA,CACY,UAAsB,EACJ,QAAa,EAChC,MAAuB,EAC9B,iBAAoC,EAC5B,eAAmC,EACnC,gBAAkC,EAClC,MAAc,EACd,QAAmB,EAAA;AAE3B,QAAA,KAAK,CAAC,4BAA4B,EAAE,iBAAiB,CAAC,CAAC;QAT/C,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QACJ,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAK;QAChC,IAAM,CAAA,MAAA,GAAN,MAAM,CAAiB;QAEtB,IAAe,CAAA,eAAA,GAAf,eAAe,CAAoB;QACnC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAClC,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;;QApG/B,IAAc,CAAA,cAAA,GAA8B,MAAM,CAAC;;AAGnD,QAAA,IAAA,CAAA,qBAAqB,GAAG,IAAI,YAAY,EAAkB,CAAC;;QAG3D,IAAc,CAAA,cAAA,GAAkB,IAAI,CAAC;;QAG7B,IAAmC,CAAA,mCAAA,GAAuB,IAAI,CAAC;AA8FnE,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CACvD,MAAM,CAAC,CAAC,KAAqB,KAAI;YAC7B,OAAO,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC;SACjE,CAAC,CACL,CAAC;AACF,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CACvD,MAAM,CAAC,CAAC,KAAqB,KAAI;YAC7B,OAAO,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC;SACjE,CAAC,CACL,CAAC;;AAEF,QAAA,IAAI,CAAC,qBAAqB;AACrB,aAAA,IAAI,CACD,MAAM,CAAC,CAAC,KAAqB,KAAI;YAC7B,OAAO,KAAK,CAAC,SAAS,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC;AACnE,SAAC,CAAC,CACL;aACA,SAAS,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;AACpF,SAAC,CAAC,CAAC;KACV;IAED,kBAAkB,GAAA;QACd,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,4BAA4B,EAAE,CAAC;KACvC;;AAGD,IAAA,eAAe,CAAC,KAAqB,EAAA;AACjC,QAAA,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE;YAC1B,IAAI,CAAC,SAAS,EAAE,CAAC;SACpB;AAAM,aAAA,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE;YACjC,IAAI,CAAC,YAAY,EAAE,CAAC;SACvB;AACD,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1C;;AAGD,IAAA,gBAAgB,CAAC,KAAqB,EAAA;AAClC,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1C;IAED,WAAW,GAAA;QACP,KAAK,CAAC,OAAO,EAAE,CAAC;KACnB;AA9JQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,4CAyGf,QAAQ,EAAA,EAAA,EAAA,KAAA,EAAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAzGX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EAIhB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,sBAAA,EAAA,0CAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,uBAAA,EAAA,gCAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,EAAA,cAAA,EAAA,sBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,eAAe,EAzBhB,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,6CAAA,CAA+C,EAmB/C,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,EAf3B,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAC,mBAAmB,CAAC,eAAe,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,OAAA,EAAA,CAAA,CAAA,EAAA;;2FAiBxC,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAvB9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,QAAQ,EAAE,CAA+C,6CAAA,CAAA;;;oBAGzD,eAAe,EAAE,uBAAuB,CAAC,OAAO;AAChD,oBAAA,UAAU,EAAE,CAAC,mBAAmB,CAAC,eAAe,CAAC;AACjD,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,sBAAsB;AAC7B,wBAAA,QAAQ,EAAE,IAAI;AACd,wBAAA,YAAY,EAAE,MAAM;AACpB,wBAAA,WAAW,EAAE,IAAI;AACjB,wBAAA,aAAa,EAAE,aAAa;AAC5B,wBAAA,wBAAwB,EAAE,0CAA0C;AACpE,wBAAA,mBAAmB,EAAE,kBAAkB;AACvC,wBAAA,yBAAyB,EAAE,gCAAgC;AAC3D,wBAAA,oBAAoB,EAAE,gBAAgB;AACtC,wBAAA,0BAA0B,EAAE,0BAA0B;AACtD,wBAAA,yBAAyB,EAAE,yBAAyB;AACvD,qBAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC;AAC3C,iBAAA,CAAA;;0BA0GQ,MAAM;2BAAC,QAAQ,CAAA;iNApGpB,YAAY,EAAA,CAAA;sBADX,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAI5C,EAAE,EAAA,CAAA;sBADD,WAAW;uBAAC,CAAS,OAAA,CAAA,CAAA;;;ACnD1B;;;AAGG;AACG,MAAgB,YAAmC,SAAQ,qBAAqD,CAAA;AAAG,CAAA;AAEnH,MAAO,oBAA2C,SAAQ,6BAA6D,CAAA;AACzH,IAAA,WAAA,CAAY,UAAsB,EAAE,iBAAqC,EAAE,MAA0B,EAAA;QACjG,KAAK,CAAC,4BAA4B,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;KAC9E;AAED;;;AAGG;AACH,IAAA,cAAc,CAAC,QAAqC,EAAA;AAChD,QAAA,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AACpC,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;;AAIG;AACH,IAAA,qBAAqB,CAAC,KAAgB,GAAA,EAAE,EAAE,MAAiB,GAAA,EAAE,EAAE,QAAqC,EAAA;AAC/F,QAAA,IAAI,CAAC,mBAAmB,EAA6B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACnF,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AAC9B,QAAA,OAAO,IAAI,CAAC;KACf;AACJ;;ACvBD;;;AAGG;AAEG,MAAO,SAAU,SAAQ,yBAA8D,CAAA;AAC/E,IAAA,kBAAkB,CAAC,MAA4B,EAAA;QACrD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,cAAc,CAAC,EAAE,CAAC;AAC9C,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC,CAAU,OAAA,EAAA,IAAI,CAAE,CAAA,CAAC,CAAC,CAAC;AAC9E,QAAA,aAAa,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;AAClE,QAAA,aAAa,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;AAC9F,QAAA,OAAO,aAAa,CAAC;KACxB;IAES,sBAAsB,CAAC,OAAmB,EAAE,MAA4B,EAAA;AAC9E,QAAA,MAAM,YAAY,GAAG,MAAM,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC;AAC3F,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;AAC7B,YAAA,MAAM,EAAE,YAAY,IAAI,IAAI,CAAC,QAAQ;YACrC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC9D,SAAA,CAAC,CAAC;AACH,QAAA,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,kBAAkB,EAAE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QACnG,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAqB,eAAe,CAAC,CAAC;QAEzE,OAAO,YAAY,CAAC,QAAQ,CAAC;KAChC;AAES,IAAA,wBAAwB,CAC9B,UAAsB,EACtB,iBAAqC,EACrC,MAA4B,EAAA;QAE5B,OAAO,IAAI,oBAAoB,CAAC,UAAU,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;KAC1E;AAES,IAAA,cAAc,CAAI,MAAuB,EAAE,SAA0B,EAAE,eAAmC,EAAA;AAChH,QAAA,MAAM,YAAY,GAAG,MAAM,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC;AAE3F,QAAA,MAAM,eAAe,GAAqB;AACtC,YAAA,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,eAAe,EAAE;AAC1D,YAAA;AACI,gBAAA,OAAO,EAAE,YAAY;AACrB,gBAAA,QAAQ,EAAE,SAAS;AACtB,aAAA;SACJ,CAAC;AAEF,QAAA,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,GAAG,CAAwB,cAAc,EAAE,IAAI,CAAC,CAAC,EAAE;YACvG,eAAe,CAAC,IAAI,CAAC;AACjB,gBAAA,OAAO,EAAE,cAAc;AACvB,gBAAA,QAAQ,EAAE;oBACN,KAAK,EAAE,MAAM,CAAC,SAAS;oBACvB,MAAM,EAAE,EAAE,EAAE;AACf,iBAAA;AACJ,aAAA,CAAC,CAAC;SACN;AAED,QAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;KACjG;IAED,WACI,CAAA,OAAgB,EAChB,QAAkB,EAGlB,aAA8B,EAC9B,eAAmC,EACU,oBAAgE,EAAA;QAE7G,KAAK,CAAC,4BAA4B,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAFzB,IAAoB,CAAA,oBAAA,GAApB,oBAAoB,CAA4C;QAG7G,eAAe,CAAC,UAAU,EAAE,CAAC;KAChC;AAED;;AAEG;IACH,IAAI,CACA,sBAAyD,EACzD,MAA+B,EAAA;QAE/B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;QACnE,MAAM,iBAAiB,GAAG,SAA6C,CAAC;QACxE,iBAAiB,CAAC,qBAAqB,CACnC,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,EACxC,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,EACzC,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAC9C,CAAC;AACF,QAAA,OAAO,SAAqC,CAAC;KAChD;AAED;;AAEG;AACH,IAAA,OAAO,CAAC,OAAyB,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;AACxC,YAAA,YAAY,EAAE;AACV,gBAAA,OAAO,EAAE,OAAO;AACnB,aAAA;AACJ,SAAA,CAAC,CAAC;KACN;AAED;;AAEG;AACH,IAAA,aAAa,CAAC,EAAU,EAAA;AACpB,QAAA,OAAO,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAkC,CAAC;KAC3E;AAED;;AAEG;IACH,gBAAgB,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC;KACrC;AAED;;;AAGG;AACH,IAAA,gBAAgB,CAAC,OAAoB,EAAA;AACjC,QAAA,IAAI,MAAM,GAAuB,OAAO,CAAC,aAAa,CAAC;AAEvD,QAAA,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE;AACjE,YAAA,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;SACjC;AACD,QAAA,IAAI,MAAM,IAAI,MAAM,CAAC,EAAE,EAAE;YACrB,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SACxC;AACD,QAAA,OAAO,IAAI,CAAC;KACf;IAED,WAAW,GAAA;QACP,IAAI,CAAC,OAAO,EAAE,CAAC;KAClB;8GA9HQ,SAAS,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAyDN,0BAA0B,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,KAAA,EAG1B,2BAA2B,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHA5D9B,SAAS,EAAA,CAAA,CAAA,EAAA;;2FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBADrB,UAAU;;0BAyDF,QAAQ;;0BACR,MAAM;2BAAC,0BAA0B,CAAA;;0BAGjC,MAAM;2BAAC,2BAA2B,CAAA;;;AC3E3C;;;;AAIG;MASU,aAAa,CAAA;AAMtB;;;AAGG;IACH,IACI,eAAe,CAAC,KAAa,EAAA;AAC7B,QAAA,IAAI,CAAC,wBAAwB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KAChE;AAED,IAAA,WAAA,CAAoB,MAAiB,EAAA;QAAjB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;QAdH,IAAa,CAAA,aAAA,GAAG,IAAI,CAAC;QAGvD,IAAwB,CAAA,wBAAA,GAAG,KAAK,CAAC;KAWQ;AAEzC,IAAA,QAAQ,MAAK;8GAjBJ,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,sVANZ,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAM5B,aAAa,EAAA,UAAA,EAAA,CAAA;kBARzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,UAAU,EAAE,IAAI;oBAChB,cAAc,EAAE,CAAC,aAAa,CAAC;AAClC,iBAAA,CAAA;2EAEqC,aAAa,EAAA,CAAA;sBAA9C,WAAW;uBAAC,CAAmB,iBAAA,CAAA,CAAA;gBAGhC,wBAAwB,EAAA,CAAA;sBADvB,WAAW;uBAAC,CAAiC,+BAAA,CAAA,CAAA;gBAQ1C,eAAe,EAAA,CAAA;sBADlB,KAAK;;;MC4BG,2BAA2B,GAAG,IAAI,cAAc,CAAmB,6BAA6B,EAAE;AAElG,MAAA,iCAAiC,GAAG;AAC7C,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,WAAW,EAAE,MAAM;EACrB;AAEW,MAAA,oCAAoC,GAAG;AAChD,IAAA,OAAO,EAAE,2BAA2B;AACpC,IAAA,QAAQ,EAAE,iCAAiC;;;AC3D/C;;;;AAIG;MAcU,eAAe,CAAA;AAyBxB;;AAEG;IACH,IACI,sBAAsB,CAAC,GAAW,EAAA;AAClC,QAAA,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC/C;KACJ;AAYD,IAAA,WAAA,CACY,UAAsB,EACtB,MAAiB,EACjB,SAAuB,EACX,eAAmC,EAAA;QAH/C,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QACtB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;QACjB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAc;QACX,IAAe,CAAA,eAAA,GAAf,eAAe,CAAoB;AAT3D;;AAEG;AACO,QAAA,IAAA,CAAA,UAAU,GAAwB,IAAI,YAAY,EAAS,CAAC;KAOlE;IAEJ,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;;;;;;AAMvB,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAA8B,CAAC;AAC3G,YAAA,IAAI,CAAC,eAAe,GAAG,SAAS,GAAG,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC;SACzE;;;AAID,QAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;AACxB,YAAA,IAAI,IAAI,CAAC,eAAe,EAAE;gBACtB,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC;aACvD;AACL,SAAC,CAAC,CAAC;KACN;AAED,IAAA,KAAK,CAAC,KAAa,EAAA;QACf,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;AACtC,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC/B;aAAM;AACH,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;SACvB;KACJ;8GA9EQ,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,4BAAA,EAAA,kBAAA,EAAA,iCAAA,EAAA,YAAA,EAAA,EAAA,cAAA,EAAA,iCAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3B5B,2YAOA,EDkBc,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAI,6FAAE,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,SAAS,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,eAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,cAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;AAyB3B,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;;AAAqB,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAvBpC,eAAe,EAAA,UAAA,EAAA,CAAA;kBAb3B,SAAS;+BACI,mBAAmB,EAAA,QAAA,EAGnB,iBAAiB,EACrB,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,iCAAiC;AACxC,wBAAA,8BAA8B,EAAE,CAAkB,gBAAA,CAAA;AAClD,wBAAA,mCAAmC,EAAE,CAAY,UAAA,CAAA;qBACpD,EACW,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,CAAC,EAAA,QAAA,EAAA,2YAAA,EAAA,CAAA;;0BAmDhD,QAAQ;yCA5CN,cAAc,EAAA,CAAA;sBADpB,YAAY;uBAAC,cAAc,CAAA;gBAMnB,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAOG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAMmB,UAAU,EAAA,CAAA;sBAAlC,KAAK;gBAMF,sBAAsB,EAAA,CAAA;sBADzB,KAAK;gBAUG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKI,UAAU,EAAA,CAAA;sBAAnB,MAAM;;;AEzDX;;AAEG;MAQU,UAAU,CAAA;AAmBnB,IAAA,WAAA,CACY,SAAmC,EACnC,iBAAoC,EACC,aAA+B,EAAA;QAFpE,IAAS,CAAA,SAAA,GAAT,SAAS,CAA0B;QACnC,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;QACC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAkB;AAE5E,QAAA,IAAI,CAAC,aAAa,GAAG,EAAE,GAAI,iCAAsD,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;KAC9G;IAED,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAChE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;AAChD,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC;QACrE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;KACrD;IAED,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AACnC,QAAA,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE;YAC5B,MAAM;AACD,iBAAA,IAAI,CACD,QAAQ,CAAC,MAAK;AACV,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,gBAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;AAC1C,aAAC,CAAC,CACL;iBACA,SAAS,CAAC,OAAO,IAAG;gBACjB,IAAI,OAAO,EAAE;oBACT,IAAI,CAAC,KAAK,EAAE,CAAC;iBAChB;AACL,aAAC,CAAC,CAAC;SACV;aAAM;YACH,IAAI,CAAC,KAAK,EAAE,CAAC;SAChB;KACJ;IAED,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,OAAO,EAAE,QAAQ,IAAI,CAAC;AAC3B,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;KAC1B;AAED,IAAA,WAAW,MAAK;AAhEP,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,4EAsBP,2BAA2B,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAtB9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAU,ECvBvB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,6wBAcA,EDOc,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,0MAAE,aAAa,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,MAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAE,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,iBAAA,EAAA,wBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,EAAE,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAO,oFAAE,SAAS,EAAA,QAAA,EAAA,qCAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,SAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAEtG,UAAU,EAAA,UAAA,EAAA,CAAA;kBAPtB,SAAS;+BACI,qBAAqB,EAAA,eAAA,EAEd,uBAAuB,CAAC,MAAM,cACnC,IAAI,EAAA,OAAA,EACP,CAAC,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,CAAC,EAAA,QAAA,EAAA,6wBAAA,EAAA,CAAA;;0BAwB3G,MAAM;2BAAC,2BAA2B,CAAA;yCAnB9B,OAAO,EAAA,CAAA;sBAAf,KAAK;;;AElBV;;;;AAIG;MASU,eAAe,CAAA;AAOxB;;;;AAIG;IACH,IAEI,UAAU,CAAC,KAAc,EAAA;AACzB,QAAA,IAAI,CAAC,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KAC/C;AAaD,IAAA,IAAY,KAAK,GAAA;AACb,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;KAChF;AAED,IAAA,WAAA,CAAsD,kBAAyC,EAAA;QAAzC,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAuB;QANvF,IAAY,CAAA,YAAA,GAAG,eAAe,EAAE,CAAC;QAOrC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC;KACxD;IAED,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;AAC/B,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,CAAC,+BAA+B,IAAI,CAAC,KAAK,CAAE,CAAA,GAAG,IAAI;YACnD,0BAA0B,EAAE,IAAI,CAAC,OAAO;AAC3C,SAAA,CAAC,CAAC;KACN;AA3CQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,kBAiCJ,wBAAwB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAjCnC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,ECrB5B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,oOAMA,EDac,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAI,6FAAE,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;AAchC,UAAA,CAAA;AACC,IAAA,YAAY,EAAE;;;AAGd,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,YAAA,EAAA,IAAA,CAAA,CAAA;2FAhBQ,eAAe,EAAA,UAAA,EAAA,CAAA;kBAR3B,SAAS;+BACI,mBAAmB,EAAA,QAAA,EAGnB,iBAAiB,EACf,UAAA,EAAA,IAAI,WACP,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAA,QAAA,EAAA,oOAAA,EAAA,CAAA;;0BAmCpB,MAAM;2BAAC,wBAAwB,CAAA;yCA5Bf,WAAW,EAAA,CAAA;sBAAvC,YAAY;uBAAC,aAAa,CAAA;gBASvB,UAAU,EAAA,CAAA;sBAFb,KAAK;gBAWG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;MEKG,eAAe,CAAA;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YA3BpB,YAAY;YACZ,eAAe;YACf,YAAY;YACZ,aAAa;YACb,eAAe;YACf,aAAa;YACb,aAAa;YACb,WAAW;YACX,eAAe;YACf,kBAAkB;YAClB,eAAe;YACf,aAAa;YACb,eAAe;AACf,YAAA,UAAU,aAYJ,kBAAkB,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;AAEpE,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAZb,SAAA,EAAA;YACP,SAAS;YACT,mCAAmC;YACnC,oCAAoC;YACpC,iCAAiC;AACjC,YAAA;AACI,gBAAA,OAAO,EAAE,2BAA2B;AACpC,gBAAA,QAAQ,EAAE,UAAU;AACvB,aAAA;AACJ,SAAA,EAAA,OAAA,EAAA,CAxBG,YAAY;YACZ,eAAe;YACf,YAAY;YACZ,aAAa;YACb,eAAe;YACf,aAAa;YACb,aAAa;YACb,WAAW;YACX,eAAe;YACf,kBAAkB;YAClB,eAAe;YAGf,UAAU,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAcL,eAAe,EAAA,UAAA,EAAA,CAAA;kBA7B3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,eAAe;wBACf,YAAY;wBACZ,aAAa;wBACb,eAAe;wBACf,aAAa;wBACb,aAAa;wBACb,WAAW;wBACX,eAAe;wBACf,kBAAkB;wBAClB,eAAe;wBACf,aAAa;wBACb,eAAe;wBACf,UAAU;AACb,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACP,SAAS;wBACT,mCAAmC;wBACnC,oCAAoC;wBACpC,iCAAiC;AACjC,wBAAA;AACI,4BAAA,OAAO,EAAE,2BAA2B;AACpC,4BAAA,QAAQ,EAAE,UAAU;AACvB,yBAAA;AACJ,qBAAA;oBACD,OAAO,EAAE,CAAC,kBAAkB,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,CAAC;AACjF,iBAAA,CAAA;;;AChDD;;AAEG;;;;"}
|
package/fesm2022/ngx-tethys.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys.mjs","sources":["../../../src/version.ts","../../../src/ngx-tethys.ts"],"sourcesContent":["import { Version } from '@angular/core';\n\nexport const VERSION = new Version('17.0.0-next.
|
|
1
|
+
{"version":3,"file":"ngx-tethys.mjs","sources":["../../../src/version.ts","../../../src/ngx-tethys.ts"],"sourcesContent":["import { Version } from '@angular/core';\n\nexport const VERSION = new Version('17.0.0-next.8');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;MAEa,OAAO,GAAG,IAAI,OAAO,CAAC,eAAe;;ACFlD;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -29,6 +29,7 @@ describe('ng-update v17 Schematic', () => {
|
|
|
29
29
|
import { ThyButtonComponent } from 'ngx-tethys/button';
|
|
30
30
|
import { ThyOptionComponent } from 'ngx-tethys/shared';
|
|
31
31
|
import { ThySelectComponent, ThySelectCustomComponent } from 'ngx-tethys/select';
|
|
32
|
+
import { DialogHeaderComponent, DialogBodyComponent, DialogFooterComponent } from 'ngx-tethys/dialog';
|
|
32
33
|
|
|
33
34
|
@Component({
|
|
34
35
|
selector: 'app-root',
|
|
@@ -40,7 +41,10 @@ describe('ng-update v17 Schematic', () => {
|
|
|
40
41
|
ThySelectComponent,
|
|
41
42
|
ThySelectCustomComponent,
|
|
42
43
|
ThyOptionComponent,
|
|
43
|
-
ThyButtonComponent
|
|
44
|
+
ThyButtonComponent,
|
|
45
|
+
DialogHeaderComponent,
|
|
46
|
+
DialogBodyComponent,
|
|
47
|
+
DialogFooterComponent
|
|
44
48
|
],
|
|
45
49
|
templateUrl: './app.component.html',
|
|
46
50
|
styleUrls: ['./app.component.scss'],
|
|
@@ -76,5 +80,14 @@ describe('ng-update v17 Schematic', () => {
|
|
|
76
80
|
expect(result).not.toContain(`ThySelectCustomComponent`);
|
|
77
81
|
expect(result).toContain('ThySelect');
|
|
78
82
|
}));
|
|
83
|
+
it('should rename DialogHeaderComponent, DialogBodyComponent, DialogFooterComponent to ThyDialogHeader, ThyDialogBody, ThyDialogFooter', () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
84
|
+
const result = workspaceTree.read(TEST_COMPONENT_PATH).toString();
|
|
85
|
+
expect(result).not.toContain(`DialogHeaderComponent`);
|
|
86
|
+
expect(result).toContain('ThyDialogHeader');
|
|
87
|
+
expect(result).not.toContain(`DialogBodyComponent`);
|
|
88
|
+
expect(result).toContain('ThyDialogBody');
|
|
89
|
+
expect(result).not.toContain(`DialogFooterComponent`);
|
|
90
|
+
expect(result).toContain('ThyDialogFooter');
|
|
91
|
+
}));
|
|
79
92
|
});
|
|
80
93
|
});
|
|
@@ -510,7 +510,7 @@ exports.upgradeData = {
|
|
|
510
510
|
},
|
|
511
511
|
{
|
|
512
512
|
replace: 'DialogBodyComponent',
|
|
513
|
-
replaceWith: '
|
|
513
|
+
replaceWith: 'ThyDialogBody'
|
|
514
514
|
},
|
|
515
515
|
{
|
|
516
516
|
replace: 'ThyConfirmComponent',
|
|
@@ -518,11 +518,11 @@ exports.upgradeData = {
|
|
|
518
518
|
},
|
|
519
519
|
{
|
|
520
520
|
replace: 'DialogFooterComponent',
|
|
521
|
-
replaceWith: '
|
|
521
|
+
replaceWith: 'ThyDialogFooter'
|
|
522
522
|
},
|
|
523
523
|
{
|
|
524
524
|
replace: 'DialogHeaderComponent',
|
|
525
|
-
replaceWith: '
|
|
525
|
+
replaceWith: 'ThyDialogHeader'
|
|
526
526
|
},
|
|
527
527
|
{
|
|
528
528
|
replace: 'ThyFormGroupErrorComponent',
|
package/schematics/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "17.0.0-next.
|
|
1
|
+
export declare const VERSION = "17.0.0-next.8";
|
package/schematics/version.js
CHANGED