@acorex/components 18.16.0-next.8 → 18.16.0-next.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-comment.mjs","sources":["../../../../libs/components/comment/src/lib/comment-container/comment-container.component.ts","../../../../libs/components/comment/src/lib/comment-container/comment-container.component.html","../../../../libs/components/comment/src/lib/comment-item/comment-item.component.ts","../../../../libs/components/comment/src/lib/comment-item/comment-item.component.html","../../../../libs/components/comment/src/lib/comment-tools/comment-date/comment-date.component.ts","../../../../libs/components/comment/src/lib/comment-tools/comment-date/comment-date.component.html","../../../../libs/components/comment/src/lib/comment-tools/comment-like/comment-like.component.ts","../../../../libs/components/comment/src/lib/comment-tools/comment-like/comment-like.component.html","../../../../libs/components/comment/src/lib/comment-tools/comment-menu-options/comment-menu-options.component.ts","../../../../libs/components/comment/src/lib/comment-tools/comment-menu-options/comment-menu-options.component.html","../../../../libs/components/comment/src/lib/comment-tools/comment-reply-more/comment-reply-more.component.ts","../../../../libs/components/comment/src/lib/comment-tools/comment-reply-more/comment-reply-more.component.html","../../../../libs/components/comment/src/lib/comment-tools/comment-reply-text/comment-reply-text.component.ts","../../../../libs/components/comment/src/lib/comment-tools/comment-reply-text/comment-reply-text.component.html","../../../../libs/components/comment/src/lib/comment-view/comment-view.component.ts","../../../../libs/components/comment/src/lib/comment-view/comment-view.component.html","../../../../libs/components/comment/src/lib/comment.module.ts","../../../../libs/components/comment/src/acorex-components-comment.ts"],"sourcesContent":["import { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { Component, inject, PLATFORM_ID, ViewEncapsulation } from '@angular/core';\n\n/**\n * A container component for displaying and managing comments.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-container',\n templateUrl: './comment-container.component.html',\n providers: [],\n styles: `\n ax-comment-container {\n width: 100%;\n }\n `,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXCommentContainerComponent {\n private document = inject(DOCUMENT);\n private platformID = inject(PLATFORM_ID);\n scrollToRelpy(id: string) {\n if (isPlatformBrowser(this.platformID)) {\n const el = this.document.querySelector(`ax-comment-item[id=${id}]`) as HTMLElement;\n if (!el) return;\n el.scrollIntoView({ behavior: 'smooth', block: 'center' });\n const content = el?.firstElementChild?.children[1] as HTMLElement;\n const prevBg = content.style.background;\n content.style.borderRadius = '0.25rem';\n content.style.transition = 'background 1s ease-in-out';\n content.style.background = '#e2fffc';\n setTimeout(() => {\n content.style.background = prevBg || 'rgba(0, 0, 0, 0)';\n }, 1000);\n }\n }\n}\n","<ng-content> </ng-content>\n","import { AXAvatarComponent } from '@acorex/components/avatar';\nimport { AXCollapseComponent } from '@acorex/components/collapse';\nimport { afterNextRender, Component, contentChild, input, viewChild, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component that represents an individual comment item in the comment system.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-item',\n templateUrl: './comment-item.component.html',\n styleUrl: './comment-item.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AxCommentItemComponent {\n /**\n * @ignore\n */\n protected avatar = contentChild(AXAvatarComponent);\n\n protected collaps = viewChild<AXCollapseComponent>('c');\n\n replyCount = input<number>();\n\n /**\n * @ignore\n */\n constructor() {\n afterNextRender(() => {\n this.avatar()?.size?.set(40);\n });\n }\n\n toggleCollaps() {\n this.collaps().toggle();\n }\n}\n","<div class=\"ax-comment-items\">\n <div class=\"ax-header-container\">\n <div class=\"ax-title-avatar-container\">\n <ng-content select=\"ax-avatar\"></ng-content>\n <ng-content select=\"ax-title\"></ng-content>\n <ng-content select=\"ax-comment-date\"></ng-content>\n </div>\n\n <div>\n <ng-content select=\"ax-comment-menu-options\"></ng-content>\n </div>\n </div>\n <div class=\"ax-content-container\">\n <ng-content select=\"ax-content\"></ng-content>\n <div class=\"ax-reaction-container\">\n <ng-content select=\"ax-comment-like\"></ng-content>\n <ng-content select=\"ax-comment-reply-text\"></ng-content>\n </div>\n </div>\n @if (replyCount()) {\n <div class=\"ax-comment-replies\">\n <ax-collapse-group look=\"none\" [accordion]=\"true\" [activeIndex]=\"1\">\n <ax-collapse\n #c\n [caption]=\"\n ('comment.view' | translate | async) +\n ' ' +\n replyCount() +\n ' ' +\n ((replyCount() > 1 ? 'comment.replies' : 'comment.reply') | translate | async)\n \"\n [isCollapsed]=\"true\"\n >\n <ng-content select=\"ax-comment-item\"></ng-content>\n <ng-content select=\"ax-comment-reply-more\"></ng-content>\n </ax-collapse>\n </ax-collapse-group>\n </div>\n }\n</div>\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component for displaying and managing date on a comment.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-date',\n templateUrl: './comment-date.component.html',\n styleUrl: './comment-date.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXCommentDateComponent {}\n","<ng-content></ng-content>\n","import { Component, input } from '@angular/core';\n\n/**\n * A component for displaying and managing likes on a comment.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-like',\n templateUrl: './comment-like.component.html',\n styleUrl: './comment-like.component.scss',\n})\nexport class AXCommentLikeComponent {\n /**\n * Indicates whether the comment is liked.\n */\n liked = input.required();\n}\n","<div class=\"ax-comment-like-container\">\n <ax-icon class=\"ax-icon ax-icon-heart\" [class.ax-state-liked]=\"liked()\"></ax-icon>\n <ax-text><ng-content></ng-content></ax-text>\n</div>\n","import { Component } from '@angular/core';\n\n/**\n * A component for displaying and managing menu options on a comment.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-menu-options',\n templateUrl: './comment-menu-options.component.html',\n})\nexport class AXMenuOptionsComponent {}\n","<ng-content></ng-content>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ax-comment-reply-more',\n templateUrl: './comment-reply-more.component.html',\n})\nexport class AXCommentReplyMoreComponent {}\n","<ax-text><ng-content></ng-content></ax-text>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ax-comment-reply-text',\n templateUrl: './comment-reply-text.component.html',\n})\nexport class AXCommentReplyTextComponent {}\n","<ax-text>Reply</ax-text>\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component for viewing comments with their details.\n * @category Components\n */\n@Component({\n selector: 'ax-comment-view',\n templateUrl: './comment-view.component.html',\n styleUrls: ['./comment-view.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXCommentViewComponent {}\n","<ng-content select=\"ax-comment-item\"></ng-content>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXCollapseModule } from '@acorex/components/collapse';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTextAreaModule } from '@acorex/components/text-area';\nimport { AXWysiwygModule } from '@acorex/components/wysiwyg';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { NgModule } from '@angular/core';\nimport { AXCommentContainerComponent } from './comment-container/comment-container.component';\nimport { AxCommentItemComponent } from './comment-item/comment-item.component';\nimport { AXCommentDateComponent } from './comment-tools/comment-date/comment-date.component';\nimport { AXCommentLikeComponent } from './comment-tools/comment-like/comment-like.component';\nimport { AXMenuOptionsComponent } from './comment-tools/comment-menu-options/comment-menu-options.component';\nimport { AXCommentReplyMoreComponent } from './comment-tools/comment-reply-more/comment-reply-more.component';\nimport { AXCommentReplyTextComponent } from './comment-tools/comment-reply-text/comment-reply-text.component';\nimport { AXCommentViewComponent } from './comment-view/comment-view.component';\nimport { CommonModule } from '@angular/common';\n\nconst COMPONENT = [\n AXCommentViewComponent,\n AXCommentContainerComponent,\n AxCommentItemComponent,\n AXCommentLikeComponent,\n AXMenuOptionsComponent,\n AXCommentReplyTextComponent,\n AXCommentDateComponent,\n AXCommentReplyMoreComponent,\n];\nconst MODULES = [\n AXDecoratorModule,\n AXWysiwygModule,\n AXCollapseModule,\n AXButtonModule,\n AXTextAreaModule,\n AXTranslationModule,\n CommonModule\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXCommentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-comment.mjs","sources":["../../../../libs/components/comment/src/lib/comment-container/comment-container.component.ts","../../../../libs/components/comment/src/lib/comment-container/comment-container.component.html","../../../../libs/components/comment/src/lib/comment-item/comment-item.component.ts","../../../../libs/components/comment/src/lib/comment-item/comment-item.component.html","../../../../libs/components/comment/src/lib/comment-tools/comment-date/comment-date.component.ts","../../../../libs/components/comment/src/lib/comment-tools/comment-date/comment-date.component.html","../../../../libs/components/comment/src/lib/comment-tools/comment-like/comment-like.component.ts","../../../../libs/components/comment/src/lib/comment-tools/comment-like/comment-like.component.html","../../../../libs/components/comment/src/lib/comment-tools/comment-menu-options/comment-menu-options.component.ts","../../../../libs/components/comment/src/lib/comment-tools/comment-menu-options/comment-menu-options.component.html","../../../../libs/components/comment/src/lib/comment-tools/comment-reply-more/comment-reply-more.component.ts","../../../../libs/components/comment/src/lib/comment-tools/comment-reply-more/comment-reply-more.component.html","../../../../libs/components/comment/src/lib/comment-tools/comment-reply-text/comment-reply-text.component.ts","../../../../libs/components/comment/src/lib/comment-tools/comment-reply-text/comment-reply-text.component.html","../../../../libs/components/comment/src/lib/comment-view/comment-view.component.ts","../../../../libs/components/comment/src/lib/comment-view/comment-view.component.html","../../../../libs/components/comment/src/lib/comment.module.ts","../../../../libs/components/comment/src/acorex-components-comment.ts"],"sourcesContent":["import { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { Component, inject, PLATFORM_ID, ViewEncapsulation } from '@angular/core';\n\n/**\n * A container component for displaying and managing comments.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-container',\n templateUrl: './comment-container.component.html',\n providers: [],\n styles: `\n ax-comment-container {\n width: 100%;\n }\n `,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXCommentContainerComponent {\n private document = inject(DOCUMENT);\n private platformID = inject(PLATFORM_ID);\n scrollToRelpy(id: string) {\n if (isPlatformBrowser(this.platformID)) {\n const el = this.document.querySelector(`ax-comment-item[id=${id}]`) as HTMLElement;\n if (!el) return;\n el.scrollIntoView({ behavior: 'smooth', block: 'center' });\n const content = el?.firstElementChild?.children[1] as HTMLElement;\n const prevBg = content.style.background;\n content.style.borderRadius = '0.25rem';\n content.style.transition = 'background 1s ease-in-out';\n content.style.background = '#e2fffc';\n setTimeout(() => {\n content.style.background = prevBg || 'rgba(0, 0, 0, 0)';\n }, 1000);\n }\n }\n}\n","<ng-content> </ng-content>\n","import { AXAvatarComponent } from '@acorex/components/avatar';\nimport { AXCollapseComponent } from '@acorex/components/collapse';\nimport { afterNextRender, Component, contentChild, input, viewChild, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component that represents an individual comment item in the comment system.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-item',\n templateUrl: './comment-item.component.html',\n styleUrl: './comment-item.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AxCommentItemComponent {\n /**\n * @ignore\n */\n protected avatar = contentChild(AXAvatarComponent);\n\n protected collaps = viewChild<AXCollapseComponent>('c');\n\n replyCount = input<number>();\n\n /**\n * @ignore\n */\n constructor() {\n afterNextRender(() => {\n this.avatar()?.size?.set(40);\n });\n }\n\n toggleCollaps() {\n this.collaps().toggle();\n }\n}\n","<div class=\"ax-comment-items\">\n <div class=\"ax-header-container\">\n <div class=\"ax-title-avatar-container\">\n <ng-content select=\"ax-avatar\"></ng-content>\n <ng-content select=\"ax-title\"></ng-content>\n <ng-content select=\"ax-comment-date\"></ng-content>\n </div>\n\n <div>\n <ng-content select=\"ax-comment-menu-options\"></ng-content>\n </div>\n </div>\n <div class=\"ax-content-container\">\n <ng-content select=\"ax-content\"></ng-content>\n <div class=\"ax-reaction-container\">\n <ng-content select=\"ax-comment-like\"></ng-content>\n <ng-content select=\"ax-comment-reply-text\"></ng-content>\n </div>\n </div>\n @if (replyCount()) {\n <div class=\"ax-comment-replies\">\n <ax-collapse-group look=\"none\" [accordion]=\"true\" [activeIndex]=\"1\">\n <ax-collapse\n #c\n [caption]=\"\n ('comment.view' | translate | async) +\n ' ' +\n replyCount() +\n ' ' +\n ((replyCount() > 1 ? 'comment.replies' : 'comment.reply') | translate | async)\n \"\n [isCollapsed]=\"true\"\n >\n <ng-content select=\"ax-comment-item\"></ng-content>\n <ng-content select=\"ax-comment-reply-more\"></ng-content>\n </ax-collapse>\n </ax-collapse-group>\n </div>\n }\n</div>\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component for displaying and managing date on a comment.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-date',\n templateUrl: './comment-date.component.html',\n styleUrl: './comment-date.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXCommentDateComponent {}\n","<ng-content></ng-content>\n","import { Component, model, output } from '@angular/core';\n\n/**\n * A component for displaying and managing likes on a comment.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-like',\n templateUrl: './comment-like.component.html',\n styleUrl: './comment-like.component.scss',\n})\nexport class AXCommentLikeComponent {\n /**\n * Indicates whether the comment is liked.\n */\n liked = model.required<boolean>();\n onLiked = output<boolean>();\n\n changeState() {\n this.liked.update((prev) => !prev);\n this.onLiked.emit(this.liked());\n }\n}\n","<div class=\"ax-comment-like-container\" [class.ax-state-liked]=\"liked()\" (click)=\"changeState()\">\n <ax-icon class=\"ax-icon ax-icon-heart\"></ax-icon>\n <ax-text><ng-content></ng-content></ax-text>\n</div>\n","import { Component } from '@angular/core';\n\n/**\n * A component for displaying and managing menu options on a comment.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-menu-options',\n templateUrl: './comment-menu-options.component.html',\n})\nexport class AXMenuOptionsComponent {}\n","<ng-content></ng-content>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ax-comment-reply-more',\n templateUrl: './comment-reply-more.component.html',\n})\nexport class AXCommentReplyMoreComponent {}\n","<ax-text><ng-content></ng-content></ax-text>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ax-comment-reply-text',\n templateUrl: './comment-reply-text.component.html',\n})\nexport class AXCommentReplyTextComponent {}\n","<ax-text>Reply</ax-text>\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component for viewing comments with their details.\n * @category Components\n */\n@Component({\n selector: 'ax-comment-view',\n templateUrl: './comment-view.component.html',\n styleUrls: ['./comment-view.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXCommentViewComponent {}\n","<ng-content select=\"ax-comment-item\"></ng-content>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXCollapseModule } from '@acorex/components/collapse';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTextAreaModule } from '@acorex/components/text-area';\nimport { AXWysiwygModule } from '@acorex/components/wysiwyg';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { NgModule } from '@angular/core';\nimport { AXCommentContainerComponent } from './comment-container/comment-container.component';\nimport { AxCommentItemComponent } from './comment-item/comment-item.component';\nimport { AXCommentDateComponent } from './comment-tools/comment-date/comment-date.component';\nimport { AXCommentLikeComponent } from './comment-tools/comment-like/comment-like.component';\nimport { AXMenuOptionsComponent } from './comment-tools/comment-menu-options/comment-menu-options.component';\nimport { AXCommentReplyMoreComponent } from './comment-tools/comment-reply-more/comment-reply-more.component';\nimport { AXCommentReplyTextComponent } from './comment-tools/comment-reply-text/comment-reply-text.component';\nimport { AXCommentViewComponent } from './comment-view/comment-view.component';\nimport { CommonModule } from '@angular/common';\n\nconst COMPONENT = [\n AXCommentViewComponent,\n AXCommentContainerComponent,\n AxCommentItemComponent,\n AXCommentLikeComponent,\n AXMenuOptionsComponent,\n AXCommentReplyTextComponent,\n AXCommentDateComponent,\n AXCommentReplyMoreComponent,\n];\nconst MODULES = [\n AXDecoratorModule,\n AXWysiwygModule,\n AXCollapseModule,\n AXButtonModule,\n AXTextAreaModule,\n AXTranslationModule,\n CommonModule\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXCommentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;;;;AAGA;;;;AAIG;MAYU,2BAA2B,CAAA;AAXxC,IAAA,WAAA,GAAA;AAYU,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AAgBzC;AAfC,IAAA,aAAa,CAAC,EAAU,EAAA;AACtB,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACtC,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAsB,mBAAA,EAAA,EAAE,CAAG,CAAA,CAAA,CAAgB;AAClF,YAAA,IAAI,CAAC,EAAE;gBAAE;AACT,YAAA,EAAE,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YAC1D,MAAM,OAAO,GAAG,EAAE,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAgB;AACjE,YAAA,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU;AACvC,YAAA,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,SAAS;AACtC,YAAA,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,2BAA2B;AACtD,YAAA,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS;YACpC,UAAU,CAAC,MAAK;gBACd,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,IAAI,kBAAkB;aACxD,EAAE,IAAI,CAAC;;;8GAfD,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA3B,2BAA2B,EAAA,QAAA,EAAA,sBAAA,EAAA,SAAA,EAR3B,EAAE,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECXf,8BACA,EAAA,MAAA,EAAA,CAAA,oCAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDkBa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAXvC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EAErB,SAAA,EAAA,EAAE,EAME,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,oCAAA,CAAA,EAAA;;;AEbvC;;;;AAIG;MAOU,sBAAsB,CAAA;AAUjC;;AAEG;AACH,IAAA,WAAA,GAAA;AAZA;;AAEG;AACO,QAAA,IAAA,CAAA,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC;AAExC,QAAA,IAAA,CAAA,OAAO,GAAG,SAAS,CAAsB,GAAG,CAAC;QAEvD,IAAU,CAAA,UAAA,GAAG,KAAK,EAAU;QAM1B,eAAe,CAAC,MAAK;YACnB,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;AAC9B,SAAC,CAAC;;IAGJ,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE;;8GApBd,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAID,iBAAiB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,GAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnBnD,81CAwCA,EAAA,MAAA,EAAA,CAAA,w3CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,aAAA,EAAA,YAAA,EAAA,SAAA,EAAA,MAAA,EAAA,WAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDzBa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;+BACE,iBAAiB,EAAA,aAAA,EAGZ,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,81CAAA,EAAA,MAAA,EAAA,CAAA,w3CAAA,CAAA,EAAA;;;AEXvC;;;;AAIG;MAOU,sBAAsB,CAAA;8GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,uDCbnC,6BACA,EAAA,MAAA,EAAA,CAAA,2EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDYa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;+BACE,iBAAiB,EAAA,aAAA,EAGZ,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,2EAAA,CAAA,EAAA;;;AETvC;;;;AAIG;MAMU,sBAAsB,CAAA;AALnC,IAAA,WAAA,GAAA;AAME;;AAEG;AACH,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAW;QACjC,IAAO,CAAA,OAAA,GAAG,MAAM,EAAW;AAM5B;IAJC,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;;8GATtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,iPCZnC,yNAIA,EAAA,MAAA,EAAA,CAAA,2WAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,+IAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDQa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,yNAAA,EAAA,MAAA,EAAA,CAAA,2WAAA,CAAA,EAAA;;;AEN7B;;;;AAIG;MAKU,sBAAsB,CAAA;8GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,+DCXnC,6BACA,EAAA,CAAA,CAAA;;2FDUa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;+BACE,yBAAyB,EAAA,QAAA,EAAA,6BAAA,EAAA;;;MEFxB,2BAA2B,CAAA;8GAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,6DCNxC,gDACA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,+IAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDKa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAJvC,SAAS;+BACE,uBAAuB,EAAA,QAAA,EAAA,gDAAA,EAAA;;;MEGtB,2BAA2B,CAAA;8GAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,6DCNxC,4BACA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,+IAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDKa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAJvC,SAAS;+BACE,uBAAuB,EAAA,QAAA,EAAA,4BAAA,EAAA;;;AEDnC;;;AAGG;MAOU,sBAAsB,CAAA;8GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,uDCZnC,wDACA,EAAA,MAAA,EAAA,CAAA,wKAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDWa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;+BACE,iBAAiB,EAAA,aAAA,EAGZ,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,wKAAA,CAAA,EAAA;;;AEOvC,MAAM,SAAS,GAAG;IAChB,sBAAsB;IACtB,2BAA2B;IAC3B,sBAAsB;IACtB,sBAAsB;IACtB,sBAAsB;IACtB,2BAA2B;IAC3B,sBAAsB;IACtB,2BAA2B;CAC5B;AACD,MAAM,OAAO,GAAG;IACd,iBAAiB;IACjB,eAAe;IACf,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,mBAAmB;IACnB;CACD;MAQY,eAAe,CAAA;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,iBAzB1B,sBAAsB;YACtB,2BAA2B;YAC3B,sBAAsB;YACtB,sBAAsB;YACtB,sBAAsB;YACtB,2BAA2B;YAC3B,sBAAsB;AACtB,YAAA,2BAA2B,aAG3B,iBAAiB;YACjB,eAAe;YACf,gBAAgB;YAChB,cAAc;YACd,gBAAgB;YAChB,mBAAmB;AACnB,YAAA,YAAY,aAhBZ,sBAAsB;YACtB,2BAA2B;YAC3B,sBAAsB;YACtB,sBAAsB;YACtB,sBAAsB;YACtB,2BAA2B;YAC3B,sBAAsB;YACtB,2BAA2B,CAAA,EAAA,CAAA,CAAA;AAkBhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAJb,OAAO,CAAA,EAAA,CAAA,CAAA;;2FAIT,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;AAC5B,oBAAA,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;AACrB,oBAAA,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC;AACvB,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA;;;AC1CD;;AAEG;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { AXEvent, MXInputBaseValueComponent, MXLookComponent, AXComponent, AXFocusableComponent, AXValuableComponent, MXBaseComponent, AXRippleDirective } from '@acorex/components/common';
2
2
  import * as i0 from '@angular/core';
3
- import { Component, ViewEncapsulation, signal, Injectable, inject, computed, input, output, forwardRef, ChangeDetectionStrategy, ViewChild, viewChild, HostBinding, afterNextRender, ViewContainerRef, PLATFORM_ID, NgModule, Optional, Inject } from '@angular/core';
3
+ import { Component, ViewEncapsulation, signal, Injectable, inject, computed, input, output, forwardRef, ChangeDetectionStrategy, ViewChild, viewChild, HostBinding, Renderer2, afterNextRender, ViewContainerRef, PLATFORM_ID, NgModule, Optional, Inject } from '@angular/core';
4
4
  import * as i1 from '@angular/forms';
5
5
  import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
6
6
  import { classes } from 'polytype';
@@ -450,6 +450,7 @@ class AXConversationMessageAudioComponent extends AXConversationMessageBaseCompo
450
450
  */
451
451
  constructor() {
452
452
  super();
453
+ this.rendrer = inject(Renderer2);
453
454
  /**
454
455
  * @ignore
455
456
  */
@@ -482,24 +483,50 @@ class AXConversationMessageAudioComponent extends AXConversationMessageBaseCompo
482
483
  afterNextRender(() => {
483
484
  this.audioTag().autoplay = false;
484
485
  this.audioTag().src = this.message.content;
485
- this.audioTag().addEventListener('ended', () => {
486
- this.audioState.set('paused');
487
- this.audioTag().pause();
488
- this.audioTag().currentTime = 0;
489
- this.currentTime.set(0);
490
- });
491
- this.audioTag().addEventListener('durationchange', () => {
492
- if (this.audioTag().duration === Infinity)
493
- return;
494
- this.duration.set(this.audioTag().duration);
495
- this.durationFormat.set(Math.ceil(this.audioTag().duration) * 1000);
496
- });
497
- this.audioTag().addEventListener('timeupdate', () => {
498
- this.currentTime.set(this.audioTag().currentTime);
499
- this.currentTimeFormat.set(Math.ceil(this.audioTag().currentTime * 1000));
500
- });
486
+ this.rendrer.listen(this.audioTag(), 'ended', this.endedFunction.bind(this));
487
+ this.rendrer.listen(this.audioTag(), 'durationchange', this.durationchangeFunction.bind(this));
488
+ this.rendrer.listen(this.audioTag(), 'timeupdate', this.timeupdateFunction.bind(this));
501
489
  });
502
490
  }
491
+ /**
492
+ * @ignore
493
+ */
494
+ ngOnDestroy() {
495
+ if (this.endedEvent) {
496
+ this.endedEvent();
497
+ }
498
+ if (this.durationchangeEvent) {
499
+ this.durationchangeEvent();
500
+ }
501
+ if (this.timeupdateEvent) {
502
+ this.timeupdateEvent();
503
+ }
504
+ }
505
+ /**
506
+ * @ignore
507
+ */
508
+ endedFunction() {
509
+ this.audioState.set('paused');
510
+ this.audioTag().pause();
511
+ this.audioTag().currentTime = 0;
512
+ this.currentTime.set(0);
513
+ }
514
+ /**
515
+ * @ignore
516
+ */
517
+ durationchangeFunction() {
518
+ if (this.audioTag().duration === Infinity)
519
+ return;
520
+ this.duration.set(this.audioTag().duration);
521
+ this.durationFormat.set(Math.ceil(this.audioTag().duration) * 1000);
522
+ }
523
+ /**
524
+ * @ignore
525
+ */
526
+ timeupdateFunction() {
527
+ this.currentTime.set(this.audioTag().currentTime);
528
+ this.currentTimeFormat.set(Math.ceil(this.audioTag().currentTime * 1000));
529
+ }
503
530
  /**
504
531
  * Seeks to the specified time and resumes audio playback.
505
532
  *