@acorex/components 18.2.0 → 18.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. package/color-palette/lib/color-palette.module.d.ts +2 -2
  2. package/common/lib/components/selection-base.component.class.d.ts +1 -0
  3. package/conversation/index.d.ts +4 -0
  4. package/conversation/lib/conversation-container/conversation-container.component.d.ts +5 -0
  5. package/conversation/lib/conversation-input/conversation-input.component.d.ts +7 -1
  6. package/conversation/lib/conversation-message/conversation-message.component.d.ts +5 -2
  7. package/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.d.ts +29 -0
  8. package/conversation/lib/conversation-messages/conversation-message-file/conversation-message-file.component.d.ts +1 -0
  9. package/conversation/lib/conversation-messages/conversation-message-image/conversation-message-image.component.d.ts +9 -0
  10. package/conversation/lib/conversation-messages/conversation-message-video/conversation-message-video.component.d.ts +9 -0
  11. package/conversation/lib/conversation-view/conversation-view.component.d.ts +5 -4
  12. package/conversation/lib/conversation.module.d.ts +18 -17
  13. package/conversation/lib/conversation.types.d.ts +2 -1
  14. package/conversation/lib/services/conversation.service.d.ts +54 -0
  15. package/data-table/lib/data-table/data-table.component.d.ts +1 -1
  16. package/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.d.ts +1 -1
  17. package/esm2022/audio-wave/lib/audio-wave.component.mjs +2 -2
  18. package/esm2022/badge/lib/badge.component.mjs +2 -2
  19. package/esm2022/color-palette/lib/color-palette-picker.component.mjs +4 -4
  20. package/esm2022/color-palette/lib/color-palette.component.mjs +2 -2
  21. package/esm2022/color-palette/lib/color-palette.module.mjs +4 -4
  22. package/esm2022/common/lib/components/selection-base.component.class.mjs +14 -2
  23. package/esm2022/conversation/index.mjs +5 -1
  24. package/esm2022/conversation/lib/conversation-container/conversation-container.component.mjs +11 -0
  25. package/esm2022/conversation/lib/conversation-input/conversation-input.component.mjs +18 -5
  26. package/esm2022/conversation/lib/conversation-message/conversation-message.component.mjs +19 -16
  27. package/esm2022/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.mjs +122 -0
  28. package/esm2022/conversation/lib/conversation-messages/conversation-message-file/conversation-message-file.component.mjs +5 -3
  29. package/esm2022/conversation/lib/conversation-messages/conversation-message-image/conversation-message-image.component.mjs +21 -0
  30. package/esm2022/conversation/lib/conversation-messages/conversation-message-video/conversation-message-video.component.mjs +21 -0
  31. package/esm2022/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.mjs +3 -3
  32. package/esm2022/conversation/lib/conversation-view/conversation-view.component.mjs +10 -11
  33. package/esm2022/conversation/lib/conversation.module.mjs +25 -5
  34. package/esm2022/conversation/lib/conversation.types.mjs +1 -1
  35. package/esm2022/conversation/lib/services/conversation.service.mjs +135 -2
  36. package/esm2022/data-table/lib/data-table/data-table.component.mjs +5 -5
  37. package/esm2022/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.mjs +3 -3
  38. package/esm2022/form/lib/form-field.component.mjs +2 -2
  39. package/esm2022/select-box/lib/select-box.component.mjs +14 -2
  40. package/esm2022/slider/acorex-components-slider.mjs +5 -0
  41. package/esm2022/slider/index.mjs +3 -0
  42. package/esm2022/slider/lib/slider.component.mjs +117 -0
  43. package/esm2022/slider/lib/slider.module.mjs +23 -0
  44. package/fesm2022/acorex-components-audio-wave.mjs +1 -1
  45. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  46. package/fesm2022/acorex-components-badge.mjs +2 -2
  47. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  48. package/fesm2022/acorex-components-color-palette.mjs +8 -8
  49. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  50. package/fesm2022/acorex-components-common.mjs +13 -1
  51. package/fesm2022/acorex-components-common.mjs.map +1 -1
  52. package/fesm2022/acorex-components-conversation.mjs +364 -49
  53. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  54. package/fesm2022/acorex-components-data-table.mjs +6 -6
  55. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  56. package/fesm2022/acorex-components-form.mjs +1 -1
  57. package/fesm2022/acorex-components-form.mjs.map +1 -1
  58. package/fesm2022/acorex-components-select-box.mjs +13 -1
  59. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  60. package/fesm2022/acorex-components-slider.mjs +142 -0
  61. package/fesm2022/acorex-components-slider.mjs.map +1 -0
  62. package/package.json +7 -7
  63. package/slider/README.md +3 -0
  64. package/slider/index.d.ts +2 -0
  65. package/{range-slider/lib/range-slider.component.d.ts → slider/lib/slider.component.d.ts} +4 -4
  66. package/slider/lib/slider.module.d.ts +10 -0
  67. package/esm2022/range-slider/acorex-components-range-slider.mjs +0 -5
  68. package/esm2022/range-slider/index.mjs +0 -3
  69. package/esm2022/range-slider/lib/range-slider.component.mjs +0 -117
  70. package/esm2022/range-slider/lib/range-slider.module.mjs +0 -23
  71. package/fesm2022/acorex-components-range-slider.mjs +0 -142
  72. package/fesm2022/acorex-components-range-slider.mjs.map +0 -1
  73. package/range-slider/README.md +0 -3
  74. package/range-slider/index.d.ts +0 -2
  75. package/range-slider/lib/range-slider.module.d.ts +0 -10
@@ -11,10 +11,10 @@ import * as i9 from "@acorex/components/label";
11
11
  import * as i10 from "@acorex/components/button";
12
12
  import * as i11 from "@acorex/components/decorators";
13
13
  import * as i12 from "@acorex/components/number-box";
14
- import * as i13 from "@acorex/components/range-slider";
14
+ import * as i13 from "@acorex/components/slider";
15
15
  import * as i14 from "@angular/cdk/drag-drop";
16
16
  export declare class AXColorPaletteModule {
17
17
  static ɵfac: i0.ɵɵFactoryDeclaration<AXColorPaletteModule, never>;
18
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXColorPaletteModule, [typeof i1.AXColorPalleteComponent, typeof i2.AXColorPalettePreviewComponent, typeof i3.AXColorPaletteSwatchesComponent, typeof i4.AXColorPaletteInputComponent, typeof i5.AXColorPalettePickerComponent], [typeof i6.CommonModule, typeof i7.FormsModule, typeof i8.AXTextBoxModule, typeof i9.AXLabelModule, typeof i10.AXButtonModule, typeof i11.AXDecoratorModule, typeof i12.AXNumberBoxModule, typeof i13.AXRangeSliderModule, typeof i14.DragDropModule], [typeof i1.AXColorPalleteComponent, typeof i2.AXColorPalettePreviewComponent, typeof i3.AXColorPaletteSwatchesComponent, typeof i4.AXColorPaletteInputComponent, typeof i5.AXColorPalettePickerComponent]>;
18
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXColorPaletteModule, [typeof i1.AXColorPalleteComponent, typeof i2.AXColorPalettePreviewComponent, typeof i3.AXColorPaletteSwatchesComponent, typeof i4.AXColorPaletteInputComponent, typeof i5.AXColorPalettePickerComponent], [typeof i6.CommonModule, typeof i7.FormsModule, typeof i8.AXTextBoxModule, typeof i9.AXLabelModule, typeof i10.AXButtonModule, typeof i11.AXDecoratorModule, typeof i12.AXNumberBoxModule, typeof i13.AXSliderModule, typeof i14.DragDropModule], [typeof i1.AXColorPalleteComponent, typeof i2.AXColorPalettePreviewComponent, typeof i3.AXColorPaletteSwatchesComponent, typeof i4.AXColorPaletteInputComponent, typeof i5.AXColorPalettePickerComponent]>;
19
19
  static ɵinj: i0.ɵɵInjectorDeclaration<AXColorPaletteModule>;
20
20
  }
@@ -11,6 +11,7 @@ export declare class MXSelectionBridgeService {
11
11
  }
12
12
  export declare const AX_SELECTION_DATA_TOKEN: InjectionToken<MXSelectionBridgeService>;
13
13
  export declare abstract class MXSelectionValueComponent<T = unknown> extends MXValueComponent<unknown> {
14
+ private formatService;
14
15
  private dataService;
15
16
  disabledCallback: (e: {
16
17
  item: T;
@@ -1,9 +1,13 @@
1
1
  export * from './lib/classes/events.interface';
2
+ export * from './lib/conversation-container/conversation-container.component';
2
3
  export * from './lib/conversation-input/conversation-input.component';
3
4
  export * from './lib/conversation-input/conversation-input.interface';
4
5
  export * from './lib/conversation-message/conversation-message.component';
6
+ export * from './lib/conversation-messages/conversation-message-audio/conversation-message-audio.component';
5
7
  export * from './lib/conversation-messages/conversation-message-file/conversation-message-file.component';
8
+ export * from './lib/conversation-messages/conversation-message-image/conversation-message-image.component';
6
9
  export * from './lib/conversation-messages/conversation-message-text/conversation-message-text.component';
10
+ export * from './lib/conversation-messages/conversation-message-video/conversation-message-video.component';
7
11
  export * from './lib/conversation-messages/conversation-message-voice/conversation-message-voice.component';
8
12
  export * from './lib/conversation-view/conversation-view.component';
9
13
  export * from './lib/conversation.module';
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class AXConversationContainerComponent {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXConversationContainerComponent, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXConversationContainerComponent, "ax-conversation-container", never, {}, {}, never, ["ax-conversation-view", "ax-conversation-input"], false, never>;
5
+ }
@@ -1,5 +1,7 @@
1
1
  import { AXClickEvent, MXInputBaseValueComponent, MXLookComponent } from '@acorex/components/common';
2
- import { ElementRef, WritableSignal } from '@angular/core';
2
+ import { ElementRef, Signal, WritableSignal } from '@angular/core';
3
+ import { AXConversationMessage } from '../conversation.types';
4
+ import { AXConversationService } from '../services/conversation.service';
3
5
  import { AXRecordingService } from '../services/recording.service';
4
6
  import * as i0 from "@angular/core";
5
7
  declare const AXConversationInputComponent_base: import("polytype").Polytype.ClusteredConstructor<[{
@@ -9,6 +11,9 @@ declare const AXConversationInputComponent_base: import("polytype").Polytype.Clu
9
11
  }, typeof MXLookComponent]>;
10
12
  export declare class AXConversationInputComponent extends AXConversationInputComponent_base {
11
13
  inputFile: ElementRef<HTMLInputElement>;
14
+ conversationService: AXConversationService;
15
+ protected chats: Signal<AXConversationMessage<any>[]>;
16
+ protected replyChat: Signal<AXConversationMessage<any>>;
12
17
  maxLength: import("@angular/core").InputSignal<number>;
13
18
  hasAttachment: import("@angular/core").InputSignal<boolean>;
14
19
  haVoice: import("@angular/core").InputSignal<boolean>;
@@ -26,6 +31,7 @@ export declare class AXConversationInputComponent extends AXConversationInputCom
26
31
  handleChangeFile(event: Event): void;
27
32
  handleSendClick(): void;
28
33
  handleSendVoiceClick(): void;
34
+ closeReplyHandler(): void;
29
35
  static ɵfac: i0.ɵɵFactoryDeclaration<AXConversationInputComponent, never>;
30
36
  static ɵcmp: i0.ɵɵComponentDeclaration<AXConversationInputComponent, "ax-conversation-input", never, { "look": { "alias": "look"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "hasAttachment": { "alias": "hasAttachment"; "required": false; "isSignal": true; }; "haVoice": { "alias": "haVoice"; "required": false; "isSignal": true; }; "acceptFileType": { "alias": "acceptFileType"; "required": false; "isSignal": true; }; }, { "onSendClick": "onSendClick"; "onStartRecording": "onStartRecording"; "onCancelRecording": "onCancelRecording"; }, never, never, false, never>;
31
37
  }
@@ -3,10 +3,12 @@ import { AXPopoverComponent } from '@acorex/components/popover';
3
3
  import { CdkPortalOutletAttachedRef, ComponentPortal } from '@angular/cdk/portal';
4
4
  import { AXConversationMessage } from '../conversation.types';
5
5
  import { AXConversationMessageTypeRegistryService } from '../services/conversation-message-type-registry.service';
6
+ import { AXConversationService } from '../services/conversation.service';
6
7
  import * as i0 from "@angular/core";
7
8
  export declare class AXConversationMessageComponent extends MXBaseComponent {
8
9
  popover: import("@angular/core").Signal<AXPopoverComponent>;
9
- chatMessage: AXConversationMessage<any>;
10
+ conversationService: AXConversationService;
11
+ chatMessage: import("@angular/core").InputSignal<AXConversationMessage<any>>;
10
12
  protected _portal: ComponentPortal<any> | null;
11
13
  protected get isOwn(): boolean;
12
14
  protected registryService: AXConversationMessageTypeRegistryService;
@@ -15,6 +17,7 @@ export declare class AXConversationMessageComponent extends MXBaseComponent {
15
17
  protected _handleAttched(ref: CdkPortalOutletAttachedRef): void;
16
18
  protected handleResendClick(): void;
17
19
  protected handleDeleteClick(): void;
20
+ protected replyHandler(e: any): void;
18
21
  static ɵfac: i0.ɵɵFactoryDeclaration<AXConversationMessageComponent, never>;
19
- static ɵcmp: i0.ɵɵComponentDeclaration<AXConversationMessageComponent, "ax-conversation-message", never, { "chatMessage": { "alias": "chatMessage"; "required": false; }; }, {}, never, never, false, never>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXConversationMessageComponent, "ax-conversation-message", never, { "chatMessage": { "alias": "chatMessage"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
20
23
  }
@@ -0,0 +1,29 @@
1
+ import { AXAudioWaveComponent, AXWaveConfig, AXAudioWaveChangeEvent } from '@acorex/components/audio-wave';
2
+ import { WritableSignal } from '@angular/core';
3
+ import { AXConversationViewComponent } from '../../conversation-view/conversation-view.component';
4
+ import { AXConversationMessageBaseComponent } from '../../conversation.types';
5
+ import * as i0 from "@angular/core";
6
+ export declare class ConversationMessageAudioComponent extends AXConversationMessageBaseComponent<string> {
7
+ audio: AXAudioWaveComponent;
8
+ config: AXWaveConfig;
9
+ audioState: WritableSignal<'playing' | 'paused' | 'loading' | 'ready' | 'error'>;
10
+ parent: AXConversationViewComponent;
11
+ selectedRate: WritableSignal<number>;
12
+ selectedRateIndex: WritableSignal<number>;
13
+ protected audioProgress: WritableSignal<number>;
14
+ protected timeLeft: WritableSignal<number>;
15
+ protected currentTime: WritableSignal<number>;
16
+ protected duration: WritableSignal<number>;
17
+ constructor();
18
+ setWaveColor(): void;
19
+ handlePauseClick(): void;
20
+ handlePlayClick(): void;
21
+ handleOnStatusChanged(e: AXAudioWaveChangeEvent): void;
22
+ handleLoadingProgress(): void;
23
+ handleCancelLoading(): void;
24
+ handleReloadClick(): void;
25
+ handleRateClick(): void;
26
+ get __hostClass(): string;
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConversationMessageAudioComponent, never>;
28
+ static ɵcmp: i0.ɵɵComponentDeclaration<ConversationMessageAudioComponent, "ax-conversation-message-audio", never, {}, {}, never, never, true, never>;
29
+ }
@@ -7,6 +7,7 @@ import * as i0 from "@angular/core";
7
7
  export declare class AXConversationFileMessageComponent extends AXConversationMessageBaseComponent<string> {
8
8
  fileState: WritableSignal<'loading' | 'ready' | 'error'>;
9
9
  fileSize: WritableSignal<number>;
10
+ fileName: WritableSignal<string>;
10
11
  fileService: AXFileService;
11
12
  http: HttpClient;
12
13
  parent: AXConversationViewComponent;
@@ -0,0 +1,9 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { AXConversationMessageBaseComponent } from '../../conversation.types';
3
+ import * as i0 from "@angular/core";
4
+ export declare class ConversationMessageImageComponent extends AXConversationMessageBaseComponent<string> implements OnInit {
5
+ protected _imageUrl: import("@angular/core").WritableSignal<string>;
6
+ ngOnInit(): void;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConversationMessageImageComponent, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<ConversationMessageImageComponent, "ax-conversation-message-image", never, { "message": { "alias": "message"; "required": false; }; }, {}, never, never, true, never>;
9
+ }
@@ -0,0 +1,9 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { AXConversationMessageBaseComponent } from '../../conversation.types';
3
+ import * as i0 from "@angular/core";
4
+ export declare class ConversationMessageVideoComponent extends AXConversationMessageBaseComponent<string> implements OnInit {
5
+ protected _videoUrl: import("@angular/core").WritableSignal<string>;
6
+ ngOnInit(): void;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConversationMessageVideoComponent, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<ConversationMessageVideoComponent, "ax-conversation-message-video", never, {}, {}, never, never, true, never>;
9
+ }
@@ -1,15 +1,16 @@
1
1
  import { MXBaseComponent } from '@acorex/components/common';
2
- import { ViewContainerRef, WritableSignal } from '@angular/core';
2
+ import { Signal, ViewContainerRef } from '@angular/core';
3
3
  import { AXConversationActionEvent } from '../classes/events.interface';
4
4
  import { AXConversationMessage } from '../conversation.types';
5
+ import { AXConversationService } from '../services/conversation.service';
5
6
  import * as i0 from "@angular/core";
6
7
  export declare class AXConversationViewComponent extends MXBaseComponent {
7
- set conversations(items: AXConversationMessage<any>[]);
8
+ conversationService: AXConversationService;
8
9
  onAction: import("@angular/core").OutputEmitterRef<AXConversationActionEvent>;
9
- protected _conversations: WritableSignal<AXConversationMessage<any>[]>;
10
+ protected conversations: Signal<AXConversationMessage<any>[]>;
10
11
  viewRef: ViewContainerRef;
11
12
  constructor();
12
13
  scrollIntoEndOfView(): void;
13
14
  static ɵfac: i0.ɵɵFactoryDeclaration<AXConversationViewComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<AXConversationViewComponent, "ax-conversation-view", never, { "conversations": { "alias": "conversations"; "required": false; }; }, { "onAction": "onAction"; }, never, never, false, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXConversationViewComponent, "ax-conversation-view", never, {}, { "onAction": "onAction"; }, never, never, false, never>;
15
16
  }
@@ -7,22 +7,23 @@ import * as i3 from "./conversation-message/conversation-message.component";
7
7
  import * as i4 from "./conversation-messages/conversation-message-text/conversation-message-text.component";
8
8
  import * as i5 from "./conversation-messages/conversation-message-voice/conversation-message-voice.component";
9
9
  import * as i6 from "./conversation-messages/conversation-message-file/conversation-message-file.component";
10
- import * as i7 from "@angular/common";
11
- import * as i8 from "@angular/forms";
12
- import * as i9 from "@acorex/components/common";
13
- import * as i10 from "@acorex/components/button";
14
- import * as i11 from "@acorex/components/decorators";
15
- import * as i12 from "@acorex/core/translation";
16
- import * as i13 from "@acorex/components/dropdown";
17
- import * as i14 from "@acorex/core/format";
18
- import * as i15 from "@acorex/components/audio-wave";
19
- import * as i16 from "@acorex/components/circular-progress";
20
- import * as i17 from "@acorex/core/date-time";
21
- import * as i18 from "@angular/cdk/portal";
22
- import * as i19 from "@acorex/components/loading";
23
- import * as i20 from "@acorex/components/avatar";
24
- import * as i21 from "@acorex/components/popover";
25
- import * as i22 from "@acorex/core/file";
10
+ import * as i7 from "./conversation-container/conversation-container.component";
11
+ import * as i8 from "@angular/common";
12
+ import * as i9 from "@angular/forms";
13
+ import * as i10 from "@acorex/components/common";
14
+ import * as i11 from "@acorex/components/button";
15
+ import * as i12 from "@acorex/components/decorators";
16
+ import * as i13 from "@acorex/core/translation";
17
+ import * as i14 from "@acorex/components/dropdown";
18
+ import * as i15 from "@acorex/core/format";
19
+ import * as i16 from "@acorex/components/audio-wave";
20
+ import * as i17 from "@acorex/components/circular-progress";
21
+ import * as i18 from "@acorex/core/date-time";
22
+ import * as i19 from "@angular/cdk/portal";
23
+ import * as i20 from "@acorex/components/loading";
24
+ import * as i21 from "@acorex/components/avatar";
25
+ import * as i22 from "@acorex/components/popover";
26
+ import * as i23 from "@acorex/core/file";
26
27
  export interface AXChatModuleConfig {
27
28
  types: AXConversationMessageType[];
28
29
  }
@@ -34,6 +35,6 @@ export declare class AXConversationModule {
34
35
  */
35
36
  constructor(instances: any[]);
36
37
  static ɵfac: i0.ɵɵFactoryDeclaration<AXConversationModule, [{ optional: true; }]>;
37
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXConversationModule, [typeof i1.AXConversationViewComponent, typeof i2.AXConversationInputComponent, typeof i3.AXConversationMessageComponent, typeof i4.AXConversationTextMessageComponent, typeof i5.AXConversationAudioMessageComponent, typeof i6.AXConversationFileMessageComponent], [typeof i7.CommonModule, typeof i8.FormsModule, typeof i7.AsyncPipe, typeof i9.AXRippleDirective, typeof i10.AXButtonModule, typeof i11.AXDecoratorModule, typeof i12.AXTranslationModule, typeof i13.AXDropdownModule, typeof i14.AXFormatModule, typeof i15.AXAudioWaveModule, typeof i16.AXCircularProgressModule, typeof i17.AXDateTimeModule, typeof i18.CdkPortalOutlet, typeof i19.AXLoadingModule, typeof i20.AXAvatarModule, typeof i21.AXPopoverModule, typeof i22.AXFileModule], [typeof i1.AXConversationViewComponent, typeof i2.AXConversationInputComponent, typeof i3.AXConversationMessageComponent, typeof i4.AXConversationTextMessageComponent, typeof i5.AXConversationAudioMessageComponent, typeof i6.AXConversationFileMessageComponent]>;
38
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXConversationModule, [typeof i1.AXConversationViewComponent, typeof i2.AXConversationInputComponent, typeof i3.AXConversationMessageComponent, typeof i4.AXConversationTextMessageComponent, typeof i5.AXConversationAudioMessageComponent, typeof i6.AXConversationFileMessageComponent, typeof i7.AXConversationContainerComponent], [typeof i8.CommonModule, typeof i9.FormsModule, typeof i8.AsyncPipe, typeof i10.AXRippleDirective, typeof i11.AXButtonModule, typeof i12.AXDecoratorModule, typeof i13.AXTranslationModule, typeof i14.AXDropdownModule, typeof i15.AXFormatModule, typeof i16.AXAudioWaveModule, typeof i17.AXCircularProgressModule, typeof i18.AXDateTimeModule, typeof i19.CdkPortalOutlet, typeof i20.AXLoadingModule, typeof i21.AXAvatarModule, typeof i22.AXPopoverModule, typeof i23.AXFileModule], [typeof i1.AXConversationViewComponent, typeof i2.AXConversationInputComponent, typeof i3.AXConversationMessageComponent, typeof i4.AXConversationTextMessageComponent, typeof i5.AXConversationAudioMessageComponent, typeof i6.AXConversationFileMessageComponent, typeof i7.AXConversationContainerComponent]>;
38
39
  static ɵinj: i0.ɵɵInjectorDeclaration<AXConversationModule>;
39
40
  }
@@ -10,9 +10,10 @@ export interface AXConversationMessage<T> {
10
10
  sendTime: Date | null;
11
11
  deliverTime?: Date;
12
12
  readTime?: Date;
13
- replyTo?: string;
13
+ replyTo?: AXConversationMessage<T>;
14
14
  content: T;
15
15
  fromId?: string;
16
+ name: string;
16
17
  onResendClick?: () => void;
17
18
  onDeleteClick?: () => void;
18
19
  onDownloadClick?: () => void;
@@ -1,5 +1,59 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class AXConversationService {
3
+ replyId: import("@angular/core").WritableSignal<string>;
4
+ chats: import("@angular/core").WritableSignal<({
5
+ id: string;
6
+ sendTime: Date;
7
+ type: string;
8
+ readTime: Date;
9
+ content: string;
10
+ name: string;
11
+ fromId?: undefined;
12
+ replyTo?: undefined;
13
+ } | {
14
+ id: string;
15
+ fromId: string;
16
+ sendTime: Date;
17
+ readTime: Date;
18
+ type: string;
19
+ content: string;
20
+ name: string;
21
+ replyTo: {
22
+ id: string;
23
+ sendTime: Date;
24
+ type: string;
25
+ readTime: Date;
26
+ content: string;
27
+ name: string;
28
+ fromId?: undefined;
29
+ };
30
+ } | {
31
+ id: string;
32
+ fromId: string;
33
+ sendTime: Date;
34
+ readTime: Date;
35
+ type: string;
36
+ name: string;
37
+ content: string;
38
+ replyTo?: undefined;
39
+ } | {
40
+ id: string;
41
+ sendTime: Date;
42
+ readTime: Date;
43
+ type: string;
44
+ content: string;
45
+ name: string;
46
+ replyTo: {
47
+ id: string;
48
+ fromId: string;
49
+ sendTime: Date;
50
+ readTime: Date;
51
+ type: string;
52
+ content: string;
53
+ name: string;
54
+ };
55
+ fromId?: undefined;
56
+ })[]>;
3
57
  static ɵfac: i0.ɵɵFactoryDeclaration<AXConversationService, never>;
4
58
  static ɵprov: i0.ɵɵInjectableDeclaration<AXConversationService>;
5
59
  }
@@ -71,5 +71,5 @@ export declare class AXDataTableComponent extends AXBaseDataTable implements OnI
71
71
  private resetResizingProcess;
72
72
  private calculateStickyColumnsPositions;
73
73
  static ɵfac: i0.ɵɵFactoryDeclaration<AXDataTableComponent, never>;
74
- static ɵcmp: i0.ɵɵComponentDeclaration<AXDataTableComponent, "ax-data-table", never, { "dataSource": { "alias": "dataSource"; "required": false; }; "rowTemplate": { "alias": "rowTemplate"; "required": false; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; }; "alternative": { "alias": "alternative"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "fixedHeader": { "alias": "fixedHeader"; "required": false; }; "showFooter": { "alias": "showFooter"; "required": false; }; "fixedFooter": { "alias": "fixedFooter"; "required": false; }; "itemHeight": { "alias": "itemHeight"; "required": false; }; "allowReordering": { "alias": "allowReordering"; "required": false; }; "paging": { "alias": "paging"; "required": false; }; "fetchDataMode": { "alias": "fetchDataMode"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "focusedRow": { "alias": "focusedRow"; "required": false; }; }, { "focusedRowChange": "focusedRowChange"; "onRowClick": "onRowClick"; "onRowDbClick": "onRowDbClick"; "onColumnsOrderChanged": "onColumnsOrderChanged"; }, ["columns"], ["ax-header", "ax-footer"], false, never>;
74
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXDataTableComponent, "ax-data-table", never, { "dataSource": { "alias": "dataSource"; "required": false; }; "rowTemplate": { "alias": "rowTemplate"; "required": false; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; }; "alternative": { "alias": "alternative"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "fixedHeader": { "alias": "fixedHeader"; "required": false; }; "showFooter": { "alias": "showFooter"; "required": false; }; "fixedFooter": { "alias": "fixedFooter"; "required": false; }; "itemHeight": { "alias": "itemHeight"; "required": false; }; "allowReordering": { "alias": "allowReordering"; "required": false; }; "paging": { "alias": "paging"; "required": false; }; "fetchDataMode": { "alias": "fetchDataMode"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "focusedRow": { "alias": "focusedRow"; "required": false; }; }, { "selectedRowsChange": "selectedRowsChange"; "focusedRowChange": "focusedRowChange"; "onRowClick": "onRowClick"; "onRowDbClick": "onRowDbClick"; "onColumnsOrderChanged": "onColumnsOrderChanged"; }, ["columns"], ["ax-header", "ax-footer"], false, never>;
75
75
  }
@@ -62,5 +62,5 @@ export declare class AXInfiniteScrollDataTableComponent extends AXBaseDataTable
62
62
  protected getSort(column: AXDataTableColumnComponent): string | undefined;
63
63
  protected _handleOnScroll(): void;
64
64
  static ɵfac: i0.ɵɵFactoryDeclaration<AXInfiniteScrollDataTableComponent, never>;
65
- static ɵcmp: i0.ɵɵComponentDeclaration<AXInfiniteScrollDataTableComponent, "ax-infinite-scroll-data-table", never, { "dataSource": { "alias": "dataSource"; "required": false; }; "rowTemplate": { "alias": "rowTemplate"; "required": false; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "fetchDataMode": { "alias": "fetchDataMode"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "focusedRow": { "alias": "focusedRow"; "required": false; }; "itemHeight": { "alias": "itemHeight"; "required": false; }; }, { "onPageChanged": "onPageChanged"; "onRowClick": "onRowClick"; "onRowDbClick": "onRowDbClick"; "focusedRowChange": "focusedRowChange"; "onScrolledIndexChanged": "onScrolledIndexChanged"; }, ["columns"], ["ax-header", "ax-footer"], false, never>;
65
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXInfiniteScrollDataTableComponent, "ax-infinite-scroll-data-table", never, { "dataSource": { "alias": "dataSource"; "required": false; }; "rowTemplate": { "alias": "rowTemplate"; "required": false; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "fetchDataMode": { "alias": "fetchDataMode"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "focusedRow": { "alias": "focusedRow"; "required": false; }; "itemHeight": { "alias": "itemHeight"; "required": false; }; }, { "selectedRowsChange": "selectedRowsChange"; "onPageChanged": "onPageChanged"; "onRowClick": "onRowClick"; "onRowDbClick": "onRowDbClick"; "focusedRowChange": "focusedRowChange"; "onScrolledIndexChanged": "onScrolledIndexChanged"; }, ["columns"], ["ax-header", "ax-footer"], false, never>;
66
66
  }
@@ -31,7 +31,7 @@ export class AXAudioWaveComponent {
31
31
  this.audioState.set('ready');
32
32
  });
33
33
  this.audio?.on('error', (e) => {
34
- this.errorMessage.set(e.message);
34
+ this.errorMessage.set(e?.message);
35
35
  this.audioState.set('error');
36
36
  });
37
37
  this.bindEvents();
@@ -225,4 +225,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
225
225
  type: ViewChild,
226
226
  args: ['d', { static: false }]
227
227
  }] } });
228
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8td2F2ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYXVkaW8td2F2ZS9zcmMvbGliL2F1ZGlvLXdhdmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2F1ZGlvLXdhdmUvc3JjL2xpYi9hdWRpby13YXZlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUVWLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBRWpCLGVBQWUsRUFDZixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxVQUFVLE1BQU0sZUFBZSxDQUFDOzs7O0FBU3ZDLE1BQU0sT0FBTyxvQkFBb0I7SUFhL0I7UUFYQSxXQUFNLEdBQThCLEtBQUssRUFBZ0IsQ0FBQztRQUUxRCxvQkFBZSxHQUFHLE1BQU0sRUFBMEIsQ0FBQztRQUVuRCxlQUFVLEdBQXlFLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVwRyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUdsQixXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRzlCLGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDbkIsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLGdCQUFnQixDQUFDLHdCQUF3QixDQUFDLENBQUM7WUFDOUYsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLGdCQUFnQixDQUFDLHdCQUF3QixDQUFDLENBQUM7WUFFOUYsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO2dCQUM3QixTQUFT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QUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzFHLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsNEVBQTRFO0lBQ2xFLFdBQVc7UUFDbkIsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNuQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDckcsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBalBVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLHVVQ3ZCakMsb1dBV0M7OzJGRFlZLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxlQUFlLGlCQUdWLGlCQUFpQixDQUFDLElBQUk7d0RBR1EsR0FBRztzQkFBL0MsU0FBUzt1QkFBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dFNpZ25hbCxcbiAgTmdab25lLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBXcml0YWJsZVNpZ25hbCxcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgV2F2ZVN1cmZlciBmcm9tICd3YXZlc3VyZmVyLmpzJztcbmltcG9ydCB7IEFYQXVkaW9XYXZlQ2hhbmdlRXZlbnQsIEFYV2F2ZUNvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcy9hdWRpby13YXZlLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWF1ZGlvLXdhdmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXVkaW8td2F2ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2F1ZGlvLXdhdmUuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQVhBdWRpb1dhdmVDb21wb25lbnQge1xuICBAVmlld0NoaWxkKCdkJywgeyBzdGF0aWM6IGZhbHNlIH0pIHByb3RlY3RlZCBkaXY6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBjb25maWc6IElucHV0U2lnbmFsPEFYV2F2ZUNvbmZpZz4gPSBpbnB1dDxBWFdhdmVDb25maWc+KCk7XG5cbiAgb25TdGF0dXNDaGFuZ2VkID0gb3V0cHV0PEFYQXVkaW9XYXZlQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgYXVkaW9TdGF0ZTogV3JpdGFibGVTaWduYWw8J3BsYXlpbmcnIHwgJ3BhdXNlZCcgfCAnbG9hZGluZycgfCAncmVhZHknIHwgJ2Vycm9yJz4gPSBzaWduYWwoJ3BhdXNlZCcpO1xuXG4gIGVycm9yTWVzc2FnZSA9IHNpZ25hbCgnJyk7XG5cbiAgcHJvdGVjdGVkIGF1ZGlvOiBXYXZlU3VyZmVyO1xuICBwcml2YXRlIG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgICBjb25zdCBwcmltYXJ5MjAwID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5nZXRQcm9wZXJ0eVZhbHVlKCctLWF4LWNvbG9yLXByaW1hcnktMjAwJyk7XG4gICAgICBjb25zdCBwcmltYXJ5NzAwID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5nZXRQcm9wZXJ0eVZhbHVlKCctLWF4LWNvbG9yLXByaW1hcnktNzAwJyk7XG5cbiAgICAgIHRoaXMuYXVkaW8gPSBXYXZlU3VyZmVyLmNyZWF0ZSh7XG4gICAgICAgIGNvbnRhaW5lcjogdGhpcy5kaXYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgd2F2ZUNvbG9yOiB0aGlzLmNvbmZpZygpPy53YXZlQ29sb3IgfHwgYHJnYmEoJHtwcmltYXJ5MjAwfSlgLFxuICAgICAgICBwcm9ncmVzc0NvbG9yOiB0aGlzLmNvbmZpZygpPy5wcm9ncmVzc0NvbG9yIHx8IGByZ2JhKCR7cHJpbWFyeTcwMH0pYCxcbiAgICAgICAgdXJsOiB0aGlzLmNvbmZpZygpPy51cmwgfHwgJycsXG4gICAgICAgIGJhcldpZHRoOiB0aGlzLmNvbmZpZygpPy5iYXJXaWR0aCB8fCAyLFxuICAgICAgICBiYXJSYWRpdXM6IHRoaXMuY29uZmlnKCk/LmJhclJhZGl1cyB8fCAyLFxuICAgICAgICBiYXJHYXA6IHRoaXMuY29uZmlnKCk/LmJhckdhcCB8fCAyLFxuICAgICAgICBoZWlnaHQ6IHRoaXMuY29uZmlnKCk/LmhlaWdodCB8fCAzNixcbiAgICAgIH0pO1xuICAgICAgdGhpcy5sb2FkKCk7XG4gICAgICB0aGlzLmF1ZGlvPy5vbignbG9hZGluZycsICgpID0+IHtcbiAgICAgICAgdGhpcy5hdWRpb1N0YXRlLnNldCgnbG9hZGluZycpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmF1ZGlvPy5vbigncmVhZHknLCAoKSA9PiB7XG4gICAgICAgIHRoaXMuYXVkaW9TdGF0ZS5zZXQoJ3JlYWR5Jyk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuYXVkaW8/Lm9uKCdlcnJvcicsIChlKSA9PiB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlLnNldChlLm1lc3NhZ2UpO1xuICAgICAgICB0aGlzLmF1ZGlvU3RhdGUuc2V0KCdlcnJvcicpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmJpbmRFdmVudHMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGxvYWQodXJsID0gdGhpcy5jb25maWcoKS51cmwpIHtcbiAgICB0aGlzLmF1ZGlvLmxvYWQodXJsKTtcbiAgfVxuXG4gIHBsYXkoKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5hdWRpbz8ucGxheSgpO1xuICB9XG5cbiAgcGF1c2UoKTogdm9pZCB7XG4gICAgdGhpcy5hdWRpbz8ucGF1c2UoKTtcbiAgfVxuXG4gIGdldER1cmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmF1ZGlvPy5nZXREdXJhdGlvbigpID8/IDA7XG4gIH1cblxuICBnZXRNZWRpYUVsZW1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXVkaW8/LmdldE1lZGlhRWxlbWVudCgpO1xuICB9XG5cbiAgc2V0UmF0ZShyYXRlOiBudW1iZXIpIHtcbiAgICB0aGlzLmF1ZGlvLnNldFBsYXliYWNrUmF0ZShyYXRlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBiaW5kRXZlbnRzKCkge1xuICAgIHRoaXMuaGFuZGxlTG9hZCgpO1xuICAgIHRoaXMuaGFuZGxlTG9hZGluZygpO1xuICAgIHRoaXMuaGFuZGxlRGVjb2RlKCk7XG4gICAgdGhpcy5oYW5kbGVSZWFkeSgpO1xuICAgIHRoaXMuaGFuZGxlUmVkUmF3Q29tcGxldGUoKTtcbiAgICB0aGlzLmhhbmRsZVBsYXkoKTtcbiAgICB0aGlzLmhhbmRsZVBhdXNlKCk7XG4gICAgdGhpcy5oYW5kbGVGaW5pc2goKTtcbiAgICB0aGlzLmhhbmRsZVRpbWVVcGRhdGUoKTtcbiAgICB0aGlzLmhhbmRsZVNlZWtpbmcoKTtcbiAgICB0aGlzLmhhbmRsZUludGVyYWN0aW9uKCk7XG4gICAgdGhpcy5oYW5kbGVDbGljaygpO1xuICAgIHRoaXMuaGFuZGxlRHJhZygpO1xuICAgIHRoaXMuaGFuZGxlU2Nyb2xsKCk7XG4gICAgdGhpcy5oYW5kbGVab29tKCk7XG4gICAgdGhpcy5oYW5kbGVEZXN0cm95KCk7XG4gICAgdGhpcy5oYW5kbGVFcnJvcigpO1xuICB9XG4gIC8qKiBXaGVuIGF1ZGlvIHN0YXJ0cyBsb2FkaW5nICovXG4gIHByb3RlY3RlZCBoYW5kbGVMb2FkKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdsb2FkJywgKHVybCkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgZGF0YTogeyB1cmw6IHVybCB9LCBzdGF0dXM6ICdsb2FkJywgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogRHVyaW5nIGF1ZGlvIGxvYWRpbmcgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZUxvYWRpbmcoKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ2xvYWRpbmcnLCAocGVyY2VudCkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgZGF0YTogeyBwZXJjZW50OiBwZXJjZW50IH0sIHN0YXR1czogJ2xvYWRpbmcnLCBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSBhdWRpbyBoYXMgYmVlbiBkZWNvZGVkICovXG4gIHByb3RlY3RlZCBoYW5kbGVEZWNvZGUoKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ2RlY29kZScsIChkdXJhdGlvbikgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgZGF0YTogeyBkdXJhdGlvbjogZHVyYXRpb24gfSwgc3RhdHVzOiAnZGVjb2RlJywgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgYXVkaW8gaXMgYm90aCBkZWNvZGVkIGFuZCBjYW4gcGxheSAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlUmVhZHkoKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ3JlYWR5JywgKGR1cmF0aW9uKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiB7IGR1cmF0aW9uOiBkdXJhdGlvbiB9LCBzdGF0dXM6ICdyZWFkeScsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gYWxsIGF1ZGlvIGNoYW5uZWwgY2h1bmtzIG9mIHRoZSB3YXZlZm9ybSBoYXZlIGRyYXduICovXG4gIHByb3RlY3RlZCBoYW5kbGVSZWRSYXdDb21wbGV0ZSgpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbigncmVkcmF3Y29tcGxldGUnLCAoKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiBudWxsLCBzdGF0dXM6ICdyZWRyYXdjb21wbGV0ZScsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIGF1ZGlvIHN0YXJ0cyBwbGF5aW5nICovXG4gIHByb3RlY3RlZCBoYW5kbGVQbGF5KCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdwbGF5JywgKCkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgZGF0YTogbnVsbCwgc3RhdHVzOiAncGxheScsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIGF1ZGlvIHBhdXNlcyAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlUGF1c2UoKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ3BhdXNlJywgKCkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgZGF0YTogbnVsbCwgc3RhdHVzOiAncGF1c2UnLCBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSBhdWRpbyBmaW5pc2hlcyBwbGF5aW5nICovXG4gIHByb3RlY3RlZCBoYW5kbGVGaW5pc2goKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ2ZpbmlzaCcsICgpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IG51bGwsIHN0YXR1czogJ2ZpbmlzaCcsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIE9uIGF1ZGlvIHBvc2l0aW9uIGNoYW5nZSwgZmlyZXMgY29udGludW91c2x5IGR1cmluZyBwbGF5YmFjayAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlVGltZVVwZGF0ZSgpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbigndGltZXVwZGF0ZScsIChjdXJyZW50VGltZSkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgZGF0YTogeyBjdXJyZW50VGltZTogY3VycmVudFRpbWUgfSwgc3RhdHVzOiAndGltZXVwZGF0ZScsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIHVzZXIgc2Vla3MgdG8gYSBuZXcgcG9zaXRpb24gKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVNlZWtpbmcoKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ3NlZWtpbmcnLCAoY3VycmVudFRpbWUpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IHsgY3VycmVudFRpbWU6IGN1cnJlbnRUaW1lIH0sIHN0YXR1czogJ3NlZWtpbmcnLCBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSB1c2VyIGludGVyYWN0cyB3aXRoIHRoZSB3YXZlZm9ybSAoaS5nLiBjbGlja3Mgb3IgZHJhZ3Mgb24gaXQpICovXG4gIHByb3RlY3RlZCBoYW5kbGVJbnRlcmFjdGlvbigpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbignaW50ZXJhY3Rpb24nLCAobmV3VGltZSkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgZGF0YTogeyBuZXdUaW1lOiBuZXdUaW1lIH0sIHN0YXR1czogJ2ludGVyYWN0aW9uJywgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgdXNlciBjbGlja3Mgb24gdGhlIHdhdmVmb3JtICovXG4gIHByb3RlY3RlZCBoYW5kbGVDbGljaygpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbignY2xpY2snLCAocmVsYXRpdmVYKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiB7IHJlbGF0aXZlWDogcmVsYXRpdmVYIH0sIHN0YXR1czogJ2NsaWNrJywgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgdXNlciBkcmFncyB0aGUgY3Vyc29yICovXG4gIHByb3RlY3RlZCBoYW5kbGVEcmFnKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdkcmFnJywgKHJlbGF0aXZlWCkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgZGF0YTogeyByZWxhdGl2ZVg6IHJlbGF0aXZlWCB9LCBzdGF0dXM6ICdkcmFnJywgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgd2F2ZWZvcm0gaXMgc2Nyb2xsZWQgKHBhbm5lZCkgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVNjcm9sbCgpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbignc2Nyb2xsJywgKHZpc2libGVTdGFydFRpbWUsIHZpc2libGVFbmRUaW1lKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyB2aXNpYmxlU3RhcnRUaW1lLCB2aXNpYmxlRW5kVGltZSB9LFxuICAgICAgICAgIHN0YXR1czogJ3Njcm9sbCcsXG4gICAgICAgICAgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIHpvb20gbGV2ZWwgY2hhbmdlcyAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlWm9vbSgpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbignem9vbScsIChtaW5QeFBlclNlYykgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgZGF0YTogeyBtaW5QeFBlclNlYzogbWluUHhQZXJTZWMgfSwgc3RhdHVzOiAnem9vbScsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIEp1c3QgYmVmb3JlIHRoZSB3YXZlZm9ybSBpcyBkZXN0cm95ZWQgc28geW91IGNhbiBjbGVhbiB1cCB5b3VyIGV2ZW50cyAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlRGVzdHJveSgpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbignZGVzdHJveScsICgpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IG51bGwsIHN0YXR1czogJ2Rlc3Ryb3knLCBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuICAvKiogSnVzdCBiZWZvcmUgdGhlIHdhdmVmb3JtIGlzIGRlc3Ryb3llZCBzbyB5b3UgY2FuIGNsZWFuIHVwIHlvdXIgZXZlbnRzICovXG4gIHByb3RlY3RlZCBoYW5kbGVFcnJvcigpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbignZXJyb3InLCAoZSkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgZGF0YTogZSwgc3RhdHVzOiAnZXJyb3InLCBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF4LWF1ZGlvLXdhdmVcIiAjZCBbbmdTdHlsZV09XCJ7J2Rpc3BsYXknOiBhdWRpb1N0YXRlKCkgPT09ICdyZWFkeScgPyAnYmxvY2snIDogJ25vbmUnIH1cIj48L2Rpdj5cblxuQHN3aXRjaCAoYXVkaW9TdGF0ZSgpKSB7XG5AY2FzZSAoJ2xvYWRpbmcnKSB7XG48ZGl2IGNsYXNzPVwiYXgtYXVkaW8tc2tlbGV0b25cIj48L2Rpdj5cbn1cbkBjYXNlICgnZXJyb3InKSB7XG48ZGl2IGNsYXNzPVwiYXgtd2F2ZS1tZXNzYWdlXCI+XG4gICAge3snZXJyb3IubWVzc2FnZScgfCB0cmFuc2xhdGU6eyBwYXJhbXM6eyBtZXNzYWdlOiBlcnJvck1lc3NhZ2UoKSB9IH0gfCBhc3luYyB9fVxuPC9kaXY+XG59XG59Il19
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8td2F2ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYXVkaW8td2F2ZS9zcmMvbGliL2F1ZGlvLXdhdmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2F1ZGlvLXdhdmUvc3JjL2xpYi9hdWRpby13YXZlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUVWLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBRWpCLGVBQWUsRUFDZixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxVQUFVLE1BQU0sZUFBZSxDQUFDOzs7O0FBU3ZDLE1BQU0sT0FBTyxvQkFBb0I7SUFhL0I7UUFYQSxXQUFNLEdBQThCLEtBQUssRUFBZ0IsQ0FBQztRQUUxRCxvQkFBZSxHQUFHLE1BQU0sRUFBMEIsQ0FBQztRQUVuRCxlQUFVLEdBQXlFLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVwRyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUdsQixXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRzlCLGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDbkIsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLGdCQUFnQixDQUFDLHdCQUF3QixDQUFDLENBQUM7WUFDOUYsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLGdCQUFnQixDQUFDLHdCQUF3QixDQUFDLENBQUM7WUFFOUYsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO2dCQUM3QixTQUFT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QUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzFHLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsNEVBQTRFO0lBQ2xFLFdBQVc7UUFDbkIsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNuQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDckcsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBalBVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLHVVQ3ZCakMsb1dBV0M7OzJGRFlZLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxlQUFlLGlCQUdWLGlCQUFpQixDQUFDLElBQUk7d0RBR1EsR0FBRztzQkFBL0MsU0FBUzt1QkFBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dFNpZ25hbCxcbiAgTmdab25lLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBXcml0YWJsZVNpZ25hbCxcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgV2F2ZVN1cmZlciBmcm9tICd3YXZlc3VyZmVyLmpzJztcbmltcG9ydCB7IEFYQXVkaW9XYXZlQ2hhbmdlRXZlbnQsIEFYV2F2ZUNvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcy9hdWRpby13YXZlLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWF1ZGlvLXdhdmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXVkaW8td2F2ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2F1ZGlvLXdhdmUuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQVhBdWRpb1dhdmVDb21wb25lbnQge1xuICBAVmlld0NoaWxkKCdkJywgeyBzdGF0aWM6IGZhbHNlIH0pIHByb3RlY3RlZCBkaXY6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBjb25maWc6IElucHV0U2lnbmFsPEFYV2F2ZUNvbmZpZz4gPSBpbnB1dDxBWFdhdmVDb25maWc+KCk7XG5cbiAgb25TdGF0dXNDaGFuZ2VkID0gb3V0cHV0PEFYQXVkaW9XYXZlQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgYXVkaW9TdGF0ZTogV3JpdGFibGVTaWduYWw8J3BsYXlpbmcnIHwgJ3BhdXNlZCcgfCAnbG9hZGluZycgfCAncmVhZHknIHwgJ2Vycm9yJz4gPSBzaWduYWwoJ3BhdXNlZCcpO1xuXG4gIGVycm9yTWVzc2FnZSA9IHNpZ25hbCgnJyk7XG5cbiAgcHJvdGVjdGVkIGF1ZGlvOiBXYXZlU3VyZmVyO1xuICBwcml2YXRlIG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgICBjb25zdCBwcmltYXJ5MjAwID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5nZXRQcm9wZXJ0eVZhbHVlKCctLWF4LWNvbG9yLXByaW1hcnktMjAwJyk7XG4gICAgICBjb25zdCBwcmltYXJ5NzAwID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5nZXRQcm9wZXJ0eVZhbHVlKCctLWF4LWNvbG9yLXByaW1hcnktNzAwJyk7XG5cbiAgICAgIHRoaXMuYXVkaW8gPSBXYXZlU3VyZmVyLmNyZWF0ZSh7XG4gICAgICAgIGNvbnRhaW5lcjogdGhpcy5kaXYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgd2F2ZUNvbG9yOiB0aGlzLmNvbmZpZygpPy53YXZlQ29sb3IgfHwgYHJnYmEoJHtwcmltYXJ5MjAwfSlgLFxuICAgICAgICBwcm9ncmVzc0NvbG9yOiB0aGlzLmNvbmZpZygpPy5wcm9ncmVzc0NvbG9yIHx8IGByZ2JhKCR7cHJpbWFyeTcwMH0pYCxcbiAgICAgICAgdXJsOiB0aGlzLmNvbmZpZygpPy51cmwgfHwgJycsXG4gICAgICAgIGJhcldpZHRoOiB0aGlzLmNvbmZpZygpPy5iYXJXaWR0aCB8fCAyLFxuICAgICAgICBiYXJSYWRpdXM6IHRoaXMuY29uZmlnKCk/LmJhclJhZGl1cyB8fCAyLFxuICAgICAgICBiYXJHYXA6IHRoaXMuY29uZmlnKCk/LmJhckdhcCB8fCAyLFxuICAgICAgICBoZWlnaHQ6IHRoaXMuY29uZmlnKCk/LmhlaWdodCB8fCAzNixcbiAgICAgIH0pO1xuICAgICAgdGhpcy5sb2FkKCk7XG4gICAgICB0aGlzLmF1ZGlvPy5vbignbG9hZGluZycsICgpID0+IHtcbiAgICAgICAgdGhpcy5hdWRpb1N0YXRlLnNldCgnbG9hZGluZycpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmF1ZGlvPy5vbigncmVhZHknLCAoKSA9PiB7XG4gICAgICAgIHRoaXMuYXVkaW9TdGF0ZS5zZXQoJ3JlYWR5Jyk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuYXVkaW8/Lm9uKCdlcnJvcicsIChlKSA9PiB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlLnNldChlPy5tZXNzYWdlKTtcbiAgICAgICAgdGhpcy5hdWRpb1N0YXRlLnNldCgnZXJyb3InKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5iaW5kRXZlbnRzKCk7XG4gICAgfSk7XG4gIH1cblxuICBsb2FkKHVybCA9IHRoaXMuY29uZmlnKCkudXJsKSB7XG4gICAgdGhpcy5hdWRpby5sb2FkKHVybCk7XG4gIH1cblxuICBwbGF5KCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuYXVkaW8/LnBsYXkoKTtcbiAgfVxuXG4gIHBhdXNlKCk6IHZvaWQge1xuICAgIHRoaXMuYXVkaW8/LnBhdXNlKCk7XG4gIH1cblxuICBnZXREdXJhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5hdWRpbz8uZ2V0RHVyYXRpb24oKSA/PyAwO1xuICB9XG5cbiAgZ2V0TWVkaWFFbGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLmF1ZGlvPy5nZXRNZWRpYUVsZW1lbnQoKTtcbiAgfVxuXG4gIHNldFJhdGUocmF0ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5hdWRpby5zZXRQbGF5YmFja1JhdGUocmF0ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYmluZEV2ZW50cygpIHtcbiAgICB0aGlzLmhhbmRsZUxvYWQoKTtcbiAgICB0aGlzLmhhbmRsZUxvYWRpbmcoKTtcbiAgICB0aGlzLmhhbmRsZURlY29kZSgpO1xuICAgIHRoaXMuaGFuZGxlUmVhZHkoKTtcbiAgICB0aGlzLmhhbmRsZVJlZFJhd0NvbXBsZXRlKCk7XG4gICAgdGhpcy5oYW5kbGVQbGF5KCk7XG4gICAgdGhpcy5oYW5kbGVQYXVzZSgpO1xuICAgIHRoaXMuaGFuZGxlRmluaXNoKCk7XG4gICAgdGhpcy5oYW5kbGVUaW1lVXBkYXRlKCk7XG4gICAgdGhpcy5oYW5kbGVTZWVraW5nKCk7XG4gICAgdGhpcy5oYW5kbGVJbnRlcmFjdGlvbigpO1xuICAgIHRoaXMuaGFuZGxlQ2xpY2soKTtcbiAgICB0aGlzLmhhbmRsZURyYWcoKTtcbiAgICB0aGlzLmhhbmRsZVNjcm9sbCgpO1xuICAgIHRoaXMuaGFuZGxlWm9vbSgpO1xuICAgIHRoaXMuaGFuZGxlRGVzdHJveSgpO1xuICAgIHRoaXMuaGFuZGxlRXJyb3IoKTtcbiAgfVxuICAvKiogV2hlbiBhdWRpbyBzdGFydHMgbG9hZGluZyAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlTG9hZCgpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbignbG9hZCcsICh1cmwpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IHsgdXJsOiB1cmwgfSwgc3RhdHVzOiAnbG9hZCcsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIER1cmluZyBhdWRpbyBsb2FkaW5nICovXG4gIHByb3RlY3RlZCBoYW5kbGVMb2FkaW5nKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdsb2FkaW5nJywgKHBlcmNlbnQpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IHsgcGVyY2VudDogcGVyY2VudCB9LCBzdGF0dXM6ICdsb2FkaW5nJywgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgYXVkaW8gaGFzIGJlZW4gZGVjb2RlZCAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlRGVjb2RlKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdkZWNvZGUnLCAoZHVyYXRpb24pID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IHsgZHVyYXRpb246IGR1cmF0aW9uIH0sIHN0YXR1czogJ2RlY29kZScsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIGF1ZGlvIGlzIGJvdGggZGVjb2RlZCBhbmQgY2FuIHBsYXkgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVJlYWR5KCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdyZWFkeScsIChkdXJhdGlvbikgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgZGF0YTogeyBkdXJhdGlvbjogZHVyYXRpb24gfSwgc3RhdHVzOiAncmVhZHknLCBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIGFsbCBhdWRpbyBjaGFubmVsIGNodW5rcyBvZiB0aGUgd2F2ZWZvcm0gaGF2ZSBkcmF3biAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlUmVkUmF3Q29tcGxldGUoKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ3JlZHJhd2NvbXBsZXRlJywgKCkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgZGF0YTogbnVsbCwgc3RhdHVzOiAncmVkcmF3Y29tcGxldGUnLCBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSBhdWRpbyBzdGFydHMgcGxheWluZyAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlUGxheSgpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbigncGxheScsICgpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IG51bGwsIHN0YXR1czogJ3BsYXknLCBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSBhdWRpbyBwYXVzZXMgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVBhdXNlKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdwYXVzZScsICgpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IG51bGwsIHN0YXR1czogJ3BhdXNlJywgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgYXVkaW8gZmluaXNoZXMgcGxheWluZyAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlRmluaXNoKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdmaW5pc2gnLCAoKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiBudWxsLCBzdGF0dXM6ICdmaW5pc2gnLCBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBPbiBhdWRpbyBwb3NpdGlvbiBjaGFuZ2UsIGZpcmVzIGNvbnRpbnVvdXNseSBkdXJpbmcgcGxheWJhY2sgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVRpbWVVcGRhdGUoKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ3RpbWV1cGRhdGUnLCAoY3VycmVudFRpbWUpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IHsgY3VycmVudFRpbWU6IGN1cnJlbnRUaW1lIH0sIHN0YXR1czogJ3RpbWV1cGRhdGUnLCBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSB1c2VyIHNlZWtzIHRvIGEgbmV3IHBvc2l0aW9uICovXG4gIHByb3RlY3RlZCBoYW5kbGVTZWVraW5nKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdzZWVraW5nJywgKGN1cnJlbnRUaW1lKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiB7IGN1cnJlbnRUaW1lOiBjdXJyZW50VGltZSB9LCBzdGF0dXM6ICdzZWVraW5nJywgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgdXNlciBpbnRlcmFjdHMgd2l0aCB0aGUgd2F2ZWZvcm0gKGkuZy4gY2xpY2tzIG9yIGRyYWdzIG9uIGl0KSAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlSW50ZXJhY3Rpb24oKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ2ludGVyYWN0aW9uJywgKG5ld1RpbWUpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IHsgbmV3VGltZTogbmV3VGltZSB9LCBzdGF0dXM6ICdpbnRlcmFjdGlvbicsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIHVzZXIgY2xpY2tzIG9uIHRoZSB3YXZlZm9ybSAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlQ2xpY2soKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ2NsaWNrJywgKHJlbGF0aXZlWCkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgZGF0YTogeyByZWxhdGl2ZVg6IHJlbGF0aXZlWCB9LCBzdGF0dXM6ICdjbGljaycsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIHVzZXIgZHJhZ3MgdGhlIGN1cnNvciAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlRHJhZygpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbignZHJhZycsIChyZWxhdGl2ZVgpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IHsgcmVsYXRpdmVYOiByZWxhdGl2ZVggfSwgc3RhdHVzOiAnZHJhZycsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIHdhdmVmb3JtIGlzIHNjcm9sbGVkIChwYW5uZWQpICovXG4gIHByb3RlY3RlZCBoYW5kbGVTY3JvbGwoKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ3Njcm9sbCcsICh2aXNpYmxlU3RhcnRUaW1lLCB2aXNpYmxlRW5kVGltZSkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgICAgIGRhdGE6IHsgdmlzaWJsZVN0YXJ0VGltZSwgdmlzaWJsZUVuZFRpbWUgfSxcbiAgICAgICAgICBzdGF0dXM6ICdzY3JvbGwnLFxuICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSB6b29tIGxldmVsIGNoYW5nZXMgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVpvb20oKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ3pvb20nLCAobWluUHhQZXJTZWMpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IHsgbWluUHhQZXJTZWM6IG1pblB4UGVyU2VjIH0sIHN0YXR1czogJ3pvb20nLCBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBKdXN0IGJlZm9yZSB0aGUgd2F2ZWZvcm0gaXMgZGVzdHJveWVkIHNvIHlvdSBjYW4gY2xlYW4gdXAgeW91ciBldmVudHMgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZURlc3Ryb3koKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ2Rlc3Ryb3knLCAoKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiBudWxsLCBzdGF0dXM6ICdkZXN0cm95JywgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbiAgLyoqIEp1c3QgYmVmb3JlIHRoZSB3YXZlZm9ybSBpcyBkZXN0cm95ZWQgc28geW91IGNhbiBjbGVhbiB1cCB5b3VyIGV2ZW50cyAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlRXJyb3IoKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ2Vycm9yJywgKGUpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IGUsIHN0YXR1czogJ2Vycm9yJywgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1hdWRpby13YXZlXCIgI2QgW25nU3R5bGVdPVwieydkaXNwbGF5JzogYXVkaW9TdGF0ZSgpID09PSAncmVhZHknID8gJ2Jsb2NrJyA6ICdub25lJyB9XCI+PC9kaXY+XG5cbkBzd2l0Y2ggKGF1ZGlvU3RhdGUoKSkge1xuQGNhc2UgKCdsb2FkaW5nJykge1xuPGRpdiBjbGFzcz1cImF4LWF1ZGlvLXNrZWxldG9uXCI+PC9kaXY+XG59XG5AY2FzZSAoJ2Vycm9yJykge1xuPGRpdiBjbGFzcz1cImF4LXdhdmUtbWVzc2FnZVwiPlxuICAgIHt7J2Vycm9yLm1lc3NhZ2UnIHwgdHJhbnNsYXRlOnsgcGFyYW1zOnsgbWVzc2FnZTogZXJyb3JNZXNzYWdlKCkgfSB9IHwgYXN5bmMgfX1cbjwvZGl2PlxufVxufSJdfQ==
@@ -10,11 +10,11 @@ export class AXBadgeComponent extends MXColorLookComponent {
10
10
  return `ax-el-${this.color}-${this.look} ${!this.text ? 'ax-mini-badge' : ''} ${this.text?.length == 1 ? 'ax-single-badge' : ''}`;
11
11
  }
12
12
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXBadgeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXBadgeComponent, selector: "ax-badge", inputs: { color: "color", look: "look", text: "text" }, host: { properties: { "class": "this.__hostClass" } }, usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\"></ng-content>\n@if(text){\n<span class=\"ax-badge-text\">{{ text }}</span>\n}\n<ng-content select=\"ax-suffix\"></ng-content>", styles: ["ax-badge{display:inline-block;border-radius:9999px;border-width:1px;border-color:transparent;font-size:.75rem;line-height:1rem}ax-badge.ax-mini-badge{height:.5rem;width:.5rem}ax-badge.ax-mini-badge .ax-badge-text{display:none}ax-badge.ax-single-badge{display:flex;height:1.25rem;width:1.25rem;align-items:center;justify-content:center}ax-badge.ax-single-badge .ax-badge-text{padding:0}ax-badge .ax-badge-text{white-space:nowrap;word-break:break-all;padding:.25rem .375rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXBadgeComponent, selector: "ax-badge", inputs: { color: "color", look: "look", text: "text" }, host: { properties: { "class": "this.__hostClass" } }, usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\"></ng-content>\n@if(text){\n<span class=\"ax-badge-text\">{{ text }}</span>\n}\n<ng-content select=\"ax-suffix\"></ng-content>", styles: ["ax-badge{display:inline-block;border-radius:9999px;border-width:1px;border-color:transparent;font-size:.75rem}ax-badge.ax-mini-badge{height:.5rem;width:.5rem}ax-badge.ax-mini-badge .ax-badge-text{display:none}ax-badge.ax-single-badge{display:flex;height:1.25rem;width:1.25rem;align-items:center;justify-content:center}ax-badge.ax-single-badge .ax-badge-text{padding:0}ax-badge .ax-badge-text{white-space:nowrap;word-break:break-all;padding:.25rem .375rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
14
14
  }
15
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXBadgeComponent, decorators: [{
16
16
  type: Component,
17
- args: [{ selector: 'ax-badge', inputs: ['color', 'look'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"ax-prefix\"></ng-content>\n@if(text){\n<span class=\"ax-badge-text\">{{ text }}</span>\n}\n<ng-content select=\"ax-suffix\"></ng-content>", styles: ["ax-badge{display:inline-block;border-radius:9999px;border-width:1px;border-color:transparent;font-size:.75rem;line-height:1rem}ax-badge.ax-mini-badge{height:.5rem;width:.5rem}ax-badge.ax-mini-badge .ax-badge-text{display:none}ax-badge.ax-single-badge{display:flex;height:1.25rem;width:1.25rem;align-items:center;justify-content:center}ax-badge.ax-single-badge .ax-badge-text{padding:0}ax-badge .ax-badge-text{white-space:nowrap;word-break:break-all;padding:.25rem .375rem}\n"] }]
17
+ args: [{ selector: 'ax-badge', inputs: ['color', 'look'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"ax-prefix\"></ng-content>\n@if(text){\n<span class=\"ax-badge-text\">{{ text }}</span>\n}\n<ng-content select=\"ax-suffix\"></ng-content>", styles: ["ax-badge{display:inline-block;border-radius:9999px;border-width:1px;border-color:transparent;font-size:.75rem}ax-badge.ax-mini-badge{height:.5rem;width:.5rem}ax-badge.ax-mini-badge .ax-badge-text{display:none}ax-badge.ax-single-badge{display:flex;height:1.25rem;width:1.25rem;align-items:center;justify-content:center}ax-badge.ax-single-badge .ax-badge-text{padding:0}ax-badge .ax-badge-text{white-space:nowrap;word-break:break-all;padding:.25rem .375rem}\n"] }]
18
18
  }], propDecorators: { text: [{
19
19
  type: Input
20
20
  }], __hostClass: [{