@alauda/ui 7.2.1-beta.0 → 7.2.1-beta.10

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.
@@ -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, forwardRef, InjectionToken, isDevMode, numberAttribute, Injector, Type, ViewContainerRef, ViewChildren } 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, 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';
@@ -20,6 +20,7 @@ import { ControlContainer, NgControl, NG_VALUE_ACCESSOR, FormsModule, Validators
20
20
  import dayjs from 'dayjs';
21
21
  import customParseFormat from 'dayjs/plugin/customParseFormat';
22
22
  import isBetween from 'dayjs/plugin/isBetween';
23
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
23
24
  import * as i2$2 from '@angular/cdk/bidi';
24
25
  import * as i1$5 from '@angular/cdk/table';
25
26
  import { CdkTable, CDK_TABLE, _COALESCED_STYLE_SCHEDULER, _CoalescedStyleScheduler, CdkTableModule, CDK_TABLE_TEMPLATE, CdkCellDef, CdkCell, CdkColumnDef, CdkHeaderCellDef, CdkHeaderCell, CdkHeaderRowDef, CdkHeaderRow, CDK_ROW_TEMPLATE, CdkRowDef, CdkRow } from '@angular/cdk/table';
@@ -1221,13 +1222,16 @@ class SuggestionComponent {
1221
1222
  this.focused = false;
1222
1223
  this.cdr.markForCheck();
1223
1224
  }
1224
- 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 });
1225
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 });
1226
1227
  }
1227
1228
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: SuggestionComponent, decorators: [{
1228
1229
  type: Component,
1229
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"] }]
1230
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: AutocompleteComponent }]; }, propDecorators: { value: [{
1231
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: AutocompleteComponent, decorators: [{
1232
+ type: Inject,
1233
+ args: [forwardRef(() => AutocompleteComponent)]
1234
+ }] }]; }, propDecorators: { value: [{
1231
1235
  type: Input
1232
1236
  }], disabled: [{
1233
1237
  type: Input,
@@ -1302,10 +1306,10 @@ var TimingFunction;
1302
1306
  TimingFunction["easeInOut"] = "cubic-bezier(0.38, 0, 0.24, 1)";
1303
1307
  })(TimingFunction || (TimingFunction = {}));
1304
1308
 
1305
- const duration = '160ms';
1309
+ const duration$1 = '160ms';
1306
1310
  const scale = [
1307
1311
  transition('scale-hide => scale-show, void => scale-show', [
1308
- animate(`${duration} ${TimingFunction.easeOut}`, keyframes([
1312
+ animate(`${duration$1} ${TimingFunction.easeOut}`, keyframes([
1309
1313
  style({
1310
1314
  opacity: 0,
1311
1315
  transform: 'scale(0)',
@@ -1317,7 +1321,7 @@ const scale = [
1317
1321
  ])),
1318
1322
  ]),
1319
1323
  transition('scale-show => scale-hide, scale-show => void', [
1320
- animate(`${duration} ${TimingFunction.easeInOut}`, keyframes([
1324
+ animate(`${duration$1} ${TimingFunction.easeInOut}`, keyframes([
1321
1325
  style({
1322
1326
  opacity: 1,
1323
1327
  transform: 'scale(1)',
@@ -1331,7 +1335,7 @@ const scale = [
1331
1335
  ];
1332
1336
  const scaleY = [
1333
1337
  transition('scaleY-hide => scaleY-show, void => scaleY-show', [
1334
- animate(`${duration} ${TimingFunction.easeOut}`, keyframes([
1338
+ animate(`${duration$1} ${TimingFunction.easeOut}`, keyframes([
1335
1339
  style({
1336
1340
  opacity: 0,
1337
1341
  transform: 'scaleY(0)',
@@ -1343,7 +1347,7 @@ const scaleY = [
1343
1347
  ])),
1344
1348
  ]),
1345
1349
  transition('scaleY-show => scaleY-hide, scaleY-show => void', [
1346
- animate(`${duration} ${TimingFunction.easeInOut}`, keyframes([
1350
+ animate(`${duration$1} ${TimingFunction.easeInOut}`, keyframes([
1347
1351
  style({
1348
1352
  opacity: 1,
1349
1353
  transform: 'scaleY(1)',
@@ -6245,6 +6249,11 @@ class DialogComponent {
6245
6249
  constructor(elementRef, render) {
6246
6250
  this.elementRef = elementRef;
6247
6251
  this.render = render;
6252
+ fromEvent(window, 'resize')
6253
+ .pipe(debounceTime(100), filter(() => document.documentElement.scrollHeight > window.innerHeight), takeUntilDestroyed())
6254
+ .subscribe(() => {
6255
+ this.overlayRef?.getConfig().scrollStrategy.enable();
6256
+ });
6248
6257
  }
6249
6258
  attachComponentPortal(portal) {
6250
6259
  if (this.portalOutlet.hasAttached()) {
@@ -6763,9 +6772,287 @@ var DrawerSize;
6763
6772
  DrawerSize["Medium"] = "medium";
6764
6773
  DrawerSize["Big"] = "big";
6765
6774
  })(DrawerSize || (DrawerSize = {}));
6775
+
6776
+ const DATA = new InjectionToken('drawer-data');
6777
+ const SIZE_MAPPER = {
6778
+ [DrawerSize.Small]: 400,
6779
+ [DrawerSize.Medium]: 600,
6780
+ [DrawerSize.Big]: 800,
6781
+ };
6782
+ const DRAWER_OVERLAY_BACKDROP_CLASS = 'aui-drawer-mask';
6783
+ const duration = '300ms';
6784
+ class DrawerInternalComponent {
6785
+ cdr;
6786
+ injector;
6787
+ bodyPortalOutlet;
6788
+ mask;
6789
+ animationStep$ = new Subject();
6790
+ options;
6791
+ showHide = 'hide';
6792
+ maskVisible;
6793
+ get drawerClasses() {
6794
+ return {
6795
+ 'aui-drawer': true,
6796
+ hasDivider: this.options.divider,
6797
+ ...(this.options.drawerClass
6798
+ ? { [this.options.drawerClass]: true }
6799
+ : null),
6800
+ };
6801
+ }
6802
+ get width() {
6803
+ return (this.options.width || SIZE_MAPPER[this.options.size || DrawerSize.Medium]);
6804
+ }
6805
+ isTemplateRef = isTemplateRef;
6806
+ constructor(cdr, injector) {
6807
+ this.cdr = cdr;
6808
+ this.injector = injector;
6809
+ }
6810
+ ngAfterViewInit() {
6811
+ this.attachBodyContent();
6812
+ }
6813
+ attachBodyContent() {
6814
+ this.bodyPortalOutlet?.dispose();
6815
+ const content = this.options.content;
6816
+ if (content instanceof Type) {
6817
+ const componentPortal = new ComponentPortal(content, null, Injector.create({
6818
+ providers: [
6819
+ {
6820
+ provide: DATA,
6821
+ useValue: this.options.contentParams,
6822
+ },
6823
+ ],
6824
+ parent: this.injector,
6825
+ }));
6826
+ const componentRef = this.bodyPortalOutlet?.attachComponentPortal(componentPortal);
6827
+ Object.assign(componentRef.instance, this.options.contentParams);
6828
+ componentRef.changeDetectorRef.detectChanges();
6829
+ }
6830
+ }
6831
+ onAnimation(event) {
6832
+ const { phaseName, toState } = event;
6833
+ if (['show', 'hide'].includes(toState)) {
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
+ const enters = [
6842
+ `${DRAWER_OVERLAY_BACKDROP_CLASS}-enter`,
6843
+ `${DRAWER_OVERLAY_BACKDROP_CLASS}-enter-active`,
6844
+ ];
6845
+ const leaves = [
6846
+ `${DRAWER_OVERLAY_BACKDROP_CLASS}-leave`,
6847
+ `${DRAWER_OVERLAY_BACKDROP_CLASS}-leave-active`,
6848
+ ];
6849
+ if (step === 'showStart') {
6850
+ this.maskVisible = true;
6851
+ backdropElement.classList.add(...enters);
6852
+ }
6853
+ if (step === 'hideStart') {
6854
+ backdropElement.classList.add(...leaves);
6855
+ }
6856
+ if (step === 'hideDone') {
6857
+ this.maskVisible = false;
6858
+ }
6859
+ if (['showDone', 'hideDone'].includes(step)) {
6860
+ backdropElement.classList.remove(...enters, ...leaves);
6861
+ }
6862
+ this.cdr.markForCheck();
6863
+ }
6864
+ }
6865
+ }
6866
+ show() {
6867
+ this.showHide = 'show';
6868
+ this.cdr.markForCheck();
6869
+ }
6870
+ hide() {
6871
+ this.showHide = 'hide';
6872
+ this.cdr.markForCheck();
6873
+ }
6874
+ maskClick() {
6875
+ if (this.options.maskClosable) {
6876
+ this.hide();
6877
+ }
6878
+ }
6879
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerInternalComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
6880
+ 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\"\n (click)=\"maskClick()\"\n></div>\n<div\n [style.marginTop]=\"options.offsetY\"\n [ngClass]=\"drawerClasses\"\n [@showHide]=\"showHide\"\n (@showHide.start)=\"onAnimation($event)\"\n (@showHide.done)=\"onAnimation($event)\"\n [ngStyle]=\"{\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(options.title); else elseTemplate\"\n >\n {{ options.title }}\n </ng-container>\n <ng-template #elseTemplate>\n <ng-container\n *ngIf=\"options.title\"\n [ngTemplateOutlet]=\"$any(options.title)\"\n [ngTemplateOutletContext]=\"{ $implicit: options.contentParams }\"\n ></ng-container>\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 *ngIf=\"isTemplateRef(options.content)\">\n <ng-container\n *ngTemplateOutlet=\"\n $any(options.content);\n context: { $implicit: options.contentParams }\n \"\n >\n </ng-container>\n </ng-container>\n </div>\n\n <div\n *ngIf=\"options.footer\"\n class=\"aui-drawer__footer\"\n >\n <ng-container *ngIf=\"!isTemplateRef(options.footer); else elseTemplate\">\n {{ options.footer }}\n </ng-container>\n <ng-template #elseTemplate>\n <ng-container\n *ngIf=\"options.footer\"\n [ngTemplateOutlet]=\"$any(options.footer)\"\n [ngTemplateOutletContext]=\"{ $implicit: options.contentParams }\"\n ></ng-container>\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: 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"] }], animations: [
6881
+ trigger('showHide', [
6882
+ state('show', style({
6883
+ opacity: 1,
6884
+ transform: 'translateX(0)',
6885
+ })),
6886
+ state('hide, void', style({
6887
+ opacity: 0,
6888
+ transform: 'translateX(100%)',
6889
+ })),
6890
+ transition('hide => show, void => show', [
6891
+ animate(`${duration} ${TimingFunction.easeOut}`),
6892
+ ]),
6893
+ transition('show => hide, show => void', [
6894
+ animate(`${duration} ${TimingFunction.easeInOut}`),
6895
+ ]),
6896
+ ]),
6897
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
6898
+ }
6899
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerInternalComponent, decorators: [{
6900
+ type: Component,
6901
+ args: [{ encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
6902
+ NgIf,
6903
+ NgClass,
6904
+ NgStyle,
6905
+ NgTemplateOutlet,
6906
+ IconComponent,
6907
+ CdkScrollable$1,
6908
+ PortalModule,
6909
+ ], animations: [
6910
+ trigger('showHide', [
6911
+ state('show', style({
6912
+ opacity: 1,
6913
+ transform: 'translateX(0)',
6914
+ })),
6915
+ state('hide, void', style({
6916
+ opacity: 0,
6917
+ transform: 'translateX(100%)',
6918
+ })),
6919
+ transition('hide => show, void => show', [
6920
+ animate(`${duration} ${TimingFunction.easeOut}`),
6921
+ ]),
6922
+ transition('show => hide, show => void', [
6923
+ animate(`${duration} ${TimingFunction.easeInOut}`),
6924
+ ]),
6925
+ ]),
6926
+ ], template: "<div\n #mask\n class=\"aui-drawer-mask\"\n *ngIf=\"options.mask\"\n [class.isOpen]=\"maskVisible\"\n (click)=\"maskClick()\"\n></div>\n<div\n [style.marginTop]=\"options.offsetY\"\n [ngClass]=\"drawerClasses\"\n [@showHide]=\"showHide\"\n (@showHide.start)=\"onAnimation($event)\"\n (@showHide.done)=\"onAnimation($event)\"\n [ngStyle]=\"{\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(options.title); else elseTemplate\"\n >\n {{ options.title }}\n </ng-container>\n <ng-template #elseTemplate>\n <ng-container\n *ngIf=\"options.title\"\n [ngTemplateOutlet]=\"$any(options.title)\"\n [ngTemplateOutletContext]=\"{ $implicit: options.contentParams }\"\n ></ng-container>\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 *ngIf=\"isTemplateRef(options.content)\">\n <ng-container\n *ngTemplateOutlet=\"\n $any(options.content);\n context: { $implicit: options.contentParams }\n \"\n >\n </ng-container>\n </ng-container>\n </div>\n\n <div\n *ngIf=\"options.footer\"\n class=\"aui-drawer__footer\"\n >\n <ng-container *ngIf=\"!isTemplateRef(options.footer); else elseTemplate\">\n {{ options.footer }}\n </ng-container>\n <ng-template #elseTemplate>\n <ng-container\n *ngIf=\"options.footer\"\n [ngTemplateOutlet]=\"$any(options.footer)\"\n [ngTemplateOutletContext]=\"{ $implicit: options.contentParams }\"\n ></ng-container>\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"] }]
6927
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.Injector }]; }, propDecorators: { bodyPortalOutlet: [{
6928
+ type: ViewChild,
6929
+ args: [CdkPortalOutlet, { static: false }]
6930
+ }], mask: [{
6931
+ type: ViewChild,
6932
+ args: ['mask']
6933
+ }] } });
6934
+
6766
6935
  class DrawerRef {
6936
+ drawerInstance;
6937
+ result;
6938
+ afterOpen$ = new Subject();
6939
+ afterClosed$ = new Subject();
6940
+ get afterOpen() {
6941
+ return this.afterOpen$.asObservable();
6942
+ }
6943
+ get afterClosed() {
6944
+ return this.afterClosed$.asObservable();
6945
+ }
6946
+ constructor(drawerInstance) {
6947
+ this.drawerInstance = drawerInstance;
6948
+ this.drawerInstance.animationStep$
6949
+ .pipe(filter(step => step === 'hideDone'))
6950
+ .subscribe(() => {
6951
+ this.afterClosed$.next(this.result);
6952
+ this.afterClosed$.complete();
6953
+ });
6954
+ }
6955
+ open() {
6956
+ this.drawerInstance.show();
6957
+ }
6958
+ close(result = null) {
6959
+ this.result = result;
6960
+ this.drawerInstance.hide();
6961
+ }
6767
6962
  }
6768
6963
 
6964
+ const DRAWER_OVERLAY_CLASS = 'aui-drawer-overlay';
6965
+ class DrawerService {
6966
+ overlay;
6967
+ overlayRef;
6968
+ options;
6969
+ onDestroy$ = new Subject();
6970
+ drawerRef;
6971
+ invisible$ = new Subject();
6972
+ drawerCpt;
6973
+ constructor(overlay) {
6974
+ this.overlay = overlay;
6975
+ }
6976
+ open(options) {
6977
+ this.updateOptions(options);
6978
+ this.createOverlay();
6979
+ this.createDrawer();
6980
+ this.drawerRef = new DrawerRef(this.drawerCpt.instance);
6981
+ this.drawerRef.open();
6982
+ return this.drawerRef;
6983
+ }
6984
+ updateOptions(options) {
6985
+ this.options = options;
6986
+ }
6987
+ createOverlay() {
6988
+ if (!this.overlayRef) {
6989
+ this.overlayRef = this.overlay.create(this.getOverlayConfig());
6990
+ }
6991
+ this.overlayRef
6992
+ .outsidePointerEvents()
6993
+ .pipe(takeUntil(this.invisible$))
6994
+ .subscribe(event => {
6995
+ if (this.overlayRef &&
6996
+ this.options.hideOnClickOutside &&
6997
+ event.target instanceof Node &&
6998
+ !this.overlayRef.hostElement?.parentNode?.contains(event.target)) {
6999
+ event.stopPropagation();
7000
+ event.preventDefault();
7001
+ this.drawerRef.close();
7002
+ }
7003
+ });
7004
+ this.overlayRef.getConfig().scrollStrategy.enable();
7005
+ if (this.options.mask) {
7006
+ fromEvent(window, 'resize')
7007
+ .pipe(debounceTime(100), filter(() => document.documentElement.scrollHeight > window.innerHeight), takeUntil(this.invisible$))
7008
+ .subscribe(() => {
7009
+ this.overlayRef.getConfig().scrollStrategy.enable();
7010
+ });
7011
+ }
7012
+ }
7013
+ createDrawer() {
7014
+ if (this.drawerCpt) {
7015
+ return;
7016
+ }
7017
+ const drawerCpt = this.overlayRef.attach(new ComponentPortal(DrawerInternalComponent));
7018
+ drawerCpt.instance.options = this.options;
7019
+ drawerCpt.instance.animationStep$.subscribe(step => {
7020
+ if (step === 'hideDone') {
7021
+ this.invisible$.next(null);
7022
+ this.overlayRef?.getConfig().scrollStrategy.disable();
7023
+ }
7024
+ });
7025
+ this.drawerCpt = drawerCpt;
7026
+ }
7027
+ getOverlayConfig() {
7028
+ return new OverlayConfig({
7029
+ panelClass: DRAWER_OVERLAY_CLASS,
7030
+ positionStrategy: this.overlay.position().global(),
7031
+ scrollStrategy: this.options.mask
7032
+ ? this.overlay.scrollStrategies.block()
7033
+ : this.overlay.scrollStrategies.noop(),
7034
+ });
7035
+ }
7036
+ disposeOverlay() {
7037
+ this.onDestroy$.next();
7038
+ this.onDestroy$.complete();
7039
+ this.invisible$.next(null);
7040
+ if (this.overlayRef) {
7041
+ this.overlayRef.getConfig().scrollStrategy.disable();
7042
+ this.overlayRef.dispose();
7043
+ }
7044
+ this.overlayRef = null;
7045
+ }
7046
+ ngOnDestroy() {
7047
+ this.disposeOverlay();
7048
+ }
7049
+ 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 });
7050
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerService });
7051
+ }
7052
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerService, decorators: [{
7053
+ type: Injectable
7054
+ }], ctorParameters: function () { return [{ type: i1$2.Overlay }]; } });
7055
+
6769
7056
  class DrawerHeaderDirective {
6770
7057
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6771
7058
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: DrawerHeaderDirective, isStandalone: true, selector: "[auiDrawerHeader]", ngImport: i0 });
@@ -6800,18 +7087,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
6800
7087
  }]
6801
7088
  }] });
6802
7089
 
6803
- const DATA = new InjectionToken('drawer-data');
6804
- const DRAWER_OVERLAY_CLASS = 'aui-drawer-overlay';
6805
- const SIZE_MAPPER = {
6806
- [DrawerSize.Small]: 400,
6807
- [DrawerSize.Medium]: 600,
6808
- [DrawerSize.Big]: 800,
6809
- };
6810
- class DrawerComponent extends DrawerRef {
6811
- viewContainerRef;
6812
- overlay;
6813
- injector;
6814
- cdr;
7090
+ class DrawerComponent {
7091
+ drawerService;
6815
7092
  title;
6816
7093
  footer;
6817
7094
  size = DrawerSize.Medium;
@@ -6824,188 +7101,48 @@ class DrawerComponent extends DrawerRef {
6824
7101
  mask;
6825
7102
  maskClosable;
6826
7103
  divider = true;
6827
- _value = SIZE_MAPPER[DrawerSize.Medium];
6828
- set width(value) {
6829
- this._value = value;
6830
- }
6831
- get width() {
6832
- return this._value;
6833
- }
6834
- get drawerClasses() {
6835
- return {
6836
- 'aui-drawer': true,
6837
- hasDivider: this.divider,
6838
- ...(this.drawerClass ? { [this.drawerClass]: true } : null),
6839
- };
6840
- }
6841
- afterClosed$ = new Subject();
6842
- get afterClosed() {
6843
- return this.afterClosed$.asObservable();
6844
- }
6845
- afterOpen$ = new Subject();
6846
- get afterOpen() {
6847
- return this.afterOpen$.asObservable();
6848
- }
6849
- drawerViewInit = new EventEmitter();
7104
+ width;
6850
7105
  close = new EventEmitter();
6851
- drawerTemplate;
6852
- bodyPortalOutlet;
6853
7106
  titleTemplate;
6854
- contentTemplate;
7107
+ contentTemplateOrComponent;
6855
7108
  footerTemplate;
6856
- onDestroy$ = new Subject();
6857
- isTemplateRef = isTemplateRef;
6858
- componentInstance = null;
6859
- contentParams;
6860
- overlayRef;
6861
- portal;
6862
- templateContext = {};
6863
- get transform() {
6864
- return `translateX(${this.visible ? 0 : '100%'})`;
6865
- }
6866
- constructor(viewContainerRef, overlay, injector, cdr) {
6867
- super();
6868
- this.viewContainerRef = viewContainerRef;
6869
- this.overlay = overlay;
6870
- this.injector = injector;
6871
- this.cdr = cdr;
6872
- }
6873
- ngOnInit() {
6874
- this.attachOverlay();
6875
- this.updateBodyOverflow();
6876
- this.templateContext = { $implicit: this.contentParams };
6877
- if (this.mask) {
6878
- fromEvent(window, 'resize')
6879
- .pipe(debounceTime(100), filter(() => document.documentElement.scrollHeight > window.innerHeight), takeUntil(this.onDestroy$))
6880
- .subscribe(() => {
6881
- this.overlayRef.getConfig().scrollStrategy.enable();
6882
- });
6883
- }
6884
- this.cdr.detectChanges();
7109
+ drawerRef;
7110
+ constructor(drawerService) {
7111
+ this.drawerService = drawerService;
6885
7112
  }
6886
7113
  ngOnChanges(changes) {
6887
7114
  const { visible } = changes;
6888
7115
  if (visible) {
6889
7116
  const value = visible.currentValue;
6890
7117
  if (value) {
6891
- this.open();
7118
+ this.drawerRef = this.drawerService.open(this);
7119
+ this.drawerRef.afterClosed.pipe(first()).subscribe(res => {
7120
+ this.close.emit(res);
7121
+ });
6892
7122
  }
6893
7123
  else if (!visible.firstChange) {
6894
- this.dispose();
7124
+ this.drawerRef.close();
6895
7125
  }
6896
7126
  }
6897
7127
  }
6898
7128
  ngAfterViewInit() {
6899
- this.attachBodyContent();
6900
- setTimeout(() => {
6901
- this.drawerViewInit.emit();
6902
- }, 0);
6903
- }
6904
- attachOverlay() {
6905
- if (!this.overlayRef) {
6906
- this.portal = new TemplatePortal(this.drawerTemplate, this.viewContainerRef);
6907
- this.overlayRef = this.overlay.create(this.getOverlayConfig());
6908
- }
6909
- if (this.overlayRef) {
6910
- this.overlayRef.attach(this.portal);
6911
- this.overlayRef
6912
- .outsidePointerEvents()
6913
- .pipe(takeUntil(this.onDestroy$))
6914
- .subscribe(event => {
6915
- if (this.visible &&
6916
- this.hideOnClickOutside &&
6917
- event.target instanceof Node &&
6918
- !this.overlayRef.hostElement?.parentNode?.contains(event.target)) {
6919
- event.stopPropagation();
6920
- event.preventDefault();
6921
- this.dispose();
6922
- }
6923
- });
6924
- }
6925
- }
6926
- getOverlayConfig() {
6927
- return new OverlayConfig({
6928
- panelClass: DRAWER_OVERLAY_CLASS,
6929
- positionStrategy: this.overlay.position().global(),
6930
- scrollStrategy: this.mask
6931
- ? this.overlay.scrollStrategies.block()
6932
- : this.overlay.scrollStrategies.noop(),
6933
- });
6934
- }
6935
- attachBodyContent() {
6936
- this.bodyPortalOutlet?.dispose();
6937
- const content = this.content || this.contentTemplate;
6938
- if (content instanceof Type) {
6939
- const componentPortal = new ComponentPortal(content, null, Injector.create({
6940
- providers: [
6941
- {
6942
- provide: DATA,
6943
- useValue: this.contentParams,
6944
- },
6945
- ],
6946
- parent: this.injector,
6947
- }));
6948
- const componentRef = this.bodyPortalOutlet?.attachComponentPortal(componentPortal);
6949
- this.componentInstance = componentRef.instance;
6950
- Object.assign(componentRef.instance, this.contentParams);
6951
- componentRef.changeDetectorRef.detectChanges();
6952
- }
6953
- }
6954
- updateBodyOverflow() {
6955
- if (this.overlayRef) {
6956
- if (this.visible) {
6957
- this.overlayRef.getConfig().scrollStrategy.enable();
6958
- }
6959
- else {
6960
- this.overlayRef.getConfig().scrollStrategy.disable();
6961
- }
6962
- }
6963
- }
6964
- open() {
6965
- this.visible = true;
6966
- this.afterOpen$.next();
6967
- this.afterOpen$.complete();
6968
- this.updateBodyOverflow();
6969
- this.cdr.markForCheck();
6970
- }
6971
- dispose(result = null) {
6972
- this.visible = false;
6973
- this.close.emit();
6974
- this.afterClosed$.next(result);
6975
- this.afterClosed$.complete();
6976
- this.updateBodyOverflow();
6977
- this.cdr.markForCheck();
7129
+ this.title = this.title || this.titleTemplate;
7130
+ this.content = this.content || this.contentTemplateOrComponent;
7131
+ this.footer = this.footer || this.footerTemplate;
6978
7132
  }
6979
- disposeOverlay() {
6980
- if (this.overlayRef) {
6981
- this.overlayRef.dispose();
6982
- }
6983
- this.overlayRef = null;
6984
- }
6985
- maskClick() {
6986
- if (this.maskClosable && this.mask) {
6987
- this.dispose();
6988
- }
6989
- }
6990
- ngOnDestroy() {
6991
- this.onDestroy$.next();
6992
- this.disposeOverlay();
6993
- }
6994
- 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 });
6995
- 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" }, 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 });
6996
7135
  }
6997
7136
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerComponent, decorators: [{
6998
7137
  type: Component,
6999
- args: [{ selector: 'aui-drawer', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
7000
- NgIf,
7001
- NgClass,
7002
- NgStyle,
7003
- NgTemplateOutlet,
7004
- IconComponent,
7005
- CdkScrollable$1,
7006
- PortalModule,
7007
- ], 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"] }]
7008
- }], 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: [{
7009
7146
  type: Input
7010
7147
  }], footer: [{
7011
7148
  type: Input
@@ -7031,20 +7168,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
7031
7168
  type: Input
7032
7169
  }], width: [{
7033
7170
  type: Input
7034
- }], drawerViewInit: [{
7035
- type: Output
7036
7171
  }], close: [{
7037
7172
  type: Output
7038
- }], drawerTemplate: [{
7039
- type: ViewChild,
7040
- args: ['drawerTemplate', { static: true }]
7041
- }], bodyPortalOutlet: [{
7042
- type: ViewChild,
7043
- args: [CdkPortalOutlet, { static: false }]
7044
7173
  }], titleTemplate: [{
7045
7174
  type: ContentChild,
7046
7175
  args: [DrawerHeaderDirective, { read: TemplateRef }]
7047
- }], contentTemplate: [{
7176
+ }], contentTemplateOrComponent: [{
7048
7177
  type: ContentChild,
7049
7178
  args: [DrawerContentDirective, { read: TemplateRef }]
7050
7179
  }], footerTemplate: [{
@@ -7052,47 +7181,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
7052
7181
  args: [DrawerFooterDirective, { read: TemplateRef }]
7053
7182
  }] } });
7054
7183
 
7055
- class DrawerService {
7056
- overlay;
7057
- drawerRef;
7058
- overlayRef;
7059
- unsubscribe$ = new Subject();
7060
- constructor(overlay) {
7061
- this.overlay = overlay;
7062
- }
7063
- open(options) {
7064
- this.drawerRef?.instance?.dispose();
7065
- this.createDrawer();
7066
- this.updateOptions(options);
7067
- return this.drawerRef?.instance;
7068
- }
7069
- updateOptions(options) {
7070
- Object.assign(this.drawerRef.instance, options);
7071
- }
7072
- createDrawer() {
7073
- this.overlayRef = this.overlay.create();
7074
- this.drawerRef = this.overlayRef.attach(new ComponentPortal(DrawerComponent));
7075
- this.drawerRef.instance.drawerViewInit
7076
- .pipe(takeUntil(this.unsubscribe$))
7077
- .subscribe(() => {
7078
- this.drawerRef.instance.open();
7079
- });
7080
- this.drawerRef.instance.afterClosed
7081
- .pipe(takeUntil(this.unsubscribe$))
7082
- .subscribe(() => {
7083
- this.overlayRef.dispose();
7084
- this.drawerRef = null;
7085
- this.unsubscribe$.next();
7086
- this.unsubscribe$.complete();
7087
- });
7088
- }
7089
- 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 });
7090
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerService });
7091
- }
7092
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerService, decorators: [{
7093
- type: Injectable
7094
- }], ctorParameters: function () { return [{ type: i1$2.Overlay }]; } });
7095
-
7096
7184
  const COMMON = [
7097
7185
  DrawerComponent,
7098
7186
  DrawerHeaderDirective,
@@ -7108,7 +7196,7 @@ class DrawerModule {
7108
7196
  DrawerHeaderDirective,
7109
7197
  DrawerContentDirective,
7110
7198
  DrawerFooterDirective] });
7111
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerModule, providers: [DrawerService], imports: [CommonModule, IconModule, OverlayModule, PortalModule, DrawerComponent] });
7199
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerModule, providers: [DrawerService], imports: [CommonModule, IconModule, OverlayModule, PortalModule] });
7112
7200
  }
7113
7201
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerModule, decorators: [{
7114
7202
  type: NgModule,
@@ -12348,5 +12436,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
12348
12436
  }]
12349
12437
  }] });
12350
12438
 
12351
- 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, DATA, 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 };
12439
+ 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 };
12352
12440
  //# sourceMappingURL=alauda-ui.mjs.map