@alauda/ui 7.2.1-beta.2 → 7.2.1-beta.21
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/drawer/component/drawer.component.d.ts +18 -49
- package/drawer/component/internal/internal.component.d.ts +31 -0
- package/drawer/drawer-ref.d.ts +13 -0
- package/drawer/drawer.module.d.ts +1 -1
- package/drawer/drawer.service.d.ts +15 -27
- package/drawer/index.d.ts +3 -2
- package/drawer/types.d.ts +25 -0
- package/esm2022/autocomplete/suggestion/suggestion.component.mjs +8 -4
- package/esm2022/drawer/component/drawer.component.mjs +36 -197
- package/esm2022/drawer/component/internal/internal.component.mjs +177 -0
- package/esm2022/drawer/drawer-ref.mjs +30 -0
- package/esm2022/drawer/drawer.module.mjs +3 -3
- package/esm2022/drawer/drawer.service.mjs +69 -22
- package/esm2022/drawer/{component/helper-directives.mjs → helper-directives.mjs} +1 -1
- package/esm2022/drawer/index.mjs +4 -3
- package/esm2022/drawer/types.mjs +6 -0
- package/fesm2022/alauda-ui.mjs +325 -241
- package/fesm2022/alauda-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/drawer/component/drawer-ref.d.ts +0 -27
- package/esm2022/drawer/component/drawer-ref.mjs +0 -9
- /package/drawer/{component/helper-directives.d.ts → helper-directives.d.ts} +0 -0
package/fesm2022/alauda-ui.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CdkAccordion, CdkAccordionItem, CdkAccordionModule } from '@angular/cdk/accordion';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { Component, ViewEncapsulation, ChangeDetectionStrategy, SkipSelf, Optional, Input, HostBinding, Injectable, Pipe, booleanAttribute, TemplateRef, Inject, NgModule, Directive, ContentChild, EventEmitter, Output, ElementRef, ContentChildren, ChangeDetectorRef, ViewChild, HostListener, Host,
|
|
3
|
+
import { Component, ViewEncapsulation, ChangeDetectionStrategy, SkipSelf, Optional, Input, HostBinding, Injectable, Pipe, booleanAttribute, TemplateRef, Inject, NgModule, Directive, ContentChild, EventEmitter, Output, ElementRef, ContentChildren, ChangeDetectorRef, forwardRef, ViewChild, HostListener, Host, InjectionToken, isDevMode, numberAttribute, Injector, Type, ViewContainerRef, ViewChildren } from '@angular/core';
|
|
4
4
|
import { DOCUMENT, NgIf, NgClass, CommonModule, NgTemplateOutlet, NgFor, AsyncPipe, DecimalPipe, NgStyle, DatePipe, NgComponentOutlet, NgSwitch, NgSwitchCase, NgSwitchDefault } from '@angular/common';
|
|
5
5
|
import { ReplaySubject, distinctUntilChanged, Subject, takeUntil, Observable, share, startWith, map, filter, take, merge, fromEvent, combineLatest, debounceTime, switchMap, of, EMPTY, tap, BehaviorSubject, withLatestFrom, delay, first, throttleTime, firstValueFrom, NEVER, observeOn, animationFrameScheduler, repeat, takeWhile, endWith, Subscription } from 'rxjs';
|
|
6
6
|
import * as i1 from '@angular/common/http';
|
|
@@ -1222,13 +1222,16 @@ class SuggestionComponent {
|
|
|
1222
1222
|
this.focused = false;
|
|
1223
1223
|
this.cdr.markForCheck();
|
|
1224
1224
|
}
|
|
1225
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: SuggestionComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: AutocompleteComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
1225
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: SuggestionComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: forwardRef(() => AutocompleteComponent) }], target: i0.ɵɵFactoryTarget.Component });
|
|
1226
1226
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "16.2.3", type: SuggestionComponent, isStandalone: true, selector: "aui-suggestion", inputs: { value: "value", disabled: ["disabled", "disabled", coerceAttrBoolean] }, viewQueries: [{ propertyName: "elRef", first: true, predicate: ["elRef"], descendants: true, static: true }], ngImport: i0, template: "<div\n #elRef\n [hidden]=\"!(visible$ | async)\"\n [class]=\"bem.block('medium')\"\n [class.isDisabled]=\"disabled\"\n [class.isSelected]=\"selected$ | async\"\n [class.isFocused]=\"focused\"\n (click)=\"onClick()\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [".aui-suggestion{padding:0 var(--aui-inline-padding-xs);color:rgb(var(--aui-color-main-text));font-weight:var(--aui-font-weight-normal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.aui-suggestion--large{padding:calc((var(--aui-inline-height-l) - var(--aui-line-height-l)) / 2);line-height:var(--aui-line-height-l);font-size:var(--aui-font-size-l)}.aui-suggestion--medium{padding:calc((var(--aui-inline-height-m) - var(--aui-line-height-m)) / 2);line-height:var(--aui-line-height-m);font-size:var(--aui-font-size-m)}.aui-suggestion--small{padding:calc((var(--aui-inline-height-s) - var(--aui-line-height-m)) / 2);line-height:var(--aui-line-height-m);font-size:var(--aui-font-size-m)}.aui-suggestion--mini{padding:calc((var(--aui-inline-height-xs) - var(--aui-line-height-s)) / 2);line-height:var(--aui-line-height-s);font-size:var(--aui-font-size-s)}.aui-suggestion:not(.isMulti).isSelected{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-suggestion:hover,.aui-suggestion.isFocused{background-color:rgb(var(--aui-color-p-6))}.aui-suggestion.isDisabled{color:rgb(var(--aui-color-n-6));cursor:not-allowed}.aui-suggestion__pointer{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;width:var(--aui-icon-size-m);height:var(--aui-icon-size-m);margin-right:var(--aui-spacing-m);border-radius:var(--aui-border-radius-m);border:1px solid rgb(var(--aui-color-n-7));color:#fff;background-color:rgb(var(--aui-color-main-bg));position:relative;vertical-align:middle;transition:all .3s ease}.aui-suggestion.cdk-keyboard-focused .aui-suggestion__pointer{border-color:rgb(var(--aui-color-primary))}:root .aui-suggestion.cdk-keyboard-focused .aui-suggestion__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}html[aui-theme-mode=light] .aui-suggestion.cdk-keyboard-focused .aui-suggestion__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-suggestion.cdk-keyboard-focused .aui-suggestion__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}}html[aui-theme-mode=dark] .aui-suggestion.cdk-keyboard-focused .aui-suggestion__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}.aui-suggestion.isSelected .aui-suggestion__pointer{border-color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-primary))}.aui-suggestion.isIndeterminate .aui-suggestion__pointer{border-color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-main-bg))}.aui-suggestion.isIndeterminate .aui-suggestion__pointer:before{content:\"\";display:block;width:8px;height:8px;border-radius:1px;background-color:rgb(var(--aui-color-primary))}.aui-suggestion.isSelected.isDisabled .aui-suggestion__pointer{border-color:rgb(var(--aui-color-p-4));background-color:rgb(var(--aui-color-p-4))}.aui-suggestion.isDisabled .aui-suggestion__label{cursor:not-allowed}.aui-suggestion.isDisabled .aui-suggestion__pointer{border-color:rgb(var(--aui-color-n-7));background-color:rgb(var(--aui-color-n-8))}.aui-suggestion:not(.isDisabled):hover .aui-suggestion__pointer,.aui-suggestion:not(.isDisabled).isFocused .aui-suggestion__pointer{border-color:rgb(var(--aui-color-primary))}.aui-suggestion__divider{display:block;width:100%;height:1px;background-color:rgb(var(--aui-color-divider))}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1227
1227
|
}
|
|
1228
1228
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: SuggestionComponent, decorators: [{
|
|
1229
1229
|
type: Component,
|
|
1230
1230
|
args: [{ selector: 'aui-suggestion', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, standalone: true, imports: [AsyncPipe], template: "<div\n #elRef\n [hidden]=\"!(visible$ | async)\"\n [class]=\"bem.block('medium')\"\n [class.isDisabled]=\"disabled\"\n [class.isSelected]=\"selected$ | async\"\n [class.isFocused]=\"focused\"\n (click)=\"onClick()\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [".aui-suggestion{padding:0 var(--aui-inline-padding-xs);color:rgb(var(--aui-color-main-text));font-weight:var(--aui-font-weight-normal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.aui-suggestion--large{padding:calc((var(--aui-inline-height-l) - var(--aui-line-height-l)) / 2);line-height:var(--aui-line-height-l);font-size:var(--aui-font-size-l)}.aui-suggestion--medium{padding:calc((var(--aui-inline-height-m) - var(--aui-line-height-m)) / 2);line-height:var(--aui-line-height-m);font-size:var(--aui-font-size-m)}.aui-suggestion--small{padding:calc((var(--aui-inline-height-s) - var(--aui-line-height-m)) / 2);line-height:var(--aui-line-height-m);font-size:var(--aui-font-size-m)}.aui-suggestion--mini{padding:calc((var(--aui-inline-height-xs) - var(--aui-line-height-s)) / 2);line-height:var(--aui-line-height-s);font-size:var(--aui-font-size-s)}.aui-suggestion:not(.isMulti).isSelected{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-suggestion:hover,.aui-suggestion.isFocused{background-color:rgb(var(--aui-color-p-6))}.aui-suggestion.isDisabled{color:rgb(var(--aui-color-n-6));cursor:not-allowed}.aui-suggestion__pointer{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;width:var(--aui-icon-size-m);height:var(--aui-icon-size-m);margin-right:var(--aui-spacing-m);border-radius:var(--aui-border-radius-m);border:1px solid rgb(var(--aui-color-n-7));color:#fff;background-color:rgb(var(--aui-color-main-bg));position:relative;vertical-align:middle;transition:all .3s ease}.aui-suggestion.cdk-keyboard-focused .aui-suggestion__pointer{border-color:rgb(var(--aui-color-primary))}:root .aui-suggestion.cdk-keyboard-focused .aui-suggestion__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}html[aui-theme-mode=light] .aui-suggestion.cdk-keyboard-focused .aui-suggestion__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-suggestion.cdk-keyboard-focused .aui-suggestion__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}}html[aui-theme-mode=dark] .aui-suggestion.cdk-keyboard-focused .aui-suggestion__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}.aui-suggestion.isSelected .aui-suggestion__pointer{border-color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-primary))}.aui-suggestion.isIndeterminate .aui-suggestion__pointer{border-color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-main-bg))}.aui-suggestion.isIndeterminate .aui-suggestion__pointer:before{content:\"\";display:block;width:8px;height:8px;border-radius:1px;background-color:rgb(var(--aui-color-primary))}.aui-suggestion.isSelected.isDisabled .aui-suggestion__pointer{border-color:rgb(var(--aui-color-p-4));background-color:rgb(var(--aui-color-p-4))}.aui-suggestion.isDisabled .aui-suggestion__label{cursor:not-allowed}.aui-suggestion.isDisabled .aui-suggestion__pointer{border-color:rgb(var(--aui-color-n-7));background-color:rgb(var(--aui-color-n-8))}.aui-suggestion:not(.isDisabled):hover .aui-suggestion__pointer,.aui-suggestion:not(.isDisabled).isFocused .aui-suggestion__pointer{border-color:rgb(var(--aui-color-primary))}.aui-suggestion__divider{display:block;width:100%;height:1px;background-color:rgb(var(--aui-color-divider))}\n"] }]
|
|
1231
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: AutocompleteComponent
|
|
1231
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: AutocompleteComponent, decorators: [{
|
|
1232
|
+
type: Inject,
|
|
1233
|
+
args: [forwardRef(() => AutocompleteComponent)]
|
|
1234
|
+
}] }]; }, propDecorators: { value: [{
|
|
1232
1235
|
type: Input
|
|
1233
1236
|
}], disabled: [{
|
|
1234
1237
|
type: Input,
|
|
@@ -1303,10 +1306,10 @@ var TimingFunction;
|
|
|
1303
1306
|
TimingFunction["easeInOut"] = "cubic-bezier(0.38, 0, 0.24, 1)";
|
|
1304
1307
|
})(TimingFunction || (TimingFunction = {}));
|
|
1305
1308
|
|
|
1306
|
-
const duration = '160ms';
|
|
1309
|
+
const duration$1 = '160ms';
|
|
1307
1310
|
const scale = [
|
|
1308
1311
|
transition('scale-hide => scale-show, void => scale-show', [
|
|
1309
|
-
animate(`${duration} ${TimingFunction.easeOut}`, keyframes([
|
|
1312
|
+
animate(`${duration$1} ${TimingFunction.easeOut}`, keyframes([
|
|
1310
1313
|
style({
|
|
1311
1314
|
opacity: 0,
|
|
1312
1315
|
transform: 'scale(0)',
|
|
@@ -1318,7 +1321,7 @@ const scale = [
|
|
|
1318
1321
|
])),
|
|
1319
1322
|
]),
|
|
1320
1323
|
transition('scale-show => scale-hide, scale-show => void', [
|
|
1321
|
-
animate(`${duration} ${TimingFunction.easeInOut}`, keyframes([
|
|
1324
|
+
animate(`${duration$1} ${TimingFunction.easeInOut}`, keyframes([
|
|
1322
1325
|
style({
|
|
1323
1326
|
opacity: 1,
|
|
1324
1327
|
transform: 'scale(1)',
|
|
@@ -1332,7 +1335,7 @@ const scale = [
|
|
|
1332
1335
|
];
|
|
1333
1336
|
const scaleY = [
|
|
1334
1337
|
transition('scaleY-hide => scaleY-show, void => scaleY-show', [
|
|
1335
|
-
animate(`${duration} ${TimingFunction.easeOut}`, keyframes([
|
|
1338
|
+
animate(`${duration$1} ${TimingFunction.easeOut}`, keyframes([
|
|
1336
1339
|
style({
|
|
1337
1340
|
opacity: 0,
|
|
1338
1341
|
transform: 'scaleY(0)',
|
|
@@ -1344,7 +1347,7 @@ const scaleY = [
|
|
|
1344
1347
|
])),
|
|
1345
1348
|
]),
|
|
1346
1349
|
transition('scaleY-show => scaleY-hide, scaleY-show => void', [
|
|
1347
|
-
animate(`${duration} ${TimingFunction.easeInOut}`, keyframes([
|
|
1350
|
+
animate(`${duration$1} ${TimingFunction.easeInOut}`, keyframes([
|
|
1348
1351
|
style({
|
|
1349
1352
|
opacity: 1,
|
|
1350
1353
|
transform: 'scaleY(1)',
|
|
@@ -6763,15 +6766,292 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
|
|
|
6763
6766
|
}]
|
|
6764
6767
|
}] });
|
|
6765
6768
|
|
|
6766
|
-
|
|
6767
|
-
|
|
6768
|
-
|
|
6769
|
-
|
|
6770
|
-
|
|
6771
|
-
|
|
6769
|
+
const DrawerSize = {
|
|
6770
|
+
Small: 'small',
|
|
6771
|
+
Medium: 'medium',
|
|
6772
|
+
Big: 'big',
|
|
6773
|
+
};
|
|
6774
|
+
|
|
6775
|
+
const DATA = new InjectionToken('drawer-data');
|
|
6776
|
+
const SIZE_MAPPER = {
|
|
6777
|
+
[DrawerSize.Small]: 400,
|
|
6778
|
+
[DrawerSize.Medium]: 600,
|
|
6779
|
+
[DrawerSize.Big]: 800,
|
|
6780
|
+
};
|
|
6781
|
+
const DRAWER_OVERLAY_BACKDROP_CLASS = 'aui-drawer-mask';
|
|
6782
|
+
const duration = '300ms';
|
|
6783
|
+
class DrawerInternalComponent {
|
|
6784
|
+
injector;
|
|
6785
|
+
bodyPortalOutlet;
|
|
6786
|
+
mask;
|
|
6787
|
+
animationStep$ = new Subject();
|
|
6788
|
+
options;
|
|
6789
|
+
showHide$$ = new BehaviorSubject('hide');
|
|
6790
|
+
maskVisible$ = new Subject();
|
|
6791
|
+
get drawerClasses() {
|
|
6792
|
+
return {
|
|
6793
|
+
'aui-drawer': true,
|
|
6794
|
+
hasDivider: this.options.divider,
|
|
6795
|
+
...(this.options.drawerClass
|
|
6796
|
+
? { [this.options.drawerClass]: true }
|
|
6797
|
+
: null),
|
|
6798
|
+
};
|
|
6799
|
+
}
|
|
6800
|
+
get width() {
|
|
6801
|
+
return handlePixel(this.options.width || SIZE_MAPPER[this.options.size || DrawerSize.Medium]);
|
|
6802
|
+
}
|
|
6803
|
+
isTemplateRef = isTemplateRef;
|
|
6804
|
+
constructor(injector) {
|
|
6805
|
+
this.injector = injector;
|
|
6806
|
+
}
|
|
6807
|
+
ngAfterViewInit() {
|
|
6808
|
+
this.attachBodyContent();
|
|
6809
|
+
}
|
|
6810
|
+
attachBodyContent() {
|
|
6811
|
+
this.bodyPortalOutlet?.dispose();
|
|
6812
|
+
const content = this.options.content;
|
|
6813
|
+
if (!(content instanceof Type)) {
|
|
6814
|
+
return;
|
|
6815
|
+
}
|
|
6816
|
+
const componentPortal = new ComponentPortal(content, null, Injector.create({
|
|
6817
|
+
providers: [
|
|
6818
|
+
{
|
|
6819
|
+
provide: DATA,
|
|
6820
|
+
useValue: this.options.contentParams,
|
|
6821
|
+
},
|
|
6822
|
+
],
|
|
6823
|
+
parent: this.injector,
|
|
6824
|
+
}));
|
|
6825
|
+
const componentRef = this.bodyPortalOutlet?.attachComponentPortal(componentPortal);
|
|
6826
|
+
Object.assign(componentRef.instance, this.options.contentParams);
|
|
6827
|
+
componentRef.changeDetectorRef.detectChanges();
|
|
6828
|
+
}
|
|
6829
|
+
onAnimation(event) {
|
|
6830
|
+
const { phaseName, toState } = event;
|
|
6831
|
+
if (!['show', 'hide'].includes(toState)) {
|
|
6832
|
+
return;
|
|
6833
|
+
}
|
|
6834
|
+
const step = [
|
|
6835
|
+
toState,
|
|
6836
|
+
phaseName.charAt(0).toUpperCase() + phaseName.slice(1),
|
|
6837
|
+
].join('');
|
|
6838
|
+
this.animationStep$.next(step);
|
|
6839
|
+
const backdropElement = this.mask?.nativeElement;
|
|
6840
|
+
if (!backdropElement) {
|
|
6841
|
+
return;
|
|
6842
|
+
}
|
|
6843
|
+
const enters = [
|
|
6844
|
+
`${DRAWER_OVERLAY_BACKDROP_CLASS}-enter`,
|
|
6845
|
+
`${DRAWER_OVERLAY_BACKDROP_CLASS}-enter-active`,
|
|
6846
|
+
];
|
|
6847
|
+
const leaves = [
|
|
6848
|
+
`${DRAWER_OVERLAY_BACKDROP_CLASS}-leave`,
|
|
6849
|
+
`${DRAWER_OVERLAY_BACKDROP_CLASS}-leave-active`,
|
|
6850
|
+
];
|
|
6851
|
+
switch (step) {
|
|
6852
|
+
case 'showStart': {
|
|
6853
|
+
backdropElement.classList.add(...enters);
|
|
6854
|
+
this.maskVisible$.next(true);
|
|
6855
|
+
break;
|
|
6856
|
+
}
|
|
6857
|
+
case 'hideStart': {
|
|
6858
|
+
backdropElement.classList.add(...leaves);
|
|
6859
|
+
break;
|
|
6860
|
+
}
|
|
6861
|
+
case 'showDone': {
|
|
6862
|
+
backdropElement.classList.remove(...enters);
|
|
6863
|
+
break;
|
|
6864
|
+
}
|
|
6865
|
+
case 'hideDone': {
|
|
6866
|
+
this.maskVisible$.next(false);
|
|
6867
|
+
backdropElement.classList.remove(...leaves);
|
|
6868
|
+
break;
|
|
6869
|
+
}
|
|
6870
|
+
}
|
|
6871
|
+
}
|
|
6872
|
+
show() {
|
|
6873
|
+
this.showHide$$.next('show');
|
|
6874
|
+
}
|
|
6875
|
+
hide() {
|
|
6876
|
+
this.showHide$$.next('hide');
|
|
6877
|
+
}
|
|
6878
|
+
maskClick() {
|
|
6879
|
+
if (this.options.maskClosable) {
|
|
6880
|
+
this.hide();
|
|
6881
|
+
}
|
|
6882
|
+
}
|
|
6883
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerInternalComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
6884
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: DrawerInternalComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "bodyPortalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true }, { propertyName: "mask", first: true, predicate: ["mask"], descendants: true }], ngImport: i0, template: "<div\n #mask\n class=\"aui-drawer-mask\"\n *ngIf=\"options.mask\"\n [class.isOpen]=\"maskVisible$ | async\"\n (click)=\"maskClick()\"\n></div>\n<div\n [style.marginTop]=\"options.offsetY\"\n [ngClass]=\"drawerClasses\"\n [@showHide]=\"showHide$$ | async\"\n (@showHide.start)=\"onAnimation($event)\"\n (@showHide.done)=\"onAnimation($event)\"\n [style.width]=\"width\"\n>\n <div class=\"aui-drawer__content\">\n <div class=\"aui-drawer__body-wrapper\">\n <div class=\"aui-drawer__header\">\n <div class=\"aui-drawer__title\">\n <ng-container\n *ngIf=\"isTemplateRef(options.title); else normal\"\n [ngTemplateOutlet]=\"options.title\"\n [ngTemplateOutletContext]=\"options.contentParams\"\n ></ng-container>\n <ng-template #normal>\n {{ options.title }}\n </ng-template>\n </div>\n <aui-icon\n *ngIf=\"options.showClose\"\n class=\"aui-drawer__close\"\n icon=\"xmark\"\n (click)=\"hide()\"\n ></aui-icon>\n </div>\n\n <div\n class=\"aui-drawer__body\"\n cdkScrollable\n >\n <ng-template cdkPortalOutlet></ng-template>\n <ng-container\n *ngIf=\"isTemplateRef(options.content)\"\n [ngTemplateOutlet]=\"options.content\"\n [ngTemplateOutletContext]=\"options.contentParams\"\n >\n </ng-container>\n </div>\n\n <div\n *ngIf=\"options.footer\"\n class=\"aui-drawer__footer\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(options.footer); else normal\"\n [ngTemplateOutlet]=\"options.footer\"\n [ngTemplateOutletContext]=\"options.contentParams\"\n ></ng-container>\n <ng-template #normal>\n {{ options.footer }}\n </ng-template>\n </div>\n </div>\n </div>\n</div>\n", styles: ["@keyframes aui-fade-in{0%{opacity:0}to{opacity:1}}@keyframes aui-fade-out{0%{opacity:1}to{opacity:0}}@keyframes aui-zoom-in{0%{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}@keyframes aui-zoom-out{0%{transform:scale(1)}to{transform:scale(.2);opacity:0}}.aui-drawer-mask{position:absolute;top:0;left:0;width:100%;height:0}:root .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}html[aui-theme-mode=light] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer-mask.isOpen{height:100%}.aui-drawer-mask-enter,.aui-drawer-mask-leave{animation-duration:.3s;animation-fill-mode:both;animation-play-state:paused}.aui-drawer-mask-enter.aui-drawer-mask-enter-active,.aui-drawer-mask-leave.aui-drawer-mask-leave-active{animation-play-state:running;pointer-events:none}.aui-drawer-mask-enter.aui-drawer-mask-enter-active{animation-name:aui-fade-in}.aui-drawer-mask-leave.aui-drawer-mask-leave-active{animation-name:aui-fade-out}.aui-drawer-mask-enter{opacity:0;animation-timing-function:linear}.aui-drawer-mask-leave{animation-timing-function:linear}.aui-drawer{position:fixed;top:0;bottom:0;right:0;z-index:9999;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal);color:rgb(var(--aui-color-main-text))}.aui-drawer__content{background-color:rgb(var(--aui-color-n-10));position:absolute;height:100%;right:0;width:100%}:root .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer__header{padding:20px;display:flex;flex-shrink:0;justify-content:space-between}.aui-drawer__title{flex:1;font-size:var(--aui-font-size-xxl);line-height:var(--aui-line-height-xxl);font-weight:var(--aui-font-weight-bolder);color:rgb(var(--aui-color-main-text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-drawer__close{z-index:10;flex-shrink:0;margin-top:2px;margin-left:var(--aui-spacing-xl);display:flex;justify-content:center;align-items:center;width:24px;height:24px;font-size:var(--aui-icon-size-l);color:rgb(var(--aui-color-secondary-text));border-radius:var(--aui-border-radius-m);cursor:pointer}.aui-drawer__close:hover{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-drawer__close:active{color:rgb(var(--aui-color-p-0));background-color:rgb(var(--aui-color-p-5))}.aui-drawer__body-wrapper{width:100%;height:100%;display:flex;flex-flow:column nowrap;position:relative;z-index:1}.aui-drawer__body{padding:0 20px;overflow:hidden;overflow-y:auto;height:100%}.aui-drawer__footer{padding:20px}.aui-drawer.hasDivider .aui-drawer__header{padding-bottom:16px;border-bottom:1px solid rgb(var(--aui-color-n-8))}.aui-drawer.hasDivider .aui-drawer__body{padding:16px 20px}.aui-drawer.hasDivider .aui-drawer__footer{padding-top:16px;border-top:1px solid rgb(var(--aui-color-n-8))}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }, { kind: "directive", type: CdkScrollable$1, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1$4.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], animations: [
|
|
6885
|
+
trigger('showHide', [
|
|
6886
|
+
state('show', style({
|
|
6887
|
+
opacity: 1,
|
|
6888
|
+
transform: 'translateX(0)',
|
|
6889
|
+
})),
|
|
6890
|
+
state('hide, void', style({
|
|
6891
|
+
opacity: 0,
|
|
6892
|
+
transform: 'translateX(100%)',
|
|
6893
|
+
})),
|
|
6894
|
+
transition('hide => show, void => show', [
|
|
6895
|
+
animate(`${duration} ${TimingFunction.easeOut}`),
|
|
6896
|
+
]),
|
|
6897
|
+
transition('show => hide, show => void', [
|
|
6898
|
+
animate(`${duration} ${TimingFunction.easeInOut}`),
|
|
6899
|
+
]),
|
|
6900
|
+
]),
|
|
6901
|
+
], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
6902
|
+
}
|
|
6903
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerInternalComponent, decorators: [{
|
|
6904
|
+
type: Component,
|
|
6905
|
+
args: [{ encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
6906
|
+
NgIf,
|
|
6907
|
+
NgClass,
|
|
6908
|
+
NgStyle,
|
|
6909
|
+
NgTemplateOutlet,
|
|
6910
|
+
IconComponent,
|
|
6911
|
+
CdkScrollable$1,
|
|
6912
|
+
PortalModule,
|
|
6913
|
+
AsyncPipe,
|
|
6914
|
+
], animations: [
|
|
6915
|
+
trigger('showHide', [
|
|
6916
|
+
state('show', style({
|
|
6917
|
+
opacity: 1,
|
|
6918
|
+
transform: 'translateX(0)',
|
|
6919
|
+
})),
|
|
6920
|
+
state('hide, void', style({
|
|
6921
|
+
opacity: 0,
|
|
6922
|
+
transform: 'translateX(100%)',
|
|
6923
|
+
})),
|
|
6924
|
+
transition('hide => show, void => show', [
|
|
6925
|
+
animate(`${duration} ${TimingFunction.easeOut}`),
|
|
6926
|
+
]),
|
|
6927
|
+
transition('show => hide, show => void', [
|
|
6928
|
+
animate(`${duration} ${TimingFunction.easeInOut}`),
|
|
6929
|
+
]),
|
|
6930
|
+
]),
|
|
6931
|
+
], template: "<div\n #mask\n class=\"aui-drawer-mask\"\n *ngIf=\"options.mask\"\n [class.isOpen]=\"maskVisible$ | async\"\n (click)=\"maskClick()\"\n></div>\n<div\n [style.marginTop]=\"options.offsetY\"\n [ngClass]=\"drawerClasses\"\n [@showHide]=\"showHide$$ | async\"\n (@showHide.start)=\"onAnimation($event)\"\n (@showHide.done)=\"onAnimation($event)\"\n [style.width]=\"width\"\n>\n <div class=\"aui-drawer__content\">\n <div class=\"aui-drawer__body-wrapper\">\n <div class=\"aui-drawer__header\">\n <div class=\"aui-drawer__title\">\n <ng-container\n *ngIf=\"isTemplateRef(options.title); else normal\"\n [ngTemplateOutlet]=\"options.title\"\n [ngTemplateOutletContext]=\"options.contentParams\"\n ></ng-container>\n <ng-template #normal>\n {{ options.title }}\n </ng-template>\n </div>\n <aui-icon\n *ngIf=\"options.showClose\"\n class=\"aui-drawer__close\"\n icon=\"xmark\"\n (click)=\"hide()\"\n ></aui-icon>\n </div>\n\n <div\n class=\"aui-drawer__body\"\n cdkScrollable\n >\n <ng-template cdkPortalOutlet></ng-template>\n <ng-container\n *ngIf=\"isTemplateRef(options.content)\"\n [ngTemplateOutlet]=\"options.content\"\n [ngTemplateOutletContext]=\"options.contentParams\"\n >\n </ng-container>\n </div>\n\n <div\n *ngIf=\"options.footer\"\n class=\"aui-drawer__footer\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(options.footer); else normal\"\n [ngTemplateOutlet]=\"options.footer\"\n [ngTemplateOutletContext]=\"options.contentParams\"\n ></ng-container>\n <ng-template #normal>\n {{ options.footer }}\n </ng-template>\n </div>\n </div>\n </div>\n</div>\n", styles: ["@keyframes aui-fade-in{0%{opacity:0}to{opacity:1}}@keyframes aui-fade-out{0%{opacity:1}to{opacity:0}}@keyframes aui-zoom-in{0%{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}@keyframes aui-zoom-out{0%{transform:scale(1)}to{transform:scale(.2);opacity:0}}.aui-drawer-mask{position:absolute;top:0;left:0;width:100%;height:0}:root .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}html[aui-theme-mode=light] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer-mask.isOpen{height:100%}.aui-drawer-mask-enter,.aui-drawer-mask-leave{animation-duration:.3s;animation-fill-mode:both;animation-play-state:paused}.aui-drawer-mask-enter.aui-drawer-mask-enter-active,.aui-drawer-mask-leave.aui-drawer-mask-leave-active{animation-play-state:running;pointer-events:none}.aui-drawer-mask-enter.aui-drawer-mask-enter-active{animation-name:aui-fade-in}.aui-drawer-mask-leave.aui-drawer-mask-leave-active{animation-name:aui-fade-out}.aui-drawer-mask-enter{opacity:0;animation-timing-function:linear}.aui-drawer-mask-leave{animation-timing-function:linear}.aui-drawer{position:fixed;top:0;bottom:0;right:0;z-index:9999;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal);color:rgb(var(--aui-color-main-text))}.aui-drawer__content{background-color:rgb(var(--aui-color-n-10));position:absolute;height:100%;right:0;width:100%}:root .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer__header{padding:20px;display:flex;flex-shrink:0;justify-content:space-between}.aui-drawer__title{flex:1;font-size:var(--aui-font-size-xxl);line-height:var(--aui-line-height-xxl);font-weight:var(--aui-font-weight-bolder);color:rgb(var(--aui-color-main-text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-drawer__close{z-index:10;flex-shrink:0;margin-top:2px;margin-left:var(--aui-spacing-xl);display:flex;justify-content:center;align-items:center;width:24px;height:24px;font-size:var(--aui-icon-size-l);color:rgb(var(--aui-color-secondary-text));border-radius:var(--aui-border-radius-m);cursor:pointer}.aui-drawer__close:hover{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-drawer__close:active{color:rgb(var(--aui-color-p-0));background-color:rgb(var(--aui-color-p-5))}.aui-drawer__body-wrapper{width:100%;height:100%;display:flex;flex-flow:column nowrap;position:relative;z-index:1}.aui-drawer__body{padding:0 20px;overflow:hidden;overflow-y:auto;height:100%}.aui-drawer__footer{padding:20px}.aui-drawer.hasDivider .aui-drawer__header{padding-bottom:16px;border-bottom:1px solid rgb(var(--aui-color-n-8))}.aui-drawer.hasDivider .aui-drawer__body{padding:16px 20px}.aui-drawer.hasDivider .aui-drawer__footer{padding-top:16px;border-top:1px solid rgb(var(--aui-color-n-8))}\n"] }]
|
|
6932
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { bodyPortalOutlet: [{
|
|
6933
|
+
type: ViewChild,
|
|
6934
|
+
args: [CdkPortalOutlet, { static: false }]
|
|
6935
|
+
}], mask: [{
|
|
6936
|
+
type: ViewChild,
|
|
6937
|
+
args: ['mask']
|
|
6938
|
+
}] } });
|
|
6939
|
+
|
|
6772
6940
|
class DrawerRef {
|
|
6941
|
+
drawerInstance;
|
|
6942
|
+
result;
|
|
6943
|
+
afterOpen$ = new Subject();
|
|
6944
|
+
afterClosed$ = new Subject();
|
|
6945
|
+
get afterOpen() {
|
|
6946
|
+
return this.afterOpen$.asObservable();
|
|
6947
|
+
}
|
|
6948
|
+
get afterClosed() {
|
|
6949
|
+
return this.afterClosed$.asObservable();
|
|
6950
|
+
}
|
|
6951
|
+
constructor(drawerInstance) {
|
|
6952
|
+
this.drawerInstance = drawerInstance;
|
|
6953
|
+
this.drawerInstance.animationStep$
|
|
6954
|
+
.pipe(filter(step => step === 'hideDone'))
|
|
6955
|
+
.subscribe(() => {
|
|
6956
|
+
this.afterClosed$.next(this.result);
|
|
6957
|
+
this.afterClosed$.complete();
|
|
6958
|
+
});
|
|
6959
|
+
}
|
|
6960
|
+
open() {
|
|
6961
|
+
this.drawerInstance.show();
|
|
6962
|
+
}
|
|
6963
|
+
close(result) {
|
|
6964
|
+
this.result = result;
|
|
6965
|
+
this.drawerInstance.hide();
|
|
6966
|
+
}
|
|
6773
6967
|
}
|
|
6774
6968
|
|
|
6969
|
+
const DRAWER_OVERLAY_CLASS = 'aui-drawer-overlay';
|
|
6970
|
+
class DrawerService {
|
|
6971
|
+
overlay;
|
|
6972
|
+
overlayRef;
|
|
6973
|
+
options;
|
|
6974
|
+
drawerRef;
|
|
6975
|
+
invisible$ = new Subject();
|
|
6976
|
+
drawerInternalComponentRef;
|
|
6977
|
+
constructor(overlay) {
|
|
6978
|
+
this.overlay = overlay;
|
|
6979
|
+
}
|
|
6980
|
+
open(options) {
|
|
6981
|
+
this.updateOptions(options);
|
|
6982
|
+
this.createOverlay();
|
|
6983
|
+
this.createDrawer();
|
|
6984
|
+
this.drawerRef = new DrawerRef(this.drawerInternalComponentRef.instance);
|
|
6985
|
+
this.drawerRef.open();
|
|
6986
|
+
return this.drawerRef;
|
|
6987
|
+
}
|
|
6988
|
+
updateOptions(options) {
|
|
6989
|
+
this.options = options;
|
|
6990
|
+
}
|
|
6991
|
+
createOverlay() {
|
|
6992
|
+
if (!this.overlayRef) {
|
|
6993
|
+
this.overlayRef = this.overlay.create(this.getOverlayConfig());
|
|
6994
|
+
}
|
|
6995
|
+
this.overlayRef
|
|
6996
|
+
.outsidePointerEvents()
|
|
6997
|
+
.pipe(takeUntil(this.invisible$))
|
|
6998
|
+
.subscribe(event => {
|
|
6999
|
+
if (this.overlayRef &&
|
|
7000
|
+
this.options.hideOnClickOutside &&
|
|
7001
|
+
event.target instanceof Node &&
|
|
7002
|
+
!this.overlayRef.hostElement?.parentNode?.contains(event.target)) {
|
|
7003
|
+
event.stopPropagation();
|
|
7004
|
+
event.preventDefault();
|
|
7005
|
+
this.drawerRef.close();
|
|
7006
|
+
}
|
|
7007
|
+
});
|
|
7008
|
+
this.overlayRef.getConfig().scrollStrategy.enable();
|
|
7009
|
+
if (this.options.mask) {
|
|
7010
|
+
fromEvent(window, 'resize')
|
|
7011
|
+
.pipe(debounceTime(100), filter(() => document.documentElement.scrollHeight > window.innerHeight), takeUntil(this.invisible$))
|
|
7012
|
+
.subscribe(() => {
|
|
7013
|
+
this.overlayRef.getConfig().scrollStrategy.enable();
|
|
7014
|
+
});
|
|
7015
|
+
}
|
|
7016
|
+
}
|
|
7017
|
+
createDrawer() {
|
|
7018
|
+
if (this.drawerInternalComponentRef) {
|
|
7019
|
+
return;
|
|
7020
|
+
}
|
|
7021
|
+
const drawerInternalComponentRef = this.overlayRef.attach(new ComponentPortal((DrawerInternalComponent)));
|
|
7022
|
+
drawerInternalComponentRef.instance.options = this.options;
|
|
7023
|
+
drawerInternalComponentRef.instance.animationStep$.subscribe(step => {
|
|
7024
|
+
if (step === 'hideDone') {
|
|
7025
|
+
this.invisible$.next();
|
|
7026
|
+
this.overlayRef?.getConfig().scrollStrategy.disable();
|
|
7027
|
+
}
|
|
7028
|
+
});
|
|
7029
|
+
this.drawerInternalComponentRef = drawerInternalComponentRef;
|
|
7030
|
+
}
|
|
7031
|
+
getOverlayConfig() {
|
|
7032
|
+
return new OverlayConfig({
|
|
7033
|
+
panelClass: DRAWER_OVERLAY_CLASS,
|
|
7034
|
+
positionStrategy: this.overlay.position().global(),
|
|
7035
|
+
scrollStrategy: this.options.mask
|
|
7036
|
+
? this.overlay.scrollStrategies.block()
|
|
7037
|
+
: this.overlay.scrollStrategies.noop(),
|
|
7038
|
+
});
|
|
7039
|
+
}
|
|
7040
|
+
ngOnDestroy() {
|
|
7041
|
+
this.invisible$.next();
|
|
7042
|
+
if (this.overlayRef) {
|
|
7043
|
+
this.overlayRef.getConfig().scrollStrategy.disable();
|
|
7044
|
+
this.overlayRef.dispose();
|
|
7045
|
+
this.overlayRef = null;
|
|
7046
|
+
}
|
|
7047
|
+
}
|
|
7048
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerService, deps: [{ token: i1$2.Overlay }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
7049
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerService });
|
|
7050
|
+
}
|
|
7051
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerService, decorators: [{
|
|
7052
|
+
type: Injectable
|
|
7053
|
+
}], ctorParameters: function () { return [{ type: i1$2.Overlay }]; } });
|
|
7054
|
+
|
|
6775
7055
|
class DrawerHeaderDirective {
|
|
6776
7056
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
6777
7057
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: DrawerHeaderDirective, isStandalone: true, selector: "[auiDrawerHeader]", ngImport: i0 });
|
|
@@ -6806,18 +7086,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
|
|
|
6806
7086
|
}]
|
|
6807
7087
|
}] });
|
|
6808
7088
|
|
|
6809
|
-
|
|
6810
|
-
|
|
6811
|
-
const SIZE_MAPPER = {
|
|
6812
|
-
[DrawerSize.Small]: 400,
|
|
6813
|
-
[DrawerSize.Medium]: 600,
|
|
6814
|
-
[DrawerSize.Big]: 800,
|
|
6815
|
-
};
|
|
6816
|
-
class DrawerComponent extends DrawerRef {
|
|
6817
|
-
viewContainerRef;
|
|
6818
|
-
overlay;
|
|
6819
|
-
injector;
|
|
6820
|
-
cdr;
|
|
7089
|
+
class DrawerComponent {
|
|
7090
|
+
drawerService;
|
|
6821
7091
|
title;
|
|
6822
7092
|
footer;
|
|
6823
7093
|
size = DrawerSize.Medium;
|
|
@@ -6830,188 +7100,49 @@ class DrawerComponent extends DrawerRef {
|
|
|
6830
7100
|
mask;
|
|
6831
7101
|
maskClosable;
|
|
6832
7102
|
divider = true;
|
|
6833
|
-
|
|
6834
|
-
|
|
6835
|
-
this._value = value;
|
|
6836
|
-
}
|
|
6837
|
-
get width() {
|
|
6838
|
-
return this._value;
|
|
6839
|
-
}
|
|
6840
|
-
get drawerClasses() {
|
|
6841
|
-
return {
|
|
6842
|
-
'aui-drawer': true,
|
|
6843
|
-
hasDivider: this.divider,
|
|
6844
|
-
...(this.drawerClass ? { [this.drawerClass]: true } : null),
|
|
6845
|
-
};
|
|
6846
|
-
}
|
|
6847
|
-
afterClosed$ = new Subject();
|
|
6848
|
-
get afterClosed() {
|
|
6849
|
-
return this.afterClosed$.asObservable();
|
|
6850
|
-
}
|
|
6851
|
-
afterOpen$ = new Subject();
|
|
6852
|
-
get afterOpen() {
|
|
6853
|
-
return this.afterOpen$.asObservable();
|
|
6854
|
-
}
|
|
6855
|
-
drawerViewInit = new EventEmitter();
|
|
7103
|
+
width;
|
|
7104
|
+
contentParams;
|
|
6856
7105
|
close = new EventEmitter();
|
|
6857
|
-
drawerTemplate;
|
|
6858
|
-
bodyPortalOutlet;
|
|
6859
7106
|
titleTemplate;
|
|
6860
|
-
|
|
7107
|
+
contentTemplateOrComponent;
|
|
6861
7108
|
footerTemplate;
|
|
6862
|
-
|
|
6863
|
-
|
|
6864
|
-
|
|
6865
|
-
contentParams;
|
|
6866
|
-
overlayRef;
|
|
6867
|
-
portal;
|
|
6868
|
-
templateContext = {};
|
|
6869
|
-
get transform() {
|
|
6870
|
-
return `translateX(${this.visible ? 0 : '100%'})`;
|
|
6871
|
-
}
|
|
6872
|
-
constructor(viewContainerRef, overlay, injector, cdr) {
|
|
6873
|
-
super();
|
|
6874
|
-
this.viewContainerRef = viewContainerRef;
|
|
6875
|
-
this.overlay = overlay;
|
|
6876
|
-
this.injector = injector;
|
|
6877
|
-
this.cdr = cdr;
|
|
6878
|
-
}
|
|
6879
|
-
ngOnInit() {
|
|
6880
|
-
this.attachOverlay();
|
|
6881
|
-
this.updateBodyOverflow();
|
|
6882
|
-
this.templateContext = { $implicit: this.contentParams };
|
|
6883
|
-
if (this.mask) {
|
|
6884
|
-
fromEvent(window, 'resize')
|
|
6885
|
-
.pipe(debounceTime(100), filter(() => document.documentElement.scrollHeight > window.innerHeight), takeUntil(this.onDestroy$))
|
|
6886
|
-
.subscribe(() => {
|
|
6887
|
-
this.overlayRef.getConfig().scrollStrategy.enable();
|
|
6888
|
-
});
|
|
6889
|
-
}
|
|
6890
|
-
this.cdr.detectChanges();
|
|
7109
|
+
drawerRef;
|
|
7110
|
+
constructor(drawerService) {
|
|
7111
|
+
this.drawerService = drawerService;
|
|
6891
7112
|
}
|
|
6892
7113
|
ngOnChanges(changes) {
|
|
6893
7114
|
const { visible } = changes;
|
|
6894
7115
|
if (visible) {
|
|
6895
7116
|
const value = visible.currentValue;
|
|
6896
7117
|
if (value) {
|
|
6897
|
-
this.open();
|
|
7118
|
+
this.drawerRef = this.drawerService.open(this);
|
|
7119
|
+
this.drawerRef.afterClosed.pipe(first()).subscribe(res => {
|
|
7120
|
+
this.close.emit(res);
|
|
7121
|
+
});
|
|
6898
7122
|
}
|
|
6899
7123
|
else if (!visible.firstChange) {
|
|
6900
|
-
this.
|
|
7124
|
+
this.drawerRef.close();
|
|
6901
7125
|
}
|
|
6902
7126
|
}
|
|
6903
7127
|
}
|
|
6904
7128
|
ngAfterViewInit() {
|
|
6905
|
-
this.
|
|
6906
|
-
|
|
6907
|
-
|
|
6908
|
-
}, 0);
|
|
6909
|
-
}
|
|
6910
|
-
attachOverlay() {
|
|
6911
|
-
if (!this.overlayRef) {
|
|
6912
|
-
this.portal = new TemplatePortal(this.drawerTemplate, this.viewContainerRef);
|
|
6913
|
-
this.overlayRef = this.overlay.create(this.getOverlayConfig());
|
|
6914
|
-
}
|
|
6915
|
-
if (this.overlayRef) {
|
|
6916
|
-
this.overlayRef.attach(this.portal);
|
|
6917
|
-
this.overlayRef
|
|
6918
|
-
.outsidePointerEvents()
|
|
6919
|
-
.pipe(takeUntil(this.onDestroy$))
|
|
6920
|
-
.subscribe(event => {
|
|
6921
|
-
if (this.visible &&
|
|
6922
|
-
this.hideOnClickOutside &&
|
|
6923
|
-
event.target instanceof Node &&
|
|
6924
|
-
!this.overlayRef.hostElement?.parentNode?.contains(event.target)) {
|
|
6925
|
-
event.stopPropagation();
|
|
6926
|
-
event.preventDefault();
|
|
6927
|
-
this.dispose();
|
|
6928
|
-
}
|
|
6929
|
-
});
|
|
6930
|
-
}
|
|
6931
|
-
}
|
|
6932
|
-
getOverlayConfig() {
|
|
6933
|
-
return new OverlayConfig({
|
|
6934
|
-
panelClass: DRAWER_OVERLAY_CLASS,
|
|
6935
|
-
positionStrategy: this.overlay.position().global(),
|
|
6936
|
-
scrollStrategy: this.mask
|
|
6937
|
-
? this.overlay.scrollStrategies.block()
|
|
6938
|
-
: this.overlay.scrollStrategies.noop(),
|
|
6939
|
-
});
|
|
6940
|
-
}
|
|
6941
|
-
attachBodyContent() {
|
|
6942
|
-
this.bodyPortalOutlet?.dispose();
|
|
6943
|
-
const content = this.content || this.contentTemplate;
|
|
6944
|
-
if (content instanceof Type) {
|
|
6945
|
-
const componentPortal = new ComponentPortal(content, null, Injector.create({
|
|
6946
|
-
providers: [
|
|
6947
|
-
{
|
|
6948
|
-
provide: DATA,
|
|
6949
|
-
useValue: this.contentParams,
|
|
6950
|
-
},
|
|
6951
|
-
],
|
|
6952
|
-
parent: this.injector,
|
|
6953
|
-
}));
|
|
6954
|
-
const componentRef = this.bodyPortalOutlet?.attachComponentPortal(componentPortal);
|
|
6955
|
-
this.componentInstance = componentRef.instance;
|
|
6956
|
-
Object.assign(componentRef.instance, this.contentParams);
|
|
6957
|
-
componentRef.changeDetectorRef.detectChanges();
|
|
6958
|
-
}
|
|
6959
|
-
}
|
|
6960
|
-
updateBodyOverflow() {
|
|
6961
|
-
if (this.overlayRef) {
|
|
6962
|
-
if (this.visible) {
|
|
6963
|
-
this.overlayRef.getConfig().scrollStrategy.enable();
|
|
6964
|
-
}
|
|
6965
|
-
else {
|
|
6966
|
-
this.overlayRef.getConfig().scrollStrategy.disable();
|
|
6967
|
-
}
|
|
6968
|
-
}
|
|
6969
|
-
}
|
|
6970
|
-
open() {
|
|
6971
|
-
this.visible = true;
|
|
6972
|
-
this.afterOpen$.next();
|
|
6973
|
-
this.afterOpen$.complete();
|
|
6974
|
-
this.updateBodyOverflow();
|
|
6975
|
-
this.cdr.markForCheck();
|
|
6976
|
-
}
|
|
6977
|
-
dispose(result = null) {
|
|
6978
|
-
this.visible = false;
|
|
6979
|
-
this.close.emit();
|
|
6980
|
-
this.afterClosed$.next(result);
|
|
6981
|
-
this.afterClosed$.complete();
|
|
6982
|
-
this.updateBodyOverflow();
|
|
6983
|
-
this.cdr.markForCheck();
|
|
7129
|
+
this.title = this.title || this.titleTemplate;
|
|
7130
|
+
this.content = this.content || this.contentTemplateOrComponent;
|
|
7131
|
+
this.footer = this.footer || this.footerTemplate;
|
|
6984
7132
|
}
|
|
6985
|
-
|
|
6986
|
-
|
|
6987
|
-
this.overlayRef.dispose();
|
|
6988
|
-
}
|
|
6989
|
-
this.overlayRef = null;
|
|
6990
|
-
}
|
|
6991
|
-
maskClick() {
|
|
6992
|
-
if (this.maskClosable && this.mask) {
|
|
6993
|
-
this.dispose();
|
|
6994
|
-
}
|
|
6995
|
-
}
|
|
6996
|
-
ngOnDestroy() {
|
|
6997
|
-
this.onDestroy$.next();
|
|
6998
|
-
this.disposeOverlay();
|
|
6999
|
-
}
|
|
7000
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerComponent, deps: [{ token: i0.ViewContainerRef }, { token: i1$2.Overlay }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
7001
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: DrawerComponent, isStandalone: true, selector: "aui-drawer", inputs: { title: "title", footer: "footer", size: "size", offsetY: "offsetY", visible: "visible", content: "content", hideOnClickOutside: "hideOnClickOutside", showClose: "showClose", drawerClass: "drawerClass", mask: "mask", maskClosable: "maskClosable", divider: "divider", width: "width" }, outputs: { drawerViewInit: "drawerViewInit", close: "close" }, queries: [{ propertyName: "titleTemplate", first: true, predicate: DrawerHeaderDirective, descendants: true, read: TemplateRef }, { propertyName: "contentTemplate", first: true, predicate: DrawerContentDirective, descendants: true, read: TemplateRef }, { propertyName: "footerTemplate", first: true, predicate: DrawerFooterDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "drawerTemplate", first: true, predicate: ["drawerTemplate"], descendants: true, static: true }, { propertyName: "bodyPortalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-template #drawerTemplate>\n <div\n *ngIf=\"mask\"\n class=\"aui-drawer-mask\"\n [class.isOpen]=\"visible\"\n (click)=\"maskClick()\"\n ></div>\n <div\n [style.marginTop]=\"offsetY\"\n [ngClass]=\"drawerClasses\"\n [class.isOpen]=\"visible\"\n [ngStyle]=\"{\n transform: transform,\n width: width + 'px'\n }\"\n >\n <div class=\"aui-drawer__content\">\n <div class=\"aui-drawer__body-wrapper\">\n <div class=\"aui-drawer__header\">\n <div class=\"aui-drawer__title\">\n <ng-container\n *ngIf=\"!isTemplateRef(title || titleTemplate); else elseTemplate\"\n >\n {{ title }}\n </ng-container>\n <ng-template #elseTemplate>\n <ng-container\n *ngIf=\"title || titleTemplate\"\n [ngTemplateOutlet]=\"$any(title || titleTemplate)\"\n [ngTemplateOutletContext]=\"templateContext\"\n ></ng-container>\n </ng-template>\n </div>\n <aui-icon\n *ngIf=\"showClose\"\n class=\"aui-drawer__close\"\n icon=\"xmark\"\n (click)=\"dispose()\"\n ></aui-icon>\n </div>\n\n <div\n class=\"aui-drawer__body\"\n cdkScrollable\n >\n <ng-template cdkPortalOutlet></ng-template>\n <ng-container *ngIf=\"isTemplateRef(content || contentTemplate)\">\n <ng-container\n *ngTemplateOutlet=\"\n $any(content || contentTemplate);\n context: templateContext\n \"\n >\n </ng-container>\n </ng-container>\n </div>\n\n <div\n *ngIf=\"footer || footerTemplate\"\n class=\"aui-drawer__footer\"\n >\n <ng-container\n *ngIf=\"!isTemplateRef(footer || footerTemplate); else elseTemplate\"\n >\n {{ footer }}\n </ng-container>\n <ng-template #elseTemplate>\n <ng-container\n *ngIf=\"footer || footerTemplate\"\n [ngTemplateOutlet]=\"$any(footer || footerTemplate)\"\n [ngTemplateOutletContext]=\"templateContext\"\n ></ng-container>\n </ng-template>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [".aui-drawer-mask{position:absolute;top:0;left:0;width:100%;height:0}:root .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}html[aui-theme-mode=light] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer-mask.isOpen{height:100%}.aui-drawer{position:fixed;top:0;bottom:0;right:0;z-index:9999;transition:transform .3s,opacity .3s,box-shaow .3s;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal);color:rgb(var(--aui-color-main-text))}:root .aui-drawer.isOpen .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-drawer.isOpen .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer.isOpen .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer.isOpen .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer__content{background-color:rgb(var(--aui-color-n-10));position:absolute;height:100%;right:0;width:100%}.aui-drawer__header{padding:20px;display:flex;flex-shrink:0;justify-content:space-between}.aui-drawer__title{flex:1;font-size:var(--aui-font-size-xxl);line-height:var(--aui-line-height-xxl);font-weight:var(--aui-font-weight-bolder);color:rgb(var(--aui-color-main-text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-drawer__close{z-index:10;flex-shrink:0;margin-top:2px;margin-left:var(--aui-spacing-xl);display:flex;justify-content:center;align-items:center;width:24px;height:24px;font-size:var(--aui-icon-size-l);color:rgb(var(--aui-color-secondary-text));border-radius:var(--aui-border-radius-m);cursor:pointer}.aui-drawer__close:hover{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-drawer__close:active{color:rgb(var(--aui-color-p-0));background-color:rgb(var(--aui-color-p-5))}.aui-drawer__body-wrapper{width:100%;height:100%;display:flex;flex-flow:column nowrap;position:relative;z-index:1}.aui-drawer__body{padding:0 20px;overflow:hidden;overflow-y:auto;height:100%}.aui-drawer__footer{padding:20px}.aui-drawer.hasDivider .aui-drawer__header{padding-bottom:16px;border-bottom:1px solid rgb(var(--aui-color-n-8))}.aui-drawer.hasDivider .aui-drawer__body{padding:16px 20px}.aui-drawer.hasDivider .aui-drawer__footer{padding-top:16px;border-top:1px solid rgb(var(--aui-color-n-8))}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }, { kind: "directive", type: CdkScrollable$1, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1$4.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
7133
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerComponent, deps: [{ token: DrawerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
7134
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: DrawerComponent, isStandalone: true, selector: "aui-drawer", inputs: { title: "title", footer: "footer", size: "size", offsetY: "offsetY", visible: "visible", content: "content", hideOnClickOutside: "hideOnClickOutside", showClose: "showClose", drawerClass: "drawerClass", mask: "mask", maskClosable: "maskClosable", divider: "divider", width: "width", contentParams: "contentParams" }, outputs: { close: "close" }, providers: [DrawerService], queries: [{ propertyName: "titleTemplate", first: true, predicate: DrawerHeaderDirective, descendants: true, read: TemplateRef }, { propertyName: "contentTemplateOrComponent", first: true, predicate: DrawerContentDirective, descendants: true, read: TemplateRef }, { propertyName: "footerTemplate", first: true, predicate: DrawerFooterDirective, descendants: true, read: TemplateRef }], usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7002
7135
|
}
|
|
7003
7136
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerComponent, decorators: [{
|
|
7004
7137
|
type: Component,
|
|
7005
|
-
args: [{
|
|
7006
|
-
|
|
7007
|
-
|
|
7008
|
-
|
|
7009
|
-
|
|
7010
|
-
|
|
7011
|
-
|
|
7012
|
-
|
|
7013
|
-
], template: "<ng-template #drawerTemplate>\n <div\n *ngIf=\"mask\"\n class=\"aui-drawer-mask\"\n [class.isOpen]=\"visible\"\n (click)=\"maskClick()\"\n ></div>\n <div\n [style.marginTop]=\"offsetY\"\n [ngClass]=\"drawerClasses\"\n [class.isOpen]=\"visible\"\n [ngStyle]=\"{\n transform: transform,\n width: width + 'px'\n }\"\n >\n <div class=\"aui-drawer__content\">\n <div class=\"aui-drawer__body-wrapper\">\n <div class=\"aui-drawer__header\">\n <div class=\"aui-drawer__title\">\n <ng-container\n *ngIf=\"!isTemplateRef(title || titleTemplate); else elseTemplate\"\n >\n {{ title }}\n </ng-container>\n <ng-template #elseTemplate>\n <ng-container\n *ngIf=\"title || titleTemplate\"\n [ngTemplateOutlet]=\"$any(title || titleTemplate)\"\n [ngTemplateOutletContext]=\"templateContext\"\n ></ng-container>\n </ng-template>\n </div>\n <aui-icon\n *ngIf=\"showClose\"\n class=\"aui-drawer__close\"\n icon=\"xmark\"\n (click)=\"dispose()\"\n ></aui-icon>\n </div>\n\n <div\n class=\"aui-drawer__body\"\n cdkScrollable\n >\n <ng-template cdkPortalOutlet></ng-template>\n <ng-container *ngIf=\"isTemplateRef(content || contentTemplate)\">\n <ng-container\n *ngTemplateOutlet=\"\n $any(content || contentTemplate);\n context: templateContext\n \"\n >\n </ng-container>\n </ng-container>\n </div>\n\n <div\n *ngIf=\"footer || footerTemplate\"\n class=\"aui-drawer__footer\"\n >\n <ng-container\n *ngIf=\"!isTemplateRef(footer || footerTemplate); else elseTemplate\"\n >\n {{ footer }}\n </ng-container>\n <ng-template #elseTemplate>\n <ng-container\n *ngIf=\"footer || footerTemplate\"\n [ngTemplateOutlet]=\"$any(footer || footerTemplate)\"\n [ngTemplateOutletContext]=\"templateContext\"\n ></ng-container>\n </ng-template>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [".aui-drawer-mask{position:absolute;top:0;left:0;width:100%;height:0}:root .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}html[aui-theme-mode=light] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer-mask.isOpen{height:100%}.aui-drawer{position:fixed;top:0;bottom:0;right:0;z-index:9999;transition:transform .3s,opacity .3s,box-shaow .3s;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal);color:rgb(var(--aui-color-main-text))}:root .aui-drawer.isOpen .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-drawer.isOpen .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer.isOpen .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer.isOpen .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer__content{background-color:rgb(var(--aui-color-n-10));position:absolute;height:100%;right:0;width:100%}.aui-drawer__header{padding:20px;display:flex;flex-shrink:0;justify-content:space-between}.aui-drawer__title{flex:1;font-size:var(--aui-font-size-xxl);line-height:var(--aui-line-height-xxl);font-weight:var(--aui-font-weight-bolder);color:rgb(var(--aui-color-main-text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-drawer__close{z-index:10;flex-shrink:0;margin-top:2px;margin-left:var(--aui-spacing-xl);display:flex;justify-content:center;align-items:center;width:24px;height:24px;font-size:var(--aui-icon-size-l);color:rgb(var(--aui-color-secondary-text));border-radius:var(--aui-border-radius-m);cursor:pointer}.aui-drawer__close:hover{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-drawer__close:active{color:rgb(var(--aui-color-p-0));background-color:rgb(var(--aui-color-p-5))}.aui-drawer__body-wrapper{width:100%;height:100%;display:flex;flex-flow:column nowrap;position:relative;z-index:1}.aui-drawer__body{padding:0 20px;overflow:hidden;overflow-y:auto;height:100%}.aui-drawer__footer{padding:20px}.aui-drawer.hasDivider .aui-drawer__header{padding-bottom:16px;border-bottom:1px solid rgb(var(--aui-color-n-8))}.aui-drawer.hasDivider .aui-drawer__body{padding:16px 20px}.aui-drawer.hasDivider .aui-drawer__footer{padding-top:16px;border-top:1px solid rgb(var(--aui-color-n-8))}\n"] }]
|
|
7014
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i1$2.Overlay }, { type: i0.Injector }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { title: [{
|
|
7138
|
+
args: [{
|
|
7139
|
+
selector: 'aui-drawer',
|
|
7140
|
+
template: '<ng-content></ng-content>',
|
|
7141
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
7142
|
+
standalone: true,
|
|
7143
|
+
providers: [DrawerService],
|
|
7144
|
+
}]
|
|
7145
|
+
}], ctorParameters: function () { return [{ type: DrawerService }]; }, propDecorators: { title: [{
|
|
7015
7146
|
type: Input
|
|
7016
7147
|
}], footer: [{
|
|
7017
7148
|
type: Input
|
|
@@ -7037,20 +7168,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
|
|
|
7037
7168
|
type: Input
|
|
7038
7169
|
}], width: [{
|
|
7039
7170
|
type: Input
|
|
7040
|
-
}],
|
|
7041
|
-
type:
|
|
7171
|
+
}], contentParams: [{
|
|
7172
|
+
type: Input
|
|
7042
7173
|
}], close: [{
|
|
7043
7174
|
type: Output
|
|
7044
|
-
}], drawerTemplate: [{
|
|
7045
|
-
type: ViewChild,
|
|
7046
|
-
args: ['drawerTemplate', { static: true }]
|
|
7047
|
-
}], bodyPortalOutlet: [{
|
|
7048
|
-
type: ViewChild,
|
|
7049
|
-
args: [CdkPortalOutlet, { static: false }]
|
|
7050
7175
|
}], titleTemplate: [{
|
|
7051
7176
|
type: ContentChild,
|
|
7052
7177
|
args: [DrawerHeaderDirective, { read: TemplateRef }]
|
|
7053
|
-
}],
|
|
7178
|
+
}], contentTemplateOrComponent: [{
|
|
7054
7179
|
type: ContentChild,
|
|
7055
7180
|
args: [DrawerContentDirective, { read: TemplateRef }]
|
|
7056
7181
|
}], footerTemplate: [{
|
|
@@ -7058,47 +7183,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
|
|
|
7058
7183
|
args: [DrawerFooterDirective, { read: TemplateRef }]
|
|
7059
7184
|
}] } });
|
|
7060
7185
|
|
|
7061
|
-
class DrawerService {
|
|
7062
|
-
overlay;
|
|
7063
|
-
drawerRef;
|
|
7064
|
-
overlayRef;
|
|
7065
|
-
unsubscribe$ = new Subject();
|
|
7066
|
-
constructor(overlay) {
|
|
7067
|
-
this.overlay = overlay;
|
|
7068
|
-
}
|
|
7069
|
-
open(options) {
|
|
7070
|
-
this.drawerRef?.instance?.dispose();
|
|
7071
|
-
this.createDrawer();
|
|
7072
|
-
this.updateOptions(options);
|
|
7073
|
-
return this.drawerRef?.instance;
|
|
7074
|
-
}
|
|
7075
|
-
updateOptions(options) {
|
|
7076
|
-
Object.assign(this.drawerRef.instance, options);
|
|
7077
|
-
}
|
|
7078
|
-
createDrawer() {
|
|
7079
|
-
this.overlayRef = this.overlay.create();
|
|
7080
|
-
this.drawerRef = this.overlayRef.attach(new ComponentPortal(DrawerComponent));
|
|
7081
|
-
this.drawerRef.instance.drawerViewInit
|
|
7082
|
-
.pipe(takeUntil(this.unsubscribe$))
|
|
7083
|
-
.subscribe(() => {
|
|
7084
|
-
this.drawerRef.instance.open();
|
|
7085
|
-
});
|
|
7086
|
-
this.drawerRef.instance.afterClosed
|
|
7087
|
-
.pipe(takeUntil(this.unsubscribe$))
|
|
7088
|
-
.subscribe(() => {
|
|
7089
|
-
this.overlayRef.dispose();
|
|
7090
|
-
this.drawerRef = null;
|
|
7091
|
-
this.unsubscribe$.next();
|
|
7092
|
-
this.unsubscribe$.complete();
|
|
7093
|
-
});
|
|
7094
|
-
}
|
|
7095
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerService, deps: [{ token: i1$2.Overlay }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
7096
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerService });
|
|
7097
|
-
}
|
|
7098
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerService, decorators: [{
|
|
7099
|
-
type: Injectable
|
|
7100
|
-
}], ctorParameters: function () { return [{ type: i1$2.Overlay }]; } });
|
|
7101
|
-
|
|
7102
7186
|
const COMMON = [
|
|
7103
7187
|
DrawerComponent,
|
|
7104
7188
|
DrawerHeaderDirective,
|
|
@@ -7114,7 +7198,7 @@ class DrawerModule {
|
|
|
7114
7198
|
DrawerHeaderDirective,
|
|
7115
7199
|
DrawerContentDirective,
|
|
7116
7200
|
DrawerFooterDirective] });
|
|
7117
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerModule, providers: [DrawerService], imports: [CommonModule, IconModule, OverlayModule, PortalModule
|
|
7201
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerModule, providers: [DrawerService], imports: [CommonModule, IconModule, OverlayModule, PortalModule] });
|
|
7118
7202
|
}
|
|
7119
7203
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerModule, decorators: [{
|
|
7120
7204
|
type: NgModule,
|
|
@@ -12354,5 +12438,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
|
|
|
12354
12438
|
}]
|
|
12355
12439
|
}] });
|
|
12356
12440
|
|
|
12357
|
-
export { ACCORDION_MODULE, ANCHOR_MODULE, AUTOCOMPLETE_MODULE, AccordionComponent, AccordionItemComponent, AccordionItemContentDirective, AccordionItemHeaderDirective, AccordionModule, AnchorComponent, AnchorDirective, AnchorDirectiveChild, AnchorLabelDirective, AnchorModule, AnchorTreeComponent, AuiSelectValidators, AutoCompleteDirective, AutocompleteComponent, AutocompleteModule, AutocompletePlaceholderComponent, AutosizeDirective, BREADCRUMB_MODULE, BackTopComponent, BackTopModule, BaseDialogConfig, BaseTooltip, Bem, BreadcrumbComponent, BreadcrumbItemComponent, BreadcrumbModule, ButtonComponent, ButtonGroupComponent, ButtonModule, ButtonType, CARD_MODULE, CHECKBOX_MODULE, CONTROL_ITEM_HEIGHT, CalendarFooterComponent, CalendarHeaderComponent, CardComponent, CardFooterDirective, CardHeaderDirective, CardModule, CheckTagComponent, CheckboxComponent, CheckboxGroupComponent, CheckboxModule, ColorPickerComponent, ColorPickerModule, CommonFormControl, ComponentSize, ConfirmDialogConfig, ConfirmType, CssVarPipe, CustomAutoCompleteDirective,
|
|
12441
|
+
export { ACCORDION_MODULE, ANCHOR_MODULE, AUTOCOMPLETE_MODULE, AccordionComponent, AccordionItemComponent, AccordionItemContentDirective, AccordionItemHeaderDirective, AccordionModule, AnchorComponent, AnchorDirective, AnchorDirectiveChild, AnchorLabelDirective, AnchorModule, AnchorTreeComponent, AuiSelectValidators, AutoCompleteDirective, AutocompleteComponent, AutocompleteModule, AutocompletePlaceholderComponent, AutosizeDirective, BREADCRUMB_MODULE, BackTopComponent, BackTopModule, BaseDialogConfig, BaseTooltip, Bem, BreadcrumbComponent, BreadcrumbItemComponent, BreadcrumbModule, ButtonComponent, ButtonGroupComponent, ButtonModule, ButtonType, CARD_MODULE, CHECKBOX_MODULE, CONTROL_ITEM_HEIGHT, CalendarFooterComponent, CalendarHeaderComponent, CardComponent, CardFooterDirective, CardHeaderDirective, CardModule, CheckTagComponent, CheckboxComponent, CheckboxGroupComponent, CheckboxModule, ColorPickerComponent, ColorPickerModule, CommonFormControl, ComponentSize, ConfirmDialogConfig, ConfirmType, CssVarPipe, CustomAutoCompleteDirective, DATE, DATE_NAV_RANGES, DATE_TYPES, DAY, DAY_PANEL_COLUMN_COUNT, DAY_PANEL_ROW_COUNT, DIALOG_DATA, DISPLAY_DELAY, DateNavRange, DatePickerComponent, DatePickerModule, DatePickerPanelComponent, DatePickerTriggerComponent, DatePickerType, DateRangePickerPanelComponent, DialogCloseDirective, DialogComponent, DialogConfig, DialogContentComponent, DialogFooterComponent, DialogHeaderComponent, DialogModule, DialogRef, DialogService, DialogSize, DrawerComponent, DrawerContentDirective, DrawerFooterDirective, DrawerHeaderDirective, DrawerModule, DrawerRef, DrawerService, DrawerSize, DropdownActiveDirective, DropdownButtonComponent, DropdownDirective, DropdownModule, FORM_MODULE, FixedSizeTableVirtualScrollDirective, FixedSizeTableVirtualScrollStrategy, FixedSizeVirtualScrollDirective, FormDirective, FormItemAddonDirective, FormItemComponent, FormItemControlDirective, FormItemErrorDirective, FormItemHintDirective, FormItemLabelDirective, FormItemWidth, FormModule, HIDDEN_DELAY, HOUR, HOUR_ITEMS, I18NInterfaceToken, I18nModule, I18nPipe, I18nService, INLINE_ALERT_MODULE, INPUT_ERROR_KEY, INPUT_GROUP_MODULE, IconComponent, IconModule, IconRegisterService, IncludesDirective, InlineAlertComponent, InlineAlertModule, InlineAlertTitleDirective, InlineAlertType, InputAddonAfterDirective, InputAddonBeforeDirective, InputComponent, InputGroupComponent, InputModule, InputPrefixDirective, InputSuffixDirective, LabelPosition, MESSAGE_CONFIG, MESSAGE_DEFAULT_CONFIG, MINUTE, MINUTE_ITEMS, MONTH, MONTH_PANEL_COLUMN_COUNT, MONTH_PANEL_ROW_COUNT, MenuComponent, MenuGroupComponent, MenuGroupTitleDirective, MenuItemComponent, MenuItemType, MessageConfig, MessageModule, MessageService, MessageType, MultiSelectComponent, NOTIFICATION_CONFIG, NOTIFICATION_DEFAULT_CONFIG, NUMBER_INPUT_MODULE, NotificationComponent, NotificationModule, NotificationService, NumberInputComponent, OptionComponent, OptionContentDirective, OptionGroupComponent, OptionGroupTitleDirective, OptionPlaceholderComponent, PaginatorComponent, PaginatorIntl, PaginatorModule, PickerPanelComponent, RadioButtonComponent, RadioComponent, RadioGroupComponent, RadioModule, RadioSize, RangePickerComponent, RgbColorPipe, RgbaColorPipe, SECOND, SECOND_ITEMS, SELECT_MODULE, SORT_MODULE, ScrollingModule, SearchComponent, SectionComponent, SectionTitleDirective, SelectAllStatus, SelectComponent, SelectModule, Side, SortDirective, SortHeaderComponent, SortModule, StatusBarComponent, StatusBarModule, StatusBarSize, StatusType, StepState, StepsComponent, StepsModule, SubmenuComponent, SuggestionComponent, SuggestionGroupComponent, SuggestionGroupTitleDirective, SwitchComponent, SwitchModule, TABLE_MODULE, TABLE_OF_CONTENTS_MODULE, TABS_MODULE, TabBodyComponent, TabBodyPortalDirective, TabChangeEvent, TabComponent, TabContentDirective, TabContextService, TabGroupComponent, TabHeaderActiveIndicatorComponent, TabHeaderAddonDirective, TabHeaderComponent, TabLabelDirective, TabLabelWrapperDirective, TabSize, TabTitleDirective, TabType, TableCellDefDirective, TableCellDirective, TableColumnDefDirective, TableComponent, TableExpandButtonCellComponent, TableExpandPanelCellComponent, TableHeaderCellDefDirective, TableHeaderCellDirective, TableHeaderRowComponent, TableHeaderRowDefDirective, TableModule, TableOfContentsModule, TablePlaceholderDefDirective, TablePlaceholderOutletDirective, TableRowComponent, TableRowDefDirective, TableScrollWrapperDirective, TableScrollableDirective, TabsModule, TagComponent, TagModule, TagType, TagsInputComponent, ThemeModule, ThemePickerPipe, ThemeService, TimePickerComponent, TimePickerControlType, TimePickerModule, TimePickerPanelComponent, TocContainerDirective, TocContentDirective, TocLinkDirective, TooltipActiveDirective, TooltipComponent, TooltipCopyDirective, TooltipCopyIntl, TooltipDirective, TooltipModule, TooltipTrigger, TooltipType, TreeNodeComponent, TreeNodePlaceholderComponent, TreeSelectComponent, TreeSelectModule, VirtualForOfDirective, VirtualScrollViewportComponent, YEAR, YEAR_PANEL_COLUMN_COUNT, YEAR_PANEL_ROW_COUNT, _tableVirtualScrollDirectiveStrategyFactory, buildBem, coerceAttrBoolean, coerceString, cssVar, en, getAnchorTreeItems, getElementOffset, getSortDuplicateSortableIdError, getSortHeaderMissingIdError, getSortHeaderNotContainedWithinSortError, getSortInvalidDirectionError, handlePixel, isNumberValue, isString, isTemplateRef, isTimePickerModel, last, observeMutationOn, observeResizeOn, publishRef, rgbColor, rgbaColor, scrollIntoView, sleep, watchContentExist, zh };
|
|
12358
12442
|
//# sourceMappingURL=alauda-ui.mjs.map
|