@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,118 @@
1
+ import * as i1 from '@acorex/components/map';
2
+ import { AXMapModule } from '@acorex/components/map';
3
+ import { CommonModule } from '@angular/common';
4
+ import * as i0 from '@angular/core';
5
+ import { signal, input, computed, ChangeDetectionStrategy, Component } from '@angular/core';
6
+ import { A as AXConversationMessageRendererCopyHostComponent } from './acorex-components-conversation-message-renderer-copy-host.component-D_eAnM6v.mjs';
7
+ import { A as AXConversationMessageRendererStateComponent } from './acorex-components-conversation-message-renderer-state.component-DSnNoz1N.mjs';
8
+
9
+ class AXConversationLocationRendererComponent extends AXConversationMessageRendererCopyHostComponent {
10
+ constructor() {
11
+ super(...arguments);
12
+ this._contentState = signal('none', ...(ngDevMode ? [{ debugName: "_contentState" }] : []));
13
+ this.message = input.required(...(ngDevMode ? [{ debugName: "message" }] : []));
14
+ this.rendererState = computed(() => ({
15
+ deliveryStatus: this.message().status,
16
+ contentState: this._contentState(),
17
+ }), ...(ngDevMode ? [{ debugName: "rendererState" }] : []));
18
+ this.payload = computed(() => this.message().payload, ...(ngDevMode ? [{ debugName: "payload" }] : []));
19
+ this.latitude = computed(() => this.payload().latitude, ...(ngDevMode ? [{ debugName: "latitude" }] : []));
20
+ this.longitude = computed(() => this.payload().longitude, ...(ngDevMode ? [{ debugName: "longitude" }] : []));
21
+ this.locationName = computed(() => this.payload().name || 'Location', ...(ngDevMode ? [{ debugName: "locationName" }] : []));
22
+ this.address = computed(() => this.payload().address, ...(ngDevMode ? [{ debugName: "address" }] : []));
23
+ this.coordinatesText = computed(() => {
24
+ const lat = this.latitude().toFixed(5);
25
+ const lng = this.longitude().toFixed(5);
26
+ return `${lat}, ${lng}`;
27
+ }, ...(ngDevMode ? [{ debugName: "coordinatesText" }] : []));
28
+ this.mapsUrl = computed(() => {
29
+ const lat = this.latitude();
30
+ const lng = this.longitude();
31
+ return `https://www.google.com/maps?q=${lat},${lng}`;
32
+ }, ...(ngDevMode ? [{ debugName: "mapsUrl" }] : []));
33
+ this.markers = computed(() => [
34
+ {
35
+ latitude: this.latitude(),
36
+ longitude: this.longitude(),
37
+ popup: this.locationName(),
38
+ popupOpen: false,
39
+ popupCloseButton: true,
40
+ },
41
+ ], ...(ngDevMode ? [{ debugName: "markers" }] : []));
42
+ }
43
+ copy() {
44
+ const name = this.locationName();
45
+ const addr = this.address()?.trim();
46
+ const coords = this.coordinatesText();
47
+ const maps = this.mapsUrl();
48
+ const lines = [addr, coords, maps].filter(Boolean);
49
+ return lines.length ? `${name}\n${lines.join('\n')}` : name;
50
+ }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationLocationRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
52
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXConversationLocationRendererComponent, isStandalone: true, selector: "ax-conversation-location-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
53
+ <div class="ax-conversation-loc">
54
+ <ax-conversation-message-renderer-state [rendererState]="rendererState()" [message]="message()" />
55
+ <div class="ax-conversation-loc__map">
56
+ <ax-map
57
+ [latitude]="latitude()"
58
+ [longitude]="longitude()"
59
+ [zoomLevel]="15"
60
+ [markers]="markers()"
61
+ [hasLocator]="false"
62
+ [hasDraw]="false"
63
+ ></ax-map>
64
+ </div>
65
+ <div class="ax-conversation-loc__body">
66
+ <div class="ax-conversation-loc__title">
67
+ <span class="ax-conversation-loc__title-text">{{ locationName() }}</span>
68
+ </div>
69
+ @if (address()) {
70
+ <div class="ax-conversation-loc__addr">{{ address() }}</div>
71
+ }
72
+ <div class="ax-conversation-loc__meta">
73
+ <span class="ax-conversation-loc__coords">{{ coordinatesText() }}</span>
74
+ </div>
75
+ </div>
76
+ <a class="ax-conversation-loc__action" [href]="mapsUrl()" target="_blank" rel="noopener noreferrer">
77
+ <span>Open in Maps</span>
78
+ <i class="fa-light fa-arrow-up-right-from-square" aria-hidden="true"></i>
79
+ </a>
80
+ </div>
81
+ `, isInline: true, styles: [":host{display:block}:host{max-width:100%}.ax-conversation-loc{display:flex;flex-direction:column;width:100%;max-width:min(100%,20rem);border-radius:var(--ax-sys-border-radius, .5rem);border:1px solid rgb(var(--ax-sys-color-border-light-surface));overflow:hidden;background:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface))}.ax-conversation-loc__map{position:relative;height:min(28dvh,10rem);width:100%;overflow:hidden}@container conversation (min-width: 480px){.ax-conversation-loc__map{height:10.5rem}}.ax-conversation-loc__map ::ng-deep ax-map{display:block;height:100%;width:100%}.ax-conversation-loc__body{padding:.625rem .75rem .5rem;display:flex;flex-direction:column;gap:.25rem}.ax-conversation-loc__title{display:flex;align-items:center;font-size:.875rem;font-weight:600;line-height:1.2}.ax-conversation-loc__title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ax-conversation-loc__addr{font-size:.75rem;opacity:.78;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ax-conversation-loc__meta{display:flex;align-items:center;gap:.5rem}.ax-conversation-loc__coords{font-size:.6875rem;opacity:.62;font-variant-numeric:tabular-nums;font-family:ui-monospace,monospace}.ax-conversation-loc__action{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:2.75rem;padding:.5rem .75rem;border-top:1px solid rgb(var(--ax-sys-color-border-light-surface));background:rgb(var(--ax-sys-color-light-surface));font-size:.8125rem;font-weight:500;color:rgb(var(--ax-sys-color-primary-600));text-decoration:none;touch-action:manipulation;transition:background .15s ease,color .15s ease}@media (hover: hover){.ax-conversation-loc__action:hover{background:rgb(var(--ax-sys-color-primary-lightest-surface));color:rgb(var(--ax-sys-color-primary-700))}}.ax-conversation-loc__action i{font-size:.75rem;opacity:.85}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXMapModule }, { kind: "component", type: i1.AXMapComponent, selector: "ax-map", inputs: ["zoomLevel", "latitude", "longitude", "maxMarker", "maxPolygon", "hasDraw", "hasLocator", "fitToDraw", "limitDraw", "addPoiToFitDraw", "addMarkerOnTap", "readonly", "disabled", "markerPlace", "locatePlace", "poiMinZoom", "markers", "polygons", "pois"], outputs: ["zoomLevelChange", "latitudeChange", "longitudeChange", "onMarkerAdded", "onMarkerClick", "onMarkerChanged", "onPolygonAdded", "onPolygonClick", "onPolygonChanged", "onLocationFound", "onPoiChanged", "onPoiAdded", "onMapReady", "onLoadError"] }, { 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 }); }
82
+ }
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationLocationRendererComponent, decorators: [{
84
+ type: Component,
85
+ args: [{ selector: 'ax-conversation-location-renderer', imports: [CommonModule, AXMapModule, AXConversationMessageRendererStateComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
86
+ <div class="ax-conversation-loc">
87
+ <ax-conversation-message-renderer-state [rendererState]="rendererState()" [message]="message()" />
88
+ <div class="ax-conversation-loc__map">
89
+ <ax-map
90
+ [latitude]="latitude()"
91
+ [longitude]="longitude()"
92
+ [zoomLevel]="15"
93
+ [markers]="markers()"
94
+ [hasLocator]="false"
95
+ [hasDraw]="false"
96
+ ></ax-map>
97
+ </div>
98
+ <div class="ax-conversation-loc__body">
99
+ <div class="ax-conversation-loc__title">
100
+ <span class="ax-conversation-loc__title-text">{{ locationName() }}</span>
101
+ </div>
102
+ @if (address()) {
103
+ <div class="ax-conversation-loc__addr">{{ address() }}</div>
104
+ }
105
+ <div class="ax-conversation-loc__meta">
106
+ <span class="ax-conversation-loc__coords">{{ coordinatesText() }}</span>
107
+ </div>
108
+ </div>
109
+ <a class="ax-conversation-loc__action" [href]="mapsUrl()" target="_blank" rel="noopener noreferrer">
110
+ <span>Open in Maps</span>
111
+ <i class="fa-light fa-arrow-up-right-from-square" aria-hidden="true"></i>
112
+ </a>
113
+ </div>
114
+ `, styles: [":host{display:block}:host{max-width:100%}.ax-conversation-loc{display:flex;flex-direction:column;width:100%;max-width:min(100%,20rem);border-radius:var(--ax-sys-border-radius, .5rem);border:1px solid rgb(var(--ax-sys-color-border-light-surface));overflow:hidden;background:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface))}.ax-conversation-loc__map{position:relative;height:min(28dvh,10rem);width:100%;overflow:hidden}@container conversation (min-width: 480px){.ax-conversation-loc__map{height:10.5rem}}.ax-conversation-loc__map ::ng-deep ax-map{display:block;height:100%;width:100%}.ax-conversation-loc__body{padding:.625rem .75rem .5rem;display:flex;flex-direction:column;gap:.25rem}.ax-conversation-loc__title{display:flex;align-items:center;font-size:.875rem;font-weight:600;line-height:1.2}.ax-conversation-loc__title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ax-conversation-loc__addr{font-size:.75rem;opacity:.78;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ax-conversation-loc__meta{display:flex;align-items:center;gap:.5rem}.ax-conversation-loc__coords{font-size:.6875rem;opacity:.62;font-variant-numeric:tabular-nums;font-family:ui-monospace,monospace}.ax-conversation-loc__action{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:2.75rem;padding:.5rem .75rem;border-top:1px solid rgb(var(--ax-sys-color-border-light-surface));background:rgb(var(--ax-sys-color-light-surface));font-size:.8125rem;font-weight:500;color:rgb(var(--ax-sys-color-primary-600));text-decoration:none;touch-action:manipulation;transition:background .15s ease,color .15s ease}@media (hover: hover){.ax-conversation-loc__action:hover{background:rgb(var(--ax-sys-color-primary-lightest-surface));color:rgb(var(--ax-sys-color-primary-700))}}.ax-conversation-loc__action i{font-size:.75rem;opacity:.85}\n"] }]
115
+ }] });
116
+
117
+ export { AXConversationLocationRendererComponent };
118
+ //# sourceMappingURL=acorex-components-conversation-location-renderer.component-BiynmAJw.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-components-conversation-location-renderer.component-BiynmAJw.mjs","sources":["../tmp-esm2022/conversation/lib/plugins/message-list/components/location-renderer/location-renderer.component.js"],"sourcesContent":["import { AXMapModule } from '@acorex/components/map';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, input, signal } from '@angular/core';\nimport { AXConversationMessageRendererCopyHostComponent } from '../shared/message-renderer-copy-host.component';\nimport { AXConversationMessageRendererStateComponent } from '../shared/message-renderer-state.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/map\";\nexport class AXConversationLocationRendererComponent extends AXConversationMessageRendererCopyHostComponent {\n constructor() {\n super(...arguments);\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.payload = computed(() => this.message().payload, ...(ngDevMode ? [{ debugName: \"payload\" }] : []));\n this.latitude = computed(() => this.payload().latitude, ...(ngDevMode ? [{ debugName: \"latitude\" }] : []));\n this.longitude = computed(() => this.payload().longitude, ...(ngDevMode ? [{ debugName: \"longitude\" }] : []));\n this.locationName = computed(() => this.payload().name || 'Location', ...(ngDevMode ? [{ debugName: \"locationName\" }] : []));\n this.address = computed(() => this.payload().address, ...(ngDevMode ? [{ debugName: \"address\" }] : []));\n this.coordinatesText = computed(() => {\n const lat = this.latitude().toFixed(5);\n const lng = this.longitude().toFixed(5);\n return `${lat}, ${lng}`;\n }, ...(ngDevMode ? [{ debugName: \"coordinatesText\" }] : []));\n this.mapsUrl = computed(() => {\n const lat = this.latitude();\n const lng = this.longitude();\n return `https://www.google.com/maps?q=${lat},${lng}`;\n }, ...(ngDevMode ? [{ debugName: \"mapsUrl\" }] : []));\n this.markers = computed(() => [\n {\n latitude: this.latitude(),\n longitude: this.longitude(),\n popup: this.locationName(),\n popupOpen: false,\n popupCloseButton: true,\n },\n ], ...(ngDevMode ? [{ debugName: \"markers\" }] : []));\n }\n copy() {\n const name = this.locationName();\n const addr = this.address()?.trim();\n const coords = this.coordinatesText();\n const maps = this.mapsUrl();\n const lines = [addr, coords, maps].filter(Boolean);\n return lines.length ? `${name}\\n${lines.join('\\n')}` : name;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXConversationLocationRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.3\", type: AXConversationLocationRendererComponent, isStandalone: true, selector: \"ax-conversation-location-renderer\", inputs: { message: { classPropertyName: \"message\", publicName: \"message\", isSignal: true, isRequired: true, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `\n <div class=\"ax-conversation-loc\">\n <ax-conversation-message-renderer-state [rendererState]=\"rendererState()\" [message]=\"message()\" />\n <div class=\"ax-conversation-loc__map\">\n <ax-map\n [latitude]=\"latitude()\"\n [longitude]=\"longitude()\"\n [zoomLevel]=\"15\"\n [markers]=\"markers()\"\n [hasLocator]=\"false\"\n [hasDraw]=\"false\"\n ></ax-map>\n </div>\n <div class=\"ax-conversation-loc__body\">\n <div class=\"ax-conversation-loc__title\">\n <span class=\"ax-conversation-loc__title-text\">{{ locationName() }}</span>\n </div>\n @if (address()) {\n <div class=\"ax-conversation-loc__addr\">{{ address() }}</div>\n }\n <div class=\"ax-conversation-loc__meta\">\n <span class=\"ax-conversation-loc__coords\">{{ coordinatesText() }}</span>\n </div>\n </div>\n <a class=\"ax-conversation-loc__action\" [href]=\"mapsUrl()\" target=\"_blank\" rel=\"noopener noreferrer\">\n <span>Open in Maps</span>\n <i class=\"fa-light fa-arrow-up-right-from-square\" aria-hidden=\"true\"></i>\n </a>\n </div>\n `, isInline: true, styles: [\":host{display:block}:host{max-width:100%}.ax-conversation-loc{display:flex;flex-direction:column;width:100%;max-width:min(100%,20rem);border-radius:var(--ax-sys-border-radius, .5rem);border:1px solid rgb(var(--ax-sys-color-border-light-surface));overflow:hidden;background:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface))}.ax-conversation-loc__map{position:relative;height:min(28dvh,10rem);width:100%;overflow:hidden}@container conversation (min-width: 480px){.ax-conversation-loc__map{height:10.5rem}}.ax-conversation-loc__map ::ng-deep ax-map{display:block;height:100%;width:100%}.ax-conversation-loc__body{padding:.625rem .75rem .5rem;display:flex;flex-direction:column;gap:.25rem}.ax-conversation-loc__title{display:flex;align-items:center;font-size:.875rem;font-weight:600;line-height:1.2}.ax-conversation-loc__title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ax-conversation-loc__addr{font-size:.75rem;opacity:.78;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ax-conversation-loc__meta{display:flex;align-items:center;gap:.5rem}.ax-conversation-loc__coords{font-size:.6875rem;opacity:.62;font-variant-numeric:tabular-nums;font-family:ui-monospace,monospace}.ax-conversation-loc__action{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:2.75rem;padding:.5rem .75rem;border-top:1px solid rgb(var(--ax-sys-color-border-light-surface));background:rgb(var(--ax-sys-color-light-surface));font-size:.8125rem;font-weight:500;color:rgb(var(--ax-sys-color-primary-600));text-decoration:none;touch-action:manipulation;transition:background .15s ease,color .15s ease}@media (hover: hover){.ax-conversation-loc__action:hover{background:rgb(var(--ax-sys-color-primary-lightest-surface));color:rgb(var(--ax-sys-color-primary-700))}}.ax-conversation-loc__action i{font-size:.75rem;opacity:.85}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXMapModule }, { kind: \"component\", type: i1.AXMapComponent, selector: \"ax-map\", inputs: [\"zoomLevel\", \"latitude\", \"longitude\", \"maxMarker\", \"maxPolygon\", \"hasDraw\", \"hasLocator\", \"fitToDraw\", \"limitDraw\", \"addPoiToFitDraw\", \"addMarkerOnTap\", \"readonly\", \"disabled\", \"markerPlace\", \"locatePlace\", \"poiMinZoom\", \"markers\", \"polygons\", \"pois\"], outputs: [\"zoomLevelChange\", \"latitudeChange\", \"longitudeChange\", \"onMarkerAdded\", \"onMarkerClick\", \"onMarkerChanged\", \"onPolygonAdded\", \"onPolygonClick\", \"onPolygonChanged\", \"onLocationFound\", \"onPoiChanged\", \"onPoiAdded\", \"onMapReady\", \"onLoadError\"] }, { 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: AXConversationLocationRendererComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-conversation-location-renderer', imports: [CommonModule, AXMapModule, AXConversationMessageRendererStateComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `\n <div class=\"ax-conversation-loc\">\n <ax-conversation-message-renderer-state [rendererState]=\"rendererState()\" [message]=\"message()\" />\n <div class=\"ax-conversation-loc__map\">\n <ax-map\n [latitude]=\"latitude()\"\n [longitude]=\"longitude()\"\n [zoomLevel]=\"15\"\n [markers]=\"markers()\"\n [hasLocator]=\"false\"\n [hasDraw]=\"false\"\n ></ax-map>\n </div>\n <div class=\"ax-conversation-loc__body\">\n <div class=\"ax-conversation-loc__title\">\n <span class=\"ax-conversation-loc__title-text\">{{ locationName() }}</span>\n </div>\n @if (address()) {\n <div class=\"ax-conversation-loc__addr\">{{ address() }}</div>\n }\n <div class=\"ax-conversation-loc__meta\">\n <span class=\"ax-conversation-loc__coords\">{{ coordinatesText() }}</span>\n </div>\n </div>\n <a class=\"ax-conversation-loc__action\" [href]=\"mapsUrl()\" target=\"_blank\" rel=\"noopener noreferrer\">\n <span>Open in Maps</span>\n <i class=\"fa-light fa-arrow-up-right-from-square\" aria-hidden=\"true\"></i>\n </a>\n </div>\n `, styles: [\":host{display:block}:host{max-width:100%}.ax-conversation-loc{display:flex;flex-direction:column;width:100%;max-width:min(100%,20rem);border-radius:var(--ax-sys-border-radius, .5rem);border:1px solid rgb(var(--ax-sys-color-border-light-surface));overflow:hidden;background:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface))}.ax-conversation-loc__map{position:relative;height:min(28dvh,10rem);width:100%;overflow:hidden}@container conversation (min-width: 480px){.ax-conversation-loc__map{height:10.5rem}}.ax-conversation-loc__map ::ng-deep ax-map{display:block;height:100%;width:100%}.ax-conversation-loc__body{padding:.625rem .75rem .5rem;display:flex;flex-direction:column;gap:.25rem}.ax-conversation-loc__title{display:flex;align-items:center;font-size:.875rem;font-weight:600;line-height:1.2}.ax-conversation-loc__title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ax-conversation-loc__addr{font-size:.75rem;opacity:.78;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ax-conversation-loc__meta{display:flex;align-items:center;gap:.5rem}.ax-conversation-loc__coords{font-size:.6875rem;opacity:.62;font-variant-numeric:tabular-nums;font-family:ui-monospace,monospace}.ax-conversation-loc__action{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:2.75rem;padding:.5rem .75rem;border-top:1px solid rgb(var(--ax-sys-color-border-light-surface));background:rgb(var(--ax-sys-color-light-surface));font-size:.8125rem;font-weight:500;color:rgb(var(--ax-sys-color-primary-600));text-decoration:none;touch-action:manipulation;transition:background .15s ease,color .15s ease}@media (hover: hover){.ax-conversation-loc__action:hover{background:rgb(var(--ax-sys-color-primary-lightest-surface));color:rgb(var(--ax-sys-color-primary-700))}}.ax-conversation-loc__action i{font-size:.75rem;opacity:.85}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYXRpb24tcmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jb252ZXJzYXRpb24vc3JjL2xpYi9wbHVnaW5zL21lc3NhZ2UtbGlzdC9jb21wb25lbnRzL2xvY2F0aW9uLXJlbmRlcmVyL2xvY2F0aW9uLXJlbmRlcmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHNUYsT0FBTyxFQUFFLDhDQUE4QyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDaEgsT0FBTyxFQUFFLDJDQUEyQyxFQUFFLE1BQU0sNENBQTRDLENBQUM7OztBQXVKekcsTUFBTSxPQUFPLHVDQUF3QyxTQUFRLDhDQUE4QztJQXJKM0c7O1FBc0ptQixrQkFBYSxHQUFHLE1BQU0sQ0FBNEMsTUFBTSx5REFBQyxDQUFDO1FBRWxGLFlBQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxrREFBeUIsQ0FBQztRQUNsRCxrQkFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZDLGNBQWMsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTTtZQUNyQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRTtTQUNuQyxDQUFDLHlEQUFDLENBQUM7UUFDSyxZQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUF3QyxtREFBQyxDQUFDO1FBRWxGLGFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsb0RBQUMsQ0FBQztRQUNuRCxjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLHFEQUFDLENBQUM7UUFDckQsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksSUFBSSxVQUFVLHdEQUFDLENBQUM7UUFDakUsWUFBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxtREFBQyxDQUFDO1FBRWpELG9CQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN2QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEMsT0FBTyxHQUFHLEdBQUcsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUMxQixDQUFDLDJEQUFDLENBQUM7UUFFTSxZQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUMvQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDNUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzdCLE9BQU8saUNBQWlDLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN2RCxDQUFDLG1EQUFDLENBQUM7UUFXTSxZQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2hDO2dCQUNFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUN6QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDM0IsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQzFCLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixnQkFBZ0IsRUFBRSxJQUFJO2FBQ3ZCO1NBQ0YsbURBQUMsQ0FBQztLQUNKO0lBbEJDLElBQUk7UUFDRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDakMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3BDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN0QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDNUIsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuRCxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxLQUFLLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzlELENBQUM7OEdBbENVLHVDQUF1QztrR0FBdkMsdUNBQXVDLDZQQWpKeEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkJULCs1REEvQlMsWUFBWSw4QkFBRSxXQUFXLHVtQkFBRSwyQ0FBMkM7OzJGQW1KckUsdUNBQXVDO2tCQXJKbkQsU0FBUzsrQkFDRSxtQ0FBbUMsV0FDcEMsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLDJDQUEyQyxDQUFDLG1CQUNoRSx1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZCVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYTWFwTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL21hcCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgQVhDb252ZXJzYXRpb25Mb2NhdGlvblBheWxvYWQsIEFYQ29udmVyc2F0aW9uTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgdHlwZSB7IEFYQ29udmVyc2F0aW9uTWVzc2FnZVJlbmRlcmVyQ29udGVudFN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcmVnaXN0cmllcy9tZXNzYWdlLXJlbmRlcmVyLnJlZ2lzdHJ5JztcbmltcG9ydCB7IEFYQ29udmVyc2F0aW9uTWVzc2FnZVJlbmRlcmVyQ29weUhvc3RDb21wb25lbnQgfSBmcm9tICcuLi9zaGFyZWQvbWVzc2FnZS1yZW5kZXJlci1jb3B5LWhvc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEFYQ29udmVyc2F0aW9uTWVzc2FnZVJlbmRlcmVyU3RhdGVDb21wb25lbnQgfSBmcm9tICcuLi9zaGFyZWQvbWVzc2FnZS1yZW5kZXJlci1zdGF0ZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1jb252ZXJzYXRpb24tbG9jYXRpb24tcmVuZGVyZXInLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBBWE1hcE1vZHVsZSwgQVhDb252ZXJzYXRpb25NZXNzYWdlUmVuZGVyZXJTdGF0ZUNvbXBvbmVudF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJheC1jb252ZXJzYXRpb24tbG9jXCI+XG4gICAgICA8YXgtY29udmVyc2F0aW9uLW1lc3NhZ2UtcmVuZGVyZXItc3RhdGUgW3JlbmRlcmVyU3RhdGVdPVwicmVuZGVyZXJTdGF0ZSgpXCIgW21lc3NhZ2VdPVwibWVzc2FnZSgpXCIgLz5cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1jb252ZXJzYXRpb24tbG9jX19tYXBcIj5cbiAgICAgICAgPGF4LW1hcFxuICAgICAgICAgIFtsYXRpdHVkZV09XCJsYXRpdHVkZSgpXCJcbiAgICAgICAgICBbbG9uZ2l0dWRlXT1cImxvbmdpdHVkZSgpXCJcbiAgICAgICAgICBbem9vbUxldmVsXT1cIjE1XCJcbiAgICAgICAgICBbbWFya2Vyc109XCJtYXJrZXJzKClcIlxuICAgICAgICAgIFtoYXNMb2NhdG9yXT1cImZhbHNlXCJcbiAgICAgICAgICBbaGFzRHJhd109XCJmYWxzZVwiXG4gICAgICAgID48L2F4LW1hcD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImF4LWNvbnZlcnNhdGlvbi1sb2NfX2JvZHlcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNvbnZlcnNhdGlvbi1sb2NfX3RpdGxlXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1jb252ZXJzYXRpb24tbG9jX190aXRsZS10ZXh0XCI+e3sgbG9jYXRpb25OYW1lKCkgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBAaWYgKGFkZHJlc3MoKSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jb252ZXJzYXRpb24tbG9jX19hZGRyXCI+e3sgYWRkcmVzcygpIH19PC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNvbnZlcnNhdGlvbi1sb2NfX21ldGFcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LWNvbnZlcnNhdGlvbi1sb2NfX2Nvb3Jkc1wiPnt7IGNvb3JkaW5hdGVzVGV4dCgpIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGEgY2xhc3M9XCJheC1jb252ZXJzYXRpb24tbG9jX19hY3Rpb25cIiBbaHJlZl09XCJtYXBzVXJsKClcIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCI+XG4gICAgICAgIDxzcGFuPk9wZW4gaW4gTWFwczwvc3Bhbj5cbiAgICAgICAgPGkgY2xhc3M9XCJmYS1saWdodCBmYS1hcnJvdy11cC1yaWdodC1mcm9tLXNxdWFyZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgOmhvc3Qge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5heC1jb252ZXJzYXRpb24tbG9jIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogbWluKDEwMCUsIDIwcmVtKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYXgtc3lzLWJvcmRlci1yYWRpdXMsIDAuNXJlbSk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYih2YXIoLS1heC1zeXMtY29sb3ItYm9yZGVyLWxpZ2h0LXN1cmZhY2UpKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiKHZhcigtLWF4LXN5cy1jb2xvci1zdXJmYWNlKSk7XG4gICAgICAgIGNvbG9yOiByZ2IodmFyKC0tYXgtc3lzLWNvbG9yLW9uLXN1cmZhY2UpKTtcbiAgICAgIH1cblxuICAgICAgLmF4LWNvbnZlcnNhdGlvbi1sb2NfX21hcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiBtaW4oMjhkdmgsIDEwcmVtKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG5cbiAgICAgIEBjb250YWluZXIgY29udmVyc2F0aW9uIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIC5heC1jb252ZXJzYXRpb24tbG9jX19tYXAge1xuICAgICAgICAgIGhlaWdodDogMTAuNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYXgtY29udmVyc2F0aW9uLWxvY19fbWFwIDo6bmctZGVlcCBheC1tYXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIC5heC1jb252ZXJzYXRpb24tbG9jX19ib2R5IHtcbiAgICAgICAgcGFkZGluZzogMC42MjVyZW0gMC43NXJlbSAwLjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMC4yNXJlbTtcbiAgICAgIH1cblxuICAgICAgLmF4LWNvbnZlcnNhdGlvbi1sb2NfX3RpdGxlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIH1cblxuICAgICAgLmF4LWNvbnZlcnNhdGlvbi1sb2NfX3RpdGxlLXRleHQge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgLmF4LWNvbnZlcnNhdGlvbi1sb2NfX2FkZHIge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIG9wYWNpdHk6IDAuNzg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgfVxuXG4gICAgICAuYXgtY29udmVyc2F0aW9uLWxvY19fbWV0YSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMC41cmVtO1xuICAgICAgfVxuXG4gICAgICAuYXgtY29udmVyc2F0aW9uLWxvY19fY29vcmRzIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgICAgIG9wYWNpdHk6IDAuNjI7XG4gICAgICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgICAgIH1cblxuICAgICAgLmF4LWNvbnZlcnNhdGlvbi1sb2NfX2FjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIuNzVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiKHZhcigtLWF4LXN5cy1jb2xvci1ib3JkZXItbGlnaHQtc3VyZmFjZSkpO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2IodmFyKC0tYXgtc3lzLWNvbG9yLWxpZ2h0LXN1cmZhY2UpKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGNvbG9yOiByZ2IodmFyKC0tYXgtc3lzLWNvbG9yLXByaW1hcnktNjAwKSk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgYmFja2dyb3VuZCAwLjE1cyBlYXNlLFxuICAgICAgICAgIGNvbG9yIDAuMTVzIGVhc2U7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIC5heC1jb252ZXJzYXRpb24tbG9jX19hY3Rpb246aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYih2YXIoLS1heC1zeXMtY29sb3ItcHJpbWFyeS1saWdodGVzdC1zdXJmYWNlKSk7XG4gICAgICAgICAgY29sb3I6IHJnYih2YXIoLS1heC1zeXMtY29sb3ItcHJpbWFyeS03MDApKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYXgtY29udmVyc2F0aW9uLWxvY19fYWN0aW9uIGkge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIG9wYWNpdHk6IDAuODU7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhDb252ZXJzYXRpb25Mb2NhdGlvblJlbmRlcmVyQ29tcG9uZW50IGV4dGVuZHMgQVhDb252ZXJzYXRpb25NZXNzYWdlUmVuZGVyZXJDb3B5SG9zdENvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbnRlbnRTdGF0ZSA9IHNpZ25hbDxBWENvbnZlcnNhdGlvbk1lc3NhZ2VSZW5kZXJlckNvbnRlbnRTdGF0ZT4oJ25vbmUnKTtcblxuICByZWFkb25seSBtZXNzYWdlID0gaW5wdXQucmVxdWlyZWQ8QVhDb252ZXJzYXRpb25NZXNzYWdlPigpO1xuICByZWFkb25seSByZW5kZXJlclN0YXRlID0gY29tcHV0ZWQoKCkgPT4gKHtcbiAgICBkZWxpdmVyeVN0YXR1czogdGhpcy5tZXNzYWdlKCkuc3RhdHVzLFxuICAgIGNvbnRlbnRTdGF0ZTogdGhpcy5fY29udGVudFN0YXRlKCksXG4gIH0pKTtcbiAgcmVhZG9ubHkgcGF5bG9hZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMubWVzc2FnZSgpLnBheWxvYWQgYXMgQVhDb252ZXJzYXRpb25Mb2NhdGlvblBheWxvYWQpO1xuXG4gIHJlYWRvbmx5IGxhdGl0dWRlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wYXlsb2FkKCkubGF0aXR1ZGUpO1xuICByZWFkb25seSBsb25naXR1ZGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnBheWxvYWQoKS5sb25naXR1ZGUpO1xuICByZWFkb25seSBsb2NhdGlvbk5hbWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnBheWxvYWQoKS5uYW1lIHx8ICdMb2NhdGlvbicpO1xuICByZWFkb25seSBhZGRyZXNzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wYXlsb2FkKCkuYWRkcmVzcyk7XG5cbiAgcmVhZG9ubHkgY29vcmRpbmF0ZXNUZXh0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGxhdCA9IHRoaXMubGF0aXR1ZGUoKS50b0ZpeGVkKDUpO1xuICAgIGNvbnN0IGxuZyA9IHRoaXMubG9uZ2l0dWRlKCkudG9GaXhlZCg1KTtcbiAgICByZXR1cm4gYCR7bGF0fSwgJHtsbmd9YDtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgbWFwc1VybCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBsYXQgPSB0aGlzLmxhdGl0dWRlKCk7XG4gICAgY29uc3QgbG5nID0gdGhpcy5sb25naXR1ZGUoKTtcbiAgICByZXR1cm4gYGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcz9xPSR7bGF0fSwke2xuZ31gO1xuICB9KTtcblxuICBjb3B5KCk6IHN0cmluZyB7XG4gICAgY29uc3QgbmFtZSA9IHRoaXMubG9jYXRpb25OYW1lKCk7XG4gICAgY29uc3QgYWRkciA9IHRoaXMuYWRkcmVzcygpPy50cmltKCk7XG4gICAgY29uc3QgY29vcmRzID0gdGhpcy5jb29yZGluYXRlc1RleHQoKTtcbiAgICBjb25zdCBtYXBzID0gdGhpcy5tYXBzVXJsKCk7XG4gICAgY29uc3QgbGluZXMgPSBbYWRkciwgY29vcmRzLCBtYXBzXS5maWx0ZXIoQm9vbGVhbik7XG4gICAgcmV0dXJuIGxpbmVzLmxlbmd0aCA/IGAke25hbWV9XFxuJHtsaW5lcy5qb2luKCdcXG4nKX1gIDogbmFtZTtcbiAgfVxuXG4gIHJlYWRvbmx5IG1hcmtlcnMgPSBjb21wdXRlZCgoKSA9PiBbXG4gICAge1xuICAgICAgbGF0aXR1ZGU6IHRoaXMubGF0aXR1ZGUoKSxcbiAgICAgIGxvbmdpdHVkZTogdGhpcy5sb25naXR1ZGUoKSxcbiAgICAgIHBvcHVwOiB0aGlzLmxvY2F0aW9uTmFtZSgpLFxuICAgICAgcG9wdXBPcGVuOiBmYWxzZSxcbiAgICAgIHBvcHVwQ2xvc2VCdXR0b246IHRydWUsXG4gICAgfSxcbiAgXSk7XG59XG4iXX0="],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ function formatFileSize(bytes) {
2
+ if (bytes < 1024)
3
+ return `${bytes} B`;
4
+ if (bytes < 1024 * 1024)
5
+ return `${(bytes / 1024).toFixed(1)} KB`;
6
+ if (bytes < 1024 * 1024 * 1024)
7
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
8
+ return `${(bytes / (1024 * 1024 * 1024)).toFixed(1)} GB`;
9
+ }
10
+ function formatDuration(seconds) {
11
+ const mins = Math.floor(seconds / 60);
12
+ const secs = Math.floor(seconds % 60);
13
+ return `${mins}:${secs.toString().padStart(2, '0')}`;
14
+ }
15
+
16
+ export { formatFileSize as a, formatDuration as f };
17
+ //# sourceMappingURL=acorex-components-conversation-media-formatters-DV3wEEno.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-components-conversation-media-formatters-DV3wEEno.mjs","sources":["../tmp-esm2022/conversation/lib/plugins/composer/components/shared/media-formatters.js"],"sourcesContent":["export function formatFileSize(bytes) {\n if (bytes < 1024)\n return `${bytes} B`;\n if (bytes < 1024 * 1024)\n return `${(bytes / 1024).toFixed(1)} KB`;\n if (bytes < 1024 * 1024 * 1024)\n return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;\n return `${(bytes / (1024 * 1024 * 1024)).toFixed(1)} GB`;\n}\nexport function formatDuration(seconds) {\n const mins = Math.floor(seconds / 60);\n const secs = Math.floor(seconds % 60);\n return `${mins}:${secs.toString().padStart(2, '0')}`;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtZm9ybWF0dGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29udmVyc2F0aW9uL3NyYy9saWIvcGx1Z2lucy9jb21wb3Nlci9jb21wb25lbnRzL3NoYXJlZC9tZWRpYS1mb3JtYXR0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxjQUFjLENBQUMsS0FBYTtJQUMxQyxJQUFJLEtBQUssR0FBRyxJQUFJO1FBQUUsT0FBTyxHQUFHLEtBQUssSUFBSSxDQUFDO0lBQ3RDLElBQUksS0FBSyxHQUFHLElBQUksR0FBRyxJQUFJO1FBQUUsT0FBTyxHQUFHLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2xFLElBQUksS0FBSyxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSTtRQUFFLE9BQU8sR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2xGLE9BQU8sR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUMzRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxPQUFlO0lBQzVDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLE9BQU8sR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztBQUN2RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEZpbGVTaXplKGJ5dGVzOiBudW1iZXIpOiBzdHJpbmcge1xuICBpZiAoYnl0ZXMgPCAxMDI0KSByZXR1cm4gYCR7Ynl0ZXN9IEJgO1xuICBpZiAoYnl0ZXMgPCAxMDI0ICogMTAyNCkgcmV0dXJuIGAkeyhieXRlcyAvIDEwMjQpLnRvRml4ZWQoMSl9IEtCYDtcbiAgaWYgKGJ5dGVzIDwgMTAyNCAqIDEwMjQgKiAxMDI0KSByZXR1cm4gYCR7KGJ5dGVzIC8gKDEwMjQgKiAxMDI0KSkudG9GaXhlZCgxKX0gTUJgO1xuICByZXR1cm4gYCR7KGJ5dGVzIC8gKDEwMjQgKiAxMDI0ICogMTAyNCkpLnRvRml4ZWQoMSl9IEdCYDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdER1cmF0aW9uKHNlY29uZHM6IG51bWJlcik6IHN0cmluZyB7XG4gIGNvbnN0IG1pbnMgPSBNYXRoLmZsb29yKHNlY29uZHMgLyA2MCk7XG4gIGNvbnN0IHNlY3MgPSBNYXRoLmZsb29yKHNlY29uZHMgJSA2MCk7XG4gIHJldHVybiBgJHttaW5zfToke3NlY3MudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfWA7XG59XG4iXX0="],"names":[],"mappings":"AAAO,SAAS,cAAc,CAAC,KAAK,EAAE;AACtC,IAAI,IAAI,KAAK,GAAG,IAAI;AACpB,QAAQ,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;AAC3B,IAAI,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI;AAC3B,QAAQ,OAAO,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAChD,IAAI,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;AAClC,QAAQ,OAAO,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACzD,IAAI,OAAO,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAC5D;AACO,SAAS,cAAc,CAAC,OAAO,EAAE;AACxC,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;AACzC,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;AACzC,IAAI,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACxD;;;;"}
@@ -0,0 +1,140 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { input, computed, ChangeDetectionStrategy, Component } from '@angular/core';
4
+ import { f as formatMediaDuration } from './acorex-components-conversation-format-media-DUD4vA6F.mjs';
5
+
6
+ const AX_CONVERSATION_ICON_BY_TYPE = {
7
+ video: 'fa-light fa-video',
8
+ audio: 'fa-light fa-music',
9
+ voice: 'fa-light fa-microphone',
10
+ };
11
+ class AXConversationMediaPlaybackInfoBarBannerComponent {
12
+ constructor() {
13
+ this.message = input.required(...(ngDevMode ? [{ debugName: "message" }] : []));
14
+ this.title = input('', ...(ngDevMode ? [{ debugName: "title" }] : []));
15
+ this.currentTime = input(0, ...(ngDevMode ? [{ debugName: "currentTime" }] : []));
16
+ this.duration = input(0, ...(ngDevMode ? [{ debugName: "duration" }] : []));
17
+ this.isPlaying = input(false, ...(ngDevMode ? [{ debugName: "isPlaying" }] : []));
18
+ this.onTogglePlay = input(undefined, ...(ngDevMode ? [{ debugName: "onTogglePlay" }] : []));
19
+ this.playbackSpeed = input(1, ...(ngDevMode ? [{ debugName: "playbackSpeed" }] : []));
20
+ this.onCycleSpeed = input(undefined, ...(ngDevMode ? [{ debugName: "onCycleSpeed" }] : []));
21
+ this.showSpeedControl = input(false, ...(ngDevMode ? [{ debugName: "showSpeedControl" }] : []));
22
+ this.iconClass = computed(() => AX_CONVERSATION_ICON_BY_TYPE[this.message().type] ?? 'fa-light fa-circle-play', ...(ngDevMode ? [{ debugName: "iconClass" }] : []));
23
+ this.resolvedTitle = computed(() => this.title()?.trim() || 'Media', ...(ngDevMode ? [{ debugName: "resolvedTitle" }] : []));
24
+ this.progressPercent = computed(() => {
25
+ const dur = this.duration();
26
+ if (dur <= 0) {
27
+ return 0;
28
+ }
29
+ return Math.min((Math.max(0, this.currentTime()) / dur) * 100, 100);
30
+ }, ...(ngDevMode ? [{ debugName: "progressPercent" }] : []));
31
+ this.timeLabel = computed(() => {
32
+ const current = this.currentTime() || 0;
33
+ const dur = this.duration() || 0;
34
+ return `${formatMediaDuration(current)} / ${formatMediaDuration(dur)}`;
35
+ }, ...(ngDevMode ? [{ debugName: "timeLabel" }] : []));
36
+ }
37
+ onTogglePlayClick() {
38
+ this.onTogglePlay()?.();
39
+ }
40
+ onCycleSpeedClick() {
41
+ this.onCycleSpeed()?.();
42
+ }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationMediaPlaybackInfoBarBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXConversationMediaPlaybackInfoBarBannerComponent, isStandalone: true, selector: "ax-conversation-media-playback-info-bar-banner", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, currentTime: { classPropertyName: "currentTime", publicName: "currentTime", isSignal: true, isRequired: false, transformFunction: null }, duration: { classPropertyName: "duration", publicName: "duration", isSignal: true, isRequired: false, transformFunction: null }, isPlaying: { classPropertyName: "isPlaying", publicName: "isPlaying", isSignal: true, isRequired: false, transformFunction: null }, onTogglePlay: { classPropertyName: "onTogglePlay", publicName: "onTogglePlay", isSignal: true, isRequired: false, transformFunction: null }, playbackSpeed: { classPropertyName: "playbackSpeed", publicName: "playbackSpeed", isSignal: true, isRequired: false, transformFunction: null }, onCycleSpeed: { classPropertyName: "onCycleSpeed", publicName: "onCycleSpeed", isSignal: true, isRequired: false, transformFunction: null }, showSpeedControl: { classPropertyName: "showSpeedControl", publicName: "showSpeedControl", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
45
+ <div class="ax-conversation-playback-banner">
46
+ <div class="ax-conversation-playback-banner__row">
47
+ <button
48
+ type="button"
49
+ class="ax-conversation-playback-banner__play"
50
+ (click)="onTogglePlayClick()"
51
+ [attr.aria-label]="isPlaying() ? 'Pause' : 'Play'"
52
+ >
53
+ <i class="fa-solid" [class.fa-pause]="isPlaying()" [class.fa-play]="!isPlaying()"></i>
54
+ </button>
55
+
56
+ <div class="ax-conversation-playback-banner__main">
57
+ <div class="ax-conversation-playback-banner__meta-row">
58
+ <span class="ax-conversation-playback-banner__type-icon" aria-hidden="true">
59
+ <i [class]="iconClass()"></i>
60
+ </span>
61
+ <span class="ax-conversation-playback-banner__title">{{ resolvedTitle() }}</span>
62
+ <span class="ax-conversation-playback-banner__time">{{ timeLabel() }}</span>
63
+ </div>
64
+ <div
65
+ class="ax-conversation-playback-banner__track"
66
+ role="progressbar"
67
+ [attr.aria-valuenow]="progressPercent()"
68
+ aria-valuemin="0"
69
+ aria-valuemax="100"
70
+ [attr.aria-label]="timeLabel()"
71
+ >
72
+ <span class="ax-conversation-playback-banner__fill" [style.width.%]="progressPercent()"></span>
73
+ </div>
74
+ </div>
75
+
76
+ @if (showSpeedControl()) {
77
+ <button
78
+ type="button"
79
+ class="ax-conversation-playback-banner__speed"
80
+ (click)="onCycleSpeedClick()"
81
+ [attr.aria-label]="'Playback speed ' + playbackSpeed() + 'x'"
82
+ >
83
+ {{ playbackSpeed() }}x
84
+ </button>
85
+ }
86
+ </div>
87
+ </div>
88
+ `, isInline: true, styles: [":host{display:block;width:100%;color:rgb(var(--ax-sys-color-on-primary-lightest-surface))}.ax-conversation-playback-banner{width:100%;min-width:0}.ax-conversation-playback-banner__row{display:flex;align-items:center;gap:.625rem;min-width:0}.ax-conversation-playback-banner__play{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;padding-inline-start:.1rem;border:none;border-radius:50%;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));font-size:.75rem;cursor:pointer;touch-action:manipulation;transition:background-color .15s ease}@media (hover: hover){.ax-conversation-playback-banner__play:hover{background:rgb(var(--ax-sys-color-primary-600))}}.ax-conversation-playback-banner__play:focus-visible{outline:2px solid rgb(var(--ax-sys-color-primary-700));outline-offset:2px}.ax-conversation-playback-banner__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.375rem}.ax-conversation-playback-banner__meta-row{display:flex;align-items:center;gap:.375rem;min-width:0}.ax-conversation-playback-banner__type-icon{flex-shrink:0;font-size:.8125rem;opacity:.75}.ax-conversation-playback-banner__title{flex:1;min-width:0;font-size:.8125rem;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ax-conversation-playback-banner__time{flex-shrink:0;font-size:.6875rem;font-variant-numeric:tabular-nums;opacity:.8}.ax-conversation-playback-banner__track{position:relative;width:100%;height:3px;border-radius:999px;overflow:hidden;background:rgba(var(--ax-sys-color-primary-500),.2)}.ax-conversation-playback-banner__fill{position:absolute;inset-block:0;inset-inline-start:0;width:0;border-radius:inherit;background:rgb(var(--ax-sys-color-primary-600));transition:width .12s linear}.ax-conversation-playback-banner__speed{flex-shrink:0;min-width:2.5rem;height:1.75rem;padding:0 .375rem;border:1px solid rgba(var(--ax-sys-color-primary-600),.45);border-radius:999px;background:transparent;color:rgb(var(--ax-sys-color-primary-700));font-size:.6875rem;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer;touch-action:manipulation;transition:background-color .15s ease,border-color .15s ease}@media (hover: hover){.ax-conversation-playback-banner__speed:hover{background:rgba(var(--ax-sys-color-primary-500),.12)}}.ax-conversation-playback-banner__speed:focus-visible{outline:2px solid rgb(var(--ax-sys-color-primary-500));outline-offset:2px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
89
+ }
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationMediaPlaybackInfoBarBannerComponent, decorators: [{
91
+ type: Component,
92
+ args: [{ selector: 'ax-conversation-media-playback-info-bar-banner', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
93
+ <div class="ax-conversation-playback-banner">
94
+ <div class="ax-conversation-playback-banner__row">
95
+ <button
96
+ type="button"
97
+ class="ax-conversation-playback-banner__play"
98
+ (click)="onTogglePlayClick()"
99
+ [attr.aria-label]="isPlaying() ? 'Pause' : 'Play'"
100
+ >
101
+ <i class="fa-solid" [class.fa-pause]="isPlaying()" [class.fa-play]="!isPlaying()"></i>
102
+ </button>
103
+
104
+ <div class="ax-conversation-playback-banner__main">
105
+ <div class="ax-conversation-playback-banner__meta-row">
106
+ <span class="ax-conversation-playback-banner__type-icon" aria-hidden="true">
107
+ <i [class]="iconClass()"></i>
108
+ </span>
109
+ <span class="ax-conversation-playback-banner__title">{{ resolvedTitle() }}</span>
110
+ <span class="ax-conversation-playback-banner__time">{{ timeLabel() }}</span>
111
+ </div>
112
+ <div
113
+ class="ax-conversation-playback-banner__track"
114
+ role="progressbar"
115
+ [attr.aria-valuenow]="progressPercent()"
116
+ aria-valuemin="0"
117
+ aria-valuemax="100"
118
+ [attr.aria-label]="timeLabel()"
119
+ >
120
+ <span class="ax-conversation-playback-banner__fill" [style.width.%]="progressPercent()"></span>
121
+ </div>
122
+ </div>
123
+
124
+ @if (showSpeedControl()) {
125
+ <button
126
+ type="button"
127
+ class="ax-conversation-playback-banner__speed"
128
+ (click)="onCycleSpeedClick()"
129
+ [attr.aria-label]="'Playback speed ' + playbackSpeed() + 'x'"
130
+ >
131
+ {{ playbackSpeed() }}x
132
+ </button>
133
+ }
134
+ </div>
135
+ </div>
136
+ `, styles: [":host{display:block;width:100%;color:rgb(var(--ax-sys-color-on-primary-lightest-surface))}.ax-conversation-playback-banner{width:100%;min-width:0}.ax-conversation-playback-banner__row{display:flex;align-items:center;gap:.625rem;min-width:0}.ax-conversation-playback-banner__play{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;padding-inline-start:.1rem;border:none;border-radius:50%;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));font-size:.75rem;cursor:pointer;touch-action:manipulation;transition:background-color .15s ease}@media (hover: hover){.ax-conversation-playback-banner__play:hover{background:rgb(var(--ax-sys-color-primary-600))}}.ax-conversation-playback-banner__play:focus-visible{outline:2px solid rgb(var(--ax-sys-color-primary-700));outline-offset:2px}.ax-conversation-playback-banner__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.375rem}.ax-conversation-playback-banner__meta-row{display:flex;align-items:center;gap:.375rem;min-width:0}.ax-conversation-playback-banner__type-icon{flex-shrink:0;font-size:.8125rem;opacity:.75}.ax-conversation-playback-banner__title{flex:1;min-width:0;font-size:.8125rem;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ax-conversation-playback-banner__time{flex-shrink:0;font-size:.6875rem;font-variant-numeric:tabular-nums;opacity:.8}.ax-conversation-playback-banner__track{position:relative;width:100%;height:3px;border-radius:999px;overflow:hidden;background:rgba(var(--ax-sys-color-primary-500),.2)}.ax-conversation-playback-banner__fill{position:absolute;inset-block:0;inset-inline-start:0;width:0;border-radius:inherit;background:rgb(var(--ax-sys-color-primary-600));transition:width .12s linear}.ax-conversation-playback-banner__speed{flex-shrink:0;min-width:2.5rem;height:1.75rem;padding:0 .375rem;border:1px solid rgba(var(--ax-sys-color-primary-600),.45);border-radius:999px;background:transparent;color:rgb(var(--ax-sys-color-primary-700));font-size:.6875rem;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer;touch-action:manipulation;transition:background-color .15s ease,border-color .15s ease}@media (hover: hover){.ax-conversation-playback-banner__speed:hover{background:rgba(var(--ax-sys-color-primary-500),.12)}}.ax-conversation-playback-banner__speed:focus-visible{outline:2px solid rgb(var(--ax-sys-color-primary-500));outline-offset:2px}\n"] }]
137
+ }] });
138
+
139
+ export { AXConversationMediaPlaybackInfoBarBannerComponent };
140
+ //# sourceMappingURL=acorex-components-conversation-media-playback-info-bar-banner.component-a7OSpfB1.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-components-conversation-media-playback-info-bar-banner.component-a7OSpfB1.mjs","sources":["../tmp-esm2022/conversation/lib/plugins/message-list/components/shared/media-playback-info-bar-banner.component.js"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { formatMediaDuration } from './format-media';\nimport * as i0 from \"@angular/core\";\nconst AX_CONVERSATION_ICON_BY_TYPE = {\n video: 'fa-light fa-video',\n audio: 'fa-light fa-music',\n voice: 'fa-light fa-microphone',\n};\nexport class AXConversationMediaPlaybackInfoBarBannerComponent {\n constructor() {\n this.message = input.required(...(ngDevMode ? [{ debugName: \"message\" }] : []));\n this.title = input('', ...(ngDevMode ? [{ debugName: \"title\" }] : []));\n this.currentTime = input(0, ...(ngDevMode ? [{ debugName: \"currentTime\" }] : []));\n this.duration = input(0, ...(ngDevMode ? [{ debugName: \"duration\" }] : []));\n this.isPlaying = input(false, ...(ngDevMode ? [{ debugName: \"isPlaying\" }] : []));\n this.onTogglePlay = input(undefined, ...(ngDevMode ? [{ debugName: \"onTogglePlay\" }] : []));\n this.playbackSpeed = input(1, ...(ngDevMode ? [{ debugName: \"playbackSpeed\" }] : []));\n this.onCycleSpeed = input(undefined, ...(ngDevMode ? [{ debugName: \"onCycleSpeed\" }] : []));\n this.showSpeedControl = input(false, ...(ngDevMode ? [{ debugName: \"showSpeedControl\" }] : []));\n this.iconClass = computed(() => AX_CONVERSATION_ICON_BY_TYPE[this.message().type] ?? 'fa-light fa-circle-play', ...(ngDevMode ? [{ debugName: \"iconClass\" }] : []));\n this.resolvedTitle = computed(() => this.title()?.trim() || 'Media', ...(ngDevMode ? [{ debugName: \"resolvedTitle\" }] : []));\n this.progressPercent = computed(() => {\n const dur = this.duration();\n if (dur <= 0) {\n return 0;\n }\n return Math.min((Math.max(0, this.currentTime()) / dur) * 100, 100);\n }, ...(ngDevMode ? [{ debugName: \"progressPercent\" }] : []));\n this.timeLabel = computed(() => {\n const current = this.currentTime() || 0;\n const dur = this.duration() || 0;\n return `${formatMediaDuration(current)} / ${formatMediaDuration(dur)}`;\n }, ...(ngDevMode ? [{ debugName: \"timeLabel\" }] : []));\n }\n onTogglePlayClick() {\n this.onTogglePlay()?.();\n }\n onCycleSpeedClick() {\n this.onCycleSpeed()?.();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXConversationMediaPlaybackInfoBarBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.3\", type: AXConversationMediaPlaybackInfoBarBannerComponent, isStandalone: true, selector: \"ax-conversation-media-playback-info-bar-banner\", inputs: { message: { classPropertyName: \"message\", publicName: \"message\", isSignal: true, isRequired: true, transformFunction: null }, title: { classPropertyName: \"title\", publicName: \"title\", isSignal: true, isRequired: false, transformFunction: null }, currentTime: { classPropertyName: \"currentTime\", publicName: \"currentTime\", isSignal: true, isRequired: false, transformFunction: null }, duration: { classPropertyName: \"duration\", publicName: \"duration\", isSignal: true, isRequired: false, transformFunction: null }, isPlaying: { classPropertyName: \"isPlaying\", publicName: \"isPlaying\", isSignal: true, isRequired: false, transformFunction: null }, onTogglePlay: { classPropertyName: \"onTogglePlay\", publicName: \"onTogglePlay\", isSignal: true, isRequired: false, transformFunction: null }, playbackSpeed: { classPropertyName: \"playbackSpeed\", publicName: \"playbackSpeed\", isSignal: true, isRequired: false, transformFunction: null }, onCycleSpeed: { classPropertyName: \"onCycleSpeed\", publicName: \"onCycleSpeed\", isSignal: true, isRequired: false, transformFunction: null }, showSpeedControl: { classPropertyName: \"showSpeedControl\", publicName: \"showSpeedControl\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `\n <div class=\"ax-conversation-playback-banner\">\n <div class=\"ax-conversation-playback-banner__row\">\n <button\n type=\"button\"\n class=\"ax-conversation-playback-banner__play\"\n (click)=\"onTogglePlayClick()\"\n [attr.aria-label]=\"isPlaying() ? 'Pause' : 'Play'\"\n >\n <i class=\"fa-solid\" [class.fa-pause]=\"isPlaying()\" [class.fa-play]=\"!isPlaying()\"></i>\n </button>\n\n <div class=\"ax-conversation-playback-banner__main\">\n <div class=\"ax-conversation-playback-banner__meta-row\">\n <span class=\"ax-conversation-playback-banner__type-icon\" aria-hidden=\"true\">\n <i [class]=\"iconClass()\"></i>\n </span>\n <span class=\"ax-conversation-playback-banner__title\">{{ resolvedTitle() }}</span>\n <span class=\"ax-conversation-playback-banner__time\">{{ timeLabel() }}</span>\n </div>\n <div\n class=\"ax-conversation-playback-banner__track\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"progressPercent()\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [attr.aria-label]=\"timeLabel()\"\n >\n <span class=\"ax-conversation-playback-banner__fill\" [style.width.%]=\"progressPercent()\"></span>\n </div>\n </div>\n\n @if (showSpeedControl()) {\n <button\n type=\"button\"\n class=\"ax-conversation-playback-banner__speed\"\n (click)=\"onCycleSpeedClick()\"\n [attr.aria-label]=\"'Playback speed ' + playbackSpeed() + 'x'\"\n >\n {{ playbackSpeed() }}x\n </button>\n }\n </div>\n </div>\n `, isInline: true, styles: [\":host{display:block;width:100%;color:rgb(var(--ax-sys-color-on-primary-lightest-surface))}.ax-conversation-playback-banner{width:100%;min-width:0}.ax-conversation-playback-banner__row{display:flex;align-items:center;gap:.625rem;min-width:0}.ax-conversation-playback-banner__play{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;padding-inline-start:.1rem;border:none;border-radius:50%;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));font-size:.75rem;cursor:pointer;touch-action:manipulation;transition:background-color .15s ease}@media (hover: hover){.ax-conversation-playback-banner__play:hover{background:rgb(var(--ax-sys-color-primary-600))}}.ax-conversation-playback-banner__play:focus-visible{outline:2px solid rgb(var(--ax-sys-color-primary-700));outline-offset:2px}.ax-conversation-playback-banner__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.375rem}.ax-conversation-playback-banner__meta-row{display:flex;align-items:center;gap:.375rem;min-width:0}.ax-conversation-playback-banner__type-icon{flex-shrink:0;font-size:.8125rem;opacity:.75}.ax-conversation-playback-banner__title{flex:1;min-width:0;font-size:.8125rem;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ax-conversation-playback-banner__time{flex-shrink:0;font-size:.6875rem;font-variant-numeric:tabular-nums;opacity:.8}.ax-conversation-playback-banner__track{position:relative;width:100%;height:3px;border-radius:999px;overflow:hidden;background:rgba(var(--ax-sys-color-primary-500),.2)}.ax-conversation-playback-banner__fill{position:absolute;inset-block:0;inset-inline-start:0;width:0;border-radius:inherit;background:rgb(var(--ax-sys-color-primary-600));transition:width .12s linear}.ax-conversation-playback-banner__speed{flex-shrink:0;min-width:2.5rem;height:1.75rem;padding:0 .375rem;border:1px solid rgba(var(--ax-sys-color-primary-600),.45);border-radius:999px;background:transparent;color:rgb(var(--ax-sys-color-primary-700));font-size:.6875rem;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer;touch-action:manipulation;transition:background-color .15s ease,border-color .15s ease}@media (hover: hover){.ax-conversation-playback-banner__speed:hover{background:rgba(var(--ax-sys-color-primary-500),.12)}}.ax-conversation-playback-banner__speed:focus-visible{outline:2px solid rgb(var(--ax-sys-color-primary-500));outline-offset:2px}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXConversationMediaPlaybackInfoBarBannerComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-conversation-media-playback-info-bar-banner', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `\n <div class=\"ax-conversation-playback-banner\">\n <div class=\"ax-conversation-playback-banner__row\">\n <button\n type=\"button\"\n class=\"ax-conversation-playback-banner__play\"\n (click)=\"onTogglePlayClick()\"\n [attr.aria-label]=\"isPlaying() ? 'Pause' : 'Play'\"\n >\n <i class=\"fa-solid\" [class.fa-pause]=\"isPlaying()\" [class.fa-play]=\"!isPlaying()\"></i>\n </button>\n\n <div class=\"ax-conversation-playback-banner__main\">\n <div class=\"ax-conversation-playback-banner__meta-row\">\n <span class=\"ax-conversation-playback-banner__type-icon\" aria-hidden=\"true\">\n <i [class]=\"iconClass()\"></i>\n </span>\n <span class=\"ax-conversation-playback-banner__title\">{{ resolvedTitle() }}</span>\n <span class=\"ax-conversation-playback-banner__time\">{{ timeLabel() }}</span>\n </div>\n <div\n class=\"ax-conversation-playback-banner__track\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"progressPercent()\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [attr.aria-label]=\"timeLabel()\"\n >\n <span class=\"ax-conversation-playback-banner__fill\" [style.width.%]=\"progressPercent()\"></span>\n </div>\n </div>\n\n @if (showSpeedControl()) {\n <button\n type=\"button\"\n class=\"ax-conversation-playback-banner__speed\"\n (click)=\"onCycleSpeedClick()\"\n [attr.aria-label]=\"'Playback speed ' + playbackSpeed() + 'x'\"\n >\n {{ playbackSpeed() }}x\n </button>\n }\n </div>\n </div>\n `, styles: [\":host{display:block;width:100%;color:rgb(var(--ax-sys-color-on-primary-lightest-surface))}.ax-conversation-playback-banner{width:100%;min-width:0}.ax-conversation-playback-banner__row{display:flex;align-items:center;gap:.625rem;min-width:0}.ax-conversation-playback-banner__play{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;padding-inline-start:.1rem;border:none;border-radius:50%;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));font-size:.75rem;cursor:pointer;touch-action:manipulation;transition:background-color .15s ease}@media (hover: hover){.ax-conversation-playback-banner__play:hover{background:rgb(var(--ax-sys-color-primary-600))}}.ax-conversation-playback-banner__play:focus-visible{outline:2px solid rgb(var(--ax-sys-color-primary-700));outline-offset:2px}.ax-conversation-playback-banner__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.375rem}.ax-conversation-playback-banner__meta-row{display:flex;align-items:center;gap:.375rem;min-width:0}.ax-conversation-playback-banner__type-icon{flex-shrink:0;font-size:.8125rem;opacity:.75}.ax-conversation-playback-banner__title{flex:1;min-width:0;font-size:.8125rem;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ax-conversation-playback-banner__time{flex-shrink:0;font-size:.6875rem;font-variant-numeric:tabular-nums;opacity:.8}.ax-conversation-playback-banner__track{position:relative;width:100%;height:3px;border-radius:999px;overflow:hidden;background:rgba(var(--ax-sys-color-primary-500),.2)}.ax-conversation-playback-banner__fill{position:absolute;inset-block:0;inset-inline-start:0;width:0;border-radius:inherit;background:rgb(var(--ax-sys-color-primary-600));transition:width .12s linear}.ax-conversation-playback-banner__speed{flex-shrink:0;min-width:2.5rem;height:1.75rem;padding:0 .375rem;border:1px solid rgba(var(--ax-sys-color-primary-600),.45);border-radius:999px;background:transparent;color:rgb(var(--ax-sys-color-primary-700));font-size:.6875rem;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer;touch-action:manipulation;transition:background-color .15s ease,border-color .15s ease}@media (hover: hover){.ax-conversation-playback-banner__speed:hover{background:rgba(var(--ax-sys-color-primary-500),.12)}}.ax-conversation-playback-banner__speed:focus-visible{outline:2px solid rgb(var(--ax-sys-color-primary-500));outline-offset:2px}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtcGxheWJhY2staW5mby1iYXItYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29udmVyc2F0aW9uL3NyYy9saWIvcGx1Z2lucy9tZXNzYWdlLWxpc3QvY29tcG9uZW50cy9zaGFyZWQvbWVkaWEtcGxheWJhY2staW5mby1iYXItYmFubmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3BGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQWNyRCxNQUFNLDRCQUE0QixHQUEyQjtJQUMzRCxLQUFLLEVBQUUsbUJBQW1CO0lBQzFCLEtBQUssRUFBRSxtQkFBbUI7SUFDMUIsS0FBSyxFQUFFLHdCQUF3QjtDQUNoQyxDQUFDO0FBK0xGLE1BQU0sT0FBTyxpREFBaUQ7SUE3TDlEO1FBOExXLFlBQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxrREFBeUIsQ0FBQztRQUNsRCxVQUFLLEdBQUcsS0FBSyxDQUFTLEVBQUUsaURBQUMsQ0FBQztRQUMxQixnQkFBVyxHQUFHLEtBQUssQ0FBUyxDQUFDLHVEQUFDLENBQUM7UUFDL0IsYUFBUSxHQUFHLEtBQUssQ0FBUyxDQUFDLG9EQUFDLENBQUM7UUFDNUIsY0FBUyxHQUFHLEtBQUssQ0FBVSxLQUFLLHFEQUFDLENBQUM7UUFDbEMsaUJBQVksR0FBRyxLQUFLLENBQTJCLFNBQVMsd0RBQUMsQ0FBQztRQUMxRCxrQkFBYSxHQUFHLEtBQUssQ0FBUyxDQUFDLHlEQUFDLENBQUM7UUFDakMsaUJBQVksR0FBRyxLQUFLLENBQTJCLFNBQVMsd0RBQUMsQ0FBQztRQUMxRCxxQkFBZ0IsR0FBRyxLQUFLLENBQVUsS0FBSyw0REFBQyxDQUFDO1FBRXpDLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLHlCQUF5QixxREFBQyxDQUFDO1FBRTNHLGtCQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxPQUFPLHlEQUFDLENBQUM7UUFFaEUsb0JBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3ZDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM1QixJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDYixPQUFPLENBQUMsQ0FBQztZQUNYLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDdEUsQ0FBQywyREFBQyxDQUFDO1FBRU0sY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDakMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN4QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2pDLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3pFLENBQUMscURBQUMsQ0FBQztLQVNKO0lBUEMsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUMxQixDQUFDOzhHQW5DVSxpREFBaUQ7a0dBQWpELGlEQUFpRCw2ekNBekxsRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Q1QsNGdGQTlDUyxZQUFZOzsyRkEyTFgsaURBQWlEO2tCQTdMN0QsU0FBUzsrQkFDRSxnREFBZ0QsV0FDakQsQ0FBQyxZQUFZLENBQUMsbUJBQ04sdUJBQXVCLENBQUMsTUFBTSxZQUNyQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Q1QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IEFYQ29udmVyc2F0aW9uTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgdHlwZSB7IEFYQ29udmVyc2F0aW9uTWVzc2FnZUluZm9CYXJCYW5uZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9yZWdpc3RyaWVzL21lc3NhZ2UtcmVuZGVyZXIucmVnaXN0cnknO1xuaW1wb3J0IHsgZm9ybWF0TWVkaWFEdXJhdGlvbiB9IGZyb20gJy4vZm9ybWF0LW1lZGlhJztcblxuZXhwb3J0IGludGVyZmFjZSBBWENvbnZlcnNhdGlvblBsYXliYWNrQmFubmVySW5wdXRzIHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGN1cnJlbnRUaW1lPzogbnVtYmVyO1xuICBkdXJhdGlvbj86IG51bWJlcjtcbiAgaXNQbGF5aW5nPzogYm9vbGVhbjtcbiAgb25Ub2dnbGVQbGF5PzogKCkgPT4gdm9pZDtcbiAgb25DbG9zZT86ICgpID0+IHZvaWQ7XG4gIHBsYXliYWNrU3BlZWQ/OiBudW1iZXI7XG4gIG9uQ3ljbGVTcGVlZD86ICgpID0+IHZvaWQ7XG4gIHNob3dTcGVlZENvbnRyb2w/OiBib29sZWFuO1xufVxuXG5jb25zdCBBWF9DT05WRVJTQVRJT05fSUNPTl9CWV9UWVBFOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICB2aWRlbzogJ2ZhLWxpZ2h0IGZhLXZpZGVvJyxcbiAgYXVkaW86ICdmYS1saWdodCBmYS1tdXNpYycsXG4gIHZvaWNlOiAnZmEtbGlnaHQgZmEtbWljcm9waG9uZScsXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1jb252ZXJzYXRpb24tbWVkaWEtcGxheWJhY2staW5mby1iYXItYmFubmVyJyxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJheC1jb252ZXJzYXRpb24tcGxheWJhY2stYmFubmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtY29udmVyc2F0aW9uLXBsYXliYWNrLWJhbm5lcl9fcm93XCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImF4LWNvbnZlcnNhdGlvbi1wbGF5YmFjay1iYW5uZXJfX3BsYXlcIlxuICAgICAgICAgIChjbGljayk9XCJvblRvZ2dsZVBsYXlDbGljaygpXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImlzUGxheWluZygpID8gJ1BhdXNlJyA6ICdQbGF5J1wiXG4gICAgICAgID5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkXCIgW2NsYXNzLmZhLXBhdXNlXT1cImlzUGxheWluZygpXCIgW2NsYXNzLmZhLXBsYXldPVwiIWlzUGxheWluZygpXCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY29udmVyc2F0aW9uLXBsYXliYWNrLWJhbm5lcl9fbWFpblwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jb252ZXJzYXRpb24tcGxheWJhY2stYmFubmVyX19tZXRhLXJvd1wiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1jb252ZXJzYXRpb24tcGxheWJhY2stYmFubmVyX190eXBlLWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgICAgPGkgW2NsYXNzXT1cImljb25DbGFzcygpXCI+PC9pPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1jb252ZXJzYXRpb24tcGxheWJhY2stYmFubmVyX190aXRsZVwiPnt7IHJlc29sdmVkVGl0bGUoKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtY29udmVyc2F0aW9uLXBsYXliYWNrLWJhbm5lcl9fdGltZVwiPnt7IHRpbWVMYWJlbCgpIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiYXgtY29udmVyc2F0aW9uLXBsYXliYWNrLWJhbm5lcl9fdHJhY2tcIlxuICAgICAgICAgICAgcm9sZT1cInByb2dyZXNzYmFyXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtdmFsdWVub3ddPVwicHJvZ3Jlc3NQZXJjZW50KClcIlxuICAgICAgICAgICAgYXJpYS12YWx1ZW1pbj1cIjBcIlxuICAgICAgICAgICAgYXJpYS12YWx1ZW1heD1cIjEwMFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRpbWVMYWJlbCgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LWNvbnZlcnNhdGlvbi1wbGF5YmFjay1iYW5uZXJfX2ZpbGxcIiBbc3R5bGUud2lkdGguJV09XCJwcm9ncmVzc1BlcmNlbnQoKVwiPjwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgQGlmIChzaG93U3BlZWRDb250cm9sKCkpIHtcbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXgtY29udmVyc2F0aW9uLXBsYXliYWNrLWJhbm5lcl9fc3BlZWRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ3ljbGVTcGVlZENsaWNrKClcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInUGxheWJhY2sgc3BlZWQgJyArIHBsYXliYWNrU3BlZWQoKSArICd4J1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgcGxheWJhY2tTcGVlZCgpIH19eFxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGNvbG9yOiByZ2IodmFyKC0tYXgtc3lzLWNvbG9yLW9uLXByaW1hcnktbGlnaHRlc3Qtc3VyZmFjZSkpO1xuICAgICAgfVxuXG4gICAgICAuYXgtY29udmVyc2F0aW9uLXBsYXliYWNrLWJhbm5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICB9XG5cbiAgICAgIC5heC1jb252ZXJzYXRpb24tcGxheWJhY2stYmFubmVyX19yb3cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuNjI1cmVtO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICB9XG5cbiAgICAgIC5heC1jb252ZXJzYXRpb24tcGxheWJhY2stYmFubmVyX19wbGF5IHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogMi4yNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAyLjI1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMC4xcmVtO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiKHZhcigtLWF4LXN5cy1jb2xvci1wcmltYXJ5LTUwMCkpO1xuICAgICAgICBjb2xvcjogcmdiKHZhcigtLWF4LXN5cy1jb2xvci1vbi1wcmltYXJ5LXN1cmZhY2UpKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIC5heC1jb252ZXJzYXRpb24tcGxheWJhY2stYmFubmVyX19wbGF5OmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2IodmFyKC0tYXgtc3lzLWNvbG9yLXByaW1hcnktNjAwKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmF4LWNvbnZlcnNhdGlvbi1wbGF5YmFjay1iYW5uZXJfX3BsYXk6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCByZ2IodmFyKC0tYXgtc3lzLWNvbG9yLXByaW1hcnktNzAwKSk7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gICAgICB9XG5cbiAgICAgIC5heC1jb252ZXJzYXRpb24tcGxheWJhY2stYmFubmVyX19tYWluIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDAuMzc1cmVtO1xuICAgICAgfVxuXG4gICAgICAuYXgtY29udmVyc2F0aW9uLXBsYXliYWNrLWJhbm5lcl9fbWV0YS1yb3cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuMzc1cmVtO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICB9XG5cbiAgICAgIC5heC1jb252ZXJzYXRpb24tcGxheWJhY2stYmFubmVyX190eXBlLWljb24ge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgICB9XG5cbiAgICAgIC5heC1jb252ZXJzYXRpb24tcGxheWJhY2stYmFubmVyX190aXRsZSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgLmF4LWNvbnZlcnNhdGlvbi1wbGF5YmFjay1iYW5uZXJfX3RpbWUge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgIH1cblxuICAgICAgLmF4LWNvbnZlcnNhdGlvbi1wbGF5YmFjay1iYW5uZXJfX3RyYWNrIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWF4LXN5cy1jb2xvci1wcmltYXJ5LTUwMCksIDAuMik7XG4gICAgICB9XG5cbiAgICAgIC5heC1jb252ZXJzYXRpb24tcGxheWJhY2stYmFubmVyX19maWxsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldC1ibG9jazogMDtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiKHZhcigtLWF4LXN5cy1jb2xvci1wcmltYXJ5LTYwMCkpO1xuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjEycyBsaW5lYXI7XG4gICAgICB9XG5cbiAgICAgIC5heC1jb252ZXJzYXRpb24tcGxheWJhY2stYmFubmVyX19zcGVlZCB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBtaW4td2lkdGg6IDIuNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwIDAuMzc1cmVtO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKHZhcigtLWF4LXN5cy1jb2xvci1wcmltYXJ5LTYwMCksIDAuNDUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiByZ2IodmFyKC0tYXgtc3lzLWNvbG9yLXByaW1hcnktNzAwKSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSxcbiAgICAgICAgICBib3JkZXItY29sb3IgMC4xNXMgZWFzZTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgLmF4LWNvbnZlcnNhdGlvbi1wbGF5YmFjay1iYW5uZXJfX3NwZWVkOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWF4LXN5cy1jb2xvci1wcmltYXJ5LTUwMCksIDAuMTIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5heC1jb252ZXJzYXRpb24tcGxheWJhY2stYmFubmVyX19zcGVlZDpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHJnYih2YXIoLS1heC1zeXMtY29sb3ItcHJpbWFyeS01MDApKTtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWENvbnZlcnNhdGlvbk1lZGlhUGxheWJhY2tJbmZvQmFyQmFubmVyQ29tcG9uZW50IGltcGxlbWVudHMgQVhDb252ZXJzYXRpb25NZXNzYWdlSW5mb0JhckJhbm5lckNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IG1lc3NhZ2UgPSBpbnB1dC5yZXF1aXJlZDxBWENvbnZlcnNhdGlvbk1lc3NhZ2U+KCk7XG4gIHJlYWRvbmx5IHRpdGxlID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHJlYWRvbmx5IGN1cnJlbnRUaW1lID0gaW5wdXQ8bnVtYmVyPigwKTtcbiAgcmVhZG9ubHkgZHVyYXRpb24gPSBpbnB1dDxudW1iZXI+KDApO1xuICByZWFkb25seSBpc1BsYXlpbmcgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IG9uVG9nZ2xlUGxheSA9IGlucHV0PCgoKSA9PiB2b2lkKSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgcGxheWJhY2tTcGVlZCA9IGlucHV0PG51bWJlcj4oMSk7XG4gIHJlYWRvbmx5IG9uQ3ljbGVTcGVlZCA9IGlucHV0PCgoKSA9PiB2b2lkKSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgc2hvd1NwZWVkQ29udHJvbCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICByZWFkb25seSBpY29uQ2xhc3MgPSBjb21wdXRlZCgoKSA9PiBBWF9DT05WRVJTQVRJT05fSUNPTl9CWV9UWVBFW3RoaXMubWVzc2FnZSgpLnR5cGVdID8/ICdmYS1saWdodCBmYS1jaXJjbGUtcGxheScpO1xuXG4gIHJlYWRvbmx5IHJlc29sdmVkVGl0bGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnRpdGxlKCk/LnRyaW0oKSB8fCAnTWVkaWEnKTtcblxuICByZWFkb25seSBwcm9ncmVzc1BlcmNlbnQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgZHVyID0gdGhpcy5kdXJhdGlvbigpO1xuICAgIGlmIChkdXIgPD0gMCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLm1pbigoTWF0aC5tYXgoMCwgdGhpcy5jdXJyZW50VGltZSgpKSAvIGR1cikgKiAxMDAsIDEwMCk7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHRpbWVMYWJlbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5jdXJyZW50VGltZSgpIHx8IDA7XG4gICAgY29uc3QgZHVyID0gdGhpcy5kdXJhdGlvbigpIHx8IDA7XG4gICAgcmV0dXJuIGAke2Zvcm1hdE1lZGlhRHVyYXRpb24oY3VycmVudCl9IC8gJHtmb3JtYXRNZWRpYUR1cmF0aW9uKGR1cil9YDtcbiAgfSk7XG5cbiAgb25Ub2dnbGVQbGF5Q2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5vblRvZ2dsZVBsYXkoKT8uKCk7XG4gIH1cblxuICBvbkN5Y2xlU3BlZWRDbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ3ljbGVTcGVlZCgpPy4oKTtcbiAgfVxufVxuIl19"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { inject, effect } from '@angular/core';
2
+ import { z as AXConversationMessageListService } from './acorex-components-conversation-acorex-components-conversation-CjVDCoJw.mjs';
3
+
4
+ /** Caption first, else a label with optional extra lines (URLs, names). */
5
+ function mediaCopyText(caption, singleLabel, pluralLabel, count, lines) {
6
+ const trimmedCaption = caption?.trim();
7
+ if (trimmedCaption) {
8
+ return trimmedCaption;
9
+ }
10
+ const header = count > 1 ? `${count} ${pluralLabel}` : singleLabel;
11
+ const extras = lines.map((line) => line?.trim()).filter((line) => !!line);
12
+ return extras.length ? `${header}\n${extras.join('\n')}` : header;
13
+ }
14
+ /**
15
+ * Registers the live renderer on {@link AXConversationMessageListService} for message actions.
16
+ */
17
+ class AXConversationMessageRendererCopyHostComponent {
18
+ constructor() {
19
+ this.messageList = inject(AXConversationMessageListService, { optional: true });
20
+ effect((onCleanup) => {
21
+ const list = this.messageList;
22
+ if (!list) {
23
+ return;
24
+ }
25
+ const id = this.message().id;
26
+ list.registerRendererInstance(id, this);
27
+ onCleanup(() => list.unregisterRendererInstance(id));
28
+ });
29
+ }
30
+ }
31
+
32
+ export { AXConversationMessageRendererCopyHostComponent as A, mediaCopyText as m };
33
+ //# sourceMappingURL=acorex-components-conversation-message-renderer-copy-host.component-D_eAnM6v.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-components-conversation-message-renderer-copy-host.component-D_eAnM6v.mjs","sources":["../tmp-esm2022/conversation/lib/plugins/message-list/components/shared/message-renderer-copy-host.component.js"],"sourcesContent":["import { effect, inject } from '@angular/core';\nimport { AXConversationMessageListService } from '../../../../components/message-list/message-list.service';\n/** Caption first, else a label with optional extra lines (URLs, names). */\nexport function mediaCopyText(caption, singleLabel, pluralLabel, count, lines) {\n const trimmedCaption = caption?.trim();\n if (trimmedCaption) {\n return trimmedCaption;\n }\n const header = count > 1 ? `${count} ${pluralLabel}` : singleLabel;\n const extras = lines.map((line) => line?.trim()).filter((line) => !!line);\n return extras.length ? `${header}\\n${extras.join('\\n')}` : header;\n}\n/**\n * Registers the live renderer on {@link AXConversationMessageListService} for message actions.\n */\nexport class AXConversationMessageRendererCopyHostComponent {\n constructor() {\n this.messageList = inject(AXConversationMessageListService, { optional: true });\n effect((onCleanup) => {\n const list = this.messageList;\n if (!list) {\n return;\n }\n const id = this.message().id;\n list.registerRendererInstance(id, this);\n onCleanup(() => list.unregisterRendererInstance(id));\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1yZW5kZXJlci1jb3B5LWhvc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jb252ZXJzYXRpb24vc3JjL2xpYi9wbHVnaW5zL21lc3NhZ2UtbGlzdC9jb21wb25lbnRzL3NoYXJlZC9tZXNzYWdlLXJlbmRlcmVyLWNvcHktaG9zdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBTzVHLDJFQUEyRTtBQUMzRSxNQUFNLFVBQVUsYUFBYSxDQUMzQixPQUEyQixFQUMzQixXQUFtQixFQUNuQixXQUFtQixFQUNuQixLQUFhLEVBQ2IsS0FBNkI7SUFFN0IsTUFBTSxjQUFjLEdBQUcsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3ZDLElBQUksY0FBYyxFQUFFLENBQUM7UUFDbkIsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDbkUsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFGLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDcEUsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFnQiw4Q0FBOEM7SUFPbEU7UUFGaUIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsZ0NBQWdDLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUcxRixNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNuQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQzlCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDVixPQUFPO1lBQ1QsQ0FBQztZQUNELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN4QyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlZmZlY3QsIGluamVjdCwgdHlwZSBJbnB1dFNpZ25hbCwgdHlwZSBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYQ29udmVyc2F0aW9uTWVzc2FnZUxpc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tcG9uZW50cy9tZXNzYWdlLWxpc3QvbWVzc2FnZS1saXN0LnNlcnZpY2UnO1xuaW1wb3J0IHR5cGUgeyBBWENvbnZlcnNhdGlvbk1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHR5cGUge1xuICBBWENvbnZlcnNhdGlvbk1lc3NhZ2VSZW5kZXJlckNvbXBvbmVudCxcbiAgQVhDb252ZXJzYXRpb25NZXNzYWdlUmVuZGVyZXJTdGF0ZSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vcmVnaXN0cmllcy9tZXNzYWdlLXJlbmRlcmVyLnJlZ2lzdHJ5JztcblxuLyoqIENhcHRpb24gZmlyc3QsIGVsc2UgYSBsYWJlbCB3aXRoIG9wdGlvbmFsIGV4dHJhIGxpbmVzIChVUkxzLCBuYW1lcykuICovXG5leHBvcnQgZnVuY3Rpb24gbWVkaWFDb3B5VGV4dChcbiAgY2FwdGlvbjogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICBzaW5nbGVMYWJlbDogc3RyaW5nLFxuICBwbHVyYWxMYWJlbDogc3RyaW5nLFxuICBjb3VudDogbnVtYmVyLFxuICBsaW5lczogKHN0cmluZyB8IHVuZGVmaW5lZClbXSxcbik6IHN0cmluZyB7XG4gIGNvbnN0IHRyaW1tZWRDYXB0aW9uID0gY2FwdGlvbj8udHJpbSgpO1xuICBpZiAodHJpbW1lZENhcHRpb24pIHtcbiAgICByZXR1cm4gdHJpbW1lZENhcHRpb247XG4gIH1cbiAgY29uc3QgaGVhZGVyID0gY291bnQgPiAxID8gYCR7Y291bnR9ICR7cGx1cmFsTGFiZWx9YCA6IHNpbmdsZUxhYmVsO1xuICBjb25zdCBleHRyYXMgPSBsaW5lcy5tYXAoKGxpbmUpID0+IGxpbmU/LnRyaW0oKSkuZmlsdGVyKChsaW5lKTogbGluZSBpcyBzdHJpbmcgPT4gISFsaW5lKTtcbiAgcmV0dXJuIGV4dHJhcy5sZW5ndGggPyBgJHtoZWFkZXJ9XFxuJHtleHRyYXMuam9pbignXFxuJyl9YCA6IGhlYWRlcjtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgdGhlIGxpdmUgcmVuZGVyZXIgb24ge0BsaW5rIEFYQ29udmVyc2F0aW9uTWVzc2FnZUxpc3RTZXJ2aWNlfSBmb3IgbWVzc2FnZSBhY3Rpb25zLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhDb252ZXJzYXRpb25NZXNzYWdlUmVuZGVyZXJDb3B5SG9zdENvbXBvbmVudCBpbXBsZW1lbnRzIEFYQ29udmVyc2F0aW9uTWVzc2FnZVJlbmRlcmVyQ29tcG9uZW50IHtcbiAgYWJzdHJhY3QgcmVhZG9ubHkgbWVzc2FnZTogSW5wdXRTaWduYWw8QVhDb252ZXJzYXRpb25NZXNzYWdlPjtcbiAgYWJzdHJhY3QgcmVhZG9ubHkgcmVuZGVyZXJTdGF0ZTogU2lnbmFsPEFYQ29udmVyc2F0aW9uTWVzc2FnZVJlbmRlcmVyU3RhdGU+O1xuICBhYnN0cmFjdCBjb3B5KCk6IHN0cmluZyB8IFByb21pc2U8c3RyaW5nPjtcblxuICBwcml2YXRlIHJlYWRvbmx5IG1lc3NhZ2VMaXN0ID0gaW5qZWN0KEFYQ29udmVyc2F0aW9uTWVzc2FnZUxpc3RTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgob25DbGVhbnVwKSA9PiB7XG4gICAgICBjb25zdCBsaXN0ID0gdGhpcy5tZXNzYWdlTGlzdDtcbiAgICAgIGlmICghbGlzdCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBpZCA9IHRoaXMubWVzc2FnZSgpLmlkO1xuICAgICAgbGlzdC5yZWdpc3RlclJlbmRlcmVySW5zdGFuY2UoaWQsIHRoaXMpO1xuICAgICAgb25DbGVhbnVwKCgpID0+IGxpc3QudW5yZWdpc3RlclJlbmRlcmVySW5zdGFuY2UoaWQpKTtcbiAgICB9KTtcbiAgfVxufVxuIl19"],"names":[],"mappings":";;;AAEA;AACO,SAAS,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE;AAC/E,IAAI,MAAM,cAAc,GAAG,OAAO,EAAE,IAAI,EAAE;AAC1C,IAAI,IAAI,cAAc,EAAE;AACxB,QAAQ,OAAO,cAAc;AAC7B,IAAI;AACJ,IAAI,MAAM,MAAM,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,WAAW;AACtE,IAAI,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC;AAC7E,IAAI,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM;AACrE;AACA;AACA;AACA;AACO,MAAM,8CAA8C,CAAC;AAC5D,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,gCAAgC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACvF,QAAQ,MAAM,CAAC,CAAC,SAAS,KAAK;AAC9B,YAAY,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW;AACzC,YAAY,IAAI,CAAC,IAAI,EAAE;AACvB,gBAAgB;AAChB,YAAY;AACZ,YAAY,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE;AACxC,YAAY,IAAI,CAAC,wBAAwB,CAAC,EAAE,EAAE,IAAI,CAAC;AACnD,YAAY,SAAS,CAAC,MAAM,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;AAChE,QAAQ,CAAC,CAAC;AACV,IAAI;AACJ;;;;"}