@acorex/components 18.2.1 → 18.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) 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/esm2022/audio-wave/lib/audio-wave.component.mjs +2 -2
  16. package/esm2022/badge/lib/badge.component.mjs +2 -2
  17. package/esm2022/color-palette/lib/color-palette-picker.component.mjs +4 -4
  18. package/esm2022/color-palette/lib/color-palette.component.mjs +2 -2
  19. package/esm2022/color-palette/lib/color-palette.module.mjs +4 -4
  20. package/esm2022/common/lib/components/selection-base.component.class.mjs +14 -2
  21. package/esm2022/conversation/index.mjs +5 -1
  22. package/esm2022/conversation/lib/conversation-container/conversation-container.component.mjs +11 -0
  23. package/esm2022/conversation/lib/conversation-input/conversation-input.component.mjs +18 -5
  24. package/esm2022/conversation/lib/conversation-message/conversation-message.component.mjs +19 -16
  25. package/esm2022/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.mjs +122 -0
  26. package/esm2022/conversation/lib/conversation-messages/conversation-message-file/conversation-message-file.component.mjs +5 -3
  27. package/esm2022/conversation/lib/conversation-messages/conversation-message-image/conversation-message-image.component.mjs +21 -0
  28. package/esm2022/conversation/lib/conversation-messages/conversation-message-video/conversation-message-video.component.mjs +21 -0
  29. package/esm2022/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.mjs +3 -3
  30. package/esm2022/conversation/lib/conversation-view/conversation-view.component.mjs +10 -11
  31. package/esm2022/conversation/lib/conversation.module.mjs +25 -5
  32. package/esm2022/conversation/lib/conversation.types.mjs +1 -1
  33. package/esm2022/conversation/lib/services/conversation.service.mjs +135 -2
  34. package/esm2022/select-box/lib/select-box.component.mjs +14 -2
  35. package/esm2022/slider/acorex-components-slider.mjs +5 -0
  36. package/esm2022/slider/index.mjs +3 -0
  37. package/esm2022/slider/lib/slider.component.mjs +117 -0
  38. package/esm2022/slider/lib/slider.module.mjs +23 -0
  39. package/fesm2022/acorex-components-audio-wave.mjs +1 -1
  40. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  41. package/fesm2022/acorex-components-badge.mjs +2 -2
  42. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  43. package/fesm2022/acorex-components-color-palette.mjs +8 -8
  44. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  45. package/fesm2022/acorex-components-common.mjs +13 -1
  46. package/fesm2022/acorex-components-common.mjs.map +1 -1
  47. package/fesm2022/acorex-components-conversation.mjs +364 -49
  48. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  49. package/fesm2022/acorex-components-select-box.mjs +13 -1
  50. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  51. package/fesm2022/acorex-components-slider.mjs +142 -0
  52. package/fesm2022/acorex-components-slider.mjs.map +1 -0
  53. package/package.json +7 -7
  54. package/slider/README.md +3 -0
  55. package/slider/index.d.ts +2 -0
  56. package/{range-slider/lib/range-slider.component.d.ts → slider/lib/slider.component.d.ts} +4 -4
  57. package/slider/lib/slider.module.d.ts +10 -0
  58. package/esm2022/range-slider/acorex-components-range-slider.mjs +0 -5
  59. package/esm2022/range-slider/index.mjs +0 -3
  60. package/esm2022/range-slider/lib/range-slider.component.mjs +0 -117
  61. package/esm2022/range-slider/lib/range-slider.module.mjs +0 -23
  62. package/fesm2022/acorex-components-range-slider.mjs +0 -142
  63. package/fesm2022/acorex-components-range-slider.mjs.map +0 -1
  64. package/range-slider/README.md +0 -3
  65. package/range-slider/index.d.ts +0 -2
  66. package/range-slider/lib/range-slider.module.d.ts +0 -10
@@ -1,9 +1,9 @@
1
1
  import { MXBaseComponent } from '@acorex/components/common';
2
- import { AXPopoverComponent } from '@acorex/components/popover';
3
2
  import { isBrowser } from '@acorex/core/platform';
4
3
  import { ComponentPortal } from '@angular/cdk/portal';
5
- import { Component, HostBinding, Input, ViewEncapsulation, inject, viewChild } from '@angular/core';
4
+ import { Component, HostBinding, ViewEncapsulation, inject, input, viewChild } from '@angular/core';
6
5
  import { AXConversationMessageTypeRegistryService } from '../services/conversation-message-type-registry.service';
6
+ import { AXConversationService } from '../services/conversation.service';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@acorex/components/button";
9
9
  import * as i2 from "@acorex/components/decorators";
@@ -15,22 +15,24 @@ import * as i7 from "@acorex/core/format";
15
15
  export class AXConversationMessageComponent extends MXBaseComponent {
16
16
  constructor() {
17
17
  super(...arguments);
18
- this.popover = viewChild(AXPopoverComponent);
18
+ this.popover = viewChild('popover');
19
+ this.conversationService = inject(AXConversationService);
20
+ this.chatMessage = input();
19
21
  this.registryService = inject(AXConversationMessageTypeRegistryService);
20
22
  }
21
23
  get isOwn() {
22
- return !this.chatMessage.fromId;
24
+ return !this.chatMessage().fromId;
23
25
  }
24
26
  get __hostClass() {
25
27
  return `${this.isOwn ? 'ax-state-own' : ''} ${!this.isOwn ? 'ax-state-other' : ''}`;
26
28
  }
27
29
  ngOnInit() {
28
- this._portal = new ComponentPortal(this.registryService.resolve(this.chatMessage.type).component);
30
+ this._portal = new ComponentPortal(this.registryService.resolve(this.chatMessage().type).component);
29
31
  }
30
32
  _handleAttched(ref) {
31
33
  ref = ref;
32
34
  if (ref.instance && isBrowser()) {
33
- Object.assign(ref.instance, { message: this.chatMessage });
35
+ Object.assign(ref.instance, { message: this.chatMessage() });
34
36
  this.cdr.markForCheck();
35
37
  const prefix = this.getHostElement().querySelector('ax-prefix');
36
38
  const suffix = this.getHostElement().querySelector('ax-suffix');
@@ -47,23 +49,24 @@ export class AXConversationMessageComponent extends MXBaseComponent {
47
49
  }
48
50
  }
49
51
  handleResendClick() {
50
- this.popover().close();
51
- this.chatMessage.onResendClick();
52
+ this.popover()?.close();
53
+ this.chatMessage().onResendClick();
52
54
  }
53
55
  handleDeleteClick() {
54
- this.popover().close();
55
- this.chatMessage.onDeleteClick();
56
+ this.popover()?.close();
57
+ this.chatMessage().onDeleteClick();
58
+ }
59
+ replyHandler(e) {
60
+ this.conversationService.replyId.set(e);
56
61
  }
57
62
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXConversationMessageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
58
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXConversationMessageComponent, selector: "ax-conversation-message", inputs: { chatMessage: "chatMessage" }, host: { properties: { "class": "this.__hostClass" } }, viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if(chatMessage.fromId){\n<ax-avatar [size]=\"36\"></ax-avatar>\n}\n<div class=\"ax-message-content\" [class.ax-state-own]=\"!chatMessage.fromId\" [class.ax-state-other]=\"chatMessage.fromId\">\n <ng-template [cdkPortalOutlet]=\"_portal\" (attached)=\"_handleAttched($event)\"></ng-template>\n\n <div class=\"ax-chat-message-status\">\n <div class=\"ax-message-prefix\">\n </div>\n <div>\n <div class=\"ax-message-suffix\"></div>\n <span>\n {{ chatMessage.sendTime | format:'datetime':'HH:mm' | async }}\n </span>\n <span>\n @if(isOwn) {\n @if(chatMessage.deliverTime && chatMessage.sendTime){\n <i class=\"ax-icon ax-icon-check ax-message-status\"></i>\n }\n @if(chatMessage.readTime && chatMessage.sendTime){\n <i class=\"ax-icon ax-icon-dobble-check ax-message-status\"></i>\n }\n }\n </span>\n </div>\n </div>\n</div>\n@if(!chatMessage.sendTime){\n<ax-button class=\"ax-resend-button ax-xs\" color=\"danger\" #b>\n <ax-icon class=\"ax-icon ax-icon-error\"></ax-icon>\n\n <ax-popover [target]=\"b\" placement=\"bottom-end\" #popover>\n <div class=\"ax-overlay-pane\">\n\n <ax-content>\n </ax-content>\n <ax-button-item-list>\n @if(chatMessage.onResendClick){\n <ax-button-item text=\"Resend\" (onClick)=\"handleResendClick()\">\n <ax-icon class=\"ax-icon ax-icon-reload ax-bold\"></ax-icon>\n </ax-button-item>\n }\n @if(chatMessage.onDeleteClick){\n <ax-button-item text=\"Delete\" color=\"danger\" (onClick)=\"handleDeleteClick()\">\n <ax-icon class=\"ax-icon ax-icon-clear ax-bold\"></ax-icon>\n </ax-button-item>\n }\n\n </ax-button-item-list>\n </div>\n\n </ax-popover>\n</ax-button>\n}", styles: [":root{--ax-message-other-color: rgba(var(--ax-color-primary-500));--ax-message-other-color-fore: rgba(var(--ax-color-primary-fore));--ax-message-status-color: rgba(var(--ax-color-primary-700));--ax-message-other-bar-color: rgba(var(--ax-color-primary-400));--ax-message-other-progress-color: rgba(var(--ax-color-primary-fore));--ax-message-own-color: rgba(var(--ax-color-primary-100));--ax-message-own-color-fore: rgba(var(--ax-color-primary-700));--ax-message-own-bar-color: rgba(var(--ax-color-primary-200));--ax-message-own-progress-color: rgba(var(--ax-color-primary-700))}ax-conversation-message{display:flex;gap:.5rem;align-items:flex-end}ax-conversation-message.ax-state-own{justify-content:flex-end}ax-conversation-message.ax-state-own .ax-conversation-controller button{background-color:var(--ax-message-own-color-fore);color:var(--ax-message-own-color)}ax-conversation-message.ax-state-other .ax-conversation-controller button{background-color:var(--ax-message-other-color-fore);color:var(--ax-message-other-color)}ax-conversation-message .ax-conversation-controller button{width:2.5rem;height:2.5rem;border-radius:999rem;display:flex;align-items:center;justify-content:center}ax-conversation-message .ax-conversation-controller button ax-loading-spinner{display:flex}ax-conversation-message .ax-conversation-controller button.ax-state-error{background-color:rgba(var(--ax-color-danger-500));color:rgba(var(--ax-color-danger-fore))}ax-conversation-message .ax-conversation-controller button>i{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700}ax-conversation-message .ax-message-content{display:block;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;border-radius:1rem;width:fit-content;max-width:50%}ax-conversation-message .ax-message-content.ax-state-own{border-end-end-radius:0!important;background-color:var(--ax-message-own-color);color:var(--ax-message-own-color-fore);justify-content:flex-end}ax-conversation-message .ax-message-content.ax-state-own .ax-chat-message-status{color:var(--ax-message-own-color-fore)}ax-conversation-message .ax-message-content.ax-state-other{border-end-start-radius:0!important;background-color:var(--ax-message-other-color);color:var(--ax-message-other-color-fore)}ax-conversation-message .ax-message-content.ax-state-other .ax-chat-message-status{color:var(--ax-message-other-color-fore)}ax-conversation-message .ax-message-content .ax-chat-message-status{display:flex;justify-content:space-between;align-items:center;font-size:.75rem}ax-conversation-message .ax-message-content .ax-chat-message-status>div{display:flex;gap:.125rem;align-items:center}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-message-status{color:var(--ax-message-status-color)}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon{font-weight:700;font-size:.875rem}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon-error{color:rgba(var(--ax-color-danger-500))}ax-conversation-message .ax-message-content ax-prefix,ax-conversation-message .ax-message-content ax-suffix{display:none}ax-conversation-message .ax-resend-button{border-radius:999rem}@media (min-width: 320px) and (max-width: 600px){ax-conversation-message ax-avatar{display:none!important}ax-conversation-message .ax-message-content{max-width:100%}}\n"], dependencies: [{ kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "component", type: i1.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i1.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i4.AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "look"] }, { kind: "component", type: i5.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
63
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXConversationMessageComponent, selector: "ax-conversation-message", inputs: { chatMessage: { classPropertyName: "chatMessage", publicName: "chatMessage", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.__hostClass" } }, viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (chatMessage().fromId) {\n <ax-avatar [size]=\"36\"></ax-avatar>\n}\n\n@if (isOwn) {\n <i (click)=\"replyHandler(chatMessage().id)\" class=\"fa-solid fa-reply ax-cursor-pointer\"></i>\n}\n\n<div class=\"ax-message-content\" [class.ax-state-own]=\"!chatMessage().fromId\" [class.ax-state-other]=\"chatMessage().fromId\">\n @if (chatMessage().replyTo) {\n <div class=\"ax-message-reply-container\">\n @switch (chatMessage().replyTo.type) {\n @case ('text') {\n {{ chatMessage().replyTo.content }}\n }\n @case ('image') {\n <img src=\"{{ chatMessage().replyTo.content }}\" alt=\"\" />\n }\n @case ('video') {\n <video src=\"{{ chatMessage().replyTo.content }}\"></video>\n }\n @case ('file') {\n <div class=\"file\">\n <i class=\"fa-regular fa-folder-open\"></i>\n {{ chatMessage().replyTo.name }}\n </div>\n }\n @default {\n {{ chatMessage().replyTo.type }}\n }\n }\n </div>\n }\n <ng-template [cdkPortalOutlet]=\"_portal\" (attached)=\"_handleAttched($event)\"></ng-template>\n\n <div class=\"ax-chat-message-status\">\n <div class=\"ax-message-prefix\"></div>\n <div>\n <div class=\"ax-message-suffix\"></div>\n <span>\n {{ chatMessage().sendTime | format: 'datetime' : 'HH:mm' | async }}\n </span>\n <span>\n @if (isOwn) {\n @if (chatMessage().deliverTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-check ax-message-status\"></i>\n }\n @if (chatMessage().readTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-dobble-check ax-message-status\"></i>\n }\n }\n </span>\n </div>\n </div>\n</div>\n\n@if (!chatMessage().sendTime) {\n <ax-button class=\"ax-resend-button ax-xs\" color=\"danger\" #b>\n <ax-icon class=\"ax-icon ax-icon-error\"></ax-icon>\n\n <ax-popover [target]=\"b\" placement=\"bottom-end\" #popover>\n <div class=\"ax-overlay-pane\">\n <ax-content> </ax-content>\n <ax-button-item-list>\n @if (chatMessage().onResendClick) {\n <ax-button-item text=\"Resend\" (onClick)=\"handleResendClick()\">\n <ax-icon class=\"ax-icon ax-icon-reload ax-bold\"></ax-icon>\n </ax-button-item>\n }\n @if (chatMessage().onDeleteClick) {\n <ax-button-item text=\"Delete\" color=\"danger\" (onClick)=\"handleDeleteClick()\">\n <ax-icon class=\"ax-icon ax-icon-clear ax-bold\"></ax-icon>\n </ax-button-item>\n }\n </ax-button-item-list>\n </div>\n </ax-popover>\n </ax-button>\n}\n", styles: [":root{--ax-message-other-color: rgba(var(--ax-color-primary-500));--ax-message-other-color-fore: rgba(var(--ax-color-primary-fore));--ax-message-status-color: rgba(var(--ax-color-primary-700));--ax-message-other-bar-color: rgba(var(--ax-color-primary-400));--ax-message-other-progress-color: rgba(var(--ax-color-primary-fore));--ax-message-own-color: rgba(var(--ax-color-primary-100));--ax-message-own-color-fore: rgba(var(--ax-color-primary-700));--ax-message-own-reply-color: rgba(var(--ax-color-primary-200));--ax-message-own-reply-color-fore: rgba(var(--ax-color-primary-800));--ax-message-other-reply-color: rgba(var(--ax-color-primary-700));--ax-message-other-reply-color-fore: white;--ax-message-border-color: rgba(var(--ax-color-primary-800));--ax-message-own-bar-color: rgba(var(--ax-color-primary-200));--ax-message-own-progress-color: rgba(var(--ax-color-primary-700))}ax-conversation-message{display:flex;gap:.5rem;align-items:flex-end}ax-conversation-message .ax-message-reply-container{border-left:.3rem solid var(--ax-message-border-color);border-radius:.75rem;padding:.75rem;margin-bottom:.25rem}ax-conversation-message .ax-message-reply-container .file{display:flex;align-items:center}ax-conversation-message .ax-message-reply-container .file i{margin-inline-end:.5rem}ax-conversation-message.ax-state-own{justify-content:flex-end}ax-conversation-message.ax-state-own .ax-conversation-controller button{background-color:var(--ax-message-own-color-fore);color:var(--ax-message-own-color)}ax-conversation-message.ax-state-own .ax-message-reply-container{background-color:var(--ax-message-own-reply-color);color:var(--ax-message-own-reply-color-fore)}ax-conversation-message.ax-state-other .ax-conversation-controller button{background-color:var(--ax-message-other-color-fore);color:var(--ax-message-other-color)}ax-conversation-message.ax-state-other .ax-message-reply-container{background-color:var(--ax-message-other-reply-color);color:var(--ax-message-other-reply-color-fore)}ax-conversation-message .ax-conversation-controller button{width:2.5rem;height:2.5rem;border-radius:999rem;display:flex;align-items:center;justify-content:center}ax-conversation-message .ax-conversation-controller button ax-loading-spinner{display:flex}ax-conversation-message .ax-conversation-controller button.ax-state-error{background-color:rgba(var(--ax-color-danger-500));color:rgba(var(--ax-color-danger-fore))}ax-conversation-message .ax-conversation-controller button>i{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700}ax-conversation-message .ax-message-content{display:block;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;border-radius:1rem;width:fit-content;max-width:50%}ax-conversation-message .ax-message-content.ax-state-own{border-end-end-radius:0!important;background-color:var(--ax-message-own-color);color:var(--ax-message-own-color-fore);justify-content:flex-end}ax-conversation-message .ax-message-content.ax-state-own .ax-chat-message-status{color:var(--ax-message-own-color-fore)}ax-conversation-message .ax-message-content.ax-state-other{border-end-start-radius:0!important;background-color:var(--ax-message-other-color);color:var(--ax-message-other-color-fore)}ax-conversation-message .ax-message-content.ax-state-other .ax-chat-message-status{color:var(--ax-message-other-color-fore)}ax-conversation-message .ax-message-content .ax-chat-message-status{display:flex;justify-content:space-between;align-items:center;font-size:.75rem}ax-conversation-message .ax-message-content .ax-chat-message-status>div{display:flex;gap:.125rem;align-items:center}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-message-status{color:var(--ax-message-status-color)}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon{font-weight:700;font-size:.875rem}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon-error{color:rgba(var(--ax-color-danger-500))}ax-conversation-message .ax-message-content ax-prefix,ax-conversation-message .ax-message-content ax-suffix{display:none}ax-conversation-message .ax-resend-button{border-radius:999rem}ax-conversation-message .ax-cursor-pointer{cursor:pointer}ax-conversation-message .ax-rounded{border-radius:.75rem}ax-conversation-message .ax-message-content p{padding:.75rem;color:rgba(var(--ax-color-primary-fore))}@media (min-width: 320px) and (max-width: 600px){ax-conversation-message ax-avatar{display:none!important}ax-conversation-message .ax-message-content{max-width:100%}}\n"], dependencies: [{ kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "component", type: i1.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i1.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i4.AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "look"] }, { kind: "component", type: i5.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
59
64
  }
60
65
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXConversationMessageComponent, decorators: [{
61
66
  type: Component,
62
- args: [{ selector: 'ax-conversation-message', encapsulation: ViewEncapsulation.None, template: "@if(chatMessage.fromId){\n<ax-avatar [size]=\"36\"></ax-avatar>\n}\n<div class=\"ax-message-content\" [class.ax-state-own]=\"!chatMessage.fromId\" [class.ax-state-other]=\"chatMessage.fromId\">\n <ng-template [cdkPortalOutlet]=\"_portal\" (attached)=\"_handleAttched($event)\"></ng-template>\n\n <div class=\"ax-chat-message-status\">\n <div class=\"ax-message-prefix\">\n </div>\n <div>\n <div class=\"ax-message-suffix\"></div>\n <span>\n {{ chatMessage.sendTime | format:'datetime':'HH:mm' | async }}\n </span>\n <span>\n @if(isOwn) {\n @if(chatMessage.deliverTime && chatMessage.sendTime){\n <i class=\"ax-icon ax-icon-check ax-message-status\"></i>\n }\n @if(chatMessage.readTime && chatMessage.sendTime){\n <i class=\"ax-icon ax-icon-dobble-check ax-message-status\"></i>\n }\n }\n </span>\n </div>\n </div>\n</div>\n@if(!chatMessage.sendTime){\n<ax-button class=\"ax-resend-button ax-xs\" color=\"danger\" #b>\n <ax-icon class=\"ax-icon ax-icon-error\"></ax-icon>\n\n <ax-popover [target]=\"b\" placement=\"bottom-end\" #popover>\n <div class=\"ax-overlay-pane\">\n\n <ax-content>\n </ax-content>\n <ax-button-item-list>\n @if(chatMessage.onResendClick){\n <ax-button-item text=\"Resend\" (onClick)=\"handleResendClick()\">\n <ax-icon class=\"ax-icon ax-icon-reload ax-bold\"></ax-icon>\n </ax-button-item>\n }\n @if(chatMessage.onDeleteClick){\n <ax-button-item text=\"Delete\" color=\"danger\" (onClick)=\"handleDeleteClick()\">\n <ax-icon class=\"ax-icon ax-icon-clear ax-bold\"></ax-icon>\n </ax-button-item>\n }\n\n </ax-button-item-list>\n </div>\n\n </ax-popover>\n</ax-button>\n}", styles: [":root{--ax-message-other-color: rgba(var(--ax-color-primary-500));--ax-message-other-color-fore: rgba(var(--ax-color-primary-fore));--ax-message-status-color: rgba(var(--ax-color-primary-700));--ax-message-other-bar-color: rgba(var(--ax-color-primary-400));--ax-message-other-progress-color: rgba(var(--ax-color-primary-fore));--ax-message-own-color: rgba(var(--ax-color-primary-100));--ax-message-own-color-fore: rgba(var(--ax-color-primary-700));--ax-message-own-bar-color: rgba(var(--ax-color-primary-200));--ax-message-own-progress-color: rgba(var(--ax-color-primary-700))}ax-conversation-message{display:flex;gap:.5rem;align-items:flex-end}ax-conversation-message.ax-state-own{justify-content:flex-end}ax-conversation-message.ax-state-own .ax-conversation-controller button{background-color:var(--ax-message-own-color-fore);color:var(--ax-message-own-color)}ax-conversation-message.ax-state-other .ax-conversation-controller button{background-color:var(--ax-message-other-color-fore);color:var(--ax-message-other-color)}ax-conversation-message .ax-conversation-controller button{width:2.5rem;height:2.5rem;border-radius:999rem;display:flex;align-items:center;justify-content:center}ax-conversation-message .ax-conversation-controller button ax-loading-spinner{display:flex}ax-conversation-message .ax-conversation-controller button.ax-state-error{background-color:rgba(var(--ax-color-danger-500));color:rgba(var(--ax-color-danger-fore))}ax-conversation-message .ax-conversation-controller button>i{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700}ax-conversation-message .ax-message-content{display:block;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;border-radius:1rem;width:fit-content;max-width:50%}ax-conversation-message .ax-message-content.ax-state-own{border-end-end-radius:0!important;background-color:var(--ax-message-own-color);color:var(--ax-message-own-color-fore);justify-content:flex-end}ax-conversation-message .ax-message-content.ax-state-own .ax-chat-message-status{color:var(--ax-message-own-color-fore)}ax-conversation-message .ax-message-content.ax-state-other{border-end-start-radius:0!important;background-color:var(--ax-message-other-color);color:var(--ax-message-other-color-fore)}ax-conversation-message .ax-message-content.ax-state-other .ax-chat-message-status{color:var(--ax-message-other-color-fore)}ax-conversation-message .ax-message-content .ax-chat-message-status{display:flex;justify-content:space-between;align-items:center;font-size:.75rem}ax-conversation-message .ax-message-content .ax-chat-message-status>div{display:flex;gap:.125rem;align-items:center}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-message-status{color:var(--ax-message-status-color)}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon{font-weight:700;font-size:.875rem}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon-error{color:rgba(var(--ax-color-danger-500))}ax-conversation-message .ax-message-content ax-prefix,ax-conversation-message .ax-message-content ax-suffix{display:none}ax-conversation-message .ax-resend-button{border-radius:999rem}@media (min-width: 320px) and (max-width: 600px){ax-conversation-message ax-avatar{display:none!important}ax-conversation-message .ax-message-content{max-width:100%}}\n"] }]
63
- }], propDecorators: { chatMessage: [{
64
- type: Input
65
- }], __hostClass: [{
67
+ args: [{ selector: 'ax-conversation-message', encapsulation: ViewEncapsulation.None, template: "@if (chatMessage().fromId) {\n <ax-avatar [size]=\"36\"></ax-avatar>\n}\n\n@if (isOwn) {\n <i (click)=\"replyHandler(chatMessage().id)\" class=\"fa-solid fa-reply ax-cursor-pointer\"></i>\n}\n\n<div class=\"ax-message-content\" [class.ax-state-own]=\"!chatMessage().fromId\" [class.ax-state-other]=\"chatMessage().fromId\">\n @if (chatMessage().replyTo) {\n <div class=\"ax-message-reply-container\">\n @switch (chatMessage().replyTo.type) {\n @case ('text') {\n {{ chatMessage().replyTo.content }}\n }\n @case ('image') {\n <img src=\"{{ chatMessage().replyTo.content }}\" alt=\"\" />\n }\n @case ('video') {\n <video src=\"{{ chatMessage().replyTo.content }}\"></video>\n }\n @case ('file') {\n <div class=\"file\">\n <i class=\"fa-regular fa-folder-open\"></i>\n {{ chatMessage().replyTo.name }}\n </div>\n }\n @default {\n {{ chatMessage().replyTo.type }}\n }\n }\n </div>\n }\n <ng-template [cdkPortalOutlet]=\"_portal\" (attached)=\"_handleAttched($event)\"></ng-template>\n\n <div class=\"ax-chat-message-status\">\n <div class=\"ax-message-prefix\"></div>\n <div>\n <div class=\"ax-message-suffix\"></div>\n <span>\n {{ chatMessage().sendTime | format: 'datetime' : 'HH:mm' | async }}\n </span>\n <span>\n @if (isOwn) {\n @if (chatMessage().deliverTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-check ax-message-status\"></i>\n }\n @if (chatMessage().readTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-dobble-check ax-message-status\"></i>\n }\n }\n </span>\n </div>\n </div>\n</div>\n\n@if (!chatMessage().sendTime) {\n <ax-button class=\"ax-resend-button ax-xs\" color=\"danger\" #b>\n <ax-icon class=\"ax-icon ax-icon-error\"></ax-icon>\n\n <ax-popover [target]=\"b\" placement=\"bottom-end\" #popover>\n <div class=\"ax-overlay-pane\">\n <ax-content> </ax-content>\n <ax-button-item-list>\n @if (chatMessage().onResendClick) {\n <ax-button-item text=\"Resend\" (onClick)=\"handleResendClick()\">\n <ax-icon class=\"ax-icon ax-icon-reload ax-bold\"></ax-icon>\n </ax-button-item>\n }\n @if (chatMessage().onDeleteClick) {\n <ax-button-item text=\"Delete\" color=\"danger\" (onClick)=\"handleDeleteClick()\">\n <ax-icon class=\"ax-icon ax-icon-clear ax-bold\"></ax-icon>\n </ax-button-item>\n }\n </ax-button-item-list>\n </div>\n </ax-popover>\n </ax-button>\n}\n", styles: [":root{--ax-message-other-color: rgba(var(--ax-color-primary-500));--ax-message-other-color-fore: rgba(var(--ax-color-primary-fore));--ax-message-status-color: rgba(var(--ax-color-primary-700));--ax-message-other-bar-color: rgba(var(--ax-color-primary-400));--ax-message-other-progress-color: rgba(var(--ax-color-primary-fore));--ax-message-own-color: rgba(var(--ax-color-primary-100));--ax-message-own-color-fore: rgba(var(--ax-color-primary-700));--ax-message-own-reply-color: rgba(var(--ax-color-primary-200));--ax-message-own-reply-color-fore: rgba(var(--ax-color-primary-800));--ax-message-other-reply-color: rgba(var(--ax-color-primary-700));--ax-message-other-reply-color-fore: white;--ax-message-border-color: rgba(var(--ax-color-primary-800));--ax-message-own-bar-color: rgba(var(--ax-color-primary-200));--ax-message-own-progress-color: rgba(var(--ax-color-primary-700))}ax-conversation-message{display:flex;gap:.5rem;align-items:flex-end}ax-conversation-message .ax-message-reply-container{border-left:.3rem solid var(--ax-message-border-color);border-radius:.75rem;padding:.75rem;margin-bottom:.25rem}ax-conversation-message .ax-message-reply-container .file{display:flex;align-items:center}ax-conversation-message .ax-message-reply-container .file i{margin-inline-end:.5rem}ax-conversation-message.ax-state-own{justify-content:flex-end}ax-conversation-message.ax-state-own .ax-conversation-controller button{background-color:var(--ax-message-own-color-fore);color:var(--ax-message-own-color)}ax-conversation-message.ax-state-own .ax-message-reply-container{background-color:var(--ax-message-own-reply-color);color:var(--ax-message-own-reply-color-fore)}ax-conversation-message.ax-state-other .ax-conversation-controller button{background-color:var(--ax-message-other-color-fore);color:var(--ax-message-other-color)}ax-conversation-message.ax-state-other .ax-message-reply-container{background-color:var(--ax-message-other-reply-color);color:var(--ax-message-other-reply-color-fore)}ax-conversation-message .ax-conversation-controller button{width:2.5rem;height:2.5rem;border-radius:999rem;display:flex;align-items:center;justify-content:center}ax-conversation-message .ax-conversation-controller button ax-loading-spinner{display:flex}ax-conversation-message .ax-conversation-controller button.ax-state-error{background-color:rgba(var(--ax-color-danger-500));color:rgba(var(--ax-color-danger-fore))}ax-conversation-message .ax-conversation-controller button>i{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700}ax-conversation-message .ax-message-content{display:block;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;border-radius:1rem;width:fit-content;max-width:50%}ax-conversation-message .ax-message-content.ax-state-own{border-end-end-radius:0!important;background-color:var(--ax-message-own-color);color:var(--ax-message-own-color-fore);justify-content:flex-end}ax-conversation-message .ax-message-content.ax-state-own .ax-chat-message-status{color:var(--ax-message-own-color-fore)}ax-conversation-message .ax-message-content.ax-state-other{border-end-start-radius:0!important;background-color:var(--ax-message-other-color);color:var(--ax-message-other-color-fore)}ax-conversation-message .ax-message-content.ax-state-other .ax-chat-message-status{color:var(--ax-message-other-color-fore)}ax-conversation-message .ax-message-content .ax-chat-message-status{display:flex;justify-content:space-between;align-items:center;font-size:.75rem}ax-conversation-message .ax-message-content .ax-chat-message-status>div{display:flex;gap:.125rem;align-items:center}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-message-status{color:var(--ax-message-status-color)}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon{font-weight:700;font-size:.875rem}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon-error{color:rgba(var(--ax-color-danger-500))}ax-conversation-message .ax-message-content ax-prefix,ax-conversation-message .ax-message-content ax-suffix{display:none}ax-conversation-message .ax-resend-button{border-radius:999rem}ax-conversation-message .ax-cursor-pointer{cursor:pointer}ax-conversation-message .ax-rounded{border-radius:.75rem}ax-conversation-message .ax-message-content p{padding:.75rem;color:rgba(var(--ax-color-primary-fore))}@media (min-width: 320px) and (max-width: 600px){ax-conversation-message ax-avatar{display:none!important}ax-conversation-message .ax-message-content{max-width:100%}}\n"] }]
68
+ }], propDecorators: { __hostClass: [{
66
69
  type: HostBinding,
67
70
  args: ['class']
68
71
  }] } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLW1lc3NhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbnZlcnNhdGlvbi9zcmMvbGliL2NvbnZlcnNhdGlvbi1tZXNzYWdlL2NvbnZlcnNhdGlvbi1tZXNzYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb252ZXJzYXRpb24vc3JjL2xpYi9jb252ZXJzYXRpb24tbWVzc2FnZS9jb252ZXJzYXRpb24tbWVzc2FnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBOEIsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEYsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsV0FBVyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxILE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLHdEQUF3RCxDQUFDOzs7Ozs7Ozs7QUFRbEgsTUFBTSxPQUFPLDhCQUErQixTQUFRLGVBQWU7SUFObkU7O1FBT0UsWUFBTyxHQUFHLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBVzlCLG9CQUFlLEdBQUcsTUFBTSxDQUFDLHdDQUF3QyxDQUFDLENBQUM7S0F1QzlFO0lBM0NDLElBQWMsS0FBSztRQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDbEMsQ0FBQztJQUlELElBQ0ksV0FBVztRQUNiLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUN0RixDQUFDO0lBRWtCLFFBQVE7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFDUyxjQUFjLENBQUMsR0FBK0I7UUFDdEQsR0FBRyxHQUFHLEdBQTRCLENBQUM7UUFDbkMsSUFBSSxHQUFHLENBQUMsUUFBUSxJQUFJLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDaEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDeEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQW1CLENBQUM7WUFDbEYsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQW1CLENBQUM7WUFDbEYsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQ2xGLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUNsRixJQUFJLE1BQU0sSUFBSSxlQUFlLEVBQUUsQ0FBQztnQkFDOUIsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO2dCQUM5QixlQUFlLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pDLENBQUM7WUFDRCxJQUFJLE1BQU0sSUFBSSxlQUFlLEVBQUUsQ0FBQztnQkFDOUIsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO2dCQUM5QixlQUFlLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVTLGlCQUFpQjtRQUN6QixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRVMsaUJBQWlCO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ25DLENBQUM7OEdBbERVLDhCQUE4QjtrR0FBOUIsOEJBQThCLHVNQUNyQixrQkFBa0IsdUZDZnhDLGdnRUFxREM7OzJGRHZDWSw4QkFBOEI7a0JBTjFDLFNBQVM7K0JBQ0UseUJBQXlCLGlCQUdwQixpQkFBaUIsQ0FBQyxJQUFJOzhCQU1yQyxXQUFXO3NCQURWLEtBQUs7Z0JBWUYsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNWEJhc2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEFYUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3BvdmVyJztcbmltcG9ydCB7IGlzQnJvd3NlciB9IGZyb20gJ0BhY29yZXgvY29yZS9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBDZGtQb3J0YWxPdXRsZXRBdHRhY2hlZFJlZiwgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIENvbXBvbmVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5qZWN0LCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYQ29udmVyc2F0aW9uTWVzc2FnZSB9IGZyb20gJy4uL2NvbnZlcnNhdGlvbi50eXBlcyc7XG5pbXBvcnQgeyBBWENvbnZlcnNhdGlvbk1lc3NhZ2VUeXBlUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29udmVyc2F0aW9uLW1lc3NhZ2UtdHlwZS1yZWdpc3RyeS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtY29udmVyc2F0aW9uLW1lc3NhZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29udmVyc2F0aW9uLW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb252ZXJzYXRpb24tbWVzc2FnZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBWENvbnZlcnNhdGlvbk1lc3NhZ2VDb21wb25lbnQgZXh0ZW5kcyBNWEJhc2VDb21wb25lbnQge1xuICBwb3BvdmVyID0gdmlld0NoaWxkKEFYUG9wb3ZlckNvbXBvbmVudCk7XG5cbiAgQElucHV0KClcbiAgY2hhdE1lc3NhZ2U6IEFYQ29udmVyc2F0aW9uTWVzc2FnZTxhbnk+O1xuXG4gIHByb3RlY3RlZCBfcG9ydGFsOiBDb21wb25lbnRQb3J0YWw8YW55PiB8IG51bGw7XG5cbiAgcHJvdGVjdGVkIGdldCBpc093bigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuY2hhdE1lc3NhZ2UuZnJvbUlkO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlZ2lzdHJ5U2VydmljZSA9IGluamVjdChBWENvbnZlcnNhdGlvbk1lc3NhZ2VUeXBlUmVnaXN0cnlTZXJ2aWNlKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuaXNPd24gPyAnYXgtc3RhdGUtb3duJyA6ICcnfSAkeyF0aGlzLmlzT3duID8gJ2F4LXN0YXRlLW90aGVyJyA6ICcnfWA7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fcG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbCh0aGlzLnJlZ2lzdHJ5U2VydmljZS5yZXNvbHZlKHRoaXMuY2hhdE1lc3NhZ2UudHlwZSkuY29tcG9uZW50KTtcbiAgfVxuICBwcm90ZWN0ZWQgX2hhbmRsZUF0dGNoZWQocmVmOiBDZGtQb3J0YWxPdXRsZXRBdHRhY2hlZFJlZikge1xuICAgIHJlZiA9IHJlZiBhcyBDb21wb25lbnRSZWY8dW5rbm93bj47XG4gICAgaWYgKHJlZi5pbnN0YW5jZSAmJiBpc0Jyb3dzZXIoKSkge1xuICAgICAgT2JqZWN0LmFzc2lnbihyZWYuaW5zdGFuY2UsIHsgbWVzc2FnZTogdGhpcy5jaGF0TWVzc2FnZSB9KTtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgY29uc3QgcHJlZml4ID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3IoJ2F4LXByZWZpeCcpIGFzIEhUTUxEaXZFbGVtZW50O1xuICAgICAgY29uc3Qgc3VmZml4ID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3IoJ2F4LXN1ZmZpeCcpIGFzIEhUTUxEaXZFbGVtZW50O1xuICAgICAgY29uc3QgcHJlZml4Q29udGFpbmVyID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5heC1tZXNzYWdlLXByZWZpeCcpO1xuICAgICAgY29uc3Qgc3VmZml4Q29udGFpbmVyID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5heC1tZXNzYWdlLXN1ZmZpeCcpO1xuICAgICAgaWYgKHByZWZpeCAmJiBwcmVmaXhDb250YWluZXIpIHtcbiAgICAgICAgcHJlZml4LnN0eWxlLmRpc3BsYXkgPSAnZmxleCc7XG4gICAgICAgIHByZWZpeENvbnRhaW5lci5hcHBlbmQocHJlZml4KTtcbiAgICAgIH1cbiAgICAgIGlmIChzdWZmaXggJiYgc3VmZml4Q29udGFpbmVyKSB7XG4gICAgICAgIHN1ZmZpeC5zdHlsZS5kaXNwbGF5ID0gJ2ZsZXgnO1xuICAgICAgICBzdWZmaXhDb250YWluZXIuYXBwZW5kKHN1ZmZpeCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZVJlc2VuZENsaWNrKCkge1xuICAgIHRoaXMucG9wb3ZlcigpLmNsb3NlKCk7XG4gICAgdGhpcy5jaGF0TWVzc2FnZS5vblJlc2VuZENsaWNrKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlRGVsZXRlQ2xpY2soKSB7XG4gICAgdGhpcy5wb3BvdmVyKCkuY2xvc2UoKTtcbiAgICB0aGlzLmNoYXRNZXNzYWdlLm9uRGVsZXRlQ2xpY2soKTtcbiAgfVxufVxuIiwiQGlmKGNoYXRNZXNzYWdlLmZyb21JZCl7XG48YXgtYXZhdGFyIFtzaXplXT1cIjM2XCI+PC9heC1hdmF0YXI+XG59XG48ZGl2IGNsYXNzPVwiYXgtbWVzc2FnZS1jb250ZW50XCIgW2NsYXNzLmF4LXN0YXRlLW93bl09XCIhY2hhdE1lc3NhZ2UuZnJvbUlkXCIgW2NsYXNzLmF4LXN0YXRlLW90aGVyXT1cImNoYXRNZXNzYWdlLmZyb21JZFwiPlxuICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cIl9wb3J0YWxcIiAoYXR0YWNoZWQpPVwiX2hhbmRsZUF0dGNoZWQoJGV2ZW50KVwiPjwvbmctdGVtcGxhdGU+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtY2hhdC1tZXNzYWdlLXN0YXR1c1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtbWVzc2FnZS1wcmVmaXhcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtbWVzc2FnZS1zdWZmaXhcIj48L2Rpdj5cbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgIHt7IGNoYXRNZXNzYWdlLnNlbmRUaW1lIHwgZm9ybWF0OidkYXRldGltZSc6J0hIOm1tJyB8IGFzeW5jIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICBAaWYoaXNPd24pIHtcbiAgICAgICAgICAgICAgICBAaWYoY2hhdE1lc3NhZ2UuZGVsaXZlclRpbWUgJiYgY2hhdE1lc3NhZ2Uuc2VuZFRpbWUpe1xuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWNoZWNrIGF4LW1lc3NhZ2Utc3RhdHVzXCI+PC9pPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYoY2hhdE1lc3NhZ2UucmVhZFRpbWUgJiYgY2hhdE1lc3NhZ2Uuc2VuZFRpbWUpe1xuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWRvYmJsZS1jaGVjayBheC1tZXNzYWdlLXN0YXR1c1wiPjwvaT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuQGlmKCFjaGF0TWVzc2FnZS5zZW5kVGltZSl7XG48YXgtYnV0dG9uIGNsYXNzPVwiYXgtcmVzZW5kLWJ1dHRvbiBheC14c1wiIGNvbG9yPVwiZGFuZ2VyXCIgI2I+XG4gICAgPGF4LWljb24gY2xhc3M9XCJheC1pY29uIGF4LWljb24tZXJyb3JcIj48L2F4LWljb24+XG5cbiAgICA8YXgtcG9wb3ZlciBbdGFyZ2V0XT1cImJcIiBwbGFjZW1lbnQ9XCJib3R0b20tZW5kXCIgI3BvcG92ZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1vdmVybGF5LXBhbmVcIj5cblxuICAgICAgICAgICAgPGF4LWNvbnRlbnQ+XG4gICAgICAgICAgICA8L2F4LWNvbnRlbnQ+XG4gICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICAgICAgICAgICAgICBAaWYoY2hhdE1lc3NhZ2Uub25SZXNlbmRDbGljayl7XG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtIHRleHQ9XCJSZXNlbmRcIiAob25DbGljayk9XCJoYW5kbGVSZXNlbmRDbGljaygpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLXJlbG9hZCBheC1ib2xkXCI+PC9heC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZihjaGF0TWVzc2FnZS5vbkRlbGV0ZUNsaWNrKXtcbiAgICAgICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW0gdGV4dD1cIkRlbGV0ZVwiIGNvbG9yPVwiZGFuZ2VyXCIgKG9uQ2xpY2spPVwiaGFuZGxlRGVsZXRlQ2xpY2soKVwiPlxuICAgICAgICAgICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1jbGVhciBheC1ib2xkXCI+PC9heC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0+XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgPC9heC1wb3BvdmVyPlxuPC9heC1idXR0b24+XG59Il19
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLW1lc3NhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbnZlcnNhdGlvbi9zcmMvbGliL2NvbnZlcnNhdGlvbi1tZXNzYWdlL2NvbnZlcnNhdGlvbi1tZXNzYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb252ZXJzYXRpb24vc3JjL2xpYi9jb252ZXJzYXRpb24tbWVzc2FnZS9jb252ZXJzYXRpb24tbWVzc2FnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBOEIsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEYsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxILE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2xILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7QUFRekUsTUFBTSxPQUFPLDhCQUErQixTQUFRLGVBQWU7SUFObkU7O1FBT0UsWUFBTyxHQUFHLFNBQVMsQ0FBcUIsU0FBUyxDQUFDLENBQUM7UUFFbkQsd0JBQW1CLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDcEQsZ0JBQVcsR0FBRyxLQUFLLEVBQThCLENBQUM7UUFReEMsb0JBQWUsR0FBRyxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQztLQTJDOUU7SUEvQ0MsSUFBYyxLQUFLO1FBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ3BDLENBQUM7SUFJRCxJQUNJLFdBQVc7UUFDYixPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDdEYsQ0FBQztJQUVrQixRQUFRO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7SUFDUyxjQUFjLENBQUMsR0FBK0I7UUFDdEQsR0FBRyxHQUFHLEdBQTRCLENBQUM7UUFDbkMsSUFBSSxHQUFHLENBQUMsUUFBUSxJQUFJLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDaEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN4QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBbUIsQ0FBQztZQUNsRixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBbUIsQ0FBQztZQUNsRixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDbEYsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQ2xGLElBQUksTUFBTSxJQUFJLGVBQWUsRUFBRSxDQUFDO2dCQUM5QixNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7Z0JBQzlCLGVBQWUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakMsQ0FBQztZQUNELElBQUksTUFBTSxJQUFJLGVBQWUsRUFBRSxDQUFDO2dCQUM5QixNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7Z0JBQzlCLGVBQWUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRVMsaUJBQWlCO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVTLGlCQUFpQjtRQUN6QixJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFUyxZQUFZLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDOzhHQXREVSw4QkFBOEI7a0dBQTlCLDhCQUE4Qix1WkNmM0Msa3JGQStFQTs7MkZEaEVhLDhCQUE4QjtrQkFOMUMsU0FBUzsrQkFDRSx5QkFBeUIsaUJBR3BCLGlCQUFpQixDQUFDLElBQUk7OEJBaUJqQyxXQUFXO3NCQURkLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1YQmFzZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcG92ZXInO1xuaW1wb3J0IHsgaXNCcm93c2VyIH0gZnJvbSAnQGFjb3JleC9jb3JlL3BsYXRmb3JtJztcbmltcG9ydCB7IENka1BvcnRhbE91dGxldEF0dGFjaGVkUmVmLCBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbXBvbmVudCwgQ29tcG9uZW50UmVmLCBIb3N0QmluZGluZywgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCwgaW5wdXQsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhDb252ZXJzYXRpb25NZXNzYWdlIH0gZnJvbSAnLi4vY29udmVyc2F0aW9uLnR5cGVzJztcbmltcG9ydCB7IEFYQ29udmVyc2F0aW9uTWVzc2FnZVR5cGVSZWdpc3RyeVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb252ZXJzYXRpb24tbWVzc2FnZS10eXBlLXJlZ2lzdHJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhDb252ZXJzYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29udmVyc2F0aW9uLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1jb252ZXJzYXRpb24tbWVzc2FnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb252ZXJzYXRpb24tbWVzc2FnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbnZlcnNhdGlvbi1tZXNzYWdlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEFYQ29udmVyc2F0aW9uTWVzc2FnZUNvbXBvbmVudCBleHRlbmRzIE1YQmFzZUNvbXBvbmVudCB7XG4gIHBvcG92ZXIgPSB2aWV3Q2hpbGQ8QVhQb3BvdmVyQ29tcG9uZW50PigncG9wb3ZlcicpO1xuXG4gIGNvbnZlcnNhdGlvblNlcnZpY2UgPSBpbmplY3QoQVhDb252ZXJzYXRpb25TZXJ2aWNlKTtcbiAgY2hhdE1lc3NhZ2UgPSBpbnB1dDxBWENvbnZlcnNhdGlvbk1lc3NhZ2U8YW55Pj4oKTtcblxuICBwcm90ZWN0ZWQgX3BvcnRhbDogQ29tcG9uZW50UG9ydGFsPGFueT4gfCBudWxsO1xuXG4gIHByb3RlY3RlZCBnZXQgaXNPd24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmNoYXRNZXNzYWdlKCkuZnJvbUlkO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlZ2lzdHJ5U2VydmljZSA9IGluamVjdChBWENvbnZlcnNhdGlvbk1lc3NhZ2VUeXBlUmVnaXN0cnlTZXJ2aWNlKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuaXNPd24gPyAnYXgtc3RhdGUtb3duJyA6ICcnfSAkeyF0aGlzLmlzT3duID8gJ2F4LXN0YXRlLW90aGVyJyA6ICcnfWA7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fcG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbCh0aGlzLnJlZ2lzdHJ5U2VydmljZS5yZXNvbHZlKHRoaXMuY2hhdE1lc3NhZ2UoKS50eXBlKS5jb21wb25lbnQpO1xuICB9XG4gIHByb3RlY3RlZCBfaGFuZGxlQXR0Y2hlZChyZWY6IENka1BvcnRhbE91dGxldEF0dGFjaGVkUmVmKSB7XG4gICAgcmVmID0gcmVmIGFzIENvbXBvbmVudFJlZjx1bmtub3duPjtcbiAgICBpZiAocmVmLmluc3RhbmNlICYmIGlzQnJvd3NlcigpKSB7XG4gICAgICBPYmplY3QuYXNzaWduKHJlZi5pbnN0YW5jZSwgeyBtZXNzYWdlOiB0aGlzLmNoYXRNZXNzYWdlKCkgfSk7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIGNvbnN0IHByZWZpeCA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCdheC1wcmVmaXgnKSBhcyBIVE1MRGl2RWxlbWVudDtcbiAgICAgIGNvbnN0IHN1ZmZpeCA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCdheC1zdWZmaXgnKSBhcyBIVE1MRGl2RWxlbWVudDtcbiAgICAgIGNvbnN0IHByZWZpeENvbnRhaW5lciA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCcuYXgtbWVzc2FnZS1wcmVmaXgnKTtcbiAgICAgIGNvbnN0IHN1ZmZpeENvbnRhaW5lciA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCcuYXgtbWVzc2FnZS1zdWZmaXgnKTtcbiAgICAgIGlmIChwcmVmaXggJiYgcHJlZml4Q29udGFpbmVyKSB7XG4gICAgICAgIHByZWZpeC5zdHlsZS5kaXNwbGF5ID0gJ2ZsZXgnO1xuICAgICAgICBwcmVmaXhDb250YWluZXIuYXBwZW5kKHByZWZpeCk7XG4gICAgICB9XG4gICAgICBpZiAoc3VmZml4ICYmIHN1ZmZpeENvbnRhaW5lcikge1xuICAgICAgICBzdWZmaXguc3R5bGUuZGlzcGxheSA9ICdmbGV4JztcbiAgICAgICAgc3VmZml4Q29udGFpbmVyLmFwcGVuZChzdWZmaXgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVSZXNlbmRDbGljaygpIHtcbiAgICB0aGlzLnBvcG92ZXIoKT8uY2xvc2UoKTtcbiAgICB0aGlzLmNoYXRNZXNzYWdlKCkub25SZXNlbmRDbGljaygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZURlbGV0ZUNsaWNrKCkge1xuICAgIHRoaXMucG9wb3ZlcigpPy5jbG9zZSgpO1xuICAgIHRoaXMuY2hhdE1lc3NhZ2UoKS5vbkRlbGV0ZUNsaWNrKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVwbHlIYW5kbGVyKGUpIHtcbiAgICB0aGlzLmNvbnZlcnNhdGlvblNlcnZpY2UucmVwbHlJZC5zZXQoZSk7XG4gIH1cbn1cbiIsIkBpZiAoY2hhdE1lc3NhZ2UoKS5mcm9tSWQpIHtcbiAgPGF4LWF2YXRhciBbc2l6ZV09XCIzNlwiPjwvYXgtYXZhdGFyPlxufVxuXG5AaWYgKGlzT3duKSB7XG4gIDxpIChjbGljayk9XCJyZXBseUhhbmRsZXIoY2hhdE1lc3NhZ2UoKS5pZClcIiBjbGFzcz1cImZhLXNvbGlkIGZhLXJlcGx5IGF4LWN1cnNvci1wb2ludGVyXCI+PC9pPlxufVxuXG48ZGl2IGNsYXNzPVwiYXgtbWVzc2FnZS1jb250ZW50XCIgW2NsYXNzLmF4LXN0YXRlLW93bl09XCIhY2hhdE1lc3NhZ2UoKS5mcm9tSWRcIiBbY2xhc3MuYXgtc3RhdGUtb3RoZXJdPVwiY2hhdE1lc3NhZ2UoKS5mcm9tSWRcIj5cbiAgQGlmIChjaGF0TWVzc2FnZSgpLnJlcGx5VG8pIHtcbiAgICA8ZGl2IGNsYXNzPVwiYXgtbWVzc2FnZS1yZXBseS1jb250YWluZXJcIj5cbiAgICAgIEBzd2l0Y2ggKGNoYXRNZXNzYWdlKCkucmVwbHlUby50eXBlKSB7XG4gICAgICAgIEBjYXNlICgndGV4dCcpIHtcbiAgICAgICAgICB7eyBjaGF0TWVzc2FnZSgpLnJlcGx5VG8uY29udGVudCB9fVxuICAgICAgICB9XG4gICAgICAgIEBjYXNlICgnaW1hZ2UnKSB7XG4gICAgICAgICAgPGltZyBzcmM9XCJ7eyBjaGF0TWVzc2FnZSgpLnJlcGx5VG8uY29udGVudCB9fVwiIGFsdD1cIlwiIC8+XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKCd2aWRlbycpIHtcbiAgICAgICAgICA8dmlkZW8gc3JjPVwie3sgY2hhdE1lc3NhZ2UoKS5yZXBseVRvLmNvbnRlbnQgfX1cIj48L3ZpZGVvPlxuICAgICAgICB9XG4gICAgICAgIEBjYXNlICgnZmlsZScpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZVwiPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1yZWd1bGFyIGZhLWZvbGRlci1vcGVuXCI+PC9pPlxuICAgICAgICAgICAge3sgY2hhdE1lc3NhZ2UoKS5yZXBseVRvLm5hbWUgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICBAZGVmYXVsdCB7XG4gICAgICAgICAge3sgY2hhdE1lc3NhZ2UoKS5yZXBseVRvLnR5cGUgfX1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG4gIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cIl9wb3J0YWxcIiAoYXR0YWNoZWQpPVwiX2hhbmRsZUF0dGNoZWQoJGV2ZW50KVwiPjwvbmctdGVtcGxhdGU+XG5cbiAgPGRpdiBjbGFzcz1cImF4LWNoYXQtbWVzc2FnZS1zdGF0dXNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtbWVzc2FnZS1wcmVmaXhcIj48L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImF4LW1lc3NhZ2Utc3VmZml4XCI+PC9kaXY+XG4gICAgICA8c3Bhbj5cbiAgICAgICAge3sgY2hhdE1lc3NhZ2UoKS5zZW5kVGltZSB8IGZvcm1hdDogJ2RhdGV0aW1lJyA6ICdISDptbScgfCBhc3luYyB9fVxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4+XG4gICAgICAgIEBpZiAoaXNPd24pIHtcbiAgICAgICAgICBAaWYgKGNoYXRNZXNzYWdlKCkuZGVsaXZlclRpbWUgJiYgY2hhdE1lc3NhZ2UoKS5zZW5kVGltZSkge1xuICAgICAgICAgICAgPGkgY2xhc3M9XCJheC1pY29uIGF4LWljb24tY2hlY2sgYXgtbWVzc2FnZS1zdGF0dXNcIj48L2k+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAoY2hhdE1lc3NhZ2UoKS5yZWFkVGltZSAmJiBjaGF0TWVzc2FnZSgpLnNlbmRUaW1lKSB7XG4gICAgICAgICAgICA8aSBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1kb2JibGUtY2hlY2sgYXgtbWVzc2FnZS1zdGF0dXNcIj48L2k+XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbkBpZiAoIWNoYXRNZXNzYWdlKCkuc2VuZFRpbWUpIHtcbiAgPGF4LWJ1dHRvbiBjbGFzcz1cImF4LXJlc2VuZC1idXR0b24gYXgteHNcIiBjb2xvcj1cImRhbmdlclwiICNiPlxuICAgIDxheC1pY29uIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWVycm9yXCI+PC9heC1pY29uPlxuXG4gICAgPGF4LXBvcG92ZXIgW3RhcmdldF09XCJiXCIgcGxhY2VtZW50PVwiYm90dG9tLWVuZFwiICNwb3BvdmVyPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LW92ZXJsYXktcGFuZVwiPlxuICAgICAgICA8YXgtY29udGVudD4gPC9heC1jb250ZW50PlxuICAgICAgICA8YXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICAgICAgICBAaWYgKGNoYXRNZXNzYWdlKCkub25SZXNlbmRDbGljaykge1xuICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtIHRleHQ9XCJSZXNlbmRcIiAob25DbGljayk9XCJoYW5kbGVSZXNlbmRDbGljaygpXCI+XG4gICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLXJlbG9hZCBheC1ib2xkXCI+PC9heC1pY29uPlxuICAgICAgICAgICAgPC9heC1idXR0b24taXRlbT5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIChjaGF0TWVzc2FnZSgpLm9uRGVsZXRlQ2xpY2spIHtcbiAgICAgICAgICAgIDxheC1idXR0b24taXRlbSB0ZXh0PVwiRGVsZXRlXCIgY29sb3I9XCJkYW5nZXJcIiAob25DbGljayk9XCJoYW5kbGVEZWxldGVDbGljaygpXCI+XG4gICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWNsZWFyIGF4LWJvbGRcIj48L2F4LWljb24+XG4gICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9heC1idXR0b24taXRlbS1saXN0PlxuICAgICAgPC9kaXY+XG4gICAgPC9heC1wb3BvdmVyPlxuICA8L2F4LWJ1dHRvbj5cbn1cbiJdfQ==
@@ -0,0 +1,122 @@
1
+ import { AXAudioWaveComponent } from '@acorex/components/audio-wave';
2
+ import { CommonModule } from '@angular/common';
3
+ import { afterNextRender, Component, HostBinding, inject, signal, ViewChild } from '@angular/core';
4
+ import { AXConversationViewComponent } from '../../conversation-view/conversation-view.component';
5
+ import { AXConversationMessageBaseComponent } from '../../conversation.types';
6
+ import { AXLoadingModule } from '@acorex/components/loading';
7
+ import { AXFormatModule } from '@acorex/core/format';
8
+ import { AXDecoratorModule } from '@acorex/components/decorators';
9
+ import { AXProgressBarModule } from '@acorex/components/progress-bar';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/common";
12
+ import * as i2 from "@acorex/components/loading";
13
+ import * as i3 from "@acorex/core/format";
14
+ import * as i4 from "@acorex/components/decorators";
15
+ import * as i5 from "@acorex/components/progress-bar";
16
+ export class ConversationMessageAudioComponent extends AXConversationMessageBaseComponent {
17
+ constructor() {
18
+ super();
19
+ this.config = { url: '' };
20
+ this.audioState = signal('paused');
21
+ this.parent = inject(AXConversationViewComponent);
22
+ this.selectedRate = signal(1);
23
+ this.selectedRateIndex = signal(1);
24
+ this.audioProgress = signal(0);
25
+ this.timeLeft = signal(0);
26
+ this.currentTime = signal(0);
27
+ this.duration = signal(0);
28
+ afterNextRender(() => {
29
+ this.config.url = this.message?.content;
30
+ this.config.audioRate = 0.25;
31
+ this.setWaveColor();
32
+ this.audio.onStatusChanged.subscribe((c) => {
33
+ this.parent.onAction.emit(c);
34
+ });
35
+ this.handleLoadingProgress();
36
+ });
37
+ }
38
+ setWaveColor() {
39
+ let waveColor = '';
40
+ let progressColor = '';
41
+ if (this.message.fromId) {
42
+ waveColor = getComputedStyle(document.body).getPropertyValue('--ax-message-other-bar-color');
43
+ progressColor = getComputedStyle(document.body).getPropertyValue('--ax-message-other-progress-color');
44
+ }
45
+ else {
46
+ waveColor = getComputedStyle(document.body).getPropertyValue('--ax-message-own-bar-color');
47
+ progressColor = getComputedStyle(document.body).getPropertyValue('--ax-message-own-progress-color');
48
+ }
49
+ this.config.waveColor = waveColor;
50
+ this.config.progressColor = progressColor;
51
+ }
52
+ handlePauseClick() {
53
+ this.audio?.pause();
54
+ this.audioState.set('paused');
55
+ }
56
+ handlePlayClick() {
57
+ this.audio?.play()?.then(() => {
58
+ this.audioState.set('playing');
59
+ });
60
+ }
61
+ handleOnStatusChanged(e) {
62
+ if (e.status === 'load' || e.status === 'loading') {
63
+ this.audioState.set('loading');
64
+ }
65
+ if (e.status === 'loading') {
66
+ this.audioProgress.set(e.data.percent);
67
+ this.duration.set(Math.ceil(e.data.duration * 1000));
68
+ }
69
+ if (e.status === 'ready') {
70
+ this.audioState.set('ready');
71
+ this.duration.set(Math.ceil(e.data.duration * 1000));
72
+ }
73
+ if (e.status === 'finish') {
74
+ this.audioState.set('paused');
75
+ }
76
+ if (e.status === 'timeupdate') {
77
+ this.timeLeft.set(this.duration() - e.data.currentTime * 1000);
78
+ this.currentTime.set(e.data.currentTime * 1000);
79
+ }
80
+ if (e.status === 'error') {
81
+ this.audioState.set('error');
82
+ }
83
+ }
84
+ handleLoadingProgress() {
85
+ // this.audioLoaderProgress?.nativeElement.style.cssText = `--ax-audio-progress: ${this.audioProgress()}`;
86
+ }
87
+ handleCancelLoading() {
88
+ //
89
+ }
90
+ handleReloadClick() {
91
+ //
92
+ this.audioState.set('loading');
93
+ this.audio.load();
94
+ }
95
+ handleRateClick() {
96
+ const rates = [0.5, 1, 2, 4];
97
+ if (this.selectedRateIndex() == rates.length - 1) {
98
+ this.selectedRateIndex.set(0);
99
+ }
100
+ else {
101
+ this.selectedRateIndex.set(this.selectedRateIndex() + 1);
102
+ }
103
+ this.selectedRate.set(rates[this.selectedRateIndex()]);
104
+ this.audio.setRate(this.selectedRate());
105
+ }
106
+ get __hostClass() {
107
+ return `${this.message.fromId ? 'ax-state-other' : 'ax-state-own'}`;
108
+ }
109
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ConversationMessageAudioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
110
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: ConversationMessageAudioComponent, isStandalone: true, selector: "ax-conversation-message-audio", host: { properties: { "class": "this.__hostClass" } }, viewQueries: [{ propertyName: "audio", first: true, predicate: ["a"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ax-prefix>\n @switch (audioState()) {\n @case ('paused') {\n {{ currentTime() | format: 'time-duration' | async }}\n }\n @case ('playing') {\n {{ currentTime() | format: 'time-duration' | async }}\n }\n @default {\n {{ duration() | format: 'time-duration' | async }}\n }\n }\n <button class=\"ax-audio-speed\" (click)=\"handleRateClick()\"></button>\n</ax-prefix>\n<div class=\"ax-conversation-controller\">\n @switch (audioState()) {\n @case ('playing') {\n <button (click)=\"handlePauseClick()\">\n <i class=\"ax-icon ax-icon-pause\"></i>\n </button>\n }\n\n @case ('ready') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n\n @case ('paused') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n\n @case ('error') {\n <button class=\"ax-state-error\" (click)=\"handleReloadClick()\">\n <i class=\"ax-icon ax-icon-reload\"></i>\n </button>\n }\n\n @default {\n <button (click)=\"handleCancelLoading()\">\n <ax-loading-spinner\n [size]=\"24\"\n [stroke]=\"2\"\n [color]=\"message.fromId ? 'var(--ax-other-color)' : 'var(--ax-own-color)'\"\n ></ax-loading-spinner>\n </button>\n }\n }\n</div>\n<ax-progress-bar [progress]=\"35\" color=\"secondary\">\n <ax-prefix>\n <ax-text>8PX</ax-text>\n </ax-prefix>\n</ax-progress-bar>\n<!-- <ax-audio-wave #a [config]=\"config\" (onStatusChanged)=\"handleOnStatusChanged($event)\"></ax-audio-wave> -->\n<!-- <ax-suffix>\n <div class=\"ax-audio-rate-button\" [class.ax-state-own]=\"!message?.fromId\" (click)=\"handleRateClick()\">{{ selectedRate() }}X</div>\n</ax-suffix> -->\n", styles: ["ax-conversation-message-audio{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:18rem;max-width:100%}ax-conversation-message-audio .ax-audio-wave{flex:1}.ax-audio-rate-button{background-color:var(--ax-message-other-color-fore);color:var(--ax-message-other-color);border-radius:.5rem;padding:0 .5rem;font-weight:700;margin-inline-end:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.ax-audio-rate-button.ax-state-own{background-color:var(--ax-message-own-color-fore);color:var(--ax-message-own-color)}html[dir=rtl] ax-conversation-message-audio{flex-direction:row-reverse}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i2.AXLoadingSpinnerComponent, selector: "ax-loading-spinner", inputs: ["color", "size", "stroke"] }, { kind: "ngmodule", type: AXFormatModule }, { kind: "pipe", type: i3.AXFormatPipe, name: "format" }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i4.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXProgressBarModule }, { kind: "component", type: i5.AXProgressBarComponent, selector: "ax-progress-bar", inputs: ["color", "mode", "progress", "height"], outputs: ["ValueChange", "sizeChange"] }] }); }
111
+ }
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ConversationMessageAudioComponent, decorators: [{
113
+ type: Component,
114
+ args: [{ selector: 'ax-conversation-message-audio', standalone: true, imports: [CommonModule, AXLoadingModule, AXFormatModule, AXDecoratorModule, AXProgressBarModule], template: "<ax-prefix>\n @switch (audioState()) {\n @case ('paused') {\n {{ currentTime() | format: 'time-duration' | async }}\n }\n @case ('playing') {\n {{ currentTime() | format: 'time-duration' | async }}\n }\n @default {\n {{ duration() | format: 'time-duration' | async }}\n }\n }\n <button class=\"ax-audio-speed\" (click)=\"handleRateClick()\"></button>\n</ax-prefix>\n<div class=\"ax-conversation-controller\">\n @switch (audioState()) {\n @case ('playing') {\n <button (click)=\"handlePauseClick()\">\n <i class=\"ax-icon ax-icon-pause\"></i>\n </button>\n }\n\n @case ('ready') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n\n @case ('paused') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n\n @case ('error') {\n <button class=\"ax-state-error\" (click)=\"handleReloadClick()\">\n <i class=\"ax-icon ax-icon-reload\"></i>\n </button>\n }\n\n @default {\n <button (click)=\"handleCancelLoading()\">\n <ax-loading-spinner\n [size]=\"24\"\n [stroke]=\"2\"\n [color]=\"message.fromId ? 'var(--ax-other-color)' : 'var(--ax-own-color)'\"\n ></ax-loading-spinner>\n </button>\n }\n }\n</div>\n<ax-progress-bar [progress]=\"35\" color=\"secondary\">\n <ax-prefix>\n <ax-text>8PX</ax-text>\n </ax-prefix>\n</ax-progress-bar>\n<!-- <ax-audio-wave #a [config]=\"config\" (onStatusChanged)=\"handleOnStatusChanged($event)\"></ax-audio-wave> -->\n<!-- <ax-suffix>\n <div class=\"ax-audio-rate-button\" [class.ax-state-own]=\"!message?.fromId\" (click)=\"handleRateClick()\">{{ selectedRate() }}X</div>\n</ax-suffix> -->\n", styles: ["ax-conversation-message-audio{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:18rem;max-width:100%}ax-conversation-message-audio .ax-audio-wave{flex:1}.ax-audio-rate-button{background-color:var(--ax-message-other-color-fore);color:var(--ax-message-other-color);border-radius:.5rem;padding:0 .5rem;font-weight:700;margin-inline-end:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.ax-audio-rate-button.ax-state-own{background-color:var(--ax-message-own-color-fore);color:var(--ax-message-own-color)}html[dir=rtl] ax-conversation-message-audio{flex-direction:row-reverse}\n"] }]
115
+ }], ctorParameters: () => [], propDecorators: { audio: [{
116
+ type: ViewChild,
117
+ args: ['a']
118
+ }], __hostClass: [{
119
+ type: HostBinding,
120
+ args: ['class']
121
+ }] } });
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLW1lc3NhZ2UtYXVkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbnZlcnNhdGlvbi9zcmMvbGliL2NvbnZlcnNhdGlvbi1tZXNzYWdlcy9jb252ZXJzYXRpb24tbWVzc2FnZS1hdWRpby9jb252ZXJzYXRpb24tbWVzc2FnZS1hdWRpby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29udmVyc2F0aW9uL3NyYy9saWIvY29udmVyc2F0aW9uLW1lc3NhZ2VzL2NvbnZlcnNhdGlvbi1tZXNzYWdlLWF1ZGlvL2NvbnZlcnNhdGlvbi1tZXNzYWdlLWF1ZGlvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBd0MsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7O0FBU3RFLE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSxr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QkFBbUI7OzJGQUloRixpQ0FBaUM7a0JBUDdDLFNBQVM7K0JBQ0UsK0JBQStCLGNBQzdCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBQyxlQUFlLEVBQUMsY0FBYyxFQUFDLGlCQUFpQixFQUFDLG1CQUFtQixDQUFDO3dEQUs1RSxLQUFLO3NCQUFwQixTQUFTO3VCQUFDLEdBQUc7Z0JBd0dWLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhBdWRpb1dhdmVDb21wb25lbnQsIEFYV2F2ZUNvbmZpZywgQVhBdWRpb1dhdmVDaGFuZ2VFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9hdWRpby13YXZlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBhZnRlck5leHRSZW5kZXIsIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIGluamVjdCwgc2lnbmFsLCBWaWV3Q2hpbGQsIFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWENvbnZlcnNhdGlvblZpZXdDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb252ZXJzYXRpb24tdmlldy9jb252ZXJzYXRpb24tdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhDb252ZXJzYXRpb25NZXNzYWdlQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbnZlcnNhdGlvbi50eXBlcyc7XG5pbXBvcnQgeyBBWExvYWRpbmdNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZyc7XG5pbXBvcnQgeyBBWEZvcm1hdE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS9mb3JtYXQnO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWNvbnZlcnNhdGlvbi1tZXNzYWdlLWF1ZGlvJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSxBWExvYWRpbmdNb2R1bGUsQVhGb3JtYXRNb2R1bGUsQVhEZWNvcmF0b3JNb2R1bGUsQVhQcm9ncmVzc0Jhck1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jb252ZXJzYXRpb24tbWVzc2FnZS1hdWRpby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9jb252ZXJzYXRpb24tbWVzc2FnZS1hdWRpby5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIENvbnZlcnNhdGlvbk1lc3NhZ2VBdWRpb0NvbXBvbmVudCBleHRlbmRzIEFYQ29udmVyc2F0aW9uTWVzc2FnZUJhc2VDb21wb25lbnQ8c3RyaW5nPiB7XG4gIEBWaWV3Q2hpbGQoJ2EnKSBhdWRpbzogQVhBdWRpb1dhdmVDb21wb25lbnQ7XG5cbiAgY29uZmlnOiBBWFdhdmVDb25maWcgPSB7IHVybDogJycgfTtcblxuICBhdWRpb1N0YXRlOiBXcml0YWJsZVNpZ25hbDwncGxheWluZycgfCAncGF1c2VkJyB8ICdsb2FkaW5nJyB8ICdyZWFkeScgfCAnZXJyb3InPiA9IHNpZ25hbCgncGF1c2VkJyk7XG5cbiAgcGFyZW50ID0gaW5qZWN0KEFYQ29udmVyc2F0aW9uVmlld0NvbXBvbmVudCk7XG5cbiAgc2VsZWN0ZWRSYXRlID0gc2lnbmFsKDEpO1xuICBzZWxlY3RlZFJhdGVJbmRleCA9IHNpZ25hbCgxKTtcblxuICBwcm90ZWN0ZWQgYXVkaW9Qcm9ncmVzcyA9IHNpZ25hbCgwKTtcbiAgcHJvdGVjdGVkIHRpbWVMZWZ0ID0gc2lnbmFsKDApO1xuICBwcm90ZWN0ZWQgY3VycmVudFRpbWUgPSBzaWduYWwoMCk7XG4gIHByb3RlY3RlZCBkdXJhdGlvbiA9IHNpZ25hbCgwKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgICB0aGlzLmNvbmZpZy51cmwgPSB0aGlzLm1lc3NhZ2U/LmNvbnRlbnQ7XG4gICAgICB0aGlzLmNvbmZpZy5hdWRpb1JhdGUgPSAwLjI1O1xuICAgICAgdGhpcy5zZXRXYXZlQ29sb3IoKTtcbiAgICAgIHRoaXMuYXVkaW8ub25TdGF0dXNDaGFuZ2VkLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgICB0aGlzLnBhcmVudC5vbkFjdGlvbi5lbWl0KGMpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmhhbmRsZUxvYWRpbmdQcm9ncmVzcygpO1xuICAgIH0pO1xuICB9XG5cbiAgc2V0V2F2ZUNvbG9yKCkge1xuICAgIGxldCB3YXZlQ29sb3IgPSAnJztcbiAgICBsZXQgcHJvZ3Jlc3NDb2xvciA9ICcnO1xuICAgIGlmICh0aGlzLm1lc3NhZ2UuZnJvbUlkKSB7XG4gICAgICB3YXZlQ29sb3IgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpLmdldFByb3BlcnR5VmFsdWUoJy0tYXgtbWVzc2FnZS1vdGhlci1iYXItY29sb3InKTtcbiAgICAgIHByb2dyZXNzQ29sb3IgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpLmdldFByb3BlcnR5VmFsdWUoJy0tYXgtbWVzc2FnZS1vdGhlci1wcm9ncmVzcy1jb2xvcicpO1xuICAgIH0gZWxzZSB7XG4gICAgICB3YXZlQ29sb3IgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpLmdldFByb3BlcnR5VmFsdWUoJy0tYXgtbWVzc2FnZS1vd24tYmFyLWNvbG9yJyk7XG4gICAgICBwcm9ncmVzc0NvbG9yID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5nZXRQcm9wZXJ0eVZhbHVlKCctLWF4LW1lc3NhZ2Utb3duLXByb2dyZXNzLWNvbG9yJyk7XG4gICAgfVxuICAgIHRoaXMuY29uZmlnLndhdmVDb2xvciA9IHdhdmVDb2xvcjtcbiAgICB0aGlzLmNvbmZpZy5wcm9ncmVzc0NvbG9yID0gcHJvZ3Jlc3NDb2xvcjtcbiAgfVxuXG4gIGhhbmRsZVBhdXNlQ2xpY2soKSB7XG4gICAgdGhpcy5hdWRpbz8ucGF1c2UoKTtcbiAgICB0aGlzLmF1ZGlvU3RhdGUuc2V0KCdwYXVzZWQnKTtcbiAgfVxuXG4gIGhhbmRsZVBsYXlDbGljaygpIHtcbiAgICB0aGlzLmF1ZGlvPy5wbGF5KCk/LnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy5hdWRpb1N0YXRlLnNldCgncGxheWluZycpO1xuICAgIH0pO1xuICB9XG5cbiAgaGFuZGxlT25TdGF0dXNDaGFuZ2VkKGU6IEFYQXVkaW9XYXZlQ2hhbmdlRXZlbnQpIHtcbiAgICBpZiAoZS5zdGF0dXMgPT09ICdsb2FkJyB8fCBlLnN0YXR1cyA9PT0gJ2xvYWRpbmcnKSB7XG4gICAgICB0aGlzLmF1ZGlvU3RhdGUuc2V0KCdsb2FkaW5nJyk7XG4gICAgfVxuICAgIGlmIChlLnN0YXR1cyA9PT0gJ2xvYWRpbmcnKSB7XG4gICAgICB0aGlzLmF1ZGlvUHJvZ3Jlc3Muc2V0KGUuZGF0YS5wZXJjZW50KTtcbiAgICAgIHRoaXMuZHVyYXRpb24uc2V0KE1hdGguY2VpbChlLmRhdGEuZHVyYXRpb24gKiAxMDAwKSk7XG4gICAgfVxuICAgIGlmIChlLnN0YXR1cyA9PT0gJ3JlYWR5Jykge1xuICAgICAgdGhpcy5hdWRpb1N0YXRlLnNldCgncmVhZHknKTtcbiAgICAgIHRoaXMuZHVyYXRpb24uc2V0KE1hdGguY2VpbChlLmRhdGEuZHVyYXRpb24gKiAxMDAwKSk7XG4gICAgfVxuICAgIGlmIChlLnN0YXR1cyA9PT0gJ2ZpbmlzaCcpIHtcbiAgICAgIHRoaXMuYXVkaW9TdGF0ZS5zZXQoJ3BhdXNlZCcpO1xuICAgIH1cbiAgICBpZiAoZS5zdGF0dXMgPT09ICd0aW1ldXBkYXRlJykge1xuICAgICAgdGhpcy50aW1lTGVmdC5zZXQodGhpcy5kdXJhdGlvbigpIC0gZS5kYXRhLmN1cnJlbnRUaW1lICogMTAwMCk7XG4gICAgICB0aGlzLmN1cnJlbnRUaW1lLnNldChlLmRhdGEuY3VycmVudFRpbWUgKiAxMDAwKTtcbiAgICB9XG4gICAgaWYgKGUuc3RhdHVzID09PSAnZXJyb3InKSB7XG4gICAgICB0aGlzLmF1ZGlvU3RhdGUuc2V0KCdlcnJvcicpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUxvYWRpbmdQcm9ncmVzcygpIHtcbiAgICAvLyB0aGlzLmF1ZGlvTG9hZGVyUHJvZ3Jlc3M/Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuY3NzVGV4dCA9IGAtLWF4LWF1ZGlvLXByb2dyZXNzOiAke3RoaXMuYXVkaW9Qcm9ncmVzcygpfWA7XG4gIH1cblxuICBoYW5kbGVDYW5jZWxMb2FkaW5nKCkge1xuICAgIC8vXG4gIH1cblxuICBoYW5kbGVSZWxvYWRDbGljaygpIHtcbiAgICAvL1xuICAgIHRoaXMuYXVkaW9TdGF0ZS5zZXQoJ2xvYWRpbmcnKTtcbiAgICB0aGlzLmF1ZGlvLmxvYWQoKTtcbiAgfVxuXG4gIGhhbmRsZVJhdGVDbGljaygpIHtcbiAgICBjb25zdCByYXRlcyA9IFswLjUsIDEsIDIsIDRdO1xuICAgIGlmICh0aGlzLnNlbGVjdGVkUmF0ZUluZGV4KCkgPT0gcmF0ZXMubGVuZ3RoIC0gMSkge1xuICAgICAgdGhpcy5zZWxlY3RlZFJhdGVJbmRleC5zZXQoMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSYXRlSW5kZXguc2V0KHRoaXMuc2VsZWN0ZWRSYXRlSW5kZXgoKSArIDEpO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkUmF0ZS5zZXQocmF0ZXNbdGhpcy5zZWxlY3RlZFJhdGVJbmRleCgpXSk7XG4gICAgdGhpcy5hdWRpby5zZXRSYXRlKHRoaXMuc2VsZWN0ZWRSYXRlKCkpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLm1lc3NhZ2UuZnJvbUlkID8gJ2F4LXN0YXRlLW90aGVyJyA6ICdheC1zdGF0ZS1vd24nfWA7XG4gIH1cbn1cbiIsIjxheC1wcmVmaXg+XG4gIEBzd2l0Y2ggKGF1ZGlvU3RhdGUoKSkge1xuICAgIEBjYXNlICgncGF1c2VkJykge1xuICAgICAge3sgY3VycmVudFRpbWUoKSB8IGZvcm1hdDogJ3RpbWUtZHVyYXRpb24nIHwgYXN5bmMgfX1cbiAgICB9XG4gICAgQGNhc2UgKCdwbGF5aW5nJykge1xuICAgICAge3sgY3VycmVudFRpbWUoKSB8IGZvcm1hdDogJ3RpbWUtZHVyYXRpb24nIHwgYXN5bmMgfX1cbiAgICB9XG4gICAgQGRlZmF1bHQge1xuICAgICAge3sgZHVyYXRpb24oKSB8IGZvcm1hdDogJ3RpbWUtZHVyYXRpb24nIHwgYXN5bmMgfX1cbiAgICB9XG4gIH1cbiAgPGJ1dHRvbiBjbGFzcz1cImF4LWF1ZGlvLXNwZWVkXCIgKGNsaWNrKT1cImhhbmRsZVJhdGVDbGljaygpXCI+PC9idXR0b24+XG48L2F4LXByZWZpeD5cbjxkaXYgY2xhc3M9XCJheC1jb252ZXJzYXRpb24tY29udHJvbGxlclwiPlxuICBAc3dpdGNoIChhdWRpb1N0YXRlKCkpIHtcbiAgICBAY2FzZSAoJ3BsYXlpbmcnKSB7XG4gICAgICA8YnV0dG9uIChjbGljayk9XCJoYW5kbGVQYXVzZUNsaWNrKClcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJheC1pY29uIGF4LWljb24tcGF1c2VcIj48L2k+XG4gICAgICA8L2J1dHRvbj5cbiAgICB9XG5cbiAgICBAY2FzZSAoJ3JlYWR5Jykge1xuICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiaGFuZGxlUGxheUNsaWNrKClcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJheC1pY29uIGF4LWljb24tcGxheVwiPjwvaT5cbiAgICAgIDwvYnV0dG9uPlxuICAgIH1cblxuICAgIEBjYXNlICgncGF1c2VkJykge1xuICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiaGFuZGxlUGxheUNsaWNrKClcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJheC1pY29uIGF4LWljb24tcGxheVwiPjwvaT5cbiAgICAgIDwvYnV0dG9uPlxuICAgIH1cblxuICAgIEBjYXNlICgnZXJyb3InKSB7XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYXgtc3RhdGUtZXJyb3JcIiAoY2xpY2spPVwiaGFuZGxlUmVsb2FkQ2xpY2soKVwiPlxuICAgICAgICA8aSBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1yZWxvYWRcIj48L2k+XG4gICAgICA8L2J1dHRvbj5cbiAgICB9XG5cbiAgICBAZGVmYXVsdCB7XG4gICAgICA8YnV0dG9uIChjbGljayk9XCJoYW5kbGVDYW5jZWxMb2FkaW5nKClcIj5cbiAgICAgICAgPGF4LWxvYWRpbmctc3Bpbm5lclxuICAgICAgICAgIFtzaXplXT1cIjI0XCJcbiAgICAgICAgICBbc3Ryb2tlXT1cIjJcIlxuICAgICAgICAgIFtjb2xvcl09XCJtZXNzYWdlLmZyb21JZCA/ICd2YXIoLS1heC1vdGhlci1jb2xvciknIDogJ3ZhcigtLWF4LW93bi1jb2xvciknXCJcbiAgICAgICAgPjwvYXgtbG9hZGluZy1zcGlubmVyPlxuICAgICAgPC9idXR0b24+XG4gICAgfVxuICB9XG48L2Rpdj5cbjxheC1wcm9ncmVzcy1iYXIgW3Byb2dyZXNzXT1cIjM1XCIgY29sb3I9XCJzZWNvbmRhcnlcIj5cbiAgPGF4LXByZWZpeD5cbiAgICA8YXgtdGV4dD44UFg8L2F4LXRleHQ+XG4gIDwvYXgtcHJlZml4PlxuPC9heC1wcm9ncmVzcy1iYXI+XG48IS0tIDxheC1hdWRpby13YXZlICNhIFtjb25maWddPVwiY29uZmlnXCIgKG9uU3RhdHVzQ2hhbmdlZCk9XCJoYW5kbGVPblN0YXR1c0NoYW5nZWQoJGV2ZW50KVwiPjwvYXgtYXVkaW8td2F2ZT4gLS0+XG48IS0tIDxheC1zdWZmaXg+XG4gIDxkaXYgY2xhc3M9XCJheC1hdWRpby1yYXRlLWJ1dHRvblwiIFtjbGFzcy5heC1zdGF0ZS1vd25dPVwiIW1lc3NhZ2U/LmZyb21JZFwiIChjbGljayk9XCJoYW5kbGVSYXRlQ2xpY2soKVwiPnt7IHNlbGVjdGVkUmF0ZSgpIH19WDwvZGl2PlxuPC9heC1zdWZmaXg+IC0tPlxuIl19
@@ -14,10 +14,12 @@ export class AXConversationFileMessageComponent extends AXConversationMessageBas
14
14
  super();
15
15
  this.fileState = signal('ready');
16
16
  this.fileSize = signal(null);
17
+ this.fileName = signal('');
17
18
  this.fileService = inject(AXFileService);
18
19
  this.http = inject(HttpClient);
19
20
  this.parent = inject(AXConversationViewComponent);
20
21
  afterNextRender(() => {
22
+ this.fileName.set(this.message.name);
21
23
  this.fileSize.set(this.fileService.getSize(this.message.content));
22
24
  });
23
25
  }
@@ -28,10 +30,10 @@ export class AXConversationFileMessageComponent extends AXConversationMessageBas
28
30
  this.parent.onAction.emit({ component: this, data: this.message, isUserInteraction: true });
29
31
  }
30
32
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXConversationFileMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXConversationFileMessageComponent, selector: "ax-conversation-message-file", usesInheritance: true, ngImport: i0, template: "<ax-prefix>\n {{fileSize() | format:'filesize' | async}}\n</ax-prefix>\n<div class=\"ax-file-container\">\n <div class=\"ax-conversation-controller\">\n\n @switch (fileState()) {\n @case ('ready') {\n <button (click)=\"handleDownloadFile()\">\n <i class=\"ax-icon ax-icon-download\"></i>\n </button>\n }\n\n @default {\n <button (click)=\"handleCancelLoading()\">\n <ax-loading-spinner [size]=\"24\" [stroke]=\"2\"\n [color]=\"message.fromId?'var(--ax-other-color)':'var(--ax-own-color)'\"></ax-loading-spinner>\n </button>\n }\n }\n\n </div>\n\n <div class=\"ax-file-name\">Lorem ipsum, dolor sit amet consectetur adipisicing elit. </div>\n</div>", styles: ["ax-conversation-message-file .ax-file-container{display:flex;align-items:center;justify-content:center;gap:.5rem}ax-conversation-message-file .ax-file-container .ax-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], dependencies: [{ kind: "component", type: i1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i2.AXLoadingSpinnerComponent, selector: "ax-loading-spinner", inputs: ["color", "size", "stroke"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXConversationFileMessageComponent, selector: "ax-conversation-message-file", usesInheritance: true, ngImport: i0, template: "<ax-prefix>\n {{ fileSize() | format: 'filesize' | async }}\n</ax-prefix>\n<div class=\"ax-file-container\">\n <div class=\"ax-conversation-controller\">\n @switch (fileState()) {\n @case ('ready') {\n <button (click)=\"handleDownloadFile()\">\n <i class=\"ax-icon ax-icon-download\"></i>\n </button>\n }\n\n @default {\n <button (click)=\"handleCancelLoading()\">\n <ax-loading-spinner\n [size]=\"24\"\n [stroke]=\"2\"\n [color]=\"message.fromId ? 'var(--ax-other-color)' : 'var(--ax-own-color)'\"\n ></ax-loading-spinner>\n </button>\n }\n }\n </div>\n\n <div class=\"ax-file-name\">{{ fileName() }}</div>\n</div>\n", styles: ["ax-conversation-message-file .ax-file-container{display:flex;align-items:center;justify-content:center;gap:.5rem}ax-conversation-message-file .ax-file-container .ax-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], dependencies: [{ kind: "component", type: i1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i2.AXLoadingSpinnerComponent, selector: "ax-loading-spinner", inputs: ["color", "size", "stroke"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
32
34
  }
33
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXConversationFileMessageComponent, decorators: [{
34
36
  type: Component,
35
- args: [{ selector: 'ax-conversation-message-file', encapsulation: ViewEncapsulation.None, template: "<ax-prefix>\n {{fileSize() | format:'filesize' | async}}\n</ax-prefix>\n<div class=\"ax-file-container\">\n <div class=\"ax-conversation-controller\">\n\n @switch (fileState()) {\n @case ('ready') {\n <button (click)=\"handleDownloadFile()\">\n <i class=\"ax-icon ax-icon-download\"></i>\n </button>\n }\n\n @default {\n <button (click)=\"handleCancelLoading()\">\n <ax-loading-spinner [size]=\"24\" [stroke]=\"2\"\n [color]=\"message.fromId?'var(--ax-other-color)':'var(--ax-own-color)'\"></ax-loading-spinner>\n </button>\n }\n }\n\n </div>\n\n <div class=\"ax-file-name\">Lorem ipsum, dolor sit amet consectetur adipisicing elit. </div>\n</div>", styles: ["ax-conversation-message-file .ax-file-container{display:flex;align-items:center;justify-content:center;gap:.5rem}ax-conversation-message-file .ax-file-container .ax-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"] }]
37
+ args: [{ selector: 'ax-conversation-message-file', encapsulation: ViewEncapsulation.None, template: "<ax-prefix>\n {{ fileSize() | format: 'filesize' | async }}\n</ax-prefix>\n<div class=\"ax-file-container\">\n <div class=\"ax-conversation-controller\">\n @switch (fileState()) {\n @case ('ready') {\n <button (click)=\"handleDownloadFile()\">\n <i class=\"ax-icon ax-icon-download\"></i>\n </button>\n }\n\n @default {\n <button (click)=\"handleCancelLoading()\">\n <ax-loading-spinner\n [size]=\"24\"\n [stroke]=\"2\"\n [color]=\"message.fromId ? 'var(--ax-other-color)' : 'var(--ax-own-color)'\"\n ></ax-loading-spinner>\n </button>\n }\n }\n </div>\n\n <div class=\"ax-file-name\">{{ fileName() }}</div>\n</div>\n", styles: ["ax-conversation-message-file .ax-file-container{display:flex;align-items:center;justify-content:center;gap:.5rem}ax-conversation-message-file .ax-file-container .ax-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"] }]
36
38
  }], ctorParameters: () => [] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLW1lc3NhZ2UtZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29udmVyc2F0aW9uL3NyYy9saWIvY29udmVyc2F0aW9uLW1lc3NhZ2VzL2NvbnZlcnNhdGlvbi1tZXNzYWdlLWZpbGUvY29udmVyc2F0aW9uLW1lc3NhZ2UtZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29udmVyc2F0aW9uL3NyYy9saWIvY29udmVyc2F0aW9uLW1lc3NhZ2VzL2NvbnZlcnNhdGlvbi1tZXNzYWdlLWZpbGUvY29udmVyc2F0aW9uLW1lc3NhZ2UtZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzREFBc0Q7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFrQixlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBUTlFLE1BQU0sT0FBTyxrQ0FBbUMsU0FBUSxrQ0FBMEM7SUFRaEc7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQVJWLGNBQVMsR0FBa0QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNFLGFBQVEsR0FBMkIsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWhELGdCQUFXLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3BDLFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUIsV0FBTSxHQUFHLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBSTNDLGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQVcsQ0FBQyxDQUFDO1FBQzlFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDOUYsQ0FBQzs4R0FyQlUsa0NBQWtDO2tHQUFsQyxrQ0FBa0MsMkZDYi9DLGd3QkF3Qk07OzJGRFhPLGtDQUFrQztrQkFOOUMsU0FBUzsrQkFDRSw4QkFBOEIsaUJBR3pCLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgKi9cbmltcG9ydCB7IEFYRmlsZVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvZmlsZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgV3JpdGFibGVTaWduYWwsIGFmdGVyTmV4dFJlbmRlciwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYQ29udmVyc2F0aW9uVmlld0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbnZlcnNhdGlvbi12aWV3L2NvbnZlcnNhdGlvbi12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWENvbnZlcnNhdGlvbk1lc3NhZ2VCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29udmVyc2F0aW9uLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtY29udmVyc2F0aW9uLW1lc3NhZ2UtZmlsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb252ZXJzYXRpb24tbWVzc2FnZS1maWxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2NvbnZlcnNhdGlvbi1tZXNzYWdlLWZpbGUuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBWENvbnZlcnNhdGlvbkZpbGVNZXNzYWdlQ29tcG9uZW50IGV4dGVuZHMgQVhDb252ZXJzYXRpb25NZXNzYWdlQmFzZUNvbXBvbmVudDxzdHJpbmc+IHtcbiAgZmlsZVN0YXRlOiBXcml0YWJsZVNpZ25hbDwnbG9hZGluZycgfCAncmVhZHknIHwgJ2Vycm9yJz4gPSBzaWduYWwoJ3JlYWR5Jyk7XG4gIGZpbGVTaXplOiBXcml0YWJsZVNpZ25hbDxudW1iZXI+ID0gc2lnbmFsKG51bGwpO1xuXG4gIGZpbGVTZXJ2aWNlID0gaW5qZWN0KEFYRmlsZVNlcnZpY2UpO1xuICBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICBwYXJlbnQgPSBpbmplY3QoQVhDb252ZXJzYXRpb25WaWV3Q29tcG9uZW50KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgICB0aGlzLmZpbGVTaXplLnNldCh0aGlzLmZpbGVTZXJ2aWNlLmdldFNpemUodGhpcy5tZXNzYWdlLmNvbnRlbnQpIGFzIG51bWJlcik7XG4gICAgfSk7XG4gIH1cblxuICBoYW5kbGVEb3dubG9hZEZpbGUoKSB7XG4gICAgdGhpcy5wYXJlbnQub25BY3Rpb24uZW1pdCh7IGNvbXBvbmVudDogdGhpcywgZGF0YTogdGhpcy5tZXNzYWdlLCBpc1VzZXJJbnRlcmFjdGlvbjogdHJ1ZSB9KTtcbiAgfVxuXG4gIGhhbmRsZUNhbmNlbExvYWRpbmcoKSB7XG4gICAgdGhpcy5wYXJlbnQub25BY3Rpb24uZW1pdCh7IGNvbXBvbmVudDogdGhpcywgZGF0YTogdGhpcy5tZXNzYWdlLCBpc1VzZXJJbnRlcmFjdGlvbjogdHJ1ZSB9KTtcbiAgfVxufVxuIiwiPGF4LXByZWZpeD5cbiAgICB7e2ZpbGVTaXplKCkgfCBmb3JtYXQ6J2ZpbGVzaXplJyB8IGFzeW5jfX1cbjwvYXgtcHJlZml4PlxuPGRpdiBjbGFzcz1cImF4LWZpbGUtY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImF4LWNvbnZlcnNhdGlvbi1jb250cm9sbGVyXCI+XG5cbiAgICAgICAgQHN3aXRjaCAoZmlsZVN0YXRlKCkpIHtcbiAgICAgICAgQGNhc2UgKCdyZWFkeScpIHtcbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiaGFuZGxlRG93bmxvYWRGaWxlKClcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWRvd25sb2FkXCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuXG4gICAgICAgIEBkZWZhdWx0IHtcbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiaGFuZGxlQ2FuY2VsTG9hZGluZygpXCI+XG4gICAgICAgICAgICA8YXgtbG9hZGluZy1zcGlubmVyIFtzaXplXT1cIjI0XCIgW3N0cm9rZV09XCIyXCJcbiAgICAgICAgICAgICAgICBbY29sb3JdPVwibWVzc2FnZS5mcm9tSWQ/J3ZhcigtLWF4LW90aGVyLWNvbG9yKSc6J3ZhcigtLWF4LW93bi1jb2xvciknXCI+PC9heC1sb2FkaW5nLXNwaW5uZXI+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImF4LWZpbGUtbmFtZVwiPkxvcmVtIGlwc3VtLCBkb2xvciBzaXQgYW1ldCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LiA8L2Rpdj5cbjwvZGl2PiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLW1lc3NhZ2UtZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29udmVyc2F0aW9uL3NyYy9saWIvY29udmVyc2F0aW9uLW1lc3NhZ2VzL2NvbnZlcnNhdGlvbi1tZXNzYWdlLWZpbGUvY29udmVyc2F0aW9uLW1lc3NhZ2UtZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29udmVyc2F0aW9uL3NyYy9saWIvY29udmVyc2F0aW9uLW1lc3NhZ2VzL2NvbnZlcnNhdGlvbi1tZXNzYWdlLWZpbGUvY29udmVyc2F0aW9uLW1lc3NhZ2UtZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzREFBc0Q7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFrQixlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBUTlFLE1BQU0sT0FBTyxrQ0FBbUMsU0FBUSxrQ0FBMEM7SUFTaEc7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQVRWLGNBQVMsR0FBa0QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNFLGFBQVEsR0FBMkIsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELGFBQVEsR0FBMkIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTlDLGdCQUFXLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3BDLFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUIsV0FBTSxHQUFHLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBSTNDLGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBVyxDQUFDLENBQUM7UUFDOUUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5RixDQUFDOzhHQXZCVSxrQ0FBa0M7a0dBQWxDLGtDQUFrQywyRkNiL0MsaXVCQTBCQTs7MkZEYmEsa0NBQWtDO2tCQU45QyxTQUFTOytCQUNFLDhCQUE4QixpQkFHekIsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyAqL1xuaW1wb3J0IHsgQVhGaWxlU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS9maWxlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBXcml0YWJsZVNpZ25hbCwgYWZ0ZXJOZXh0UmVuZGVyLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhDb252ZXJzYXRpb25WaWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29udmVyc2F0aW9uLXZpZXcvY29udmVyc2F0aW9uLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IEFYQ29udmVyc2F0aW9uTWVzc2FnZUJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb252ZXJzYXRpb24udHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1jb252ZXJzYXRpb24tbWVzc2FnZS1maWxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnZlcnNhdGlvbi1tZXNzYWdlLWZpbGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY29udmVyc2F0aW9uLW1lc3NhZ2UtZmlsZS5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEFYQ29udmVyc2F0aW9uRmlsZU1lc3NhZ2VDb21wb25lbnQgZXh0ZW5kcyBBWENvbnZlcnNhdGlvbk1lc3NhZ2VCYXNlQ29tcG9uZW50PHN0cmluZz4ge1xuICBmaWxlU3RhdGU6IFdyaXRhYmxlU2lnbmFsPCdsb2FkaW5nJyB8ICdyZWFkeScgfCAnZXJyb3InPiA9IHNpZ25hbCgncmVhZHknKTtcbiAgZmlsZVNpemU6IFdyaXRhYmxlU2lnbmFsPG51bWJlcj4gPSBzaWduYWwobnVsbCk7XG4gIGZpbGVOYW1lOiBXcml0YWJsZVNpZ25hbDxzdHJpbmc+ID0gc2lnbmFsKCcnKTtcblxuICBmaWxlU2VydmljZSA9IGluamVjdChBWEZpbGVTZXJ2aWNlKTtcbiAgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgcGFyZW50ID0gaW5qZWN0KEFYQ29udmVyc2F0aW9uVmlld0NvbXBvbmVudCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICAgdGhpcy5maWxlTmFtZS5zZXQodGhpcy5tZXNzYWdlLm5hbWUpO1xuICAgICAgdGhpcy5maWxlU2l6ZS5zZXQodGhpcy5maWxlU2VydmljZS5nZXRTaXplKHRoaXMubWVzc2FnZS5jb250ZW50KSBhcyBudW1iZXIpO1xuICAgIH0pO1xuICB9XG5cbiAgaGFuZGxlRG93bmxvYWRGaWxlKCkge1xuICAgIHRoaXMucGFyZW50Lm9uQWN0aW9uLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IHRoaXMubWVzc2FnZSwgaXNVc2VySW50ZXJhY3Rpb246IHRydWUgfSk7XG4gIH1cblxuICBoYW5kbGVDYW5jZWxMb2FkaW5nKCkge1xuICAgIHRoaXMucGFyZW50Lm9uQWN0aW9uLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IHRoaXMubWVzc2FnZSwgaXNVc2VySW50ZXJhY3Rpb246IHRydWUgfSk7XG4gIH1cbn1cbiIsIjxheC1wcmVmaXg+XG4gIHt7IGZpbGVTaXplKCkgfCBmb3JtYXQ6ICdmaWxlc2l6ZScgfCBhc3luYyB9fVxuPC9heC1wcmVmaXg+XG48ZGl2IGNsYXNzPVwiYXgtZmlsZS1jb250YWluZXJcIj5cbiAgPGRpdiBjbGFzcz1cImF4LWNvbnZlcnNhdGlvbi1jb250cm9sbGVyXCI+XG4gICAgQHN3aXRjaCAoZmlsZVN0YXRlKCkpIHtcbiAgICAgIEBjYXNlICgncmVhZHknKSB7XG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cImhhbmRsZURvd25sb2FkRmlsZSgpXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJheC1pY29uIGF4LWljb24tZG93bmxvYWRcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgfVxuXG4gICAgICBAZGVmYXVsdCB7XG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cImhhbmRsZUNhbmNlbExvYWRpbmcoKVwiPlxuICAgICAgICAgIDxheC1sb2FkaW5nLXNwaW5uZXJcbiAgICAgICAgICAgIFtzaXplXT1cIjI0XCJcbiAgICAgICAgICAgIFtzdHJva2VdPVwiMlwiXG4gICAgICAgICAgICBbY29sb3JdPVwibWVzc2FnZS5mcm9tSWQgPyAndmFyKC0tYXgtb3RoZXItY29sb3IpJyA6ICd2YXIoLS1heC1vd24tY29sb3IpJ1wiXG4gICAgICAgICAgPjwvYXgtbG9hZGluZy1zcGlubmVyPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICB9XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJheC1maWxlLW5hbWVcIj57eyBmaWxlTmFtZSgpIH19PC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,21 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, signal } from '@angular/core';
3
+ import { AXConversationMessageBaseComponent } from '../../conversation.types';
4
+ import * as i0 from "@angular/core";
5
+ export class ConversationMessageImageComponent extends AXConversationMessageBaseComponent {
6
+ constructor() {
7
+ super(...arguments);
8
+ this._imageUrl = signal('');
9
+ }
10
+ ngOnInit() {
11
+ this._imageUrl.set(this.message?.content);
12
+ console.log(this._imageUrl());
13
+ }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ConversationMessageImageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: ConversationMessageImageComponent, isStandalone: true, selector: "ax-conversation-message-image", inputs: { message: "message" }, usesInheritance: true, ngImport: i0, template: `<img [src]="_imageUrl()" alt="" />`, isInline: true, styles: ["img{margin-bottom:.5rem;width:100%;border-radius:.75rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ConversationMessageImageComponent, decorators: [{
18
+ type: Component,
19
+ args: [{ selector: 'ax-conversation-message-image', standalone: true, imports: [CommonModule], template: `<img [src]="_imageUrl()" alt="" />`, inputs: ['message'], styles: ["img{margin-bottom:.5rem;width:100%;border-radius:.75rem}\n"] }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLW1lc3NhZ2UtaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbnZlcnNhdGlvbi9zcmMvbGliL2NvbnZlcnNhdGlvbi1tZXNzYWdlcy9jb252ZXJzYXRpb24tbWVzc2FnZS1pbWFnZS9jb252ZXJzYXRpb24tbWVzc2FnZS1pbWFnZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQWdCOUUsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLGtDQUEwQztJQWRqRzs7UUFlWSxjQUFTLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBTWxDO0lBSkMsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDMUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNoQyxDQUFDOzhHQU5VLGlDQUFpQztrR0FBakMsaUNBQWlDLGdKQVZsQyxvQ0FBb0MsbUlBRHBDLFlBQVk7OzJGQVdYLGlDQUFpQztrQkFkN0MsU0FBUzsrQkFDRSwrQkFBK0IsY0FDN0IsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDLFlBQ2Isb0NBQW9DLFVBUXRDLENBQUMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYQ29udmVyc2F0aW9uTWVzc2FnZUJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb252ZXJzYXRpb24udHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1jb252ZXJzYXRpb24tbWVzc2FnZS1pbWFnZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZTogYDxpbWcgW3NyY109XCJfaW1hZ2VVcmwoKVwiIGFsdD1cIlwiIC8+YCxcbiAgc3R5bGVzOiBgXG4gICAgaW1nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgICB9XG4gIGAsXG4gIGlucHV0czogWydtZXNzYWdlJ10sXG59KVxuZXhwb3J0IGNsYXNzIENvbnZlcnNhdGlvbk1lc3NhZ2VJbWFnZUNvbXBvbmVudCBleHRlbmRzIEFYQ29udmVyc2F0aW9uTWVzc2FnZUJhc2VDb21wb25lbnQ8c3RyaW5nPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByb3RlY3RlZCBfaW1hZ2VVcmwgPSBzaWduYWwoJycpO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2ltYWdlVXJsLnNldCh0aGlzLm1lc3NhZ2U/LmNvbnRlbnQpO1xuICAgIGNvbnNvbGUubG9nKHRoaXMuX2ltYWdlVXJsKCkpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, signal } from '@angular/core';
3
+ import { AXConversationMessageBaseComponent } from '../../conversation.types';
4
+ import * as i0 from "@angular/core";
5
+ export class ConversationMessageVideoComponent extends AXConversationMessageBaseComponent {
6
+ constructor() {
7
+ super(...arguments);
8
+ this._videoUrl = signal('');
9
+ }
10
+ ngOnInit() {
11
+ this._videoUrl.set(this.message?.content);
12
+ console.log(this._videoUrl());
13
+ }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ConversationMessageVideoComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: ConversationMessageVideoComponent, isStandalone: true, selector: "ax-conversation-message-video", usesInheritance: true, ngImport: i0, template: `<video controls [src]="_videoUrl()"></video>`, isInline: true, styles: ["video{margin-bottom:.5rem;width:100%;border-radius:.75rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ConversationMessageVideoComponent, decorators: [{
18
+ type: Component,
19
+ args: [{ selector: 'ax-conversation-message-video', standalone: true, imports: [CommonModule], template: `<video controls [src]="_videoUrl()"></video>`, styles: ["video{margin-bottom:.5rem;width:100%;border-radius:.75rem}\n"] }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLW1lc3NhZ2UtdmlkZW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbnZlcnNhdGlvbi9zcmMvbGliL2NvbnZlcnNhdGlvbi1tZXNzYWdlcy9jb252ZXJzYXRpb24tbWVzc2FnZS12aWRlby9jb252ZXJzYXRpb24tbWVzc2FnZS12aWRlby5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQWU5RSxNQUFNLE9BQU8saUNBQWtDLFNBQVEsa0NBQTBDO0lBYmpHOztRQWNZLGNBQVMsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7S0FNbEM7SUFKQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMxQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OEdBTlUsaUNBQWlDO2tHQUFqQyxpQ0FBaUMsZ0hBVGxDLDhDQUE4QyxxSUFEOUMsWUFBWTs7MkZBVVgsaUNBQWlDO2tCQWI3QyxTQUFTOytCQUNFLCtCQUErQixjQUM3QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsWUFDYiw4Q0FBOEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhDb252ZXJzYXRpb25NZXNzYWdlQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbnZlcnNhdGlvbi50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWNvbnZlcnNhdGlvbi1tZXNzYWdlLXZpZGVvJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlOiBgPHZpZGVvIGNvbnRyb2xzIFtzcmNdPVwiX3ZpZGVvVXJsKClcIj48L3ZpZGVvPmAsXG4gIHN0eWxlczogYFxuICAgIHZpZGVvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgICB9XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIENvbnZlcnNhdGlvbk1lc3NhZ2VWaWRlb0NvbXBvbmVudCBleHRlbmRzIEFYQ29udmVyc2F0aW9uTWVzc2FnZUJhc2VDb21wb25lbnQ8c3RyaW5nPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByb3RlY3RlZCBfdmlkZW9VcmwgPSBzaWduYWwoJycpO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3ZpZGVvVXJsLnNldCh0aGlzLm1lc3NhZ2U/LmNvbnRlbnQpO1xuICAgIGNvbnNvbGUubG9nKHRoaXMuX3ZpZGVvVXJsKCkpO1xuICB9XG59XG4iXX0=