@acorex/components 20.8.32 → 20.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/conversation/README.md +462 -2
  2. package/conversation/index.d.ts +5400 -485
  3. package/fesm2022/acorex-components-calendar.mjs +3 -2
  4. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  5. package/fesm2022/acorex-components-conversation-acorex-components-conversation-CjVDCoJw.mjs +13711 -0
  6. package/fesm2022/acorex-components-conversation-acorex-components-conversation-CjVDCoJw.mjs.map +1 -0
  7. package/fesm2022/acorex-components-conversation-audio-attachment.component-Ri-Jx210.mjs +119 -0
  8. package/fesm2022/acorex-components-conversation-audio-attachment.component-Ri-Jx210.mjs.map +1 -0
  9. package/fesm2022/acorex-components-conversation-audio-composer.payload-DiMDlVl9.mjs +59 -0
  10. package/fesm2022/acorex-components-conversation-audio-composer.payload-DiMDlVl9.mjs.map +1 -0
  11. package/fesm2022/acorex-components-conversation-audio-picker.component-CqrKBDIF.mjs +432 -0
  12. package/fesm2022/acorex-components-conversation-audio-picker.component-CqrKBDIF.mjs.map +1 -0
  13. package/fesm2022/acorex-components-conversation-audio-renderer.component-CO8owVrA.mjs +177 -0
  14. package/fesm2022/acorex-components-conversation-audio-renderer.component-CO8owVrA.mjs.map +1 -0
  15. package/fesm2022/acorex-components-conversation-audio.payload-CLnYjmYY.mjs +54 -0
  16. package/fesm2022/acorex-components-conversation-audio.payload-CLnYjmYY.mjs.map +1 -0
  17. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-CYutyq7i.mjs +101 -0
  18. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-CYutyq7i.mjs.map +1 -0
  19. package/fesm2022/acorex-components-conversation-conversation-audio.file-type-D-hIBwQ2.mjs +100 -0
  20. package/fesm2022/acorex-components-conversation-conversation-audio.file-type-D-hIBwQ2.mjs.map +1 -0
  21. package/fesm2022/acorex-components-conversation-conversation-file.file-type-DQUy3C64.mjs +121 -0
  22. package/fesm2022/acorex-components-conversation-conversation-file.file-type-DQUy3C64.mjs.map +1 -0
  23. package/fesm2022/acorex-components-conversation-conversation-image.file-type-Bd_SkwR0.mjs +84 -0
  24. package/fesm2022/acorex-components-conversation-conversation-image.file-type-Bd_SkwR0.mjs.map +1 -0
  25. package/fesm2022/acorex-components-conversation-conversation-info-media-view.component-BalIIAFB.mjs +238 -0
  26. package/fesm2022/acorex-components-conversation-conversation-info-media-view.component-BalIIAFB.mjs.map +1 -0
  27. package/fesm2022/acorex-components-conversation-conversation-info-panel.component-BJMo9bDd.mjs +1080 -0
  28. package/fesm2022/acorex-components-conversation-conversation-info-panel.component-BJMo9bDd.mjs.map +1 -0
  29. package/fesm2022/acorex-components-conversation-conversation-video.file-type-DyK0bLE5.mjs +102 -0
  30. package/fesm2022/acorex-components-conversation-conversation-video.file-type-DyK0bLE5.mjs.map +1 -0
  31. package/fesm2022/acorex-components-conversation-conversation-voice.file-type-v3rFWDv6.mjs +90 -0
  32. package/fesm2022/acorex-components-conversation-conversation-voice.file-type-v3rFWDv6.mjs.map +1 -0
  33. package/fesm2022/acorex-components-conversation-emoji-categories-C7Gm95V0.mjs +1840 -0
  34. package/fesm2022/acorex-components-conversation-emoji-categories-C7Gm95V0.mjs.map +1 -0
  35. package/fesm2022/acorex-components-conversation-fallback-renderer.component-DOQkZWwP.mjs +44 -0
  36. package/fesm2022/acorex-components-conversation-fallback-renderer.component-DOQkZWwP.mjs.map +1 -0
  37. package/fesm2022/acorex-components-conversation-file-composer.payload-azPSH99m.mjs +64 -0
  38. package/fesm2022/acorex-components-conversation-file-composer.payload-azPSH99m.mjs.map +1 -0
  39. package/fesm2022/acorex-components-conversation-file-picker.component-cmUkgSF3.mjs +468 -0
  40. package/fesm2022/acorex-components-conversation-file-picker.component-cmUkgSF3.mjs.map +1 -0
  41. package/fesm2022/acorex-components-conversation-file-renderer.component-CpUgRTR4.mjs +125 -0
  42. package/fesm2022/acorex-components-conversation-file-renderer.component-CpUgRTR4.mjs.map +1 -0
  43. package/fesm2022/acorex-components-conversation-file.payload-DXwzNWxT.mjs +50 -0
  44. package/fesm2022/acorex-components-conversation-file.payload-DXwzNWxT.mjs.map +1 -0
  45. package/fesm2022/acorex-components-conversation-format-media-DUD4vA6F.mjs +21 -0
  46. package/fesm2022/acorex-components-conversation-format-media-DUD4vA6F.mjs.map +1 -0
  47. package/fesm2022/acorex-components-conversation-image-attachment.component-BZto5LFo.mjs +77 -0
  48. package/fesm2022/acorex-components-conversation-image-attachment.component-BZto5LFo.mjs.map +1 -0
  49. package/fesm2022/acorex-components-conversation-image-picker.component-G9EEOyDg.mjs +407 -0
  50. package/fesm2022/acorex-components-conversation-image-picker.component-G9EEOyDg.mjs.map +1 -0
  51. package/fesm2022/acorex-components-conversation-image-renderer.component-Bwa6rG6C.mjs +83 -0
  52. package/fesm2022/acorex-components-conversation-image-renderer.component-Bwa6rG6C.mjs.map +1 -0
  53. package/fesm2022/acorex-components-conversation-index-BbrYsQ84.mjs +180 -0
  54. package/fesm2022/acorex-components-conversation-index-BbrYsQ84.mjs.map +1 -0
  55. package/fesm2022/acorex-components-conversation-index-DtGEWeKN.mjs +266 -0
  56. package/fesm2022/acorex-components-conversation-index-DtGEWeKN.mjs.map +1 -0
  57. package/fesm2022/acorex-components-conversation-location-picker.component-Cx993j_c.mjs +149 -0
  58. package/fesm2022/acorex-components-conversation-location-picker.component-Cx993j_c.mjs.map +1 -0
  59. package/fesm2022/acorex-components-conversation-location-renderer.component-BiynmAJw.mjs +118 -0
  60. package/fesm2022/acorex-components-conversation-location-renderer.component-BiynmAJw.mjs.map +1 -0
  61. package/fesm2022/acorex-components-conversation-media-formatters-DV3wEEno.mjs +17 -0
  62. package/fesm2022/acorex-components-conversation-media-formatters-DV3wEEno.mjs.map +1 -0
  63. package/fesm2022/acorex-components-conversation-media-playback-info-bar-banner.component-a7OSpfB1.mjs +140 -0
  64. package/fesm2022/acorex-components-conversation-media-playback-info-bar-banner.component-a7OSpfB1.mjs.map +1 -0
  65. package/fesm2022/acorex-components-conversation-message-renderer-copy-host.component-D_eAnM6v.mjs +33 -0
  66. package/fesm2022/acorex-components-conversation-message-renderer-copy-host.component-D_eAnM6v.mjs.map +1 -0
  67. package/fesm2022/acorex-components-conversation-message-renderer-state.component-DSnNoz1N.mjs +172 -0
  68. package/fesm2022/acorex-components-conversation-message-renderer-state.component-DSnNoz1N.mjs.map +1 -0
  69. package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-CbNyy2Ws.mjs +224 -0
  70. package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-CbNyy2Ws.mjs.map +1 -0
  71. package/fesm2022/acorex-components-conversation-pagination-demo-data-DRr9PXjJ.mjs +81 -0
  72. package/fesm2022/acorex-components-conversation-pagination-demo-data-DRr9PXjJ.mjs.map +1 -0
  73. package/fesm2022/acorex-components-conversation-picker-header.component-BhTzlufI.mjs +91 -0
  74. package/fesm2022/acorex-components-conversation-picker-header.component-BhTzlufI.mjs.map +1 -0
  75. package/fesm2022/acorex-components-conversation-picker-toolbar.component-CpyS0j6P.mjs +537 -0
  76. package/fesm2022/acorex-components-conversation-picker-toolbar.component-CpyS0j6P.mjs.map +1 -0
  77. package/fesm2022/acorex-components-conversation-picker-upload-C-PlKPaU.mjs +163 -0
  78. package/fesm2022/acorex-components-conversation-picker-upload-C-PlKPaU.mjs.map +1 -0
  79. package/fesm2022/acorex-components-conversation-playback-banner-sync-BMsx6Fuy.mjs +68 -0
  80. package/fesm2022/acorex-components-conversation-playback-banner-sync-BMsx6Fuy.mjs.map +1 -0
  81. package/fesm2022/acorex-components-conversation-renderer-shared.styles-Digah3Zn.mjs +95 -0
  82. package/fesm2022/acorex-components-conversation-renderer-shared.styles-Digah3Zn.mjs.map +1 -0
  83. package/fesm2022/acorex-components-conversation-search.component-96NI2ERG.mjs +187 -0
  84. package/fesm2022/acorex-components-conversation-search.component-96NI2ERG.mjs.map +1 -0
  85. package/fesm2022/acorex-components-conversation-send-message-media--Rbrne7k.mjs +170 -0
  86. package/fesm2022/acorex-components-conversation-send-message-media--Rbrne7k.mjs.map +1 -0
  87. package/fesm2022/acorex-components-conversation-shared-storage.seed-zFjNXfKF.mjs +750 -0
  88. package/fesm2022/acorex-components-conversation-shared-storage.seed-zFjNXfKF.mjs.map +1 -0
  89. package/fesm2022/acorex-components-conversation-sticker-renderer.component-BZgx_Ylk.mjs +103 -0
  90. package/fesm2022/acorex-components-conversation-sticker-renderer.component-BZgx_Ylk.mjs.map +1 -0
  91. package/fesm2022/acorex-components-conversation-system-renderer.component-D1Aj-LuF.mjs +55 -0
  92. package/fesm2022/acorex-components-conversation-system-renderer.component-D1Aj-LuF.mjs.map +1 -0
  93. package/fesm2022/acorex-components-conversation-text-renderer.component-Cxvwjr2p.mjs +109 -0
  94. package/fesm2022/acorex-components-conversation-text-renderer.component-Cxvwjr2p.mjs.map +1 -0
  95. package/fesm2022/acorex-components-conversation-video-attachment.component-DBY_4Ri2.mjs +105 -0
  96. package/fesm2022/acorex-components-conversation-video-attachment.component-DBY_4Ri2.mjs.map +1 -0
  97. package/fesm2022/acorex-components-conversation-video-composer.payload-CWGxsPg5.mjs +62 -0
  98. package/fesm2022/acorex-components-conversation-video-composer.payload-CWGxsPg5.mjs.map +1 -0
  99. package/fesm2022/acorex-components-conversation-video-picker.component-D1JYwEm_.mjs +446 -0
  100. package/fesm2022/acorex-components-conversation-video-picker.component-D1JYwEm_.mjs.map +1 -0
  101. package/fesm2022/acorex-components-conversation-video-renderer.component-iwf2bU29.mjs +181 -0
  102. package/fesm2022/acorex-components-conversation-video-renderer.component-iwf2bU29.mjs.map +1 -0
  103. package/fesm2022/acorex-components-conversation-video.payload-DfBEjqQ4.mjs +54 -0
  104. package/fesm2022/acorex-components-conversation-video.payload-DfBEjqQ4.mjs.map +1 -0
  105. package/fesm2022/acorex-components-conversation-voice-composer.payload-DLVow7ex.mjs +17 -0
  106. package/fesm2022/acorex-components-conversation-voice-composer.payload-DLVow7ex.mjs.map +1 -0
  107. package/fesm2022/acorex-components-conversation-voice-recorder.component-P8J_5OH0.mjs +328 -0
  108. package/fesm2022/acorex-components-conversation-voice-recorder.component-P8J_5OH0.mjs.map +1 -0
  109. package/fesm2022/acorex-components-conversation-voice-renderer.component-CZpEqbXL.mjs +270 -0
  110. package/fesm2022/acorex-components-conversation-voice-renderer.component-CZpEqbXL.mjs.map +1 -0
  111. package/fesm2022/acorex-components-conversation.mjs +1 -1402
  112. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  113. package/fesm2022/acorex-components-data-table.mjs +2 -2
  114. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  115. package/fesm2022/acorex-components-rest-api-generator.mjs +2 -2
  116. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  117. package/fesm2022/acorex-components-scheduler-picker.mjs +22 -14
  118. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  119. package/fesm2022/acorex-components-step-wizard.mjs +2 -2
  120. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  121. package/fesm2022/acorex-components-tree-view-legacy.mjs +2 -2
  122. package/fesm2022/acorex-components-tree-view-legacy.mjs.map +1 -1
  123. package/package.json +35 -39
  124. package/scheduler-picker/index.d.ts +2 -0
  125. package/conversation2/README.md +0 -463
  126. package/conversation2/index.d.ts +0 -6410
  127. package/fesm2022/acorex-components-conversation2.mjs +0 -22331
  128. package/fesm2022/acorex-components-conversation2.mjs.map +0 -1
@@ -0,0 +1,109 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, SecurityContext, Injectable, signal, input, computed, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import { m as AXConversationInfoBarService } from './acorex-components-conversation-acorex-components-conversation-CjVDCoJw.mjs';
4
+ import { A as AXConversationMessageRendererCopyHostComponent } from './acorex-components-conversation-message-renderer-copy-host.component-D_eAnM6v.mjs';
5
+ import { DomSanitizer } from '@angular/platform-browser';
6
+ import { A as AXConversationMessageRendererStateComponent } from './acorex-components-conversation-message-renderer-state.component-DSnNoz1N.mjs';
7
+
8
+ /**
9
+ * Sanitizer Utility Service
10
+ * Centralized DOM sanitization helpers for user-generated content
11
+ */
12
+ class AXConversationSanitizerService {
13
+ constructor() {
14
+ this.dom = inject(DomSanitizer);
15
+ }
16
+ /** Sanitize HTML string, returns empty string when unsafe */
17
+ sanitizeHtml(html) {
18
+ return this.dom.sanitize(SecurityContext.HTML, html) || '';
19
+ }
20
+ /** Sanitize and return SafeHtml for bindings expecting SafeHtml */
21
+ safeHtml(html) {
22
+ // We first sanitize to strip dangerous content, then bypass to mark as safe
23
+ const sanitized = this.sanitizeHtml(html);
24
+ return this.dom.bypassSecurityTrustHtml(sanitized);
25
+ }
26
+ /** Escape plain text into safe HTML text */
27
+ escapeHtml(text) {
28
+ return this.dom.sanitize(SecurityContext.HTML, text) || '';
29
+ }
30
+ /** Sanitize URL for href/src usage; returns null if unsafe */
31
+ sanitizeUrl(url) {
32
+ return this.dom.sanitize(SecurityContext.URL, url);
33
+ }
34
+ /** Sanitize and return SafeUrl for bindings expecting SafeUrl */
35
+ safeUrl(url) {
36
+ const clean = this.sanitizeUrl(url) || '';
37
+ return this.dom.bypassSecurityTrustUrl(clean);
38
+ }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationSanitizerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
40
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationSanitizerService, providedIn: 'root' }); }
41
+ }
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationSanitizerService, decorators: [{
43
+ type: Injectable,
44
+ args: [{ providedIn: 'root' }]
45
+ }] });
46
+
47
+ class AXConversationTextRendererComponent extends AXConversationMessageRendererCopyHostComponent {
48
+ constructor() {
49
+ super(...arguments);
50
+ this.infoBarService = inject(AXConversationInfoBarService);
51
+ this.sanitizer = inject(AXConversationSanitizerService);
52
+ this._contentState = signal('none', ...(ngDevMode ? [{ debugName: "_contentState" }] : []));
53
+ this.message = input.required(...(ngDevMode ? [{ debugName: "message" }] : []));
54
+ this.rendererState = computed(() => ({
55
+ deliveryStatus: this.message().status,
56
+ contentState: this._contentState(),
57
+ }), ...(ngDevMode ? [{ debugName: "rendererState" }] : []));
58
+ this.searchQuery = this.infoBarService.searchQuery;
59
+ this.formattedText = computed(() => {
60
+ const msg = this.message();
61
+ const payload = msg.payload;
62
+ const text = payload.text ?? '';
63
+ const query = this.searchQuery();
64
+ let escaped = this.sanitizer.escapeHtml(text);
65
+ if (query?.trim()) {
66
+ escaped = this.highlightSearch(escaped, query);
67
+ }
68
+ return this.sanitizer.safeHtml(this.linkify(escaped));
69
+ }, ...(ngDevMode ? [{ debugName: "formattedText" }] : []));
70
+ }
71
+ copy() {
72
+ return this.message().payload.text?.trim() ?? '';
73
+ }
74
+ linkify(text) {
75
+ const urlRegex = /(https?:\/\/[^\s]+)/g;
76
+ return text.replace(urlRegex, (url) => {
77
+ const safeUrl = this.sanitizer.sanitizeUrl(url) || '#';
78
+ return `<a href="${safeUrl}" target="_blank" rel="noopener noreferrer">${url}</a>`;
79
+ });
80
+ }
81
+ highlightSearch(text, query) {
82
+ const trimmed = query.trim();
83
+ if (!trimmed) {
84
+ return text;
85
+ }
86
+ const escapedQuery = trimmed.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
87
+ const regex = new RegExp(`(${escapedQuery})`, 'gi');
88
+ return text.replace(regex, '<mark>$1</mark>');
89
+ }
90
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationTextRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
91
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.3", type: AXConversationTextRendererComponent, isStandalone: true, selector: "ax-conversation-text-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
92
+ <div class="ax-conversation-text">
93
+ <ax-conversation-message-renderer-state [rendererState]="rendererState()" [message]="message()" />
94
+ <div class="ax-conversation-text__body" [innerHTML]="formattedText()"></div>
95
+ </div>
96
+ `, isInline: true, styles: [":host{display:block}.ax-conversation-text__body{word-break:break-word;overflow-wrap:break-word;text-wrap:pretty;white-space:pre-wrap;line-height:1.5;font-size:.875rem;letter-spacing:.01em}.ax-conversation-text__body ::ng-deep a{color:rgb(var(--ax-sys-color-primary-600));text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}@media (hover: hover){.ax-conversation-text__body ::ng-deep a:hover{color:rgb(var(--ax-sys-color-primary-700));text-decoration-thickness:2px}}.ax-conversation-text__body ::ng-deep mark{background:rgb(var(--ax-sys-color-warning-lightest-surface));padding:.0625rem .3125rem;border-radius:var(--ax-sys-border-radius);font-weight:500;box-shadow:0 0 0 1px rgba(var(--ax-sys-color-warning-500),.2)}\n"], dependencies: [{ kind: "component", type: AXConversationMessageRendererStateComponent, selector: "ax-conversation-message-renderer-state", inputs: ["rendererState", "message", "contentErrorLabel", "deliveryFailedLabel", "showContentErrorChrome", "contentErrorStyle", "contentErrorIconClass", "placement", "contentRetryEnabled"], outputs: ["contentRetry"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
97
+ }
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationTextRendererComponent, decorators: [{
99
+ type: Component,
100
+ args: [{ selector: 'ax-conversation-text-renderer', imports: [AXConversationMessageRendererStateComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
101
+ <div class="ax-conversation-text">
102
+ <ax-conversation-message-renderer-state [rendererState]="rendererState()" [message]="message()" />
103
+ <div class="ax-conversation-text__body" [innerHTML]="formattedText()"></div>
104
+ </div>
105
+ `, styles: [":host{display:block}.ax-conversation-text__body{word-break:break-word;overflow-wrap:break-word;text-wrap:pretty;white-space:pre-wrap;line-height:1.5;font-size:.875rem;letter-spacing:.01em}.ax-conversation-text__body ::ng-deep a{color:rgb(var(--ax-sys-color-primary-600));text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}@media (hover: hover){.ax-conversation-text__body ::ng-deep a:hover{color:rgb(var(--ax-sys-color-primary-700));text-decoration-thickness:2px}}.ax-conversation-text__body ::ng-deep mark{background:rgb(var(--ax-sys-color-warning-lightest-surface));padding:.0625rem .3125rem;border-radius:var(--ax-sys-border-radius);font-weight:500;box-shadow:0 0 0 1px rgba(var(--ax-sys-color-warning-500),.2)}\n"] }]
106
+ }] });
107
+
108
+ export { AXConversationTextRendererComponent };
109
+ //# sourceMappingURL=acorex-components-conversation-text-renderer.component-Cxvwjr2p.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-components-conversation-text-renderer.component-Cxvwjr2p.mjs","sources":["../tmp-esm2022/conversation/lib/utils/sanitizer.service.js","../tmp-esm2022/conversation/lib/plugins/message-list/components/text-renderer/text-renderer.component.js"],"sourcesContent":["/**\n * Sanitizer Utility Service\n * Centralized DOM sanitization helpers for user-generated content\n */\nimport { Injectable, SecurityContext, inject } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport * as i0 from \"@angular/core\";\nexport class AXConversationSanitizerService {\n constructor() {\n this.dom = inject(DomSanitizer);\n }\n /** Sanitize HTML string, returns empty string when unsafe */\n sanitizeHtml(html) {\n return this.dom.sanitize(SecurityContext.HTML, html) || '';\n }\n /** Sanitize and return SafeHtml for bindings expecting SafeHtml */\n safeHtml(html) {\n // We first sanitize to strip dangerous content, then bypass to mark as safe\n const sanitized = this.sanitizeHtml(html);\n return this.dom.bypassSecurityTrustHtml(sanitized);\n }\n /** Escape plain text into safe HTML text */\n escapeHtml(text) {\n return this.dom.sanitize(SecurityContext.HTML, text) || '';\n }\n /** Sanitize URL for href/src usage; returns null if unsafe */\n sanitizeUrl(url) {\n return this.dom.sanitize(SecurityContext.URL, url);\n }\n /** Sanitize and return SafeUrl for bindings expecting SafeUrl */\n safeUrl(url) {\n const clean = this.sanitizeUrl(url) || '';\n return this.dom.bypassSecurityTrustUrl(clean);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXConversationSanitizerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXConversationSanitizerService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXConversationSanitizerService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FuaXRpemVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvbnZlcnNhdGlvbi9zcmMvbGliL3V0aWxzL3Nhbml0aXplci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDJCQUEyQixDQUFDOztBQUc1RSxNQUFNLE9BQU8sOEJBQThCO0lBRDNDO1FBRW1CLFFBQUcsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7S0E2QjdDO0lBM0JDLDZEQUE2RDtJQUM3RCxZQUFZLENBQUMsSUFBWTtRQUN2QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdELENBQUM7SUFFRCxtRUFBbUU7SUFDbkUsUUFBUSxDQUFDLElBQVk7UUFDbkIsNEVBQTRFO1FBQzVFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCw0Q0FBNEM7SUFDNUMsVUFBVSxDQUFDLElBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0lBRUQsOERBQThEO0lBQzlELFdBQVcsQ0FBQyxHQUFXO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsaUVBQWlFO0lBQ2pFLE9BQU8sQ0FBQyxHQUFXO1FBQ2pCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDOzhHQTdCVSw4QkFBOEI7a0hBQTlCLDhCQUE4QixjQURqQixNQUFNOzsyRkFDbkIsOEJBQThCO2tCQUQxQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU2FuaXRpemVyIFV0aWxpdHkgU2VydmljZVxuICogQ2VudHJhbGl6ZWQgRE9NIHNhbml0aXphdGlvbiBoZWxwZXJzIGZvciB1c2VyLWdlbmVyYXRlZCBjb250ZW50XG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgU2VjdXJpdHlDb250ZXh0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwsIFNhZmVVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBWENvbnZlcnNhdGlvblNhbml0aXplclNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGRvbSA9IGluamVjdChEb21TYW5pdGl6ZXIpO1xuXG4gIC8qKiBTYW5pdGl6ZSBIVE1MIHN0cmluZywgcmV0dXJucyBlbXB0eSBzdHJpbmcgd2hlbiB1bnNhZmUgKi9cbiAgc2FuaXRpemVIdG1sKGh0bWw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZG9tLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5IVE1MLCBodG1sKSB8fCAnJztcbiAgfVxuXG4gIC8qKiBTYW5pdGl6ZSBhbmQgcmV0dXJuIFNhZmVIdG1sIGZvciBiaW5kaW5ncyBleHBlY3RpbmcgU2FmZUh0bWwgKi9cbiAgc2FmZUh0bWwoaHRtbDogc3RyaW5nKTogU2FmZUh0bWwge1xuICAgIC8vIFdlIGZpcnN0IHNhbml0aXplIHRvIHN0cmlwIGRhbmdlcm91cyBjb250ZW50LCB0aGVuIGJ5cGFzcyB0byBtYXJrIGFzIHNhZmVcbiAgICBjb25zdCBzYW5pdGl6ZWQgPSB0aGlzLnNhbml0aXplSHRtbChodG1sKTtcbiAgICByZXR1cm4gdGhpcy5kb20uYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoc2FuaXRpemVkKTtcbiAgfVxuXG4gIC8qKiBFc2NhcGUgcGxhaW4gdGV4dCBpbnRvIHNhZmUgSFRNTCB0ZXh0ICovXG4gIGVzY2FwZUh0bWwodGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kb20uc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LkhUTUwsIHRleHQpIHx8ICcnO1xuICB9XG5cbiAgLyoqIFNhbml0aXplIFVSTCBmb3IgaHJlZi9zcmMgdXNhZ2U7IHJldHVybnMgbnVsbCBpZiB1bnNhZmUgKi9cbiAgc2FuaXRpemVVcmwodXJsOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5kb20uc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LlVSTCwgdXJsKTtcbiAgfVxuXG4gIC8qKiBTYW5pdGl6ZSBhbmQgcmV0dXJuIFNhZmVVcmwgZm9yIGJpbmRpbmdzIGV4cGVjdGluZyBTYWZlVXJsICovXG4gIHNhZmVVcmwodXJsOiBzdHJpbmcpOiBTYWZlVXJsIHtcbiAgICBjb25zdCBjbGVhbiA9IHRoaXMuc2FuaXRpemVVcmwodXJsKSB8fCAnJztcbiAgICByZXR1cm4gdGhpcy5kb20uYnlwYXNzU2VjdXJpdHlUcnVzdFVybChjbGVhbik7XG4gIH1cbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, computed, inject, input, signal } from '@angular/core';\nimport { AXConversationInfoBarService } from '../../../../components';\nimport { AXConversationMessageRendererCopyHostComponent } from '../shared/message-renderer-copy-host.component';\nimport { AXConversationSanitizerService } from '../../../../utils/sanitizer.service';\nimport { AXConversationMessageRendererStateComponent } from '../shared/message-renderer-state.component';\nimport * as i0 from \"@angular/core\";\nexport class AXConversationTextRendererComponent extends AXConversationMessageRendererCopyHostComponent {\n constructor() {\n super(...arguments);\n this.infoBarService = inject(AXConversationInfoBarService);\n this.sanitizer = inject(AXConversationSanitizerService);\n this._contentState = signal('none', ...(ngDevMode ? [{ debugName: \"_contentState\" }] : []));\n this.message = input.required(...(ngDevMode ? [{ debugName: \"message\" }] : []));\n this.rendererState = computed(() => ({\n deliveryStatus: this.message().status,\n contentState: this._contentState(),\n }), ...(ngDevMode ? [{ debugName: \"rendererState\" }] : []));\n this.searchQuery = this.infoBarService.searchQuery;\n this.formattedText = computed(() => {\n const msg = this.message();\n const payload = msg.payload;\n const text = payload.text ?? '';\n const query = this.searchQuery();\n let escaped = this.sanitizer.escapeHtml(text);\n if (query?.trim()) {\n escaped = this.highlightSearch(escaped, query);\n }\n return this.sanitizer.safeHtml(this.linkify(escaped));\n }, ...(ngDevMode ? [{ debugName: \"formattedText\" }] : []));\n }\n copy() {\n return this.message().payload.text?.trim() ?? '';\n }\n linkify(text) {\n const urlRegex = /(https?:\\/\\/[^\\s]+)/g;\n return text.replace(urlRegex, (url) => {\n const safeUrl = this.sanitizer.sanitizeUrl(url) || '#';\n return `<a href=\"${safeUrl}\" target=\"_blank\" rel=\"noopener noreferrer\">${url}</a>`;\n });\n }\n highlightSearch(text, query) {\n const trimmed = query.trim();\n if (!trimmed) {\n return text;\n }\n const escapedQuery = trimmed.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n const regex = new RegExp(`(${escapedQuery})`, 'gi');\n return text.replace(regex, '<mark>$1</mark>');\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXConversationTextRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.3.3\", type: AXConversationTextRendererComponent, isStandalone: true, selector: \"ax-conversation-text-renderer\", inputs: { message: { classPropertyName: \"message\", publicName: \"message\", isSignal: true, isRequired: true, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `\n <div class=\"ax-conversation-text\">\n <ax-conversation-message-renderer-state [rendererState]=\"rendererState()\" [message]=\"message()\" />\n <div class=\"ax-conversation-text__body\" [innerHTML]=\"formattedText()\"></div>\n </div>\n `, isInline: true, styles: [\":host{display:block}.ax-conversation-text__body{word-break:break-word;overflow-wrap:break-word;text-wrap:pretty;white-space:pre-wrap;line-height:1.5;font-size:.875rem;letter-spacing:.01em}.ax-conversation-text__body ::ng-deep a{color:rgb(var(--ax-sys-color-primary-600));text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}@media (hover: hover){.ax-conversation-text__body ::ng-deep a:hover{color:rgb(var(--ax-sys-color-primary-700));text-decoration-thickness:2px}}.ax-conversation-text__body ::ng-deep mark{background:rgb(var(--ax-sys-color-warning-lightest-surface));padding:.0625rem .3125rem;border-radius:var(--ax-sys-border-radius);font-weight:500;box-shadow:0 0 0 1px rgba(var(--ax-sys-color-warning-500),.2)}\\n\"], dependencies: [{ kind: \"component\", type: AXConversationMessageRendererStateComponent, selector: \"ax-conversation-message-renderer-state\", inputs: [\"rendererState\", \"message\", \"contentErrorLabel\", \"deliveryFailedLabel\", \"showContentErrorChrome\", \"contentErrorStyle\", \"contentErrorIconClass\", \"placement\", \"contentRetryEnabled\"], outputs: [\"contentRetry\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXConversationTextRendererComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-conversation-text-renderer', imports: [AXConversationMessageRendererStateComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `\n <div class=\"ax-conversation-text\">\n <ax-conversation-message-renderer-state [rendererState]=\"rendererState()\" [message]=\"message()\" />\n <div class=\"ax-conversation-text__body\" [innerHTML]=\"formattedText()\"></div>\n </div>\n `, styles: [\":host{display:block}.ax-conversation-text__body{word-break:break-word;overflow-wrap:break-word;text-wrap:pretty;white-space:pre-wrap;line-height:1.5;font-size:.875rem;letter-spacing:.01em}.ax-conversation-text__body ::ng-deep a{color:rgb(var(--ax-sys-color-primary-600));text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}@media (hover: hover){.ax-conversation-text__body ::ng-deep a:hover{color:rgb(var(--ax-sys-color-primary-700));text-decoration-thickness:2px}}.ax-conversation-text__body ::ng-deep mark{background:rgb(var(--ax-sys-color-warning-lightest-surface));padding:.0625rem .3125rem;border-radius:var(--ax-sys-border-radius);font-weight:500;box-shadow:0 0 0 1px rgba(var(--ax-sys-color-warning-500),.2)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvbnZlcnNhdGlvbi9zcmMvbGliL3BsdWdpbnMvbWVzc2FnZS1saXN0L2NvbXBvbmVudHMvdGV4dC1yZW5kZXJlci90ZXh0LXJlbmRlcmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUd0RSxPQUFPLEVBQUUsOENBQThDLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNoSCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRixPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7QUFvRHpHLE1BQU0sT0FBTyxtQ0FBb0MsU0FBUSw4Q0FBOEM7SUFsRHZHOztRQW1EbUIsbUJBQWMsR0FBRyxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUN0RCxjQUFTLEdBQUcsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFFbkQsa0JBQWEsR0FBRyxNQUFNLENBQTRDLE1BQU0seURBQUMsQ0FBQztRQUVsRixZQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsa0RBQXlCLENBQUM7UUFDbEQsa0JBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUN2QyxjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU07WUFDckMsWUFBWSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUU7U0FDbkMsQ0FBQyx5REFBQyxDQUFDO1FBQ0ssZ0JBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQztRQU05QyxrQkFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFhLEVBQUU7WUFDL0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzNCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFvQyxDQUFDO1lBQ3pELE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QyxJQUFJLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO2dCQUNsQixPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDakQsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3hELENBQUMseURBQUMsQ0FBQztLQW1CSjtJQWpDQyxJQUFJO1FBQ0YsT0FBUSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBcUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ2xGLENBQUM7SUFjTyxPQUFPLENBQUMsSUFBWTtRQUMxQixNQUFNLFFBQVEsR0FBRyxzQkFBc0IsQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDcEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDO1lBQ3ZELE9BQU8sWUFBWSxPQUFPLCtDQUErQyxHQUFHLE1BQU0sQ0FBQztRQUNyRixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxlQUFlLENBQUMsSUFBWSxFQUFFLEtBQWE7UUFDakQsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDcEUsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxZQUFZLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDaEQsQ0FBQzs4R0E3Q1UsbUNBQW1DO2tHQUFuQyxtQ0FBbUMseVBBOUNwQzs7Ozs7R0FLVCxxekJBUFMsMkNBQTJDOzsyRkFnRDFDLG1DQUFtQztrQkFsRC9DLFNBQVM7K0JBQ0UsK0JBQStCLFdBQ2hDLENBQUMsMkNBQTJDLENBQUMsbUJBQ3JDLHVCQUF1QixDQUFDLE1BQU0sWUFDckM7Ozs7O0dBS1QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5qZWN0LCBpbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQVhDb252ZXJzYXRpb25JbmZvQmFyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBBWENvbnZlcnNhdGlvbk1lc3NhZ2UsIEFYQ29udmVyc2F0aW9uVGV4dFBheWxvYWQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHR5cGUgeyBBWENvbnZlcnNhdGlvbk1lc3NhZ2VSZW5kZXJlckNvbnRlbnRTdGF0ZSB9IGZyb20gJy4uLy4uLy4uLy4uL3JlZ2lzdHJpZXMvbWVzc2FnZS1yZW5kZXJlci5yZWdpc3RyeSc7XG5pbXBvcnQgeyBBWENvbnZlcnNhdGlvbk1lc3NhZ2VSZW5kZXJlckNvcHlIb3N0Q29tcG9uZW50IH0gZnJvbSAnLi4vc2hhcmVkL21lc3NhZ2UtcmVuZGVyZXItY29weS1ob3N0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWENvbnZlcnNhdGlvblNhbml0aXplclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscy9zYW5pdGl6ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBWENvbnZlcnNhdGlvbk1lc3NhZ2VSZW5kZXJlclN0YXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vc2hhcmVkL21lc3NhZ2UtcmVuZGVyZXItc3RhdGUuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtY29udmVyc2F0aW9uLXRleHQtcmVuZGVyZXInLFxuICBpbXBvcnRzOiBbQVhDb252ZXJzYXRpb25NZXNzYWdlUmVuZGVyZXJTdGF0ZUNvbXBvbmVudF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJheC1jb252ZXJzYXRpb24tdGV4dFwiPlxuICAgICAgPGF4LWNvbnZlcnNhdGlvbi1tZXNzYWdlLXJlbmRlcmVyLXN0YXRlIFtyZW5kZXJlclN0YXRlXT1cInJlbmRlcmVyU3RhdGUoKVwiIFttZXNzYWdlXT1cIm1lc3NhZ2UoKVwiIC8+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtY29udmVyc2F0aW9uLXRleHRfX2JvZHlcIiBbaW5uZXJIVE1MXT1cImZvcm1hdHRlZFRleHQoKVwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAuYXgtY29udmVyc2F0aW9uLXRleHRfX2JvZHkge1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgICAgICB0ZXh0LXdyYXA6IHByZXR0eTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xuICAgICAgfVxuXG4gICAgICAuYXgtY29udmVyc2F0aW9uLXRleHRfX2JvZHkgOjpuZy1kZWVwIGEge1xuICAgICAgICBjb2xvcjogcmdiKHZhcigtLWF4LXN5cy1jb2xvci1wcmltYXJ5LTYwMCkpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMXB4O1xuICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgLmF4LWNvbnZlcnNhdGlvbi10ZXh0X19ib2R5IDo6bmctZGVlcCBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogcmdiKHZhcigtLWF4LXN5cy1jb2xvci1wcmltYXJ5LTcwMCkpO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDJweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYXgtY29udmVyc2F0aW9uLXRleHRfX2JvZHkgOjpuZy1kZWVwIG1hcmsge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2IodmFyKC0tYXgtc3lzLWNvbG9yLXdhcm5pbmctbGlnaHRlc3Qtc3VyZmFjZSkpO1xuICAgICAgICBwYWRkaW5nOiAwLjA2MjVyZW0gMC4zMTI1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1heC1zeXMtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKHZhcigtLWF4LXN5cy1jb2xvci13YXJuaW5nLTUwMCksIDAuMik7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhDb252ZXJzYXRpb25UZXh0UmVuZGVyZXJDb21wb25lbnQgZXh0ZW5kcyBBWENvbnZlcnNhdGlvbk1lc3NhZ2VSZW5kZXJlckNvcHlIb3N0Q29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBpbmZvQmFyU2VydmljZSA9IGluamVjdChBWENvbnZlcnNhdGlvbkluZm9CYXJTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBzYW5pdGl6ZXIgPSBpbmplY3QoQVhDb252ZXJzYXRpb25TYW5pdGl6ZXJTZXJ2aWNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb250ZW50U3RhdGUgPSBzaWduYWw8QVhDb252ZXJzYXRpb25NZXNzYWdlUmVuZGVyZXJDb250ZW50U3RhdGU+KCdub25lJyk7XG5cbiAgcmVhZG9ubHkgbWVzc2FnZSA9IGlucHV0LnJlcXVpcmVkPEFYQ29udmVyc2F0aW9uTWVzc2FnZT4oKTtcbiAgcmVhZG9ubHkgcmVuZGVyZXJTdGF0ZSA9IGNvbXB1dGVkKCgpID0+ICh7XG4gICAgZGVsaXZlcnlTdGF0dXM6IHRoaXMubWVzc2FnZSgpLnN0YXR1cyxcbiAgICBjb250ZW50U3RhdGU6IHRoaXMuX2NvbnRlbnRTdGF0ZSgpLFxuICB9KSk7XG4gIHJlYWRvbmx5IHNlYXJjaFF1ZXJ5ID0gdGhpcy5pbmZvQmFyU2VydmljZS5zZWFyY2hRdWVyeTtcblxuICBjb3B5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLm1lc3NhZ2UoKS5wYXlsb2FkIGFzIEFYQ29udmVyc2F0aW9uVGV4dFBheWxvYWQpLnRleHQ/LnRyaW0oKSA/PyAnJztcbiAgfVxuXG4gIHJlYWRvbmx5IGZvcm1hdHRlZFRleHQgPSBjb21wdXRlZCgoKTogU2FmZUh0bWwgPT4ge1xuICAgIGNvbnN0IG1zZyA9IHRoaXMubWVzc2FnZSgpO1xuICAgIGNvbnN0IHBheWxvYWQgPSBtc2cucGF5bG9hZCBhcyBBWENvbnZlcnNhdGlvblRleHRQYXlsb2FkO1xuICAgIGNvbnN0IHRleHQgPSBwYXlsb2FkLnRleHQgPz8gJyc7XG4gICAgY29uc3QgcXVlcnkgPSB0aGlzLnNlYXJjaFF1ZXJ5KCk7XG4gICAgbGV0IGVzY2FwZWQgPSB0aGlzLnNhbml0aXplci5lc2NhcGVIdG1sKHRleHQpO1xuICAgIGlmIChxdWVyeT8udHJpbSgpKSB7XG4gICAgICBlc2NhcGVkID0gdGhpcy5oaWdobGlnaHRTZWFyY2goZXNjYXBlZCwgcXVlcnkpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuc2FmZUh0bWwodGhpcy5saW5raWZ5KGVzY2FwZWQpKTtcbiAgfSk7XG5cbiAgcHJpdmF0ZSBsaW5raWZ5KHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgdXJsUmVnZXggPSAvKGh0dHBzPzpcXC9cXC9bXlxcc10rKS9nO1xuICAgIHJldHVybiB0ZXh0LnJlcGxhY2UodXJsUmVnZXgsICh1cmwpID0+IHtcbiAgICAgIGNvbnN0IHNhZmVVcmwgPSB0aGlzLnNhbml0aXplci5zYW5pdGl6ZVVybCh1cmwpIHx8ICcjJztcbiAgICAgIHJldHVybiBgPGEgaHJlZj1cIiR7c2FmZVVybH1cIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCI+JHt1cmx9PC9hPmA7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhpZ2hsaWdodFNlYXJjaCh0ZXh0OiBzdHJpbmcsIHF1ZXJ5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRyaW1tZWQgPSBxdWVyeS50cmltKCk7XG4gICAgaWYgKCF0cmltbWVkKSB7XG4gICAgICByZXR1cm4gdGV4dDtcbiAgICB9XG4gICAgY29uc3QgZXNjYXBlZFF1ZXJ5ID0gdHJpbW1lZC5yZXBsYWNlKC9bLiorP14ke30oKXxbXFxdXFxcXF0vZywgJ1xcXFwkJicpO1xuICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cChgKCR7ZXNjYXBlZFF1ZXJ5fSlgLCAnZ2knKTtcbiAgICByZXR1cm4gdGV4dC5yZXBsYWNlKHJlZ2V4LCAnPG1hcms+JDE8L21hcms+Jyk7XG4gIH1cbn1cbiJdfQ=="],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { input, output, viewChild, computed, ChangeDetectionStrategy, Component } from '@angular/core';
4
+ import { w as toUploaderReference, x as createResolvedMediaUrlSignal, y as pickDisplayMediaUrl } from './acorex-components-conversation-acorex-components-conversation-CjVDCoJw.mjs';
5
+ import { f as formatMediaDuration } from './acorex-components-conversation-format-media-DUD4vA6F.mjs';
6
+
7
+ class AXConversationVideoAttachmentComponent {
8
+ constructor() {
9
+ this.item = input.required(...(ngDevMode ? [{ debugName: "item" }] : []));
10
+ this.playingChange = output();
11
+ this.timeUpdate = output();
12
+ this.durationChange = output();
13
+ this.playbackEnded = output();
14
+ this.playbackError = output();
15
+ this.videoElementRef = viewChild('videoEl', ...(ngDevMode ? [{ debugName: "videoElementRef" }] : []));
16
+ this.playbackReference = computed(() => toUploaderReference(this.item()), ...(ngDevMode ? [{ debugName: "playbackReference" }] : []));
17
+ this.resolvedPlaybackUrl = createResolvedMediaUrlSignal(this.playbackReference);
18
+ this.playbackUrl = computed(() => pickDisplayMediaUrl(this.resolvedPlaybackUrl(), this.item().url, this.item().thumbnailUrl), ...(ngDevMode ? [{ debugName: "playbackUrl" }] : []));
19
+ this.duration = computed(() => this.item().duration ?? 0, ...(ngDevMode ? [{ debugName: "duration" }] : []));
20
+ this.durationLabel = computed(() => formatMediaDuration(this.duration()), ...(ngDevMode ? [{ debugName: "durationLabel" }] : []));
21
+ }
22
+ togglePlay() {
23
+ const el = this.videoElementRef()?.nativeElement;
24
+ if (!el) {
25
+ return;
26
+ }
27
+ if (el.paused) {
28
+ void el.play();
29
+ }
30
+ else {
31
+ el.pause();
32
+ }
33
+ }
34
+ pause() {
35
+ this.videoElementRef()?.nativeElement?.pause();
36
+ }
37
+ onLoadedMetadata() {
38
+ const el = this.videoElementRef()?.nativeElement;
39
+ if (el && Number.isFinite(el.duration)) {
40
+ this.durationChange.emit(el.duration);
41
+ }
42
+ }
43
+ onTimeUpdate() {
44
+ const el = this.videoElementRef()?.nativeElement;
45
+ if (el) {
46
+ this.timeUpdate.emit(el.currentTime);
47
+ }
48
+ }
49
+ onPlay() {
50
+ this.playingChange.emit(true);
51
+ }
52
+ onPause() {
53
+ this.playingChange.emit(false);
54
+ }
55
+ onEnded() {
56
+ this.playingChange.emit(false);
57
+ this.playbackEnded.emit();
58
+ }
59
+ onError() {
60
+ this.playbackError.emit();
61
+ }
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationVideoAttachmentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
63
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.3", type: AXConversationVideoAttachmentComponent, isStandalone: true, selector: "ax-conversation-video-attachment", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { playingChange: "playingChange", timeUpdate: "timeUpdate", durationChange: "durationChange", playbackEnded: "playbackEnded", playbackError: "playbackError" }, viewQueries: [{ propertyName: "videoElementRef", first: true, predicate: ["videoEl"], descendants: true, isSignal: true }], ngImport: i0, template: `
64
+ <div class="ax-conversation-video">
65
+ <video
66
+ #videoEl
67
+ class="ax-conversation-video__player"
68
+ [src]="playbackUrl() || null"
69
+ controls
70
+ playsinline
71
+ preload="metadata"
72
+ (loadedmetadata)="onLoadedMetadata()"
73
+ (timeupdate)="onTimeUpdate()"
74
+ (play)="onPlay()"
75
+ (pause)="onPause()"
76
+ (ended)="onEnded()"
77
+ (error)="onError()"
78
+ ></video>
79
+ </div>
80
+ `, isInline: true, styles: [":host{display:block}.ax-conversation-video{width:100%;border-radius:var(--ax-sys-border-radius, .5rem);overflow:hidden;background:rgb(var(--ax-sys-color-darker-surface))}.ax-conversation-video__player{width:100%;max-height:min(40dvh,14rem);display:block;vertical-align:middle}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
81
+ }
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationVideoAttachmentComponent, decorators: [{
83
+ type: Component,
84
+ args: [{ selector: 'ax-conversation-video-attachment', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
85
+ <div class="ax-conversation-video">
86
+ <video
87
+ #videoEl
88
+ class="ax-conversation-video__player"
89
+ [src]="playbackUrl() || null"
90
+ controls
91
+ playsinline
92
+ preload="metadata"
93
+ (loadedmetadata)="onLoadedMetadata()"
94
+ (timeupdate)="onTimeUpdate()"
95
+ (play)="onPlay()"
96
+ (pause)="onPause()"
97
+ (ended)="onEnded()"
98
+ (error)="onError()"
99
+ ></video>
100
+ </div>
101
+ `, styles: [":host{display:block}.ax-conversation-video{width:100%;border-radius:var(--ax-sys-border-radius, .5rem);overflow:hidden;background:rgb(var(--ax-sys-color-darker-surface))}.ax-conversation-video__player{width:100%;max-height:min(40dvh,14rem);display:block;vertical-align:middle}\n"] }]
102
+ }] });
103
+
104
+ export { AXConversationVideoAttachmentComponent as A };
105
+ //# sourceMappingURL=acorex-components-conversation-video-attachment.component-DBY_4Ri2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-components-conversation-video-attachment.component-DBY_4Ri2.mjs","sources":["../tmp-esm2022/conversation/lib/plugins/message-list/components/shared/video-attachment.component.js"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, input, output, viewChild, } from '@angular/core';\nimport { pickDisplayMediaUrl } from '../../../composer/components/shared/persisted-media-url';\nimport { toUploaderReference } from './attachment-uploader-reference';\nimport { formatMediaDuration } from './format-media';\nimport { createResolvedMediaUrlSignal } from './media-url-resolve';\nimport * as i0 from \"@angular/core\";\nexport class AXConversationVideoAttachmentComponent {\n constructor() {\n this.item = input.required(...(ngDevMode ? [{ debugName: \"item\" }] : []));\n this.playingChange = output();\n this.timeUpdate = output();\n this.durationChange = output();\n this.playbackEnded = output();\n this.playbackError = output();\n this.videoElementRef = viewChild('videoEl', ...(ngDevMode ? [{ debugName: \"videoElementRef\" }] : []));\n this.playbackReference = computed(() => toUploaderReference(this.item()), ...(ngDevMode ? [{ debugName: \"playbackReference\" }] : []));\n this.resolvedPlaybackUrl = createResolvedMediaUrlSignal(this.playbackReference);\n this.playbackUrl = computed(() => pickDisplayMediaUrl(this.resolvedPlaybackUrl(), this.item().url, this.item().thumbnailUrl), ...(ngDevMode ? [{ debugName: \"playbackUrl\" }] : []));\n this.duration = computed(() => this.item().duration ?? 0, ...(ngDevMode ? [{ debugName: \"duration\" }] : []));\n this.durationLabel = computed(() => formatMediaDuration(this.duration()), ...(ngDevMode ? [{ debugName: \"durationLabel\" }] : []));\n }\n togglePlay() {\n const el = this.videoElementRef()?.nativeElement;\n if (!el) {\n return;\n }\n if (el.paused) {\n void el.play();\n }\n else {\n el.pause();\n }\n }\n pause() {\n this.videoElementRef()?.nativeElement?.pause();\n }\n onLoadedMetadata() {\n const el = this.videoElementRef()?.nativeElement;\n if (el && Number.isFinite(el.duration)) {\n this.durationChange.emit(el.duration);\n }\n }\n onTimeUpdate() {\n const el = this.videoElementRef()?.nativeElement;\n if (el) {\n this.timeUpdate.emit(el.currentTime);\n }\n }\n onPlay() {\n this.playingChange.emit(true);\n }\n onPause() {\n this.playingChange.emit(false);\n }\n onEnded() {\n this.playingChange.emit(false);\n this.playbackEnded.emit();\n }\n onError() {\n this.playbackError.emit();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXConversationVideoAttachmentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.3.3\", type: AXConversationVideoAttachmentComponent, isStandalone: true, selector: \"ax-conversation-video-attachment\", inputs: { item: { classPropertyName: \"item\", publicName: \"item\", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { playingChange: \"playingChange\", timeUpdate: \"timeUpdate\", durationChange: \"durationChange\", playbackEnded: \"playbackEnded\", playbackError: \"playbackError\" }, viewQueries: [{ propertyName: \"videoElementRef\", first: true, predicate: [\"videoEl\"], descendants: true, isSignal: true }], ngImport: i0, template: `\n <div class=\"ax-conversation-video\">\n <video\n #videoEl\n class=\"ax-conversation-video__player\"\n [src]=\"playbackUrl() || null\"\n controls\n playsinline\n preload=\"metadata\"\n (loadedmetadata)=\"onLoadedMetadata()\"\n (timeupdate)=\"onTimeUpdate()\"\n (play)=\"onPlay()\"\n (pause)=\"onPause()\"\n (ended)=\"onEnded()\"\n (error)=\"onError()\"\n ></video>\n </div>\n `, isInline: true, styles: [\":host{display:block}.ax-conversation-video{width:100%;border-radius:var(--ax-sys-border-radius, .5rem);overflow:hidden;background:rgb(var(--ax-sys-color-darker-surface))}.ax-conversation-video__player{width:100%;max-height:min(40dvh,14rem);display:block;vertical-align:middle}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXConversationVideoAttachmentComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-conversation-video-attachment', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `\n <div class=\"ax-conversation-video\">\n <video\n #videoEl\n class=\"ax-conversation-video__player\"\n [src]=\"playbackUrl() || null\"\n controls\n playsinline\n preload=\"metadata\"\n (loadedmetadata)=\"onLoadedMetadata()\"\n (timeupdate)=\"onTimeUpdate()\"\n (play)=\"onPlay()\"\n (pause)=\"onPause()\"\n (ended)=\"onEnded()\"\n (error)=\"onError()\"\n ></video>\n </div>\n `, styles: [\":host{display:block}.ax-conversation-video{width:100%;border-radius:var(--ax-sys-border-radius, .5rem);overflow:hidden;background:rgb(var(--ax-sys-color-darker-surface))}.ax-conversation-video__player{width:100%;max-height:min(40dvh,14rem);display:block;vertical-align:middle}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8tYXR0YWNobWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvbnZlcnNhdGlvbi9zcmMvbGliL3BsdWdpbnMvbWVzc2FnZS1saXN0L2NvbXBvbmVudHMvc2hhcmVkL3ZpZGVvLWF0dGFjaG1lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBRVIsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDOUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBOENuRSxNQUFNLE9BQU8sc0NBQXNDO0lBNUNuRDtRQTZDVyxTQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsK0NBQWdDLENBQUM7UUFFdEQsa0JBQWEsR0FBRyxNQUFNLEVBQVcsQ0FBQztRQUNsQyxlQUFVLEdBQUcsTUFBTSxFQUFVLENBQUM7UUFDOUIsbUJBQWMsR0FBRyxNQUFNLEVBQVUsQ0FBQztRQUNsQyxrQkFBYSxHQUFHLE1BQU0sRUFBUSxDQUFDO1FBRS9CLGtCQUFhLEdBQUcsTUFBTSxFQUFRLENBQUM7UUFFdkIsb0JBQWUsR0FBRyxTQUFTLENBQStCLFNBQVMsMkRBQUMsQ0FBQztRQUVyRSxzQkFBaUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLDZEQUFDLENBQUM7UUFDckUsd0JBQW1CLEdBQUcsNEJBQTRCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFbkYsZ0JBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQ25DLG1CQUFtQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyx1REFDM0YsQ0FBQztRQUNPLGFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsSUFBSSxDQUFDLG9EQUFDLENBQUM7UUFDckQsa0JBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLHlEQUFDLENBQUM7S0FnRC9FO0lBOUNDLFVBQVU7UUFDUixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsYUFBYSxDQUFDO1FBQ2pELElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNSLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDZCxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQixDQUFDO2FBQU0sQ0FBQztZQUNOLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxhQUFhLENBQUM7UUFDakQsSUFBSSxFQUFFLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsQ0FBQztJQUNILENBQUM7SUFFRCxZQUFZO1FBQ1YsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLGFBQWEsQ0FBQztRQUNqRCxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ1AsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDOzhHQWxFVSxzQ0FBc0M7a0dBQXRDLHNDQUFzQyxpZ0JBeEN2Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQlQsK1ZBbkJTLFlBQVk7OzJGQTBDWCxzQ0FBc0M7a0JBNUNsRCxTQUFTOytCQUNFLGtDQUFrQyxXQUNuQyxDQUFDLFlBQVksQ0FBQyxtQkFDTix1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgRWxlbWVudFJlZixcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgdmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgQVhDb252ZXJzYXRpb25WaWRlb01lZGlhSXRlbSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBwaWNrRGlzcGxheU1lZGlhVXJsIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9zZXIvY29tcG9uZW50cy9zaGFyZWQvcGVyc2lzdGVkLW1lZGlhLXVybCc7XG5pbXBvcnQgeyB0b1VwbG9hZGVyUmVmZXJlbmNlIH0gZnJvbSAnLi9hdHRhY2htZW50LXVwbG9hZGVyLXJlZmVyZW5jZSc7XG5pbXBvcnQgeyBmb3JtYXRNZWRpYUR1cmF0aW9uIH0gZnJvbSAnLi9mb3JtYXQtbWVkaWEnO1xuaW1wb3J0IHsgY3JlYXRlUmVzb2x2ZWRNZWRpYVVybFNpZ25hbCB9IGZyb20gJy4vbWVkaWEtdXJsLXJlc29sdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1jb252ZXJzYXRpb24tdmlkZW8tYXR0YWNobWVudCcsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiYXgtY29udmVyc2F0aW9uLXZpZGVvXCI+XG4gICAgICA8dmlkZW9cbiAgICAgICAgI3ZpZGVvRWxcbiAgICAgICAgY2xhc3M9XCJheC1jb252ZXJzYXRpb24tdmlkZW9fX3BsYXllclwiXG4gICAgICAgIFtzcmNdPVwicGxheWJhY2tVcmwoKSB8fCBudWxsXCJcbiAgICAgICAgY29udHJvbHNcbiAgICAgICAgcGxheXNpbmxpbmVcbiAgICAgICAgcHJlbG9hZD1cIm1ldGFkYXRhXCJcbiAgICAgICAgKGxvYWRlZG1ldGFkYXRhKT1cIm9uTG9hZGVkTWV0YWRhdGEoKVwiXG4gICAgICAgICh0aW1ldXBkYXRlKT1cIm9uVGltZVVwZGF0ZSgpXCJcbiAgICAgICAgKHBsYXkpPVwib25QbGF5KClcIlxuICAgICAgICAocGF1c2UpPVwib25QYXVzZSgpXCJcbiAgICAgICAgKGVuZGVkKT1cIm9uRW5kZWQoKVwiXG4gICAgICAgIChlcnJvcik9XCJvbkVycm9yKClcIlxuICAgICAgPjwvdmlkZW8+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC5heC1jb252ZXJzYXRpb24tdmlkZW8ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYXgtc3lzLWJvcmRlci1yYWRpdXMsIDAuNXJlbSk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYih2YXIoLS1heC1zeXMtY29sb3ItZGFya2VyLXN1cmZhY2UpKTtcbiAgICAgIH1cblxuICAgICAgLmF4LWNvbnZlcnNhdGlvbi12aWRlb19fcGxheWVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IG1pbig0MGR2aCwgMTRyZW0pO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWENvbnZlcnNhdGlvblZpZGVvQXR0YWNobWVudENvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGl0ZW0gPSBpbnB1dC5yZXF1aXJlZDxBWENvbnZlcnNhdGlvblZpZGVvTWVkaWFJdGVtPigpO1xuXG4gIHJlYWRvbmx5IHBsYXlpbmdDaGFuZ2UgPSBvdXRwdXQ8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgdGltZVVwZGF0ZSA9IG91dHB1dDxudW1iZXI+KCk7XG4gIHJlYWRvbmx5IGR1cmF0aW9uQ2hhbmdlID0gb3V0cHV0PG51bWJlcj4oKTtcbiAgcmVhZG9ubHkgcGxheWJhY2tFbmRlZCA9IG91dHB1dDx2b2lkPigpO1xuXG4gIHJlYWRvbmx5IHBsYXliYWNrRXJyb3IgPSBvdXRwdXQ8dm9pZD4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHZpZGVvRWxlbWVudFJlZiA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxWaWRlb0VsZW1lbnQ+PigndmlkZW9FbCcpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcGxheWJhY2tSZWZlcmVuY2UgPSBjb21wdXRlZCgoKSA9PiB0b1VwbG9hZGVyUmVmZXJlbmNlKHRoaXMuaXRlbSgpKSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVzb2x2ZWRQbGF5YmFja1VybCA9IGNyZWF0ZVJlc29sdmVkTWVkaWFVcmxTaWduYWwodGhpcy5wbGF5YmFja1JlZmVyZW5jZSk7XG5cbiAgcmVhZG9ubHkgcGxheWJhY2tVcmwgPSBjb21wdXRlZCgoKSA9PlxuICAgIHBpY2tEaXNwbGF5TWVkaWFVcmwodGhpcy5yZXNvbHZlZFBsYXliYWNrVXJsKCksIHRoaXMuaXRlbSgpLnVybCwgdGhpcy5pdGVtKCkudGh1bWJuYWlsVXJsKSxcbiAgKTtcbiAgcmVhZG9ubHkgZHVyYXRpb24gPSBjb21wdXRlZCgoKSA9PiB0aGlzLml0ZW0oKS5kdXJhdGlvbiA/PyAwKTtcbiAgcmVhZG9ubHkgZHVyYXRpb25MYWJlbCA9IGNvbXB1dGVkKCgpID0+IGZvcm1hdE1lZGlhRHVyYXRpb24odGhpcy5kdXJhdGlvbigpKSk7XG5cbiAgdG9nZ2xlUGxheSgpOiB2b2lkIHtcbiAgICBjb25zdCBlbCA9IHRoaXMudmlkZW9FbGVtZW50UmVmKCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKCFlbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoZWwucGF1c2VkKSB7XG4gICAgICB2b2lkIGVsLnBsYXkoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZWwucGF1c2UoKTtcbiAgICB9XG4gIH1cblxuICBwYXVzZSgpOiB2b2lkIHtcbiAgICB0aGlzLnZpZGVvRWxlbWVudFJlZigpPy5uYXRpdmVFbGVtZW50Py5wYXVzZSgpO1xuICB9XG5cbiAgb25Mb2FkZWRNZXRhZGF0YSgpOiB2b2lkIHtcbiAgICBjb25zdCBlbCA9IHRoaXMudmlkZW9FbGVtZW50UmVmKCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKGVsICYmIE51bWJlci5pc0Zpbml0ZShlbC5kdXJhdGlvbikpIHtcbiAgICAgIHRoaXMuZHVyYXRpb25DaGFuZ2UuZW1pdChlbC5kdXJhdGlvbik7XG4gICAgfVxuICB9XG5cbiAgb25UaW1lVXBkYXRlKCk6IHZvaWQge1xuICAgIGNvbnN0IGVsID0gdGhpcy52aWRlb0VsZW1lbnRSZWYoKT8ubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoZWwpIHtcbiAgICAgIHRoaXMudGltZVVwZGF0ZS5lbWl0KGVsLmN1cnJlbnRUaW1lKTtcbiAgICB9XG4gIH1cblxuICBvblBsYXkoKTogdm9pZCB7XG4gICAgdGhpcy5wbGF5aW5nQ2hhbmdlLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBvblBhdXNlKCk6IHZvaWQge1xuICAgIHRoaXMucGxheWluZ0NoYW5nZS5lbWl0KGZhbHNlKTtcbiAgfVxuXG4gIG9uRW5kZWQoKTogdm9pZCB7XG4gICAgdGhpcy5wbGF5aW5nQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICAgIHRoaXMucGxheWJhY2tFbmRlZC5lbWl0KCk7XG4gIH1cblxuICBvbkVycm9yKCk6IHZvaWQge1xuICAgIHRoaXMucGxheWJhY2tFcnJvci5lbWl0KCk7XG4gIH1cbn1cbiJdfQ=="],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import { normalizeVideoPayload } from './acorex-components-conversation-video.payload-DfBEjqQ4.mjs';
2
+ import { s as resolvePersistableMediaUrl, c as resolvePersistedThumbnailUrl } from './acorex-components-conversation-acorex-components-conversation-CjVDCoJw.mjs';
3
+
4
+ function videoItemFromUpload(file, result, duration) {
5
+ const url = resolvePersistableMediaUrl(result.url);
6
+ const item = {
7
+ mediaId: result.mediaId,
8
+ mimeType: result.mimeType,
9
+ size: result.size,
10
+ thumbnailUrl: resolvePersistedThumbnailUrl(result.thumbnailUrl, url),
11
+ duration,
12
+ width: 0,
13
+ height: 0,
14
+ metadata: result.metadata,
15
+ };
16
+ if (url) {
17
+ item.url = url;
18
+ }
19
+ return item;
20
+ }
21
+ function mergeVideoUploadResult(payload, result) {
22
+ const base = normalizeVideoPayload(payload);
23
+ const videos = [...base.videos];
24
+ const i = videos.findIndex((x) => !x.mediaId && !resolvePersistableMediaUrl(x.url));
25
+ const slot = i >= 0 ? videos[i] : undefined;
26
+ const url = resolvePersistableMediaUrl(result.url);
27
+ const next = {
28
+ ...(slot ?? { duration: 0, width: 0, height: 0 }),
29
+ mediaId: result.mediaId,
30
+ mimeType: result.mimeType,
31
+ size: result.size,
32
+ thumbnailUrl: resolvePersistedThumbnailUrl(result.thumbnailUrl ?? slot?.thumbnailUrl, url),
33
+ metadata: result.metadata,
34
+ };
35
+ if (url) {
36
+ next.url = url;
37
+ }
38
+ if (i >= 0)
39
+ videos[i] = next;
40
+ else
41
+ videos.push(next);
42
+ return { ...base, type: 'video', videos };
43
+ }
44
+ function applyVideoLocalPreview(payload, localUrl, mimeType = 'application/octet-stream') {
45
+ const base = normalizeVideoPayload(payload);
46
+ const videos = [...base.videos];
47
+ const slot = videos.findIndex((x) => !x.mediaId && !resolvePersistableMediaUrl(x.url));
48
+ const preview = { url: localUrl, duration: 0, width: 0, height: 0, mimeType };
49
+ if (slot >= 0) {
50
+ videos[slot] = { ...videos[slot], ...preview };
51
+ }
52
+ else if (videos.length === 0) {
53
+ videos.push(preview);
54
+ }
55
+ else {
56
+ videos[0] = { ...videos[0], ...preview };
57
+ }
58
+ return { ...base, type: 'video', videos };
59
+ }
60
+
61
+ export { applyVideoLocalPreview, mergeVideoUploadResult, videoItemFromUpload };
62
+ //# sourceMappingURL=acorex-components-conversation-video-composer.payload-CWGxsPg5.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-components-conversation-video-composer.payload-CWGxsPg5.mjs","sources":["../tmp-esm2022/conversation/lib/plugins/composer/components/video-picker/video-composer.payload.js"],"sourcesContent":["import { normalizeVideoPayload } from '../../../message-list/components/video-renderer/video.payload';\nimport { resolvePersistableMediaUrl, resolvePersistedThumbnailUrl } from '../shared/persisted-media-url';\nexport function videoItemFromUpload(file, result, duration) {\n const url = resolvePersistableMediaUrl(result.url);\n const item = {\n mediaId: result.mediaId,\n mimeType: result.mimeType,\n size: result.size,\n thumbnailUrl: resolvePersistedThumbnailUrl(result.thumbnailUrl, url),\n duration,\n width: 0,\n height: 0,\n metadata: result.metadata,\n };\n if (url) {\n item.url = url;\n }\n return item;\n}\nexport function mergeVideoUploadResult(payload, result) {\n const base = normalizeVideoPayload(payload);\n const videos = [...base.videos];\n const i = videos.findIndex((x) => !x.mediaId && !resolvePersistableMediaUrl(x.url));\n const slot = i >= 0 ? videos[i] : undefined;\n const url = resolvePersistableMediaUrl(result.url);\n const next = {\n ...(slot ?? { duration: 0, width: 0, height: 0 }),\n mediaId: result.mediaId,\n mimeType: result.mimeType,\n size: result.size,\n thumbnailUrl: resolvePersistedThumbnailUrl(result.thumbnailUrl ?? slot?.thumbnailUrl, url),\n metadata: result.metadata,\n };\n if (url) {\n next.url = url;\n }\n if (i >= 0)\n videos[i] = next;\n else\n videos.push(next);\n return { ...base, type: 'video', videos };\n}\nexport function applyVideoLocalPreview(payload, localUrl, mimeType = 'application/octet-stream') {\n const base = normalizeVideoPayload(payload);\n const videos = [...base.videos];\n const slot = videos.findIndex((x) => !x.mediaId && !resolvePersistableMediaUrl(x.url));\n const preview = { url: localUrl, duration: 0, width: 0, height: 0, mimeType };\n if (slot >= 0) {\n videos[slot] = { ...videos[slot], ...preview };\n }\n else if (videos.length === 0) {\n videos.push(preview);\n }\n else {\n videos[0] = { ...videos[0], ...preview };\n }\n return { ...base, type: 'video', videos };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8tY29tcG9zZXIucGF5bG9hZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29udmVyc2F0aW9uL3NyYy9saWIvcGx1Z2lucy9jb21wb3Nlci9jb21wb25lbnRzL3ZpZGVvLXBpY2tlci92aWRlby1jb21wb3Nlci5wYXlsb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRXpHLE1BQU0sVUFBVSxtQkFBbUIsQ0FDakMsSUFBVSxFQUNWLE1BQW9DLEVBQ3BDLFFBQWdCO0lBRWhCLE1BQU0sR0FBRyxHQUFHLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuRCxNQUFNLElBQUksR0FBaUM7UUFDekMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1FBQ3ZCLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtRQUN6QixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7UUFDakIsWUFBWSxFQUFFLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDO1FBQ3BFLFFBQVE7UUFDUixLQUFLLEVBQUUsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDO1FBQ1QsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO0tBQzFCLENBQUM7SUFDRixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsT0FBcUMsRUFDckMsTUFBc0I7SUFFdEIsTUFBTSxJQUFJLEdBQUcscUJBQXFCLENBQUMs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Y2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFYVXBsb2FkUmVzdWx0IH0gZnJvbSAnQGFjb3JleC9jZGsvdXBsb2FkZXInO1xuaW1wb3J0IHR5cGUgeyBBWENvbnZlcnNhdGlvbk1lc3NhZ2VQYXlsb2FkLCBBWENvbnZlcnNhdGlvblZpZGVvTWVkaWFJdGVtLCBBWENvbnZlcnNhdGlvblZpZGVvUGF5bG9hZCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgdHlwZSB7IEFYQ29udmVyc2F0aW9uVXBsb2FkZXJSZXN1bHQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvY29udmVyc2F0aW9uLXVwbG9hZC50eXBlcyc7XG5pbXBvcnQgeyBub3JtYWxpemVWaWRlb1BheWxvYWQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlLWxpc3QvY29tcG9uZW50cy92aWRlby1yZW5kZXJlci92aWRlby5wYXlsb2FkJztcbmltcG9ydCB7IHJlc29sdmVQZXJzaXN0YWJsZU1lZGlhVXJsLCByZXNvbHZlUGVyc2lzdGVkVGh1bWJuYWlsVXJsIH0gZnJvbSAnLi4vc2hhcmVkL3BlcnNpc3RlZC1tZWRpYS11cmwnO1xuXG5leHBvcnQgZnVuY3Rpb24gdmlkZW9JdGVtRnJvbVVwbG9hZChcbiAgZmlsZTogRmlsZSxcbiAgcmVzdWx0OiBBWENvbnZlcnNhdGlvblVwbG9hZGVyUmVzdWx0LFxuICBkdXJhdGlvbjogbnVtYmVyLFxuKTogQVhDb252ZXJzYXRpb25WaWRlb01lZGlhSXRlbSB7XG4gIGNvbnN0IHVybCA9IHJlc29sdmVQZXJzaXN0YWJsZU1lZGlhVXJsKHJlc3VsdC51cmwpO1xuICBjb25zdCBpdGVtOiBBWENvbnZlcnNhdGlvblZpZGVvTWVkaWFJdGVtID0ge1xuICAgIG1lZGlhSWQ6IHJlc3VsdC5tZWRpYUlkLFxuICAgIG1pbWVUeXBlOiByZXN1bHQubWltZVR5cGUsXG4gICAgc2l6ZTogcmVzdWx0LnNpemUsXG4gICAgdGh1bWJuYWlsVXJsOiByZXNvbHZlUGVyc2lzdGVkVGh1bWJuYWlsVXJsKHJlc3VsdC50aHVtYm5haWxVcmwsIHVybCksXG4gICAgZHVyYXRpb24sXG4gICAgd2lkdGg6IDAsXG4gICAgaGVpZ2h0OiAwLFxuICAgIG1ldGFkYXRhOiByZXN1bHQubWV0YWRhdGEsXG4gIH07XG4gIGlmICh1cmwpIHtcbiAgICBpdGVtLnVybCA9IHVybDtcbiAgfVxuICByZXR1cm4gaXRlbTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlVmlkZW9VcGxvYWRSZXN1bHQoXG4gIHBheWxvYWQ6IEFYQ29udmVyc2F0aW9uTWVzc2FnZVBheWxvYWQsXG4gIHJlc3VsdDogQVhVcGxvYWRSZXN1bHQsXG4pOiBBWENvbnZlcnNhdGlvbk1lc3NhZ2VQYXlsb2FkIHtcbiAgY29uc3QgYmFzZSA9IG5vcm1hbGl6ZVZpZGVvUGF5bG9hZChwYXlsb2FkIGFzIEFYQ29udmVyc2F0aW9uVmlkZW9QYXlsb2FkKTtcbiAgY29uc3QgdmlkZW9zID0gWy4uLmJhc2UudmlkZW9zXTtcbiAgY29uc3QgaSA9IHZpZGVvcy5maW5kSW5kZXgoKHgpID0+ICF4Lm1lZGlhSWQgJiYgIXJlc29sdmVQZXJzaXN0YWJsZU1lZGlhVXJsKHgudXJsKSk7XG4gIGNvbnN0IHNsb3QgPSBpID49IDAgPyB2aWRlb3NbaV0gOiB1bmRlZmluZWQ7XG4gIGNvbnN0IHVybCA9IHJlc29sdmVQZXJzaXN0YWJsZU1lZGlhVXJsKHJlc3VsdC51cmwpO1xuICBjb25zdCBuZXh0OiBBWENvbnZlcnNhdGlvblZpZGVvTWVkaWFJdGVtID0ge1xuICAgIC4uLihzbG90ID8/IHsgZHVyYXRpb246IDAsIHdpZHRoOiAwLCBoZWlnaHQ6IDAgfSksXG4gICAgbWVkaWFJZDogcmVzdWx0Lm1lZGlhSWQsXG4gICAgbWltZVR5cGU6IHJlc3VsdC5taW1lVHlwZSxcbiAgICBzaXplOiByZXN1bHQuc2l6ZSxcbiAgICB0aHVtYm5haWxVcmw6IHJlc29sdmVQZXJzaXN0ZWRUaHVtYm5haWxVcmwocmVzdWx0LnRodW1ibmFpbFVybCA/PyBzbG90Py50aHVtYm5haWxVcmwsIHVybCksXG4gICAgbWV0YWRhdGE6IHJlc3VsdC5tZXRhZGF0YSxcbiAgfTtcbiAgaWYgKHVybCkge1xuICAgIG5leHQudXJsID0gdXJsO1xuICB9XG4gIGlmIChpID49IDApIHZpZGVvc1tpXSA9IG5leHQ7XG4gIGVsc2UgdmlkZW9zLnB1c2gobmV4dCk7XG4gIHJldHVybiB7IC4uLmJhc2UsIHR5cGU6ICd2aWRlbycsIHZpZGVvcyB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlWaWRlb0xvY2FsUHJldmlldyhcbiAgcGF5bG9hZDogQVhDb252ZXJzYXRpb25NZXNzYWdlUGF5bG9hZCxcbiAgbG9jYWxVcmw6IHN0cmluZyxcbiAgbWltZVR5cGUgPSAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJyxcbik6IEFYQ29udmVyc2F0aW9uTWVzc2FnZVBheWxvYWQge1xuICBjb25zdCBiYXNlID0gbm9ybWFsaXplVmlkZW9QYXlsb2FkKHBheWxvYWQgYXMgQVhDb252ZXJzYXRpb25WaWRlb1BheWxvYWQpO1xuICBjb25zdCB2aWRlb3MgPSBbLi4uYmFzZS52aWRlb3NdO1xuICBjb25zdCBzbG90ID0gdmlkZW9zLmZpbmRJbmRleCgoeCkgPT4gIXgubWVkaWFJZCAmJiAhcmVzb2x2ZVBlcnNpc3RhYmxlTWVkaWFVcmwoeC51cmwpKTtcbiAgY29uc3QgcHJldmlldyA9IHsgdXJsOiBsb2NhbFVybCwgZHVyYXRpb246IDAsIHdpZHRoOiAwLCBoZWlnaHQ6IDAsIG1pbWVUeXBlIH07XG4gIGlmIChzbG90ID49IDApIHtcbiAgICB2aWRlb3Nbc2xvdF0gPSB7IC4uLnZpZGVvc1tzbG90XSwgLi4ucHJldmlldyB9O1xuICB9IGVsc2UgaWYgKHZpZGVvcy5sZW5ndGggPT09IDApIHtcbiAgICB2aWRlb3MucHVzaChwcmV2aWV3KTtcbiAgfSBlbHNlIHtcbiAgICB2aWRlb3NbMF0gPSB7IC4uLnZpZGVvc1swXSwgLi4ucHJldmlldyB9O1xuICB9XG4gIHJldHVybiB7IC4uLmJhc2UsIHR5cGU6ICd2aWRlbycsIHZpZGVvcyB9O1xufVxuIl19"],"names":[],"mappings":"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"}