@acorex/components 20.9.0 → 20.9.2

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 (118) hide show
  1. package/badge/index.d.ts +2 -4
  2. package/conversation/index.d.ts +1213 -33
  3. package/fesm2022/acorex-components-badge.mjs +17 -12
  4. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  5. package/fesm2022/{acorex-components-conversation-open-composer-picker-for-files-CbNyy2Ws.mjs → acorex-components-conversation-open-composer-picker-for-files-BLInQalk.mjs} +2 -3
  6. package/fesm2022/{acorex-components-conversation-open-composer-picker-for-files-CbNyy2Ws.mjs.map → acorex-components-conversation-open-composer-picker-for-files-BLInQalk.mjs.map} +1 -1
  7. package/fesm2022/acorex-components-conversation.mjs +22436 -1
  8. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  9. package/fesm2022/acorex-components-file-viewer.mjs +736 -0
  10. package/fesm2022/acorex-components-file-viewer.mjs.map +1 -0
  11. package/fesm2022/acorex-components-list.mjs +16 -3
  12. package/fesm2022/acorex-components-list.mjs.map +1 -1
  13. package/fesm2022/acorex-components-select-box.mjs +56 -9
  14. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  15. package/file-viewer/index.d.ts +178 -0
  16. package/list/index.d.ts +19 -9
  17. package/package.json +20 -15
  18. package/select-box/index.d.ts +6 -0
  19. package/fesm2022/acorex-components-conversation-acorex-components-conversation-CjVDCoJw.mjs +0 -13711
  20. package/fesm2022/acorex-components-conversation-acorex-components-conversation-CjVDCoJw.mjs.map +0 -1
  21. package/fesm2022/acorex-components-conversation-audio-attachment.component-Ri-Jx210.mjs +0 -119
  22. package/fesm2022/acorex-components-conversation-audio-attachment.component-Ri-Jx210.mjs.map +0 -1
  23. package/fesm2022/acorex-components-conversation-audio-composer.payload-DiMDlVl9.mjs +0 -59
  24. package/fesm2022/acorex-components-conversation-audio-composer.payload-DiMDlVl9.mjs.map +0 -1
  25. package/fesm2022/acorex-components-conversation-audio-picker.component-CqrKBDIF.mjs +0 -432
  26. package/fesm2022/acorex-components-conversation-audio-picker.component-CqrKBDIF.mjs.map +0 -1
  27. package/fesm2022/acorex-components-conversation-audio-renderer.component-CO8owVrA.mjs +0 -177
  28. package/fesm2022/acorex-components-conversation-audio-renderer.component-CO8owVrA.mjs.map +0 -1
  29. package/fesm2022/acorex-components-conversation-audio.payload-CLnYjmYY.mjs +0 -54
  30. package/fesm2022/acorex-components-conversation-audio.payload-CLnYjmYY.mjs.map +0 -1
  31. package/fesm2022/acorex-components-conversation-conversation-audio.file-type-D-hIBwQ2.mjs +0 -100
  32. package/fesm2022/acorex-components-conversation-conversation-audio.file-type-D-hIBwQ2.mjs.map +0 -1
  33. package/fesm2022/acorex-components-conversation-conversation-file.file-type-DQUy3C64.mjs +0 -121
  34. package/fesm2022/acorex-components-conversation-conversation-file.file-type-DQUy3C64.mjs.map +0 -1
  35. package/fesm2022/acorex-components-conversation-conversation-image.file-type-Bd_SkwR0.mjs +0 -84
  36. package/fesm2022/acorex-components-conversation-conversation-image.file-type-Bd_SkwR0.mjs.map +0 -1
  37. package/fesm2022/acorex-components-conversation-conversation-info-media-view.component-BalIIAFB.mjs +0 -238
  38. package/fesm2022/acorex-components-conversation-conversation-info-media-view.component-BalIIAFB.mjs.map +0 -1
  39. package/fesm2022/acorex-components-conversation-conversation-info-panel.component-BJMo9bDd.mjs +0 -1080
  40. package/fesm2022/acorex-components-conversation-conversation-info-panel.component-BJMo9bDd.mjs.map +0 -1
  41. package/fesm2022/acorex-components-conversation-conversation-video.file-type-DyK0bLE5.mjs +0 -102
  42. package/fesm2022/acorex-components-conversation-conversation-video.file-type-DyK0bLE5.mjs.map +0 -1
  43. package/fesm2022/acorex-components-conversation-conversation-voice.file-type-v3rFWDv6.mjs +0 -90
  44. package/fesm2022/acorex-components-conversation-conversation-voice.file-type-v3rFWDv6.mjs.map +0 -1
  45. package/fesm2022/acorex-components-conversation-fallback-renderer.component-DOQkZWwP.mjs +0 -44
  46. package/fesm2022/acorex-components-conversation-fallback-renderer.component-DOQkZWwP.mjs.map +0 -1
  47. package/fesm2022/acorex-components-conversation-file-composer.payload-azPSH99m.mjs +0 -64
  48. package/fesm2022/acorex-components-conversation-file-composer.payload-azPSH99m.mjs.map +0 -1
  49. package/fesm2022/acorex-components-conversation-file-picker.component-cmUkgSF3.mjs +0 -468
  50. package/fesm2022/acorex-components-conversation-file-picker.component-cmUkgSF3.mjs.map +0 -1
  51. package/fesm2022/acorex-components-conversation-file-renderer.component-CpUgRTR4.mjs +0 -125
  52. package/fesm2022/acorex-components-conversation-file-renderer.component-CpUgRTR4.mjs.map +0 -1
  53. package/fesm2022/acorex-components-conversation-file.payload-DXwzNWxT.mjs +0 -50
  54. package/fesm2022/acorex-components-conversation-file.payload-DXwzNWxT.mjs.map +0 -1
  55. package/fesm2022/acorex-components-conversation-format-media-DUD4vA6F.mjs +0 -21
  56. package/fesm2022/acorex-components-conversation-format-media-DUD4vA6F.mjs.map +0 -1
  57. package/fesm2022/acorex-components-conversation-image-attachment.component-BZto5LFo.mjs +0 -77
  58. package/fesm2022/acorex-components-conversation-image-attachment.component-BZto5LFo.mjs.map +0 -1
  59. package/fesm2022/acorex-components-conversation-image-picker.component-G9EEOyDg.mjs +0 -407
  60. package/fesm2022/acorex-components-conversation-image-picker.component-G9EEOyDg.mjs.map +0 -1
  61. package/fesm2022/acorex-components-conversation-image-renderer.component-Bwa6rG6C.mjs +0 -83
  62. package/fesm2022/acorex-components-conversation-image-renderer.component-Bwa6rG6C.mjs.map +0 -1
  63. package/fesm2022/acorex-components-conversation-index-BbrYsQ84.mjs +0 -180
  64. package/fesm2022/acorex-components-conversation-index-BbrYsQ84.mjs.map +0 -1
  65. package/fesm2022/acorex-components-conversation-index-DtGEWeKN.mjs +0 -266
  66. package/fesm2022/acorex-components-conversation-index-DtGEWeKN.mjs.map +0 -1
  67. package/fesm2022/acorex-components-conversation-location-picker.component-Cx993j_c.mjs +0 -149
  68. package/fesm2022/acorex-components-conversation-location-picker.component-Cx993j_c.mjs.map +0 -1
  69. package/fesm2022/acorex-components-conversation-location-renderer.component-BiynmAJw.mjs +0 -118
  70. package/fesm2022/acorex-components-conversation-location-renderer.component-BiynmAJw.mjs.map +0 -1
  71. package/fesm2022/acorex-components-conversation-media-formatters-DV3wEEno.mjs +0 -17
  72. package/fesm2022/acorex-components-conversation-media-formatters-DV3wEEno.mjs.map +0 -1
  73. package/fesm2022/acorex-components-conversation-media-playback-info-bar-banner.component-a7OSpfB1.mjs +0 -140
  74. package/fesm2022/acorex-components-conversation-media-playback-info-bar-banner.component-a7OSpfB1.mjs.map +0 -1
  75. package/fesm2022/acorex-components-conversation-message-renderer-copy-host.component-D_eAnM6v.mjs +0 -33
  76. package/fesm2022/acorex-components-conversation-message-renderer-copy-host.component-D_eAnM6v.mjs.map +0 -1
  77. package/fesm2022/acorex-components-conversation-message-renderer-state.component-DSnNoz1N.mjs +0 -172
  78. package/fesm2022/acorex-components-conversation-message-renderer-state.component-DSnNoz1N.mjs.map +0 -1
  79. package/fesm2022/acorex-components-conversation-pagination-demo-data-DRr9PXjJ.mjs +0 -81
  80. package/fesm2022/acorex-components-conversation-pagination-demo-data-DRr9PXjJ.mjs.map +0 -1
  81. package/fesm2022/acorex-components-conversation-picker-header.component-BhTzlufI.mjs +0 -91
  82. package/fesm2022/acorex-components-conversation-picker-header.component-BhTzlufI.mjs.map +0 -1
  83. package/fesm2022/acorex-components-conversation-picker-toolbar.component-CpyS0j6P.mjs +0 -537
  84. package/fesm2022/acorex-components-conversation-picker-toolbar.component-CpyS0j6P.mjs.map +0 -1
  85. package/fesm2022/acorex-components-conversation-picker-upload-C-PlKPaU.mjs +0 -163
  86. package/fesm2022/acorex-components-conversation-picker-upload-C-PlKPaU.mjs.map +0 -1
  87. package/fesm2022/acorex-components-conversation-playback-banner-sync-BMsx6Fuy.mjs +0 -68
  88. package/fesm2022/acorex-components-conversation-playback-banner-sync-BMsx6Fuy.mjs.map +0 -1
  89. package/fesm2022/acorex-components-conversation-renderer-shared.styles-Digah3Zn.mjs +0 -95
  90. package/fesm2022/acorex-components-conversation-renderer-shared.styles-Digah3Zn.mjs.map +0 -1
  91. package/fesm2022/acorex-components-conversation-search.component-96NI2ERG.mjs +0 -187
  92. package/fesm2022/acorex-components-conversation-search.component-96NI2ERG.mjs.map +0 -1
  93. package/fesm2022/acorex-components-conversation-send-message-media--Rbrne7k.mjs +0 -170
  94. package/fesm2022/acorex-components-conversation-send-message-media--Rbrne7k.mjs.map +0 -1
  95. package/fesm2022/acorex-components-conversation-shared-storage.seed-zFjNXfKF.mjs +0 -750
  96. package/fesm2022/acorex-components-conversation-shared-storage.seed-zFjNXfKF.mjs.map +0 -1
  97. package/fesm2022/acorex-components-conversation-sticker-renderer.component-BZgx_Ylk.mjs +0 -103
  98. package/fesm2022/acorex-components-conversation-sticker-renderer.component-BZgx_Ylk.mjs.map +0 -1
  99. package/fesm2022/acorex-components-conversation-system-renderer.component-D1Aj-LuF.mjs +0 -55
  100. package/fesm2022/acorex-components-conversation-system-renderer.component-D1Aj-LuF.mjs.map +0 -1
  101. package/fesm2022/acorex-components-conversation-text-renderer.component-Cxvwjr2p.mjs +0 -109
  102. package/fesm2022/acorex-components-conversation-text-renderer.component-Cxvwjr2p.mjs.map +0 -1
  103. package/fesm2022/acorex-components-conversation-video-attachment.component-DBY_4Ri2.mjs +0 -105
  104. package/fesm2022/acorex-components-conversation-video-attachment.component-DBY_4Ri2.mjs.map +0 -1
  105. package/fesm2022/acorex-components-conversation-video-composer.payload-CWGxsPg5.mjs +0 -62
  106. package/fesm2022/acorex-components-conversation-video-composer.payload-CWGxsPg5.mjs.map +0 -1
  107. package/fesm2022/acorex-components-conversation-video-picker.component-D1JYwEm_.mjs +0 -446
  108. package/fesm2022/acorex-components-conversation-video-picker.component-D1JYwEm_.mjs.map +0 -1
  109. package/fesm2022/acorex-components-conversation-video-renderer.component-iwf2bU29.mjs +0 -181
  110. package/fesm2022/acorex-components-conversation-video-renderer.component-iwf2bU29.mjs.map +0 -1
  111. package/fesm2022/acorex-components-conversation-video.payload-DfBEjqQ4.mjs +0 -54
  112. package/fesm2022/acorex-components-conversation-video.payload-DfBEjqQ4.mjs.map +0 -1
  113. package/fesm2022/acorex-components-conversation-voice-composer.payload-DLVow7ex.mjs +0 -17
  114. package/fesm2022/acorex-components-conversation-voice-composer.payload-DLVow7ex.mjs.map +0 -1
  115. package/fesm2022/acorex-components-conversation-voice-recorder.component-P8J_5OH0.mjs +0 -328
  116. package/fesm2022/acorex-components-conversation-voice-recorder.component-P8J_5OH0.mjs.map +0 -1
  117. package/fesm2022/acorex-components-conversation-voice-renderer.component-CZpEqbXL.mjs +0 -270
  118. package/fesm2022/acorex-components-conversation-voice-renderer.component-CZpEqbXL.mjs.map +0 -1
@@ -1,172 +0,0 @@
1
- import { AXButtonComponent } from '@acorex/components/button';
2
- import * as i3 from '@acorex/core/translation';
3
- import { AXTranslationService, AXTranslationModule } from '@acorex/core/translation';
4
- import * as i2 from '@angular/common';
5
- import { CommonModule } from '@angular/common';
6
- import * as i0 from '@angular/core';
7
- import { inject, input, output, signal, computed, ChangeDetectionStrategy, Component } from '@angular/core';
8
- import { A as AXConversationService, e as AXConversationMessageUtilsService } from './acorex-components-conversation-acorex-components-conversation-CjVDCoJw.mjs';
9
-
10
- function isMessageDeliveryPending(status) {
11
- return status === 'sending';
12
- }
13
- function canShowRendererContentError(status, contentState) {
14
- return contentState === 'error' && !isMessageDeliveryPending(status);
15
- }
16
-
17
- /**
18
- * Shared UI for message bubble bodies: failed delivery (with retry) and content load errors.
19
- * Sending state is shown in the message-list footer only — not here (avoids layout glitch in media bubbles).
20
- */
21
- class AXConversationMessageRendererStateComponent {
22
- constructor() {
23
- this.conversation = inject(AXConversationService, { optional: true });
24
- this.translation = inject(AXTranslationService);
25
- this.rendererState = input.required(...(ngDevMode ? [{ debugName: "rendererState" }] : []));
26
- this.message = input.required(...(ngDevMode ? [{ debugName: "message" }] : []));
27
- this.contentErrorLabel = input(undefined, ...(ngDevMode ? [{ debugName: "contentErrorLabel" }] : []));
28
- this.deliveryFailedLabel = input(undefined, ...(ngDevMode ? [{ debugName: "deliveryFailedLabel" }] : []));
29
- this.showContentErrorChrome = input(true, ...(ngDevMode ? [{ debugName: "showContentErrorChrome" }] : []));
30
- this.contentErrorStyle = input('banner', ...(ngDevMode ? [{ debugName: "contentErrorStyle" }] : []));
31
- this.contentErrorIconClass = input(undefined, ...(ngDevMode ? [{ debugName: "contentErrorIconClass" }] : []));
32
- this.placement = input('above', ...(ngDevMode ? [{ debugName: "placement" }] : []));
33
- this.contentRetryEnabled = input(false, ...(ngDevMode ? [{ debugName: "contentRetryEnabled" }] : []));
34
- this.contentRetry = output();
35
- this.retryBusy = signal(false, ...(ngDevMode ? [{ debugName: "retryBusy" }] : []));
36
- this.currentUser = computed(() => this.conversation?.currentUser(), ...(ngDevMode ? [{ debugName: "currentUser" }] : []));
37
- this.isOwn = computed(() => {
38
- const msg = this.message();
39
- const user = this.currentUser();
40
- if (!user) {
41
- return false;
42
- }
43
- return AXConversationMessageUtilsService.isOwnMessage(msg, user.id);
44
- }, ...(ngDevMode ? [{ debugName: "isOwn" }] : []));
45
- this.showFailed = computed(() => this.rendererState().deliveryStatus === 'failed' && this.isOwn(), ...(ngDevMode ? [{ debugName: "showFailed" }] : []));
46
- this.showContentError = computed(() => {
47
- const { contentState } = this.rendererState();
48
- return (this.showContentErrorChrome() &&
49
- canShowRendererContentError(this.message().status, contentState));
50
- }, ...(ngDevMode ? [{ debugName: "showContentError" }] : []));
51
- this.hasVisibleChrome = computed(() => this.showFailed() || this.showContentError(), ...(ngDevMode ? [{ debugName: "hasVisibleChrome" }] : []));
52
- this.contentErrorText = computed(() => this.contentErrorLabel() ?? this.translation.translateSync('@acorex:chat.renderer-state.could-not-load-content'), ...(ngDevMode ? [{ debugName: "contentErrorText" }] : []));
53
- this.deliveryFailedText = computed(() => this.deliveryFailedLabel() ??
54
- this.translation.translateSync('@acorex:chat.renderer-state.could-not-send-message'), ...(ngDevMode ? [{ debugName: "deliveryFailedText" }] : []));
55
- }
56
- async onRetry() {
57
- const msg = this.message();
58
- if (!this.conversation) {
59
- return;
60
- }
61
- this.retryBusy.set(true);
62
- try {
63
- await this.conversation.retryFailedMessage(msg.id);
64
- }
65
- finally {
66
- this.retryBusy.set(false);
67
- }
68
- }
69
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationMessageRendererStateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
70
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXConversationMessageRendererStateComponent, isStandalone: true, selector: "ax-conversation-message-renderer-state", inputs: { rendererState: { classPropertyName: "rendererState", publicName: "rendererState", isSignal: true, isRequired: true, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null }, contentErrorLabel: { classPropertyName: "contentErrorLabel", publicName: "contentErrorLabel", isSignal: true, isRequired: false, transformFunction: null }, deliveryFailedLabel: { classPropertyName: "deliveryFailedLabel", publicName: "deliveryFailedLabel", isSignal: true, isRequired: false, transformFunction: null }, showContentErrorChrome: { classPropertyName: "showContentErrorChrome", publicName: "showContentErrorChrome", isSignal: true, isRequired: false, transformFunction: null }, contentErrorStyle: { classPropertyName: "contentErrorStyle", publicName: "contentErrorStyle", isSignal: true, isRequired: false, transformFunction: null }, contentErrorIconClass: { classPropertyName: "contentErrorIconClass", publicName: "contentErrorIconClass", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, contentRetryEnabled: { classPropertyName: "contentRetryEnabled", publicName: "contentRetryEnabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { contentRetry: "contentRetry" }, ngImport: i0, template: `
71
- @if (hasVisibleChrome()) {
72
- <div
73
- class="ax-conversation-renderer-state"
74
- [class.ax-conversation-renderer-state--below]="placement() === 'below'"
75
- role="region"
76
- [attr.aria-label]="'@acorex:chat.renderer-state.message-status' | translate | async"
77
- >
78
- @if (showFailed()) {
79
- <div class="ax-conversation-renderer-state__row ax-conversation-renderer-state__row--danger" role="alert">
80
- <i class="fa-light fa-triangle-exclamation ax-conversation-renderer-state__ico" aria-hidden="true"></i>
81
- <span class="ax-conversation-renderer-state__msg">{{ deliveryFailedText() }}</span>
82
- <ax-button
83
- class="ax-conversation-renderer-state__retry"
84
- [text]="translation.translateSync('@acorex:chat.renderer-state.retry')"
85
- [look]="'outline'"
86
- [size]="'sm'"
87
- [disabled]="retryBusy()"
88
- (onClick)="onRetry()"
89
- />
90
- </div>
91
- }
92
- @if (showContentError()) {
93
- <div
94
- class="ax-conversation-renderer-state__content-err"
95
- [class.ax-conversation-renderer-state__content-err--inline]="contentErrorStyle() === 'inline'"
96
- [class.ax-conversation-renderer-state__row]="contentErrorStyle() === 'banner'"
97
- [class.ax-conversation-renderer-state__row--warn]="contentErrorStyle() === 'banner'"
98
- role="alert"
99
- >
100
- @if (contentErrorIconClass(); as iconClass) {
101
- <i [class]="iconClass + ' ax-conversation-renderer-state__ico'" aria-hidden="true"></i>
102
- }
103
- <span class="ax-conversation-renderer-state__msg">{{ contentErrorText() }}</span>
104
- @if (contentRetryEnabled()) {
105
- <ax-button
106
- class="ax-conversation-renderer-state__retry"
107
- [text]="translation.translateSync('@acorex:chat.renderer-state.try-again')"
108
- [look]="'outline'"
109
- [size]="'sm'"
110
- (onClick)="contentRetry.emit()"
111
- />
112
- }
113
- </div>
114
- }
115
- </div>
116
- }
117
- `, isInline: true, styles: [":host{display:block}.ax-conversation-renderer-state{display:flex;flex-direction:column;gap:.375rem;margin-block:.25rem 0}.ax-conversation-renderer-state--below{margin-top:.375rem;margin-bottom:0}.ax-conversation-renderer-state__content-err--inline{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:rgb(var(--ax-sys-color-danger-600));padding:.125rem .25rem}.ax-conversation-renderer-state__row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.375rem .5rem;border-radius:var(--ax-sys-border-radius);font-size:.8125rem;line-height:1.35}.ax-conversation-renderer-state__row--danger{background:rgb(var(--ax-sys-color-danger-lightest-surface));color:rgb(var(--ax-sys-color-danger-700))}.ax-conversation-renderer-state__row--warn{background:rgb(var(--ax-sys-color-warning-lightest-surface));color:rgb(var(--ax-sys-color-warning-800))}.ax-conversation-renderer-state__ico{flex-shrink:0;font-size:.875rem;opacity:.9}.ax-conversation-renderer-state__msg{flex:1;min-width:0}.ax-conversation-renderer-state__retry{flex-shrink:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
118
- }
119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationMessageRendererStateComponent, decorators: [{
120
- type: Component,
121
- args: [{ selector: 'ax-conversation-message-renderer-state', imports: [CommonModule, AXButtonComponent, AXTranslationModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
122
- @if (hasVisibleChrome()) {
123
- <div
124
- class="ax-conversation-renderer-state"
125
- [class.ax-conversation-renderer-state--below]="placement() === 'below'"
126
- role="region"
127
- [attr.aria-label]="'@acorex:chat.renderer-state.message-status' | translate | async"
128
- >
129
- @if (showFailed()) {
130
- <div class="ax-conversation-renderer-state__row ax-conversation-renderer-state__row--danger" role="alert">
131
- <i class="fa-light fa-triangle-exclamation ax-conversation-renderer-state__ico" aria-hidden="true"></i>
132
- <span class="ax-conversation-renderer-state__msg">{{ deliveryFailedText() }}</span>
133
- <ax-button
134
- class="ax-conversation-renderer-state__retry"
135
- [text]="translation.translateSync('@acorex:chat.renderer-state.retry')"
136
- [look]="'outline'"
137
- [size]="'sm'"
138
- [disabled]="retryBusy()"
139
- (onClick)="onRetry()"
140
- />
141
- </div>
142
- }
143
- @if (showContentError()) {
144
- <div
145
- class="ax-conversation-renderer-state__content-err"
146
- [class.ax-conversation-renderer-state__content-err--inline]="contentErrorStyle() === 'inline'"
147
- [class.ax-conversation-renderer-state__row]="contentErrorStyle() === 'banner'"
148
- [class.ax-conversation-renderer-state__row--warn]="contentErrorStyle() === 'banner'"
149
- role="alert"
150
- >
151
- @if (contentErrorIconClass(); as iconClass) {
152
- <i [class]="iconClass + ' ax-conversation-renderer-state__ico'" aria-hidden="true"></i>
153
- }
154
- <span class="ax-conversation-renderer-state__msg">{{ contentErrorText() }}</span>
155
- @if (contentRetryEnabled()) {
156
- <ax-button
157
- class="ax-conversation-renderer-state__retry"
158
- [text]="translation.translateSync('@acorex:chat.renderer-state.try-again')"
159
- [look]="'outline'"
160
- [size]="'sm'"
161
- (onClick)="contentRetry.emit()"
162
- />
163
- }
164
- </div>
165
- }
166
- </div>
167
- }
168
- `, styles: [":host{display:block}.ax-conversation-renderer-state{display:flex;flex-direction:column;gap:.375rem;margin-block:.25rem 0}.ax-conversation-renderer-state--below{margin-top:.375rem;margin-bottom:0}.ax-conversation-renderer-state__content-err--inline{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:rgb(var(--ax-sys-color-danger-600));padding:.125rem .25rem}.ax-conversation-renderer-state__row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.375rem .5rem;border-radius:var(--ax-sys-border-radius);font-size:.8125rem;line-height:1.35}.ax-conversation-renderer-state__row--danger{background:rgb(var(--ax-sys-color-danger-lightest-surface));color:rgb(var(--ax-sys-color-danger-700))}.ax-conversation-renderer-state__row--warn{background:rgb(var(--ax-sys-color-warning-lightest-surface));color:rgb(var(--ax-sys-color-warning-800))}.ax-conversation-renderer-state__ico{flex-shrink:0;font-size:.875rem;opacity:.9}.ax-conversation-renderer-state__msg{flex:1;min-width:0}.ax-conversation-renderer-state__retry{flex-shrink:0}\n"] }]
169
- }] });
170
-
171
- export { AXConversationMessageRendererStateComponent as A, isMessageDeliveryPending as i };
172
- //# sourceMappingURL=acorex-components-conversation-message-renderer-state.component-DSnNoz1N.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-components-conversation-message-renderer-state.component-DSnNoz1N.mjs","sources":["../tmp-esm2022/conversation/lib/plugins/message-list/components/shared/message-renderer-state.helpers.js","../tmp-esm2022/conversation/lib/plugins/message-list/components/shared/message-renderer-state.component.js"],"sourcesContent":["export function isMessageDeliveryPending(status) {\n return status === 'sending';\n}\nexport function canShowRendererContentError(status, contentState) {\n return contentState === 'error' && !isMessageDeliveryPending(status);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1yZW5kZXJlci1zdGF0ZS5oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jb252ZXJzYXRpb24vc3JjL2xpYi9wbHVnaW5zL21lc3NhZ2UtbGlzdC9jb21wb25lbnRzL3NoYXJlZC9tZXNzYWdlLXJlbmRlcmVyLXN0YXRlLmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxVQUFVLHdCQUF3QixDQUFDLE1BQW1DO0lBQzFFLE9BQU8sTUFBTSxLQUFLLFNBQVMsQ0FBQztBQUM5QixDQUFDO0FBRUQsTUFBTSxVQUFVLDJCQUEyQixDQUN6QyxNQUFtQyxFQUNuQyxZQUF1RDtJQUV2RCxPQUFPLFlBQVksS0FBSyxPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN2RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBWENvbnZlcnNhdGlvbk1lc3NhZ2VTdGF0dXMgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHR5cGUgeyBBWENvbnZlcnNhdGlvbk1lc3NhZ2VSZW5kZXJlckNvbnRlbnRTdGF0ZSB9IGZyb20gJy4uLy4uLy4uLy4uL3JlZ2lzdHJpZXMvbWVzc2FnZS1yZW5kZXJlci5yZWdpc3RyeSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc01lc3NhZ2VEZWxpdmVyeVBlbmRpbmcoc3RhdHVzOiBBWENvbnZlcnNhdGlvbk1lc3NhZ2VTdGF0dXMpOiBib29sZWFuIHtcbiAgcmV0dXJuIHN0YXR1cyA9PT0gJ3NlbmRpbmcnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FuU2hvd1JlbmRlcmVyQ29udGVudEVycm9yKFxuICBzdGF0dXM6IEFYQ29udmVyc2F0aW9uTWVzc2FnZVN0YXR1cyxcbiAgY29udGVudFN0YXRlOiBBWENvbnZlcnNhdGlvbk1lc3NhZ2VSZW5kZXJlckNvbnRlbnRTdGF0ZSxcbik6IGJvb2xlYW4ge1xuICByZXR1cm4gY29udGVudFN0YXRlID09PSAnZXJyb3InICYmICFpc01lc3NhZ2VEZWxpdmVyeVBlbmRpbmcoc3RhdHVzKTtcbn1cbiJdfQ==","import { AXButtonComponent } from '@acorex/components/button';\nimport { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, input, output, signal } from '@angular/core';\nimport { AXConversationService } from '../../../../services';\nimport { AXConversationMessageUtilsService } from '../../../../utils/message-utils.service';\nimport { canShowRendererContentError } from './message-renderer-state.helpers';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@acorex/core/translation\";\n/**\n * Shared UI for message bubble bodies: failed delivery (with retry) and content load errors.\n * Sending state is shown in the message-list footer only — not here (avoids layout glitch in media bubbles).\n */\nexport class AXConversationMessageRendererStateComponent {\n constructor() {\n this.conversation = inject(AXConversationService, { optional: true });\n this.translation = inject(AXTranslationService);\n this.rendererState = input.required(...(ngDevMode ? [{ debugName: \"rendererState\" }] : []));\n this.message = input.required(...(ngDevMode ? [{ debugName: \"message\" }] : []));\n this.contentErrorLabel = input(undefined, ...(ngDevMode ? [{ debugName: \"contentErrorLabel\" }] : []));\n this.deliveryFailedLabel = input(undefined, ...(ngDevMode ? [{ debugName: \"deliveryFailedLabel\" }] : []));\n this.showContentErrorChrome = input(true, ...(ngDevMode ? [{ debugName: \"showContentErrorChrome\" }] : []));\n this.contentErrorStyle = input('banner', ...(ngDevMode ? [{ debugName: \"contentErrorStyle\" }] : []));\n this.contentErrorIconClass = input(undefined, ...(ngDevMode ? [{ debugName: \"contentErrorIconClass\" }] : []));\n this.placement = input('above', ...(ngDevMode ? [{ debugName: \"placement\" }] : []));\n this.contentRetryEnabled = input(false, ...(ngDevMode ? [{ debugName: \"contentRetryEnabled\" }] : []));\n this.contentRetry = output();\n this.retryBusy = signal(false, ...(ngDevMode ? [{ debugName: \"retryBusy\" }] : []));\n this.currentUser = computed(() => this.conversation?.currentUser(), ...(ngDevMode ? [{ debugName: \"currentUser\" }] : []));\n this.isOwn = computed(() => {\n const msg = this.message();\n const user = this.currentUser();\n if (!user) {\n return false;\n }\n return AXConversationMessageUtilsService.isOwnMessage(msg, user.id);\n }, ...(ngDevMode ? [{ debugName: \"isOwn\" }] : []));\n this.showFailed = computed(() => this.rendererState().deliveryStatus === 'failed' && this.isOwn(), ...(ngDevMode ? [{ debugName: \"showFailed\" }] : []));\n this.showContentError = computed(() => {\n const { contentState } = this.rendererState();\n return (this.showContentErrorChrome() &&\n canShowRendererContentError(this.message().status, contentState));\n }, ...(ngDevMode ? [{ debugName: \"showContentError\" }] : []));\n this.hasVisibleChrome = computed(() => this.showFailed() || this.showContentError(), ...(ngDevMode ? [{ debugName: \"hasVisibleChrome\" }] : []));\n this.contentErrorText = computed(() => this.contentErrorLabel() ?? this.translation.translateSync('@acorex:chat.renderer-state.could-not-load-content'), ...(ngDevMode ? [{ debugName: \"contentErrorText\" }] : []));\n this.deliveryFailedText = computed(() => this.deliveryFailedLabel() ??\n this.translation.translateSync('@acorex:chat.renderer-state.could-not-send-message'), ...(ngDevMode ? [{ debugName: \"deliveryFailedText\" }] : []));\n }\n async onRetry() {\n const msg = this.message();\n if (!this.conversation) {\n return;\n }\n this.retryBusy.set(true);\n try {\n await this.conversation.retryFailedMessage(msg.id);\n }\n finally {\n this.retryBusy.set(false);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXConversationMessageRendererStateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.3\", type: AXConversationMessageRendererStateComponent, isStandalone: true, selector: \"ax-conversation-message-renderer-state\", inputs: { rendererState: { classPropertyName: \"rendererState\", publicName: \"rendererState\", isSignal: true, isRequired: true, transformFunction: null }, message: { classPropertyName: \"message\", publicName: \"message\", isSignal: true, isRequired: true, transformFunction: null }, contentErrorLabel: { classPropertyName: \"contentErrorLabel\", publicName: \"contentErrorLabel\", isSignal: true, isRequired: false, transformFunction: null }, deliveryFailedLabel: { classPropertyName: \"deliveryFailedLabel\", publicName: \"deliveryFailedLabel\", isSignal: true, isRequired: false, transformFunction: null }, showContentErrorChrome: { classPropertyName: \"showContentErrorChrome\", publicName: \"showContentErrorChrome\", isSignal: true, isRequired: false, transformFunction: null }, contentErrorStyle: { classPropertyName: \"contentErrorStyle\", publicName: \"contentErrorStyle\", isSignal: true, isRequired: false, transformFunction: null }, contentErrorIconClass: { classPropertyName: \"contentErrorIconClass\", publicName: \"contentErrorIconClass\", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: \"placement\", publicName: \"placement\", isSignal: true, isRequired: false, transformFunction: null }, contentRetryEnabled: { classPropertyName: \"contentRetryEnabled\", publicName: \"contentRetryEnabled\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { contentRetry: \"contentRetry\" }, ngImport: i0, template: `\n @if (hasVisibleChrome()) {\n <div\n class=\"ax-conversation-renderer-state\"\n [class.ax-conversation-renderer-state--below]=\"placement() === 'below'\"\n role=\"region\"\n [attr.aria-label]=\"'@acorex:chat.renderer-state.message-status' | translate | async\"\n >\n @if (showFailed()) {\n <div class=\"ax-conversation-renderer-state__row ax-conversation-renderer-state__row--danger\" role=\"alert\">\n <i class=\"fa-light fa-triangle-exclamation ax-conversation-renderer-state__ico\" aria-hidden=\"true\"></i>\n <span class=\"ax-conversation-renderer-state__msg\">{{ deliveryFailedText() }}</span>\n <ax-button\n class=\"ax-conversation-renderer-state__retry\"\n [text]=\"translation.translateSync('@acorex:chat.renderer-state.retry')\"\n [look]=\"'outline'\"\n [size]=\"'sm'\"\n [disabled]=\"retryBusy()\"\n (onClick)=\"onRetry()\"\n />\n </div>\n }\n @if (showContentError()) {\n <div\n class=\"ax-conversation-renderer-state__content-err\"\n [class.ax-conversation-renderer-state__content-err--inline]=\"contentErrorStyle() === 'inline'\"\n [class.ax-conversation-renderer-state__row]=\"contentErrorStyle() === 'banner'\"\n [class.ax-conversation-renderer-state__row--warn]=\"contentErrorStyle() === 'banner'\"\n role=\"alert\"\n >\n @if (contentErrorIconClass(); as iconClass) {\n <i [class]=\"iconClass + ' ax-conversation-renderer-state__ico'\" aria-hidden=\"true\"></i>\n }\n <span class=\"ax-conversation-renderer-state__msg\">{{ contentErrorText() }}</span>\n @if (contentRetryEnabled()) {\n <ax-button\n class=\"ax-conversation-renderer-state__retry\"\n [text]=\"translation.translateSync('@acorex:chat.renderer-state.try-again')\"\n [look]=\"'outline'\"\n [size]=\"'sm'\"\n (onClick)=\"contentRetry.emit()\"\n />\n }\n </div>\n }\n </div>\n }\n `, isInline: true, styles: [\":host{display:block}.ax-conversation-renderer-state{display:flex;flex-direction:column;gap:.375rem;margin-block:.25rem 0}.ax-conversation-renderer-state--below{margin-top:.375rem;margin-bottom:0}.ax-conversation-renderer-state__content-err--inline{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:rgb(var(--ax-sys-color-danger-600));padding:.125rem .25rem}.ax-conversation-renderer-state__row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.375rem .5rem;border-radius:var(--ax-sys-border-radius);font-size:.8125rem;line-height:1.35}.ax-conversation-renderer-state__row--danger{background:rgb(var(--ax-sys-color-danger-lightest-surface));color:rgb(var(--ax-sys-color-danger-700))}.ax-conversation-renderer-state__row--warn{background:rgb(var(--ax-sys-color-warning-lightest-surface));color:rgb(var(--ax-sys-color-warning-800))}.ax-conversation-renderer-state__ico{flex-shrink:0;font-size:.875rem;opacity:.9}.ax-conversation-renderer-state__msg{flex:1;min-width:0}.ax-conversation-renderer-state__retry{flex-shrink:0}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"component\", type: AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i2.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXConversationMessageRendererStateComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-conversation-message-renderer-state', imports: [CommonModule, AXButtonComponent, AXTranslationModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `\n @if (hasVisibleChrome()) {\n <div\n class=\"ax-conversation-renderer-state\"\n [class.ax-conversation-renderer-state--below]=\"placement() === 'below'\"\n role=\"region\"\n [attr.aria-label]=\"'@acorex:chat.renderer-state.message-status' | translate | async\"\n >\n @if (showFailed()) {\n <div class=\"ax-conversation-renderer-state__row ax-conversation-renderer-state__row--danger\" role=\"alert\">\n <i class=\"fa-light fa-triangle-exclamation ax-conversation-renderer-state__ico\" aria-hidden=\"true\"></i>\n <span class=\"ax-conversation-renderer-state__msg\">{{ deliveryFailedText() }}</span>\n <ax-button\n class=\"ax-conversation-renderer-state__retry\"\n [text]=\"translation.translateSync('@acorex:chat.renderer-state.retry')\"\n [look]=\"'outline'\"\n [size]=\"'sm'\"\n [disabled]=\"retryBusy()\"\n (onClick)=\"onRetry()\"\n />\n </div>\n }\n @if (showContentError()) {\n <div\n class=\"ax-conversation-renderer-state__content-err\"\n [class.ax-conversation-renderer-state__content-err--inline]=\"contentErrorStyle() === 'inline'\"\n [class.ax-conversation-renderer-state__row]=\"contentErrorStyle() === 'banner'\"\n [class.ax-conversation-renderer-state__row--warn]=\"contentErrorStyle() === 'banner'\"\n role=\"alert\"\n >\n @if (contentErrorIconClass(); as iconClass) {\n <i [class]=\"iconClass + ' ax-conversation-renderer-state__ico'\" aria-hidden=\"true\"></i>\n }\n <span class=\"ax-conversation-renderer-state__msg\">{{ contentErrorText() }}</span>\n @if (contentRetryEnabled()) {\n <ax-button\n class=\"ax-conversation-renderer-state__retry\"\n [text]=\"translation.translateSync('@acorex:chat.renderer-state.try-again')\"\n [look]=\"'outline'\"\n [size]=\"'sm'\"\n (onClick)=\"contentRetry.emit()\"\n />\n }\n </div>\n }\n </div>\n }\n `, styles: [\":host{display:block}.ax-conversation-renderer-state{display:flex;flex-direction:column;gap:.375rem;margin-block:.25rem 0}.ax-conversation-renderer-state--below{margin-top:.375rem;margin-bottom:0}.ax-conversation-renderer-state__content-err--inline{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:rgb(var(--ax-sys-color-danger-600));padding:.125rem .25rem}.ax-conversation-renderer-state__row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.375rem .5rem;border-radius:var(--ax-sys-border-radius);font-size:.8125rem;line-height:1.35}.ax-conversation-renderer-state__row--danger{background:rgb(var(--ax-sys-color-danger-lightest-surface));color:rgb(var(--ax-sys-color-danger-700))}.ax-conversation-renderer-state__row--warn{background:rgb(var(--ax-sys-color-warning-lightest-surface));color:rgb(var(--ax-sys-color-warning-800))}.ax-conversation-renderer-state__ico{flex-shrink:0;font-size:.875rem;opacity:.9}.ax-conversation-renderer-state__msg{flex:1;min-width:0}.ax-conversation-renderer-state__retry{flex-shrink:0}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1yZW5kZXJlci1zdGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvbnZlcnNhdGlvbi9zcmMvbGliL3BsdWdpbnMvbWVzc2FnZS1saXN0L2NvbXBvbmVudHMvc2hhcmVkL21lc3NhZ2UtcmVuZGVyZXItc3RhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHNUcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDNUYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7QUFFL0U7OztHQUdHO0FBc0hILE1BQU0sT0FBTywyQ0FBMkM7SUFySHhEO1FBc0htQixpQkFBWSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLGdCQUFXLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFM0Msa0JBQWEsR0FBRyxLQUFLLENBQUMsUUFBUSx3REFBc0MsQ0FBQztRQUNyRSxZQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsa0RBQXlCLENBQUM7UUFFbEQsc0JBQWlCLEdBQUcsS0FBSyxDQUFxQixTQUFTLDZEQUFDLENBQUM7UUFDekQsd0JBQW1CLEdBQUcsS0FBSyxDQUFxQixTQUFTLCtEQUFDLENBQUM7UUFDM0QsMkJBQXNCLEdBQUcsS0FBSyxDQUFDLElBQUksa0VBQUMsQ0FBQztRQUNyQyxzQkFBaUIsR0FBRyxLQUFLLENBQXNCLFFBQVEsNkRBQUMsQ0FBQztRQUN6RCwwQkFBcUIsR0FBRyxLQUFLLENBQXFCLFNBQVMsaUVBQUMsQ0FBQztRQUM3RCxjQUFTLEdBQUcsS0FBSyxDQUFvQixPQUFPLHFEQUFDLENBQUM7UUFFOUMsd0JBQW1CLEdBQUcsS0FBSyxDQUFDLEtBQUssK0RBQUMsQ0FBQztRQUNuQyxpQkFBWSxHQUFHLE1BQU0sRUFBUSxDQUFDO1FBRTlCLGNBQVMsR0FBRyxNQUFNLENBQUMsS0FBSyxxREFBQyxDQUFDO1FBRWxCLGdCQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLHVEQUFDLENBQUM7UUFFL0QsVUFBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDckMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzNCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ1YsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1lBQ0QsT0FBTyxpQ0FBaUMsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0RSxDQUFDLGlEQUFDLENBQUM7UUFFTSxlQUFVLEdBQUcsUUFBUSxDQUM1QixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsY0FBYyxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLHNEQUN2RSxDQUFDO1FBRU8scUJBQWdCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN4QyxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzlDLE9BQU8sQ0FDTCxJQUFJLENBQUMsc0JBQXNCLEVBQUU7Z0JBQzdCLDJCQUEyQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQ2pFLENBQUM7UUFDSixDQUFDLDREQUFDLENBQUM7UUFFTSxxQkFBZ0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSw0REFBQyxDQUFDO1FBRWhGLHFCQUFnQixHQUFHLFFBQVEsQ0FDbEMsR0FBRyxFQUFFLENBQ0gsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsb0RBQW9ELENBQUMsNERBQ25ILENBQUM7UUFFTyx1QkFBa0IsR0FBRyxRQUFRLENBQ3BDLEdBQUcsRUFBRSxDQUNILElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxvREFBb0QsQ0FBQyw4REFDdkYsQ0FBQztLQWNIO0lBWkMsS0FBSyxDQUFDLE9BQU87UUFDWCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN2QixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQztZQUNILE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQztnQkFBUyxDQUFDO1lBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7OEdBbEVVLDJDQUEyQztrR0FBM0MsMkNBQTJDLHcvQ0FqSDVDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStDVCxzbUNBakRTLFlBQVksK0JBQUUsaUJBQWlCLDBVQUFFLG1CQUFtQjs7MkZBbUhuRCwyQ0FBMkM7a0JBckh2RCxTQUFTOytCQUNFLHdDQUF3QyxXQUN6QyxDQUFDLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsQ0FBQyxtQkFDOUMsdUJBQXVCLENBQUMsTUFBTSxZQUNyQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQ1QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSwgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBBWENvbnZlcnNhdGlvbk1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHR5cGUgeyBBWENvbnZlcnNhdGlvbk1lc3NhZ2VSZW5kZXJlclN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcmVnaXN0cmllcy9tZXNzYWdlLXJlbmRlcmVyLnJlZ2lzdHJ5JztcbmltcG9ydCB7IEFYQ29udmVyc2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IEFYQ29udmVyc2F0aW9uTWVzc2FnZVV0aWxzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzL21lc3NhZ2UtdXRpbHMuc2VydmljZSc7XG5pbXBvcnQgeyBjYW5TaG93UmVuZGVyZXJDb250ZW50RXJyb3IgfSBmcm9tICcuL21lc3NhZ2UtcmVuZGVyZXItc3RhdGUuaGVscGVycyc7XG5cbi8qKlxuICogU2hhcmVkIFVJIGZvciBtZXNzYWdlIGJ1YmJsZSBib2RpZXM6IGZhaWxlZCBkZWxpdmVyeSAod2l0aCByZXRyeSkgYW5kIGNvbnRlbnQgbG9hZCBlcnJvcnMuXG4gKiBTZW5kaW5nIHN0YXRlIGlzIHNob3duIGluIHRoZSBtZXNzYWdlLWxpc3QgZm9vdGVyIG9ubHkg4oCUIG5vdCBoZXJlIChhdm9pZHMgbGF5b3V0IGdsaXRjaCBpbiBtZWRpYSBidWJibGVzKS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtY29udmVyc2F0aW9uLW1lc3NhZ2UtcmVuZGVyZXItc3RhdGUnLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBBWEJ1dHRvbkNvbXBvbmVudCwgQVhUcmFuc2xhdGlvbk1vZHVsZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogYFxuICAgIEBpZiAoaGFzVmlzaWJsZUNocm9tZSgpKSB7XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiYXgtY29udmVyc2F0aW9uLXJlbmRlcmVyLXN0YXRlXCJcbiAgICAgICAgW2NsYXNzLmF4LWNvbnZlcnNhdGlvbi1yZW5kZXJlci1zdGF0ZS0tYmVsb3ddPVwicGxhY2VtZW50KCkgPT09ICdiZWxvdydcIlxuICAgICAgICByb2xlPVwicmVnaW9uXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQGFjb3JleDpjaGF0LnJlbmRlcmVyLXN0YXRlLm1lc3NhZ2Utc3RhdHVzJyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCJcbiAgICAgID5cbiAgICAgICAgQGlmIChzaG93RmFpbGVkKCkpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY29udmVyc2F0aW9uLXJlbmRlcmVyLXN0YXRlX19yb3cgYXgtY29udmVyc2F0aW9uLXJlbmRlcmVyLXN0YXRlX19yb3ctLWRhbmdlclwiIHJvbGU9XCJhbGVydFwiPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1saWdodCBmYS10cmlhbmdsZS1leGNsYW1hdGlvbiBheC1jb252ZXJzYXRpb24tcmVuZGVyZXItc3RhdGVfX2ljb1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtY29udmVyc2F0aW9uLXJlbmRlcmVyLXN0YXRlX19tc2dcIj57eyBkZWxpdmVyeUZhaWxlZFRleHQoKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxheC1idXR0b25cbiAgICAgICAgICAgICAgY2xhc3M9XCJheC1jb252ZXJzYXRpb24tcmVuZGVyZXItc3RhdGVfX3JldHJ5XCJcbiAgICAgICAgICAgICAgW3RleHRdPVwidHJhbnNsYXRpb24udHJhbnNsYXRlU3luYygnQGFjb3JleDpjaGF0LnJlbmRlcmVyLXN0YXRlLnJldHJ5JylcIlxuICAgICAgICAgICAgICBbbG9va109XCInb3V0bGluZSdcIlxuICAgICAgICAgICAgICBbc2l6ZV09XCInc20nXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInJldHJ5QnVzeSgpXCJcbiAgICAgICAgICAgICAgKG9uQ2xpY2spPVwib25SZXRyeSgpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChzaG93Q29udGVudEVycm9yKCkpIHtcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImF4LWNvbnZlcnNhdGlvbi1yZW5kZXJlci1zdGF0ZV9fY29udGVudC1lcnJcIlxuICAgICAgICAgICAgW2NsYXNzLmF4LWNvbnZlcnNhdGlvbi1yZW5kZXJlci1zdGF0ZV9fY29udGVudC1lcnItLWlubGluZV09XCJjb250ZW50RXJyb3JTdHlsZSgpID09PSAnaW5saW5lJ1wiXG4gICAgICAgICAgICBbY2xhc3MuYXgtY29udmVyc2F0aW9uLXJlbmRlcmVyLXN0YXRlX19yb3ddPVwiY29udGVudEVycm9yU3R5bGUoKSA9PT0gJ2Jhbm5lcidcIlxuICAgICAgICAgICAgW2NsYXNzLmF4LWNvbnZlcnNhdGlvbi1yZW5kZXJlci1zdGF0ZV9fcm93LS13YXJuXT1cImNvbnRlbnRFcnJvclN0eWxlKCkgPT09ICdiYW5uZXInXCJcbiAgICAgICAgICAgIHJvbGU9XCJhbGVydFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgQGlmIChjb250ZW50RXJyb3JJY29uQ2xhc3MoKTsgYXMgaWNvbkNsYXNzKSB7XG4gICAgICAgICAgICAgIDxpIFtjbGFzc109XCJpY29uQ2xhc3MgKyAnIGF4LWNvbnZlcnNhdGlvbi1yZW5kZXJlci1zdGF0ZV9faWNvJ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtY29udmVyc2F0aW9uLXJlbmRlcmVyLXN0YXRlX19tc2dcIj57eyBjb250ZW50RXJyb3JUZXh0KCkgfX08L3NwYW4+XG4gICAgICAgICAgICBAaWYgKGNvbnRlbnRSZXRyeUVuYWJsZWQoKSkge1xuICAgICAgICAgICAgICA8YXgtYnV0dG9uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJheC1jb252ZXJzYXRpb24tcmVuZGVyZXItc3RhdGVfX3JldHJ5XCJcbiAgICAgICAgICAgICAgICBbdGV4dF09XCJ0cmFuc2xhdGlvbi50cmFuc2xhdGVTeW5jKCdAYWNvcmV4OmNoYXQucmVuZGVyZXItc3RhdGUudHJ5LWFnYWluJylcIlxuICAgICAgICAgICAgICAgIFtsb29rXT1cIidvdXRsaW5lJ1wiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwiJ3NtJ1wiXG4gICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiY29udGVudFJldHJ5LmVtaXQoKVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgLmF4LWNvbnZlcnNhdGlvbi1yZW5kZXJlci1zdGF0ZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMC4zNzVyZW07XG4gICAgICAgIG1hcmdpbi1ibG9jazogMC4yNXJlbSAwO1xuICAgICAgfVxuXG4gICAgICAuYXgtY29udmVyc2F0aW9uLXJlbmRlcmVyLXN0YXRlLS1iZWxvdyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuMzc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAuYXgtY29udmVyc2F0aW9uLXJlbmRlcmVyLXN0YXRlX19jb250ZW50LWVyci0taW5saW5lIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAwLjM3NXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBjb2xvcjogcmdiKHZhcigtLWF4LXN5cy1jb2xvci1kYW5nZXItNjAwKSk7XG4gICAgICAgIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW07XG4gICAgICB9XG5cbiAgICAgIC5heC1jb252ZXJzYXRpb24tcmVuZGVyZXItc3RhdGVfX3JvdyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuMzc1cmVtIDAuNXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYXgtc3lzLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzU7XG4gICAgICB9XG5cbiAgICAgIC5heC1jb252ZXJzYXRpb24tcmVuZGVyZXItc3RhdGVfX3Jvdy0tZGFuZ2VyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiKHZhcigtLWF4LXN5cy1jb2xvci1kYW5nZXItbGlnaHRlc3Qtc3VyZmFjZSkpO1xuICAgICAgICBjb2xvcjogcmdiKHZhcigtLWF4LXN5cy1jb2xvci1kYW5nZXItNzAwKSk7XG4gICAgICB9XG5cbiAgICAgIC5heC1jb252ZXJzYXRpb24tcmVuZGVyZXItc3RhdGVfX3Jvdy0td2FybiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYih2YXIoLS1heC1zeXMtY29sb3Itd2FybmluZy1saWdodGVzdC1zdXJmYWNlKSk7XG4gICAgICAgIGNvbG9yOiByZ2IodmFyKC0tYXgtc3lzLWNvbG9yLXdhcm5pbmctODAwKSk7XG4gICAgICB9XG5cbiAgICAgIC5heC1jb252ZXJzYXRpb24tcmVuZGVyZXItc3RhdGVfX2ljbyB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBvcGFjaXR5OiAwLjk7XG4gICAgICB9XG5cbiAgICAgIC5heC1jb252ZXJzYXRpb24tcmVuZGVyZXItc3RhdGVfX21zZyB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIH1cblxuICAgICAgLmF4LWNvbnZlcnNhdGlvbi1yZW5kZXJlci1zdGF0ZV9fcmV0cnkge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWENvbnZlcnNhdGlvbk1lc3NhZ2VSZW5kZXJlclN0YXRlQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBjb252ZXJzYXRpb24gPSBpbmplY3QoQVhDb252ZXJzYXRpb25TZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICByZWFkb25seSB0cmFuc2xhdGlvbiA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG5cbiAgcmVhZG9ubHkgcmVuZGVyZXJTdGF0ZSA9IGlucHV0LnJlcXVpcmVkPEFYQ29udmVyc2F0aW9uTWVzc2FnZVJlbmRlcmVyU3RhdGU+KCk7XG4gIHJlYWRvbmx5IG1lc3NhZ2UgPSBpbnB1dC5yZXF1aXJlZDxBWENvbnZlcnNhdGlvbk1lc3NhZ2U+KCk7XG5cbiAgcmVhZG9ubHkgY29udGVudEVycm9yTGFiZWwgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGRlbGl2ZXJ5RmFpbGVkTGFiZWwgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IHNob3dDb250ZW50RXJyb3JDaHJvbWUgPSBpbnB1dCh0cnVlKTtcbiAgcmVhZG9ubHkgY29udGVudEVycm9yU3R5bGUgPSBpbnB1dDwnYmFubmVyJyB8ICdpbmxpbmUnPignYmFubmVyJyk7XG4gIHJlYWRvbmx5IGNvbnRlbnRFcnJvckljb25DbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgcGxhY2VtZW50ID0gaW5wdXQ8J2Fib3ZlJyB8ICdiZWxvdyc+KCdhYm92ZScpO1xuXG4gIHJlYWRvbmx5IGNvbnRlbnRSZXRyeUVuYWJsZWQgPSBpbnB1dChmYWxzZSk7XG4gIHJlYWRvbmx5IGNvbnRlbnRSZXRyeSA9IG91dHB1dDx2b2lkPigpO1xuXG4gIHJlYWRvbmx5IHJldHJ5QnVzeSA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjdXJyZW50VXNlciA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY29udmVyc2F0aW9uPy5jdXJyZW50VXNlcigpKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGlzT3duID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IG1zZyA9IHRoaXMubWVzc2FnZSgpO1xuICAgIGNvbnN0IHVzZXIgPSB0aGlzLmN1cnJlbnRVc2VyKCk7XG4gICAgaWYgKCF1c2VyKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBBWENvbnZlcnNhdGlvbk1lc3NhZ2VVdGlsc1NlcnZpY2UuaXNPd25NZXNzYWdlKG1zZywgdXNlci5pZCk7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHNob3dGYWlsZWQgPSBjb21wdXRlZChcbiAgICAoKSA9PiB0aGlzLnJlbmRlcmVyU3RhdGUoKS5kZWxpdmVyeVN0YXR1cyA9PT0gJ2ZhaWxlZCcgJiYgdGhpcy5pc093bigpLFxuICApO1xuXG4gIHJlYWRvbmx5IHNob3dDb250ZW50RXJyb3IgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgeyBjb250ZW50U3RhdGUgfSA9IHRoaXMucmVuZGVyZXJTdGF0ZSgpO1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnNob3dDb250ZW50RXJyb3JDaHJvbWUoKSAmJlxuICAgICAgY2FuU2hvd1JlbmRlcmVyQ29udGVudEVycm9yKHRoaXMubWVzc2FnZSgpLnN0YXR1cywgY29udGVudFN0YXRlKVxuICAgICk7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGhhc1Zpc2libGVDaHJvbWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNob3dGYWlsZWQoKSB8fCB0aGlzLnNob3dDb250ZW50RXJyb3IoKSk7XG5cbiAgcmVhZG9ubHkgY29udGVudEVycm9yVGV4dCA9IGNvbXB1dGVkKFxuICAgICgpID0+XG4gICAgICB0aGlzLmNvbnRlbnRFcnJvckxhYmVsKCkgPz8gdGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGVTeW5jKCdAYWNvcmV4OmNoYXQucmVuZGVyZXItc3RhdGUuY291bGQtbm90LWxvYWQtY29udGVudCcpLFxuICApO1xuXG4gIHJlYWRvbmx5IGRlbGl2ZXJ5RmFpbGVkVGV4dCA9IGNvbXB1dGVkKFxuICAgICgpID0+XG4gICAgICB0aGlzLmRlbGl2ZXJ5RmFpbGVkTGFiZWwoKSA/P1xuICAgICAgdGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGVTeW5jKCdAYWNvcmV4OmNoYXQucmVuZGVyZXItc3RhdGUuY291bGQtbm90LXNlbmQtbWVzc2FnZScpLFxuICApO1xuXG4gIGFzeW5jIG9uUmV0cnkoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbXNnID0gdGhpcy5tZXNzYWdlKCk7XG4gICAgaWYgKCF0aGlzLmNvbnZlcnNhdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnJldHJ5QnVzeS5zZXQodHJ1ZSk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuY29udmVyc2F0aW9uLnJldHJ5RmFpbGVkTWVzc2FnZShtc2cuaWQpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnJldHJ5QnVzeS5zZXQoZmFsc2UpO1xuICAgIH1cbiAgfVxufVxuIl19"],"names":["i1","i2"],"mappings":"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"}
@@ -1,81 +0,0 @@
1
- import { k as axConversationSharedStorage, i as axConversationIndexedDbStorage, j as registerChatMessage } from './acorex-components-conversation-acorex-components-conversation-CjVDCoJw.mjs';
2
-
3
- /**
4
- * Extra seed data so sidebar and message-list pagination can be exercised in the demo.
5
- */
6
- const AX_CONVERSATION_MIN_CONVERSATIONS_FOR_PAGINATION = 200;
7
- const AX_CONVERSATION_MIN_MESSAGES_CONV_1 = 500;
8
- /**
9
- * Append demo chats/messages when the DB is too small for default page sizes (30 / 50).
10
- */
11
- async function ensurePaginationDemoData() {
12
- const conversationCount = axConversationSharedStorage.conversations.size;
13
- const conv1Messages = axConversationSharedStorage.messagesByConversation.get('conv-1')?.length ?? 0;
14
- if (conversationCount >= AX_CONVERSATION_MIN_CONVERSATIONS_FOR_PAGINATION && conv1Messages >= AX_CONVERSATION_MIN_MESSAGES_CONV_1) {
15
- return;
16
- }
17
- const participants = Array.from(axConversationSharedStorage.participants.values());
18
- const currentUser = axConversationSharedStorage.participants.get(axConversationSharedStorage.currentUserId);
19
- if (!currentUser || participants.length < 2) {
20
- return;
21
- }
22
- const now = Date.now();
23
- if (conversationCount < AX_CONVERSATION_MIN_CONVERSATIONS_FOR_PAGINATION) {
24
- const toCreate = AX_CONVERSATION_MIN_CONVERSATIONS_FOR_PAGINATION - conversationCount;
25
- for (let i = 0; i < toCreate; i++) {
26
- const peer = participants[(i % (participants.length - 1)) + 1];
27
- const conversation = {
28
- id: `conv-pag-${i}`,
29
- type: 'private',
30
- title: `Demo Chat ${i + 1} — ${peer.name}`,
31
- participants: [currentUser, { ...peer, role: 'member' }],
32
- lastMessageAt: new Date(now - i * 60_000),
33
- unreadCount: 0,
34
- pinned: i === 0,
35
- status: { isTyping: false, typingUsers: [] },
36
- settings: { notifications: true, showPreview: true },
37
- archived: false,
38
- metadata: { profile: { tags: ['demo', 'pagination'] } },
39
- createdAt: new Date(now - i * 86_400_000),
40
- updatedAt: new Date(now - i * 60_000),
41
- };
42
- axConversationSharedStorage.conversations.set(conversation.id, conversation);
43
- await axConversationIndexedDbStorage.putConversation(conversation);
44
- }
45
- }
46
- if (conv1Messages < AX_CONVERSATION_MIN_MESSAGES_CONV_1) {
47
- const existing = conv1Messages;
48
- const toCreate = AX_CONVERSATION_MIN_MESSAGES_CONV_1 - existing;
49
- let lastMessage;
50
- for (let i = 0; i < toCreate; i++) {
51
- const isOwn = i % 2 === 0;
52
- const message = {
53
- id: `msg-1-pag-${existing + i}`,
54
- conversationId: 'conv-1',
55
- senderId: isOwn ? 'current-user' : 'user-2',
56
- type: 'text',
57
- timestamp: new Date(now - (existing + i + 1) * 45_000),
58
- payload: {
59
- type: 'text',
60
- text: `Pagination demo message #${existing + i + 1} — scroll up to load older history.`,
61
- },
62
- status: 'read',
63
- reactions: [],
64
- metadata: {},
65
- };
66
- registerChatMessage(message);
67
- await axConversationIndexedDbStorage.putMessage(message);
68
- lastMessage = message;
69
- }
70
- const conv = axConversationSharedStorage.conversations.get('conv-1');
71
- if (conv && lastMessage) {
72
- conv.lastMessage = lastMessage;
73
- conv.lastMessageAt = lastMessage.timestamp;
74
- axConversationSharedStorage.conversations.set(conv.id, conv);
75
- await axConversationIndexedDbStorage.putConversation(conv);
76
- }
77
- }
78
- }
79
-
80
- export { ensurePaginationDemoData };
81
- //# sourceMappingURL=acorex-components-conversation-pagination-demo-data-DRr9PXjJ.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-components-conversation-pagination-demo-data-DRr9PXjJ.mjs","sources":["../tmp-esm2022/conversation/lib/plugins/apis/pagination-demo-data.js"],"sourcesContent":["/**\n * Extra seed data so sidebar and message-list pagination can be exercised in the demo.\n */\nimport { registerChatMessage } from './chat-storage.helpers';\nimport { axConversationIndexedDbStorage } from './indexeddb-storage';\nimport { axConversationSharedStorage } from './shared-storage';\nconst AX_CONVERSATION_MIN_CONVERSATIONS_FOR_PAGINATION = 200;\nconst AX_CONVERSATION_MIN_MESSAGES_CONV_1 = 500;\n/**\n * Append demo chats/messages when the DB is too small for default page sizes (30 / 50).\n */\nexport async function ensurePaginationDemoData() {\n const conversationCount = axConversationSharedStorage.conversations.size;\n const conv1Messages = axConversationSharedStorage.messagesByConversation.get('conv-1')?.length ?? 0;\n if (conversationCount >= AX_CONVERSATION_MIN_CONVERSATIONS_FOR_PAGINATION && conv1Messages >= AX_CONVERSATION_MIN_MESSAGES_CONV_1) {\n return;\n }\n const participants = Array.from(axConversationSharedStorage.participants.values());\n const currentUser = axConversationSharedStorage.participants.get(axConversationSharedStorage.currentUserId);\n if (!currentUser || participants.length < 2) {\n return;\n }\n const now = Date.now();\n if (conversationCount < AX_CONVERSATION_MIN_CONVERSATIONS_FOR_PAGINATION) {\n const toCreate = AX_CONVERSATION_MIN_CONVERSATIONS_FOR_PAGINATION - conversationCount;\n for (let i = 0; i < toCreate; i++) {\n const peer = participants[(i % (participants.length - 1)) + 1];\n const conversation = {\n id: `conv-pag-${i}`,\n type: 'private',\n title: `Demo Chat ${i + 1} — ${peer.name}`,\n participants: [currentUser, { ...peer, role: 'member' }],\n lastMessageAt: new Date(now - i * 60_000),\n unreadCount: 0,\n pinned: i === 0,\n status: { isTyping: false, typingUsers: [] },\n settings: { notifications: true, showPreview: true },\n archived: false,\n metadata: { profile: { tags: ['demo', 'pagination'] } },\n createdAt: new Date(now - i * 86_400_000),\n updatedAt: new Date(now - i * 60_000),\n };\n axConversationSharedStorage.conversations.set(conversation.id, conversation);\n await axConversationIndexedDbStorage.putConversation(conversation);\n }\n }\n if (conv1Messages < AX_CONVERSATION_MIN_MESSAGES_CONV_1) {\n const existing = conv1Messages;\n const toCreate = AX_CONVERSATION_MIN_MESSAGES_CONV_1 - existing;\n let lastMessage;\n for (let i = 0; i < toCreate; i++) {\n const isOwn = i % 2 === 0;\n const message = {\n id: `msg-1-pag-${existing + i}`,\n conversationId: 'conv-1',\n senderId: isOwn ? 'current-user' : 'user-2',\n type: 'text',\n timestamp: new Date(now - (existing + i + 1) * 45_000),\n payload: {\n type: 'text',\n text: `Pagination demo message #${existing + i + 1} — scroll up to load older history.`,\n },\n status: 'read',\n reactions: [],\n metadata: {},\n };\n registerChatMessage(message);\n await axConversationIndexedDbStorage.putMessage(message);\n lastMessage = message;\n }\n const conv = axConversationSharedStorage.conversations.get('conv-1');\n if (conv && lastMessage) {\n conv.lastMessage = lastMessage;\n conv.lastMessageAt = lastMessage.timestamp;\n axConversationSharedStorage.conversations.set(conv.id, conv);\n await axConversationIndexedDbStorage.putConversation(conv);\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi1kZW1vLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvbnZlcnNhdGlvbi9zcmMvbGliL3BsdWdpbnMvYXBpcy9wYWdpbmF0aW9uLWRlbW8tZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUdILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9ELE1BQU0sZ0RBQWdELEdBQUcsR0FBRyxDQUFDO0FBQzdELE1BQU0sbUNBQW1DLEdBQUcsR0FBRyxDQUFDO0FBRWhEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSx3QkFBd0I7SUFDNUMsTUFBTSxpQkFBaUIsR0FBRywyQkFBMkIsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO0lBQ3pFLE1BQU0sYUFBYSxHQUFHLDJCQUEyQixDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDO0lBRXBHLElBQUksaUJBQWlCLElBQUksZ0RBQWdELElBQUksYUFBYSxJQUFJLG1DQUFtQyxFQUFFLENBQUM7UUFDbEksT0FBTztJQUNULENBQUM7SUFFRCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ25GLE1BQU0sV0FBVyxHQUFHLDJCQUEyQixDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDNUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzVDLE9BQU87SUFDVCxDQUFDO0lBRUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBRXZCLElBQUksaUJBQWlCLEdBQUcsZ0RBQWdELEVBQUUsQ0FBQztRQUN6RSxNQUFNLFFBQVEsR0FBRyxnREFBZ0QsR0FBRyxpQkFBaUIsQ0FBQztRQUN0RixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDbEMsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQy9ELE1BQU0sWUFBWSxHQUFtQjtnQkFDbkMsRUFBRSxFQUFFLFlBQVksQ0FBQyxFQUFFO2dCQUNuQixJQUFJLEVBQUUsU0FBUztnQkFDZixLQUFLLEVBQUUsYUFBYSxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQzFDLFlBQVksRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFLEdBQUcsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQztnQkFDeEQsYUFBYSxFQUFFLElBQUksSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO2dCQUN6QyxXQUFXLEVBQUUsQ0FBQztnQkFDZCxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUM7Z0JBQ2YsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFO2dCQUM1QyxRQUFRLEVBQUUsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBQ3BELFFBQVEsRUFBRSxLQUFLO2dCQUNmLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsRUFBRSxFQUFFO2dCQUN2RCxTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUM7Z0JBQ3pDLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQzthQUN0QyxDQUFDO1lBQ0YsMkJBQTJCLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQzdFLE1BQU0sOEJBQThCLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JFLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxhQUFhLEdBQUcsbUNBQW1DLEVBQUUsQ0FBQztRQUN4RCxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUM7UUFDL0IsTUFBTSxRQUFRLEdBQUcsbUNBQW1DLEdBQUcsUUFBUSxDQUFDO1FBQ2hFLElBQUksV0FBOEMsQ0FBQztRQUVuRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDbEMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUIsTUFBTSxPQUFPLEdBQTBCO2dCQUNyQyxFQUFFLEVBQUUsYUFBYSxRQUFRLEdBQUcsQ0FBQyxFQUFFO2dCQUMvQixjQUFjLEVBQUUsUUFBUTtnQkFDeEIsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUFRO2dCQUMzQyxJQUFJLEVBQUUsTUFBTTtnQkFDWixTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsUUFBUSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUM7Z0JBQ3RELE9BQU8sRUFBRTtvQkFDUCxJQUFJLEVBQUUsTUFBTTtvQkFDWixJQUFJLEVBQUUsNEJBQTRCLFFBQVEsR0FBRyxDQUFDLEdBQUcsQ0FBQyxxQ0FBcUM7aUJBQ3hGO2dCQUNELE1BQU0sRUFBRSxNQUFNO2dCQUNkLFNBQVMsRUFBRSxFQUFFO2dCQUNiLFFBQVEsRUFBRSxFQUFFO2FBQ2IsQ0FBQztZQUNGLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzdCLE1BQU0sOEJBQThCLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3pELFdBQVcsR0FBRyxPQUFPLENBQUM7UUFDeEIsQ0FBQztRQUVELE1BQU0sSUFBSSxHQUFHLDJCQUEyQixDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckUsSUFBSSxJQUFJLElBQUksV0FBVyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7WUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDO1lBQzNDLDJCQUEyQixDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM3RCxNQUFNLDhCQUE4QixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3RCxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEV4dHJhIHNlZWQgZGF0YSBzbyBzaWRlYmFyIGFuZCBtZXNzYWdlLWxpc3QgcGFnaW5hdGlvbiBjYW4gYmUgZXhlcmNpc2VkIGluIHRoZSBkZW1vLlxuICovXG5cbmltcG9ydCB0eXBlIHsgQVhDb252ZXJzYXRpb24sIEFYQ29udmVyc2F0aW9uTWVzc2FnZSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyByZWdpc3RlckNoYXRNZXNzYWdlIH0gZnJvbSAnLi9jaGF0LXN0b3JhZ2UuaGVscGVycyc7XG5pbXBvcnQgeyBheENvbnZlcnNhdGlvbkluZGV4ZWREYlN0b3JhZ2UgfSBmcm9tICcuL2luZGV4ZWRkYi1zdG9yYWdlJztcbmltcG9ydCB7IGF4Q29udmVyc2F0aW9uU2hhcmVkU3RvcmFnZSB9IGZyb20gJy4vc2hhcmVkLXN0b3JhZ2UnO1xuXG5jb25zdCBBWF9DT05WRVJTQVRJT05fTUlOX0NPTlZFUlNBVElPTlNfRk9SX1BBR0lOQVRJT04gPSAyMDA7XG5jb25zdCBBWF9DT05WRVJTQVRJT05fTUlOX01FU1NBR0VTX0NPTlZfMSA9IDUwMDtcblxuLyoqXG4gKiBBcHBlbmQgZGVtbyBjaGF0cy9tZXNzYWdlcyB3aGVuIHRoZSBEQiBpcyB0b28gc21hbGwgZm9yIGRlZmF1bHQgcGFnZSBzaXplcyAoMzAgLyA1MCkuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlbnN1cmVQYWdpbmF0aW9uRGVtb0RhdGEoKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGNvbnZlcnNhdGlvbkNvdW50ID0gYXhDb252ZXJzYXRpb25TaGFyZWRTdG9yYWdlLmNvbnZlcnNhdGlvbnMuc2l6ZTtcbiAgY29uc3QgY29udjFNZXNzYWdlcyA9IGF4Q29udmVyc2F0aW9uU2hhcmVkU3RvcmFnZS5tZXNzYWdlc0J5Q29udmVyc2F0aW9uLmdldCgnY29udi0xJyk/Lmxlbmd0aCA/PyAwO1xuXG4gIGlmIChjb252ZXJzYXRpb25Db3VudCA+PSBBWF9DT05WRVJTQVRJT05fTUlOX0NPTlZFUlNBVElPTlNfRk9SX1BBR0lOQVRJT04gJiYgY29udjFNZXNzYWdlcyA+PSBBWF9DT05WRVJTQVRJT05fTUlOX01FU1NBR0VTX0NPTlZfMSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHBhcnRpY2lwYW50cyA9IEFycmF5LmZyb20oYXhDb252ZXJzYXRpb25TaGFyZWRTdG9yYWdlLnBhcnRpY2lwYW50cy52YWx1ZXMoKSk7XG4gIGNvbnN0IGN1cnJlbnRVc2VyID0gYXhDb252ZXJzYXRpb25TaGFyZWRTdG9yYWdlLnBhcnRpY2lwYW50cy5nZXQoYXhDb252ZXJzYXRpb25TaGFyZWRTdG9yYWdlLmN1cnJlbnRVc2VySWQpO1xuICBpZiAoIWN1cnJlbnRVc2VyIHx8IHBhcnRpY2lwYW50cy5sZW5ndGggPCAyKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcblxuICBpZiAoY29udmVyc2F0aW9uQ291bnQgPCBBWF9DT05WRVJTQVRJT05fTUlOX0NPTlZFUlNBVElPTlNfRk9SX1BBR0lOQVRJT04pIHtcbiAgICBjb25zdCB0b0NyZWF0ZSA9IEFYX0NPTlZFUlNBVElPTl9NSU5fQ09OVkVSU0FUSU9OU19GT1JfUEFHSU5BVElPTiAtIGNvbnZlcnNhdGlvbkNvdW50O1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdG9DcmVhdGU7IGkrKykge1xuICAgICAgY29uc3QgcGVlciA9IHBhcnRpY2lwYW50c1soaSAlIChwYXJ0aWNpcGFudHMubGVuZ3RoIC0gMSkpICsgMV07XG4gICAgICBjb25zdCBjb252ZXJzYXRpb246IEFYQ29udmVyc2F0aW9uID0ge1xuICAgICAgICBpZDogYGNvbnYtcGFnLSR7aX1gLFxuICAgICAgICB0eXBlOiAncHJpdmF0ZScsXG4gICAgICAgIHRpdGxlOiBgRGVtbyBDaGF0ICR7aSArIDF9IOKAlCAke3BlZXIubmFtZX1gLFxuICAgICAgICBwYXJ0aWNpcGFudHM6IFtjdXJyZW50VXNlciwgeyAuLi5wZWVyLCByb2xlOiAnbWVtYmVyJyB9XSxcbiAgICAgICAgbGFzdE1lc3NhZ2VBdDogbmV3IERhdGUobm93IC0gaSAqIDYwXzAwMCksXG4gICAgICAgIHVucmVhZENvdW50OiAwLFxuICAgICAgICBwaW5uZWQ6IGkgPT09IDAsXG4gICAgICAgIHN0YXR1czogeyBpc1R5cGluZzogZmFsc2UsIHR5cGluZ1VzZXJzOiBbXSB9LFxuICAgICAgICBzZXR0aW5nczogeyBub3RpZmljYXRpb25zOiB0cnVlLCBzaG93UHJldmlldzogdHJ1ZSB9LFxuICAgICAgICBhcmNoaXZlZDogZmFsc2UsXG4gICAgICAgIG1ldGFkYXRhOiB7IHByb2ZpbGU6IHsgdGFnczogWydkZW1vJywgJ3BhZ2luYXRpb24nXSB9IH0sXG4gICAgICAgIGNyZWF0ZWRBdDogbmV3IERhdGUobm93IC0gaSAqIDg2XzQwMF8wMDApLFxuICAgICAgICB1cGRhdGVkQXQ6IG5ldyBEYXRlKG5vdyAtIGkgKiA2MF8wMDApLFxuICAgICAgfTtcbiAgICAgIGF4Q29udmVyc2F0aW9uU2hhcmVkU3RvcmFnZS5jb252ZXJzYXRpb25zLnNldChjb252ZXJzYXRpb24uaWQsIGNvbnZlcnNhdGlvbik7XG4gICAgICBhd2FpdCBheENvbnZlcnNhdGlvbkluZGV4ZWREYlN0b3JhZ2UucHV0Q29udmVyc2F0aW9uKGNvbnZlcnNhdGlvbik7XG4gICAgfVxuICB9XG5cbiAgaWYgKGNvbnYxTWVzc2FnZXMgPCBBWF9DT05WRVJTQVRJT05fTUlOX01FU1NBR0VTX0NPTlZfMSkge1xuICAgIGNvbnN0IGV4aXN0aW5nID0gY29udjFNZXNzYWdlcztcbiAgICBjb25zdCB0b0NyZWF0ZSA9IEFYX0NPTlZFUlNBVElPTl9NSU5fTUVTU0FHRVNfQ09OVl8xIC0gZXhpc3Rpbmc7XG4gICAgbGV0IGxhc3RNZXNzYWdlOiBBWENvbnZlcnNhdGlvbk1lc3NhZ2UgfCB1bmRlZmluZWQ7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRvQ3JlYXRlOyBpKyspIHtcbiAgICAgIGNvbnN0IGlzT3duID0gaSAlIDIgPT09IDA7XG4gICAgICBjb25zdCBtZXNzYWdlOiBBWENvbnZlcnNhdGlvbk1lc3NhZ2UgPSB7XG4gICAgICAgIGlkOiBgbXNnLTEtcGFnLSR7ZXhpc3RpbmcgKyBpfWAsXG4gICAgICAgIGNvbnZlcnNhdGlvbklkOiAnY29udi0xJyxcbiAgICAgICAgc2VuZGVySWQ6IGlzT3duID8gJ2N1cnJlbnQtdXNlcicgOiAndXNlci0yJyxcbiAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICB0aW1lc3RhbXA6IG5ldyBEYXRlKG5vdyAtIChleGlzdGluZyArIGkgKyAxKSAqIDQ1XzAwMCksXG4gICAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgdGV4dDogYFBhZ2luYXRpb24gZGVtbyBtZXNzYWdlICMke2V4aXN0aW5nICsgaSArIDF9IOKAlCBzY3JvbGwgdXAgdG8gbG9hZCBvbGRlciBoaXN0b3J5LmAsXG4gICAgICAgIH0sXG4gICAgICAgIHN0YXR1czogJ3JlYWQnLFxuICAgICAgICByZWFjdGlvbnM6IFtdLFxuICAgICAgICBtZXRhZGF0YToge30sXG4gICAgICB9O1xuICAgICAgcmVnaXN0ZXJDaGF0TWVzc2FnZShtZXNzYWdlKTtcbiAgICAgIGF3YWl0IGF4Q29udmVyc2F0aW9uSW5kZXhlZERiU3RvcmFnZS5wdXRNZXNzYWdlKG1lc3NhZ2UpO1xuICAgICAgbGFzdE1lc3NhZ2UgPSBtZXNzYWdlO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnYgPSBheENvbnZlcnNhdGlvblNoYXJlZFN0b3JhZ2UuY29udmVyc2F0aW9ucy5nZXQoJ2NvbnYtMScpO1xuICAgIGlmIChjb252ICYmIGxhc3RNZXNzYWdlKSB7XG4gICAgICBjb252Lmxhc3RNZXNzYWdlID0gbGFzdE1lc3NhZ2U7XG4gICAgICBjb252Lmxhc3RNZXNzYWdlQXQgPSBsYXN0TWVzc2FnZS50aW1lc3RhbXA7XG4gICAgICBheENvbnZlcnNhdGlvblNoYXJlZFN0b3JhZ2UuY29udmVyc2F0aW9ucy5zZXQoY29udi5pZCwgY29udik7XG4gICAgICBhd2FpdCBheENvbnZlcnNhdGlvbkluZGV4ZWREYlN0b3JhZ2UucHV0Q29udmVyc2F0aW9uKGNvbnYpO1xuICAgIH1cbiAgfVxufVxuIl19"],"names":[],"mappings":"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"}
@@ -1,91 +0,0 @@
1
- import { AXButtonComponent } from '@acorex/components/button';
2
- import * as i0 from '@angular/core';
3
- import { input, output, ChangeDetectionStrategy, Component } from '@angular/core';
4
- import * as i3 from '@acorex/core/translation';
5
- import { AXTranslationModule } from '@acorex/core/translation';
6
- import { AsyncPipe } from '@angular/common';
7
-
8
- /**
9
- * Picker Footer Component
10
- * Reusable footer for all picker components
11
- */
12
- class AXConversationPickerFooterComponent {
13
- constructor() {
14
- this.sendText = input.required(...(ngDevMode ? [{ debugName: "sendText" }] : []));
15
- this.sendDisabled = input(false, ...(ngDevMode ? [{ debugName: "sendDisabled" }] : []));
16
- this.onCancel = output();
17
- this.onSend = output();
18
- }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationPickerFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.3", type: AXConversationPickerFooterComponent, isStandalone: true, selector: "ax-conversation-picker-footer", inputs: { sendText: { classPropertyName: "sendText", publicName: "sendText", isSignal: true, isRequired: true, transformFunction: null }, sendDisabled: { classPropertyName: "sendDisabled", publicName: "sendDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onCancel: "onCancel", onSend: "onSend" }, ngImport: i0, template: `
21
- <div class="ax-conversation-picker-footer">
22
- <ax-button text="Cancel" look="solid" color="danger" (onClick)="onCancel.emit()" />
23
- <ax-button
24
- [text]="sendText()"
25
- look="outline"
26
- color="primary"
27
- [disabled]="sendDisabled()"
28
- (onClick)="onSend.emit()"
29
- />
30
- </div>
31
- `, isInline: true, styles: [".ax-conversation-picker-footer{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;padding:.625rem .75rem;padding-bottom:calc(.625rem + env(safe-area-inset-bottom,0px));border-top:1px solid rgb(var(--ax-sys-color-border-light-surface));flex-shrink:0;background:rgb(var(--ax-sys-color-lightest-surface))}@container picker (max-width: 480px){.ax-conversation-picker-footer{flex-direction:column-reverse;align-items:stretch;gap:.375rem;padding-inline:.5rem}.ax-conversation-picker-footer ax-button{width:100%}}\n"], dependencies: [{ kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
32
- }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationPickerFooterComponent, decorators: [{
34
- type: Component,
35
- args: [{ selector: 'ax-conversation-picker-footer', imports: [AXButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
36
- <div class="ax-conversation-picker-footer">
37
- <ax-button text="Cancel" look="solid" color="danger" (onClick)="onCancel.emit()" />
38
- <ax-button
39
- [text]="sendText()"
40
- look="outline"
41
- color="primary"
42
- [disabled]="sendDisabled()"
43
- (onClick)="onSend.emit()"
44
- />
45
- </div>
46
- `, styles: [".ax-conversation-picker-footer{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;padding:.625rem .75rem;padding-bottom:calc(.625rem + env(safe-area-inset-bottom,0px));border-top:1px solid rgb(var(--ax-sys-color-border-light-surface));flex-shrink:0;background:rgb(var(--ax-sys-color-lightest-surface))}@container picker (max-width: 480px){.ax-conversation-picker-footer{flex-direction:column-reverse;align-items:stretch;gap:.375rem;padding-inline:.5rem}.ax-conversation-picker-footer ax-button{width:100%}}\n"] }]
47
- }] });
48
-
49
- /**
50
- * Picker Header Component
51
- * Reusable header for all picker components
52
- */
53
- class AXConversationPickerHeaderComponent {
54
- constructor() {
55
- this.title = input.required(...(ngDevMode ? [{ debugName: "title" }] : []));
56
- this.onClose = output();
57
- }
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationPickerHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
59
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.3", type: AXConversationPickerHeaderComponent, isStandalone: true, selector: "ax-conversation-picker-header", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onClose: "onClose" }, ngImport: i0, template: `
60
- <div class="ax-conversation-picker-header">
61
- <span class="ax-conversation-picker-header__title">{{ title() }}</span>
62
- <button
63
- type="button"
64
- class="ax-conversation-picker-header__close"
65
- (click)="onClose.emit()"
66
- [attr.aria-label]="'@acorex:chat.actions.close' | translate | async"
67
- >
68
- <i class="fa-light fa-xmark"></i>
69
- </button>
70
- </div>
71
- `, isInline: true, styles: [".ax-conversation-picker-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.625rem .75rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-light-surface));flex-shrink:0}.ax-conversation-picker-header__title{font-size:.8125rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.ax-conversation-picker-header__close{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;margin:-.375rem -.5rem -.375rem 0;border:none;border-radius:var(--ax-sys-border-radius, .25rem);background:transparent;color:rgba(var(--ax-sys-color-on-surface),.55);font-size:1.125rem;cursor:pointer;touch-action:manipulation;transition:background-color .15s ease,color .15s ease}.ax-conversation-picker-header__close:hover,.ax-conversation-picker-header__close:focus-visible{background:rgba(var(--ax-sys-color-danger-500),.1);color:rgb(var(--ax-sys-color-danger-500));outline:none}\n"], dependencies: [{ kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i3.AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
72
- }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationPickerHeaderComponent, decorators: [{
74
- type: Component,
75
- args: [{ selector: 'ax-conversation-picker-header', imports: [AXTranslationModule, AsyncPipe], changeDetection: ChangeDetectionStrategy.OnPush, template: `
76
- <div class="ax-conversation-picker-header">
77
- <span class="ax-conversation-picker-header__title">{{ title() }}</span>
78
- <button
79
- type="button"
80
- class="ax-conversation-picker-header__close"
81
- (click)="onClose.emit()"
82
- [attr.aria-label]="'@acorex:chat.actions.close' | translate | async"
83
- >
84
- <i class="fa-light fa-xmark"></i>
85
- </button>
86
- </div>
87
- `, styles: [".ax-conversation-picker-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.625rem .75rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-light-surface));flex-shrink:0}.ax-conversation-picker-header__title{font-size:.8125rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.ax-conversation-picker-header__close{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;margin:-.375rem -.5rem -.375rem 0;border:none;border-radius:var(--ax-sys-border-radius, .25rem);background:transparent;color:rgba(var(--ax-sys-color-on-surface),.55);font-size:1.125rem;cursor:pointer;touch-action:manipulation;transition:background-color .15s ease,color .15s ease}.ax-conversation-picker-header__close:hover,.ax-conversation-picker-header__close:focus-visible{background:rgba(var(--ax-sys-color-danger-500),.1);color:rgb(var(--ax-sys-color-danger-500));outline:none}\n"] }]
88
- }] });
89
-
90
- export { AXConversationPickerHeaderComponent as A, AXConversationPickerFooterComponent as a };
91
- //# sourceMappingURL=acorex-components-conversation-picker-header.component-BhTzlufI.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-components-conversation-picker-header.component-BhTzlufI.mjs","sources":["../tmp-esm2022/conversation/lib/plugins/composer/components/picker-footer/picker-footer.component.js","../tmp-esm2022/conversation/lib/plugins/composer/components/picker-header/picker-header.component.js"],"sourcesContent":["/**\n * Picker Footer Component\n * Reusable footer for all picker components\n */\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXConversationPickerFooterComponent {\n constructor() {\n this.sendText = input.required(...(ngDevMode ? [{ debugName: \"sendText\" }] : []));\n this.sendDisabled = input(false, ...(ngDevMode ? [{ debugName: \"sendDisabled\" }] : []));\n this.onCancel = output();\n this.onSend = output();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXConversationPickerFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.3.3\", type: AXConversationPickerFooterComponent, isStandalone: true, selector: \"ax-conversation-picker-footer\", inputs: { sendText: { classPropertyName: \"sendText\", publicName: \"sendText\", isSignal: true, isRequired: true, transformFunction: null }, sendDisabled: { classPropertyName: \"sendDisabled\", publicName: \"sendDisabled\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onCancel: \"onCancel\", onSend: \"onSend\" }, ngImport: i0, template: `\n <div class=\"ax-conversation-picker-footer\">\n <ax-button text=\"Cancel\" look=\"solid\" color=\"danger\" (onClick)=\"onCancel.emit()\" />\n <ax-button\n [text]=\"sendText()\"\n look=\"outline\"\n color=\"primary\"\n [disabled]=\"sendDisabled()\"\n (onClick)=\"onSend.emit()\"\n />\n </div>\n `, isInline: true, styles: [\".ax-conversation-picker-footer{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;padding:.625rem .75rem;padding-bottom:calc(.625rem + env(safe-area-inset-bottom,0px));border-top:1px solid rgb(var(--ax-sys-color-border-light-surface));flex-shrink:0;background:rgb(var(--ax-sys-color-lightest-surface))}@container picker (max-width: 480px){.ax-conversation-picker-footer{flex-direction:column-reverse;align-items:stretch;gap:.375rem;padding-inline:.5rem}.ax-conversation-picker-footer ax-button{width:100%}}\\n\"], dependencies: [{ kind: \"component\", type: AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXConversationPickerFooterComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-conversation-picker-footer', imports: [AXButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `\n <div class=\"ax-conversation-picker-footer\">\n <ax-button text=\"Cancel\" look=\"solid\" color=\"danger\" (onClick)=\"onCancel.emit()\" />\n <ax-button\n [text]=\"sendText()\"\n look=\"outline\"\n color=\"primary\"\n [disabled]=\"sendDisabled()\"\n (onClick)=\"onSend.emit()\"\n />\n </div>\n `, styles: [\".ax-conversation-picker-footer{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;padding:.625rem .75rem;padding-bottom:calc(.625rem + env(safe-area-inset-bottom,0px));border-top:1px solid rgb(var(--ax-sys-color-border-light-surface));flex-shrink:0;background:rgb(var(--ax-sys-color-lightest-surface))}@container picker (max-width: 480px){.ax-conversation-picker-footer{flex-direction:column-reverse;align-items:stretch;gap:.375rem;padding-inline:.5rem}.ax-conversation-picker-footer ax-button{width:100%}}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLWZvb3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvbnZlcnNhdGlvbi9zcmMvbGliL3BsdWdpbnMvY29tcG9zZXIvY29tcG9uZW50cy9waWNrZXItZm9vdGVyL3BpY2tlci1mb290ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFnRGxGLE1BQU0sT0FBTyxtQ0FBbUM7SUE5Q2hEO1FBK0NXLGFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxtREFBVSxDQUFDO1FBQ3BDLGlCQUFZLEdBQUcsS0FBSyxDQUFVLEtBQUssd0RBQUMsQ0FBQztRQUNyQyxhQUFRLEdBQUcsTUFBTSxFQUFRLENBQUM7UUFDMUIsV0FBTSxHQUFHLE1BQU0sRUFBUSxDQUFDO0tBQ2xDOzhHQUxZLG1DQUFtQztrR0FBbkMsbUNBQW1DLHVhQTFDcEM7Ozs7Ozs7Ozs7O0dBV1QscW1CQWJTLGlCQUFpQjs7MkZBNENoQixtQ0FBbUM7a0JBOUMvQyxTQUFTOytCQUNFLCtCQUErQixXQUNoQyxDQUFDLGlCQUFpQixDQUFDLG1CQUNYLHVCQUF1QixDQUFDLE1BQU0sWUFDckM7Ozs7Ozs7Ozs7O0dBV1QiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFBpY2tlciBGb290ZXIgQ29tcG9uZW50XG4gKiBSZXVzYWJsZSBmb290ZXIgZm9yIGFsbCBwaWNrZXIgY29tcG9uZW50c1xuICovXG5cbmltcG9ydCB7IEFYQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWNvbnZlcnNhdGlvbi1waWNrZXItZm9vdGVyJyxcbiAgaW1wb3J0czogW0FYQnV0dG9uQ29tcG9uZW50XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImF4LWNvbnZlcnNhdGlvbi1waWNrZXItZm9vdGVyXCI+XG4gICAgICA8YXgtYnV0dG9uIHRleHQ9XCJDYW5jZWxcIiBsb29rPVwic29saWRcIiBjb2xvcj1cImRhbmdlclwiIChvbkNsaWNrKT1cIm9uQ2FuY2VsLmVtaXQoKVwiIC8+XG4gICAgICA8YXgtYnV0dG9uXG4gICAgICAgIFt0ZXh0XT1cInNlbmRUZXh0KClcIlxuICAgICAgICBsb29rPVwib3V0bGluZVwiXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJzZW5kRGlzYWJsZWQoKVwiXG4gICAgICAgIChvbkNsaWNrKT1cIm9uU2VuZC5lbWl0KClcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgLmF4LWNvbnZlcnNhdGlvbi1waWNrZXItZm9vdGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBnYXA6IDAuNXJlbTtcbiAgICAgICAgcGFkZGluZzogMC42MjVyZW0gMC43NXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoMC42MjVyZW0gKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMHB4KSk7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2IodmFyKC0tYXgtc3lzLWNvbG9yLWJvcmRlci1saWdodC1zdXJmYWNlKSk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2IodmFyKC0tYXgtc3lzLWNvbG9yLWxpZ2h0ZXN0LXN1cmZhY2UpKTtcbiAgICAgIH1cblxuICAgICAgQGNvbnRhaW5lciBwaWNrZXIgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgLmF4LWNvbnZlcnNhdGlvbi1waWNrZXItZm9vdGVyIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgZ2FwOiAwLjM3NXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWlubGluZTogMC41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmF4LWNvbnZlcnNhdGlvbi1waWNrZXItZm9vdGVyIGF4LWJ1dHRvbiB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWENvbnZlcnNhdGlvblBpY2tlckZvb3RlckNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IHNlbmRUZXh0ID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICByZWFkb25seSBzZW5kRGlzYWJsZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IG9uQ2FuY2VsID0gb3V0cHV0PHZvaWQ+KCk7XG4gIHJlYWRvbmx5IG9uU2VuZCA9IG91dHB1dDx2b2lkPigpO1xufVxuIl19","/**\n * Picker Header Component\n * Reusable header for all picker components\n */\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/core/translation\";\nexport class AXConversationPickerHeaderComponent {\n constructor() {\n this.title = input.required(...(ngDevMode ? [{ debugName: \"title\" }] : []));\n this.onClose = output();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXConversationPickerHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.3.3\", type: AXConversationPickerHeaderComponent, isStandalone: true, selector: \"ax-conversation-picker-header\", inputs: { title: { classPropertyName: \"title\", publicName: \"title\", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onClose: \"onClose\" }, ngImport: i0, template: `\n <div class=\"ax-conversation-picker-header\">\n <span class=\"ax-conversation-picker-header__title\">{{ title() }}</span>\n <button\n type=\"button\"\n class=\"ax-conversation-picker-header__close\"\n (click)=\"onClose.emit()\"\n [attr.aria-label]=\"'@acorex:chat.actions.close' | translate | async\"\n >\n <i class=\"fa-light fa-xmark\"></i>\n </button>\n </div>\n `, isInline: true, styles: [\".ax-conversation-picker-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.625rem .75rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-light-surface));flex-shrink:0}.ax-conversation-picker-header__title{font-size:.8125rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.ax-conversation-picker-header__close{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;margin:-.375rem -.5rem -.375rem 0;border:none;border-radius:var(--ax-sys-border-radius, .25rem);background:transparent;color:rgba(var(--ax-sys-color-on-surface),.55);font-size:1.125rem;cursor:pointer;touch-action:manipulation;transition:background-color .15s ease,color .15s ease}.ax-conversation-picker-header__close:hover,.ax-conversation-picker-header__close:focus-visible{background:rgba(var(--ax-sys-color-danger-500),.1);color:rgb(var(--ax-sys-color-danger-500));outline:none}\\n\"], dependencies: [{ kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"pipe\", type: i1.AXTranslatorPipe, name: \"translate\" }, { kind: \"pipe\", type: AsyncPipe, name: \"async\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXConversationPickerHeaderComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-conversation-picker-header', imports: [AXTranslationModule, AsyncPipe], changeDetection: ChangeDetectionStrategy.OnPush, template: `\n <div class=\"ax-conversation-picker-header\">\n <span class=\"ax-conversation-picker-header__title\">{{ title() }}</span>\n <button\n type=\"button\"\n class=\"ax-conversation-picker-header__close\"\n (click)=\"onClose.emit()\"\n [attr.aria-label]=\"'@acorex:chat.actions.close' | translate | async\"\n >\n <i class=\"fa-light fa-xmark\"></i>\n </button>\n </div>\n `, styles: [\".ax-conversation-picker-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.625rem .75rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-light-surface));flex-shrink:0}.ax-conversation-picker-header__title{font-size:.8125rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.ax-conversation-picker-header__close{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;margin:-.375rem -.5rem -.375rem 0;border:none;border-radius:var(--ax-sys-border-radius, .25rem);background:transparent;color:rgba(var(--ax-sys-color-on-surface),.55);font-size:1.125rem;cursor:pointer;touch-action:manipulation;transition:background-color .15s ease,color .15s ease}.ax-conversation-picker-header__close:hover,.ax-conversation-picker-header__close:focus-visible{background:rgba(var(--ax-sys-color-danger-500),.1);color:rgb(var(--ax-sys-color-danger-500));outline:none}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvbnZlcnNhdGlvbi9zcmMvbGliL3BsdWdpbnMvY29tcG9zZXIvY29tcG9uZW50cy9waWNrZXItaGVhZGVyL3BpY2tlci1oZWFkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQStEbEYsTUFBTSxPQUFPLG1DQUFtQztJQTdEaEQ7UUE4RFcsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLGdEQUFVLENBQUM7UUFDakMsWUFBTyxHQUFHLE1BQU0sRUFBUSxDQUFDO0tBQ25DOzhHQUhZLG1DQUFtQztrR0FBbkMsbUNBQW1DLDZQQXpEcEM7Ozs7Ozs7Ozs7OztHQVlULDQrQkFkUyxtQkFBbUIsMEZBQUUsU0FBUzs7MkZBMkQ3QixtQ0FBbUM7a0JBN0QvQyxTQUFTOytCQUNFLCtCQUErQixXQUNoQyxDQUFDLG1CQUFtQixFQUFFLFNBQVMsQ0FBQyxtQkFDeEIsdUJBQXVCLENBQUMsTUFBTSxZQUNyQzs7Ozs7Ozs7Ozs7O0dBWVQiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFBpY2tlciBIZWFkZXIgQ29tcG9uZW50XG4gKiBSZXVzYWJsZSBoZWFkZXIgZm9yIGFsbCBwaWNrZXIgY29tcG9uZW50c1xuICovXG5cbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtY29udmVyc2F0aW9uLXBpY2tlci1oZWFkZXInLFxuICBpbXBvcnRzOiBbQVhUcmFuc2xhdGlvbk1vZHVsZSwgQXN5bmNQaXBlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImF4LWNvbnZlcnNhdGlvbi1waWNrZXItaGVhZGVyXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImF4LWNvbnZlcnNhdGlvbi1waWNrZXItaGVhZGVyX190aXRsZVwiPnt7IHRpdGxlKCkgfX08L3NwYW4+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImF4LWNvbnZlcnNhdGlvbi1waWNrZXItaGVhZGVyX19jbG9zZVwiXG4gICAgICAgIChjbGljayk9XCJvbkNsb3NlLmVtaXQoKVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0BhY29yZXg6Y2hhdC5hY3Rpb25zLmNsb3NlJyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCJcbiAgICAgID5cbiAgICAgICAgPGkgY2xhc3M9XCJmYS1saWdodCBmYS14bWFya1wiPjwvaT5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAuYXgtY29udmVyc2F0aW9uLXBpY2tlci1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGdhcDogMC41cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjc1cmVtO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiKHZhcigtLWF4LXN5cy1jb2xvci1ib3JkZXItbGlnaHQtc3VyZmFjZSkpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgLmF4LWNvbnZlcnNhdGlvbi1waWNrZXItaGVhZGVyX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogcmdiKHZhcigtLWF4LXN5cy1jb2xvci1vbi1zdXJmYWNlKSk7XG4gICAgICB9XG5cbiAgICAgIC5heC1jb252ZXJzYXRpb24tcGlja2VyLWhlYWRlcl9fY2xvc2Uge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDIuNzVyZW07XG4gICAgICAgIGhlaWdodDogMi43NXJlbTtcbiAgICAgICAgbWFyZ2luOiAtMC4zNzVyZW0gLTAuNXJlbSAtMC4zNzVyZW0gMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1heC1zeXMtYm9yZGVyLXJhZGl1cywgMC4yNXJlbSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogcmdiYSh2YXIoLS1heC1zeXMtY29sb3Itb24tc3VyZmFjZSksIDAuNTUpO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsIGNvbG9yIDAuMTVzIGVhc2U7XG4gICAgICB9XG5cbiAgICAgIC5heC1jb252ZXJzYXRpb24tcGlja2VyLWhlYWRlcl9fY2xvc2U6aG92ZXIsXG4gICAgICAuYXgtY29udmVyc2F0aW9uLXBpY2tlci1oZWFkZXJfX2Nsb3NlOmZvY3VzLXZpc2libGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWF4LXN5cy1jb2xvci1kYW5nZXItNTAwKSwgMC4xKTtcbiAgICAgICAgY29sb3I6IHJnYih2YXIoLS1heC1zeXMtY29sb3ItZGFuZ2VyLTUwMCkpO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYQ29udmVyc2F0aW9uUGlja2VySGVhZGVyQ29tcG9uZW50IHtcbiAgcmVhZG9ubHkgdGl0bGUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IG9uQ2xvc2UgPSBvdXRwdXQ8dm9pZD4oKTtcbn1cbiJdfQ=="],"names":["i1"],"mappings":"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"}