@acorex/components 20.8.33 → 20.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/{conversation2 → conversation}/README.md +23 -23
  2. package/{conversation2 → conversation}/index.d.ts +991 -1792
  3. package/fesm2022/acorex-components-conversation-acorex-components-conversation-CjVDCoJw.mjs +13711 -0
  4. package/fesm2022/acorex-components-conversation-acorex-components-conversation-CjVDCoJw.mjs.map +1 -0
  5. package/fesm2022/acorex-components-conversation-audio-attachment.component-Ri-Jx210.mjs +119 -0
  6. package/fesm2022/acorex-components-conversation-audio-attachment.component-Ri-Jx210.mjs.map +1 -0
  7. package/fesm2022/acorex-components-conversation-audio-composer.payload-DiMDlVl9.mjs +59 -0
  8. package/fesm2022/acorex-components-conversation-audio-composer.payload-DiMDlVl9.mjs.map +1 -0
  9. package/fesm2022/acorex-components-conversation-audio-picker.component-CqrKBDIF.mjs +432 -0
  10. package/fesm2022/acorex-components-conversation-audio-picker.component-CqrKBDIF.mjs.map +1 -0
  11. package/fesm2022/acorex-components-conversation-audio-renderer.component-CO8owVrA.mjs +177 -0
  12. package/fesm2022/acorex-components-conversation-audio-renderer.component-CO8owVrA.mjs.map +1 -0
  13. package/fesm2022/acorex-components-conversation-audio.payload-CLnYjmYY.mjs +54 -0
  14. package/fesm2022/acorex-components-conversation-audio.payload-CLnYjmYY.mjs.map +1 -0
  15. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-CYutyq7i.mjs +101 -0
  16. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-CYutyq7i.mjs.map +1 -0
  17. package/fesm2022/acorex-components-conversation-conversation-audio.file-type-D-hIBwQ2.mjs +100 -0
  18. package/fesm2022/acorex-components-conversation-conversation-audio.file-type-D-hIBwQ2.mjs.map +1 -0
  19. package/fesm2022/acorex-components-conversation-conversation-file.file-type-DQUy3C64.mjs +121 -0
  20. package/fesm2022/acorex-components-conversation-conversation-file.file-type-DQUy3C64.mjs.map +1 -0
  21. package/fesm2022/acorex-components-conversation-conversation-image.file-type-Bd_SkwR0.mjs +84 -0
  22. package/fesm2022/acorex-components-conversation-conversation-image.file-type-Bd_SkwR0.mjs.map +1 -0
  23. package/fesm2022/acorex-components-conversation-conversation-info-media-view.component-BalIIAFB.mjs +238 -0
  24. package/fesm2022/acorex-components-conversation-conversation-info-media-view.component-BalIIAFB.mjs.map +1 -0
  25. package/fesm2022/acorex-components-conversation-conversation-info-panel.component-BJMo9bDd.mjs +1080 -0
  26. package/fesm2022/acorex-components-conversation-conversation-info-panel.component-BJMo9bDd.mjs.map +1 -0
  27. package/fesm2022/acorex-components-conversation-conversation-video.file-type-DyK0bLE5.mjs +102 -0
  28. package/fesm2022/acorex-components-conversation-conversation-video.file-type-DyK0bLE5.mjs.map +1 -0
  29. package/fesm2022/acorex-components-conversation-conversation-voice.file-type-v3rFWDv6.mjs +90 -0
  30. package/fesm2022/acorex-components-conversation-conversation-voice.file-type-v3rFWDv6.mjs.map +1 -0
  31. package/fesm2022/acorex-components-conversation-emoji-categories-C7Gm95V0.mjs +1840 -0
  32. package/fesm2022/acorex-components-conversation-emoji-categories-C7Gm95V0.mjs.map +1 -0
  33. package/fesm2022/acorex-components-conversation-fallback-renderer.component-DOQkZWwP.mjs +44 -0
  34. package/fesm2022/acorex-components-conversation-fallback-renderer.component-DOQkZWwP.mjs.map +1 -0
  35. package/fesm2022/acorex-components-conversation-file-composer.payload-azPSH99m.mjs +64 -0
  36. package/fesm2022/acorex-components-conversation-file-composer.payload-azPSH99m.mjs.map +1 -0
  37. package/fesm2022/acorex-components-conversation-file-picker.component-cmUkgSF3.mjs +468 -0
  38. package/fesm2022/acorex-components-conversation-file-picker.component-cmUkgSF3.mjs.map +1 -0
  39. package/fesm2022/acorex-components-conversation-file-renderer.component-CpUgRTR4.mjs +125 -0
  40. package/fesm2022/acorex-components-conversation-file-renderer.component-CpUgRTR4.mjs.map +1 -0
  41. package/fesm2022/acorex-components-conversation-file.payload-DXwzNWxT.mjs +50 -0
  42. package/fesm2022/acorex-components-conversation-file.payload-DXwzNWxT.mjs.map +1 -0
  43. package/fesm2022/acorex-components-conversation-format-media-DUD4vA6F.mjs +21 -0
  44. package/fesm2022/acorex-components-conversation-format-media-DUD4vA6F.mjs.map +1 -0
  45. package/fesm2022/acorex-components-conversation-image-attachment.component-BZto5LFo.mjs +77 -0
  46. package/fesm2022/acorex-components-conversation-image-attachment.component-BZto5LFo.mjs.map +1 -0
  47. package/fesm2022/acorex-components-conversation-image-picker.component-G9EEOyDg.mjs +407 -0
  48. package/fesm2022/acorex-components-conversation-image-picker.component-G9EEOyDg.mjs.map +1 -0
  49. package/fesm2022/acorex-components-conversation-image-renderer.component-Bwa6rG6C.mjs +83 -0
  50. package/fesm2022/acorex-components-conversation-image-renderer.component-Bwa6rG6C.mjs.map +1 -0
  51. package/fesm2022/acorex-components-conversation-index-BbrYsQ84.mjs +180 -0
  52. package/fesm2022/acorex-components-conversation-index-BbrYsQ84.mjs.map +1 -0
  53. package/fesm2022/acorex-components-conversation-index-DtGEWeKN.mjs +266 -0
  54. package/fesm2022/acorex-components-conversation-index-DtGEWeKN.mjs.map +1 -0
  55. package/fesm2022/acorex-components-conversation-location-picker.component-Cx993j_c.mjs +149 -0
  56. package/fesm2022/acorex-components-conversation-location-picker.component-Cx993j_c.mjs.map +1 -0
  57. package/fesm2022/acorex-components-conversation-location-renderer.component-BiynmAJw.mjs +118 -0
  58. package/fesm2022/acorex-components-conversation-location-renderer.component-BiynmAJw.mjs.map +1 -0
  59. package/fesm2022/acorex-components-conversation-media-formatters-DV3wEEno.mjs +17 -0
  60. package/fesm2022/acorex-components-conversation-media-formatters-DV3wEEno.mjs.map +1 -0
  61. package/fesm2022/acorex-components-conversation-media-playback-info-bar-banner.component-a7OSpfB1.mjs +140 -0
  62. package/fesm2022/acorex-components-conversation-media-playback-info-bar-banner.component-a7OSpfB1.mjs.map +1 -0
  63. package/fesm2022/acorex-components-conversation-message-renderer-copy-host.component-D_eAnM6v.mjs +33 -0
  64. package/fesm2022/acorex-components-conversation-message-renderer-copy-host.component-D_eAnM6v.mjs.map +1 -0
  65. package/fesm2022/acorex-components-conversation-message-renderer-state.component-DSnNoz1N.mjs +172 -0
  66. package/fesm2022/acorex-components-conversation-message-renderer-state.component-DSnNoz1N.mjs.map +1 -0
  67. package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-CbNyy2Ws.mjs +224 -0
  68. package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-CbNyy2Ws.mjs.map +1 -0
  69. package/fesm2022/acorex-components-conversation-pagination-demo-data-DRr9PXjJ.mjs +81 -0
  70. package/fesm2022/acorex-components-conversation-pagination-demo-data-DRr9PXjJ.mjs.map +1 -0
  71. package/fesm2022/acorex-components-conversation-picker-header.component-BhTzlufI.mjs +91 -0
  72. package/fesm2022/acorex-components-conversation-picker-header.component-BhTzlufI.mjs.map +1 -0
  73. package/fesm2022/acorex-components-conversation-picker-toolbar.component-CpyS0j6P.mjs +537 -0
  74. package/fesm2022/acorex-components-conversation-picker-toolbar.component-CpyS0j6P.mjs.map +1 -0
  75. package/fesm2022/acorex-components-conversation-picker-upload-C-PlKPaU.mjs +163 -0
  76. package/fesm2022/acorex-components-conversation-picker-upload-C-PlKPaU.mjs.map +1 -0
  77. package/fesm2022/acorex-components-conversation-playback-banner-sync-BMsx6Fuy.mjs +68 -0
  78. package/fesm2022/acorex-components-conversation-playback-banner-sync-BMsx6Fuy.mjs.map +1 -0
  79. package/fesm2022/acorex-components-conversation-renderer-shared.styles-Digah3Zn.mjs +95 -0
  80. package/fesm2022/acorex-components-conversation-renderer-shared.styles-Digah3Zn.mjs.map +1 -0
  81. package/fesm2022/acorex-components-conversation-search.component-96NI2ERG.mjs +187 -0
  82. package/fesm2022/acorex-components-conversation-search.component-96NI2ERG.mjs.map +1 -0
  83. package/fesm2022/acorex-components-conversation-send-message-media--Rbrne7k.mjs +170 -0
  84. package/fesm2022/acorex-components-conversation-send-message-media--Rbrne7k.mjs.map +1 -0
  85. package/fesm2022/acorex-components-conversation-shared-storage.seed-zFjNXfKF.mjs +750 -0
  86. package/fesm2022/acorex-components-conversation-shared-storage.seed-zFjNXfKF.mjs.map +1 -0
  87. package/fesm2022/acorex-components-conversation-sticker-renderer.component-BZgx_Ylk.mjs +103 -0
  88. package/fesm2022/acorex-components-conversation-sticker-renderer.component-BZgx_Ylk.mjs.map +1 -0
  89. package/fesm2022/acorex-components-conversation-system-renderer.component-D1Aj-LuF.mjs +55 -0
  90. package/fesm2022/acorex-components-conversation-system-renderer.component-D1Aj-LuF.mjs.map +1 -0
  91. package/fesm2022/acorex-components-conversation-text-renderer.component-Cxvwjr2p.mjs +109 -0
  92. package/fesm2022/acorex-components-conversation-text-renderer.component-Cxvwjr2p.mjs.map +1 -0
  93. package/fesm2022/acorex-components-conversation-video-attachment.component-DBY_4Ri2.mjs +105 -0
  94. package/fesm2022/acorex-components-conversation-video-attachment.component-DBY_4Ri2.mjs.map +1 -0
  95. package/fesm2022/acorex-components-conversation-video-composer.payload-CWGxsPg5.mjs +62 -0
  96. package/fesm2022/acorex-components-conversation-video-composer.payload-CWGxsPg5.mjs.map +1 -0
  97. package/fesm2022/acorex-components-conversation-video-picker.component-D1JYwEm_.mjs +446 -0
  98. package/fesm2022/acorex-components-conversation-video-picker.component-D1JYwEm_.mjs.map +1 -0
  99. package/fesm2022/acorex-components-conversation-video-renderer.component-iwf2bU29.mjs +181 -0
  100. package/fesm2022/acorex-components-conversation-video-renderer.component-iwf2bU29.mjs.map +1 -0
  101. package/fesm2022/acorex-components-conversation-video.payload-DfBEjqQ4.mjs +54 -0
  102. package/fesm2022/acorex-components-conversation-video.payload-DfBEjqQ4.mjs.map +1 -0
  103. package/fesm2022/acorex-components-conversation-voice-composer.payload-DLVow7ex.mjs +17 -0
  104. package/fesm2022/acorex-components-conversation-voice-composer.payload-DLVow7ex.mjs.map +1 -0
  105. package/fesm2022/acorex-components-conversation-voice-recorder.component-P8J_5OH0.mjs +328 -0
  106. package/fesm2022/acorex-components-conversation-voice-recorder.component-P8J_5OH0.mjs.map +1 -0
  107. package/fesm2022/acorex-components-conversation-voice-renderer.component-CZpEqbXL.mjs +270 -0
  108. package/fesm2022/acorex-components-conversation-voice-renderer.component-CZpEqbXL.mjs.map +1 -0
  109. package/fesm2022/acorex-components-conversation.mjs +2 -0
  110. package/fesm2022/acorex-components-conversation.mjs.map +1 -0
  111. package/fesm2022/acorex-components-scheduler-picker.mjs +22 -14
  112. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  113. package/package.json +37 -37
  114. package/scheduler-picker/index.d.ts +2 -0
  115. package/fesm2022/acorex-components-conversation2.mjs +0 -22331
  116. package/fesm2022/acorex-components-conversation2.mjs.map +0 -1
@@ -0,0 +1,537 @@
1
+ import * as i1 from '@acorex/components/text-box';
2
+ import { AXTextBoxModule } from '@acorex/components/text-box';
3
+ import { AXTranslationService, AXTranslationModule } from '@acorex/core/translation';
4
+ import * as i0 from '@angular/core';
5
+ import { inject, model, ChangeDetectionStrategy, Component, ElementRef, input, output } from '@angular/core';
6
+ import { FormsModule } from '@angular/forms';
7
+ import { AXUploaderBrowseDirective, AXUploaderZoneDirective } from '@acorex/cdk/uploader';
8
+ import { AXToastService } from '@acorex/components/toast';
9
+ import { n as notifyPickerValidationErrors } from './acorex-components-conversation-picker-upload-C-PlKPaU.mjs';
10
+ import { AXButtonComponent } from '@acorex/components/button';
11
+ import * as i1$1 from '@acorex/components/decorators';
12
+ import { AXDecoratorModule } from '@acorex/components/decorators';
13
+
14
+ /** Optional caption field shared by composer media pickers. */
15
+ class AXConversationPickerCaptionComponent {
16
+ constructor() {
17
+ this.translation = inject(AXTranslationService);
18
+ this.caption = model('', ...(ngDevMode ? [{ debugName: "caption" }] : []));
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationPickerCaptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.3", type: AXConversationPickerCaptionComponent, isStandalone: true, selector: "ax-conversation-picker-caption", inputs: { caption: { classPropertyName: "caption", publicName: "caption", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { caption: "captionChange" }, ngImport: i0, template: `
22
+ <div class="ax-conversation-picker__caption-slot">
23
+ <ax-text-box
24
+ [(value)]="caption"
25
+ [placeholder]="translation.translateSync('@acorex:chat.pickers.common.caption-optional')"
26
+ />
27
+ </div>
28
+ `, isInline: true, styles: [":host{display:block;flex-shrink:0;width:100%}.ax-conversation-picker__caption-slot{padding:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i1.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "maskPattern", "customTokens", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress", "onMaskChanged"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: FormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationPickerCaptionComponent, decorators: [{
31
+ type: Component,
32
+ args: [{ selector: 'ax-conversation-picker-caption', imports: [AXTextBoxModule, AXTranslationModule, FormsModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
33
+ <div class="ax-conversation-picker__caption-slot">
34
+ <ax-text-box
35
+ [(value)]="caption"
36
+ [placeholder]="translation.translateSync('@acorex:chat.pickers.common.caption-optional')"
37
+ />
38
+ </div>
39
+ `, styles: [":host{display:block;flex-shrink:0;width:100%}.ax-conversation-picker__caption-slot{padding:.5rem}\n"] }]
40
+ }] });
41
+
42
+ /**
43
+ * Shell flex + max-height (on {@link AXConversationPickerShellComponent}).
44
+ * Styles here target projected content inside the shell.
45
+ */
46
+ const AX_CONVERSATION_PICKER_SHELL_STYLES = `
47
+ :host {
48
+ display: block;
49
+ width: 100%;
50
+ max-width: 100%;
51
+ min-height: 0;
52
+ container-type: inline-size;
53
+ container-name: picker;
54
+ }
55
+
56
+ .ax-conversation-picker {
57
+ display: flex;
58
+ flex-direction: column;
59
+ width: 100%;
60
+ max-width: 100%;
61
+ max-height: min(32rem, 85dvh);
62
+ background: rgb(var(--ax-sys-color-lightest-surface));
63
+ border-radius: var(--ax-sys-border-radius, 0.5rem);
64
+ overflow: hidden;
65
+ }
66
+
67
+ .ax-conversation-picker__content {
68
+ display: flex;
69
+ flex: 1;
70
+ flex-direction: column;
71
+ min-height: 0;
72
+ overflow: hidden;
73
+ }
74
+
75
+ @container picker (max-width: 480px) {
76
+ .ax-conversation-picker {
77
+ max-height: min(28rem, 90dvh);
78
+ border-radius: 0;
79
+ }
80
+ }
81
+ `;
82
+ /**
83
+ * Shared layout and surface styles for composer media pickers.
84
+ * Uses ACoreX system color tokens only.
85
+ */
86
+ const AX_CONVERSATION_PICKER_SHARED_STYLES = `
87
+ :host {
88
+ display: block;
89
+ width: 100%;
90
+ max-width: 100%;
91
+ min-height: 0;
92
+ }
93
+
94
+ .ax-conversation-picker__scroll {
95
+ flex: 1;
96
+ min-height: 0;
97
+ overflow-y: auto;
98
+ overscroll-behavior: contain;
99
+ -webkit-overflow-scrolling: touch;
100
+ }
101
+
102
+ .ax-conversation-picker__empty {
103
+ display: flex;
104
+ flex-direction: column;
105
+ align-items: center;
106
+ justify-content: center;
107
+ gap: 0.375rem;
108
+ min-height: 8.5rem;
109
+ margin: 0.75rem;
110
+ padding: 1rem 0.75rem;
111
+ border: 1px dashed rgb(var(--ax-sys-color-border-surface));
112
+ border-radius: var(--ax-sys-border-radius, 0.5rem);
113
+ cursor: pointer;
114
+ transition: border-color 0.15s ease, background-color 0.15s ease;
115
+ text-align: center;
116
+ touch-action: manipulation;
117
+ }
118
+
119
+ .ax-conversation-picker__empty:hover,
120
+ .ax-conversation-picker__empty--drag {
121
+ border-color: rgb(var(--ax-sys-color-primary-500));
122
+ background: rgba(var(--ax-sys-color-primary-500), 0.06);
123
+ }
124
+
125
+ .ax-conversation-picker__empty-icon {
126
+ font-size: 1.75rem;
127
+ line-height: 1;
128
+ color: rgba(var(--ax-sys-color-on-surface), 0.55);
129
+ }
130
+
131
+ .ax-conversation-picker__empty-title {
132
+ margin: 0;
133
+ font-size: 0.8125rem;
134
+ font-weight: 600;
135
+ color: rgb(var(--ax-sys-color-on-surface));
136
+ }
137
+
138
+ .ax-conversation-picker__empty-hint {
139
+ margin: 0;
140
+ font-size: 0.75rem;
141
+ color: rgba(var(--ax-sys-color-on-surface), 0.6);
142
+ }
143
+
144
+ .ax-conversation-picker__body {
145
+ padding: 0 0.75rem 0.75rem;
146
+ }
147
+
148
+ .ax-conversation-picker__list {
149
+ display: flex;
150
+ flex-direction: column;
151
+ gap: 0.5rem;
152
+ padding-top: 0.5rem;
153
+ }
154
+
155
+ .ax-conversation-picker__row {
156
+ display: flex;
157
+ align-items: center;
158
+ gap: 0.625rem;
159
+ padding: 0.5rem 0.625rem;
160
+ border: 1px solid rgb(var(--ax-sys-color-border-light-surface));
161
+ border-radius: var(--ax-sys-border-radius, 0.375rem);
162
+ background: rgb(var(--ax-sys-color-surface));
163
+ transition: background-color 0.15s ease;
164
+ }
165
+
166
+ @media (hover: hover) {
167
+ .ax-conversation-picker__row:hover {
168
+ background: rgb(var(--ax-sys-color-light-surface));
169
+ }
170
+ }
171
+
172
+ .ax-conversation-picker__thumb {
173
+ position: relative;
174
+ display: flex;
175
+ align-items: center;
176
+ justify-content: center;
177
+ width: 2.5rem;
178
+ height: 2.5rem;
179
+ flex-shrink: 0;
180
+ border-radius: var(--ax-sys-border-radius, 0.375rem);
181
+ background: rgba(var(--ax-sys-color-primary-500), 0.08);
182
+ color: rgb(var(--ax-sys-color-primary-500));
183
+ font-size: 1.125rem;
184
+ overflow: hidden;
185
+ }
186
+
187
+ .ax-conversation-picker__thumb img,
188
+ .ax-conversation-picker__thumb video {
189
+ width: 100%;
190
+ height: 100%;
191
+ object-fit: cover;
192
+ display: block;
193
+ pointer-events: none;
194
+ }
195
+
196
+ .ax-conversation-picker__thumb-badge {
197
+ position: absolute;
198
+ inset: 0;
199
+ display: flex;
200
+ align-items: center;
201
+ justify-content: center;
202
+ background: rgb(0 0 0 / 0.32);
203
+ color: rgb(var(--ax-sys-color-light));
204
+ font-size: 0.625rem;
205
+ pointer-events: none;
206
+ }
207
+
208
+ .ax-conversation-picker__details {
209
+ flex: 1;
210
+ min-width: 0;
211
+ display: flex;
212
+ flex-direction: column;
213
+ gap: 0.125rem;
214
+ }
215
+
216
+ .ax-conversation-picker__name {
217
+ font-size: 0.8125rem;
218
+ font-weight: 500;
219
+ color: rgb(var(--ax-sys-color-on-surface));
220
+ overflow: hidden;
221
+ text-overflow: ellipsis;
222
+ white-space: nowrap;
223
+ }
224
+
225
+ .ax-conversation-picker__status {
226
+ display: flex;
227
+ flex-wrap: wrap;
228
+ gap: 0.375rem;
229
+ font-size: 0.6875rem;
230
+ color: rgba(var(--ax-sys-color-on-surface), 0.65);
231
+ }
232
+
233
+ .ax-conversation-picker__status--ok {
234
+ color: rgb(var(--ax-sys-color-success-600));
235
+ font-weight: 500;
236
+ }
237
+
238
+ .ax-conversation-picker__status--err {
239
+ color: rgb(var(--ax-sys-color-danger-600));
240
+ font-weight: 500;
241
+ }
242
+
243
+ .ax-conversation-picker__progress {
244
+ width: 100%;
245
+ margin-top: 0.125rem;
246
+ }
247
+
248
+ .ax-conversation-picker__remove {
249
+ display: flex;
250
+ align-items: center;
251
+ justify-content: center;
252
+ width: 2.75rem;
253
+ height: 2.75rem;
254
+ flex-shrink: 0;
255
+ border: none;
256
+ border-radius: var(--ax-sys-border-radius, 0.25rem);
257
+ background: transparent;
258
+ color: rgba(var(--ax-sys-color-on-surface), 0.55);
259
+ font-size: 1rem;
260
+ cursor: pointer;
261
+ touch-action: manipulation;
262
+ transition: background-color 0.15s ease, color 0.15s ease;
263
+ }
264
+
265
+ .ax-conversation-picker__remove:hover,
266
+ .ax-conversation-picker__remove:focus-visible {
267
+ background: rgba(var(--ax-sys-color-danger-500), 0.1);
268
+ color: rgb(var(--ax-sys-color-danger-500));
269
+ outline: none;
270
+ }
271
+
272
+ .ax-conversation-picker__grid {
273
+ display: grid;
274
+ grid-template-columns: repeat(auto-fill, minmax(5.25rem, 1fr));
275
+ gap: 0.5rem;
276
+ }
277
+
278
+ .ax-conversation-picker__tile {
279
+ position: relative;
280
+ aspect-ratio: 1;
281
+ border-radius: var(--ax-sys-border-radius, 0.375rem);
282
+ overflow: hidden;
283
+ border: 1px solid rgb(var(--ax-sys-color-border-light-surface));
284
+ background: rgb(var(--ax-sys-color-light-surface));
285
+ }
286
+
287
+ .ax-conversation-picker__tile img {
288
+ width: 100%;
289
+ height: 100%;
290
+ object-fit: cover;
291
+ display: block;
292
+ }
293
+
294
+ .ax-conversation-picker__tile-remove {
295
+ position: absolute;
296
+ top: 0.25rem;
297
+ inset-inline-end: 0.25rem;
298
+ z-index: 2;
299
+ display: flex;
300
+ align-items: center;
301
+ justify-content: center;
302
+ width: 1.75rem;
303
+ height: 1.75rem;
304
+ border: none;
305
+ border-radius: 50%;
306
+ background: rgb(var(--ax-sys-color-danger-500));
307
+ color: rgb(var(--ax-sys-color-light));
308
+ font-size: 0.6875rem;
309
+ cursor: pointer;
310
+ touch-action: manipulation;
311
+ box-shadow: 0 1px 3px rgb(0 0 0 / 0.2);
312
+ }
313
+
314
+ .ax-conversation-picker__tile-overlay {
315
+ position: absolute;
316
+ inset-inline: 0;
317
+ bottom: 0;
318
+ padding: 0.25rem;
319
+ background: linear-gradient(transparent, rgb(0 0 0 / 0.55));
320
+ }
321
+
322
+ .ax-conversation-picker__tile-status {
323
+ font-size: 0.625rem;
324
+ color: rgb(var(--ax-sys-color-light));
325
+ line-height: 1.2;
326
+ }
327
+
328
+ .ax-conversation-picker__caption-slot {
329
+ flex-shrink: 0;
330
+ padding: 0.5rem 0.75rem;
331
+ border-top: 1px solid rgb(var(--ax-sys-color-border-light-surface));
332
+ background: rgb(var(--ax-sys-color-lightest-surface));
333
+ }
334
+
335
+ .ax-conversation-picker__input-hidden {
336
+ display: none;
337
+ }
338
+
339
+ @container picker (max-width: 480px) {
340
+ .ax-conversation-picker__grid {
341
+ grid-template-columns: repeat(3, minmax(0, 1fr));
342
+ gap: 0.375rem;
343
+ }
344
+
345
+ .ax-conversation-picker__row {
346
+ padding: 0.4375rem 0.5rem;
347
+ gap: 0.5rem;
348
+ }
349
+
350
+ .ax-conversation-picker__thumb {
351
+ width: 2.25rem;
352
+ height: 2.25rem;
353
+ }
354
+
355
+ .ax-conversation-picker__empty {
356
+ min-height: 7.5rem;
357
+ margin: 0.5rem;
358
+ }
359
+
360
+ .ax-conversation-picker__body {
361
+ padding-inline: 0.5rem;
362
+ padding-bottom: 0.5rem;
363
+ }
364
+ }
365
+ `;
366
+
367
+ class AXConversationPickerEmptyComponent {
368
+ constructor() {
369
+ this.host = inject((ElementRef));
370
+ this.title = input.required(...(ngDevMode ? [{ debugName: "title" }] : []));
371
+ this.hint = input.required(...(ngDevMode ? [{ debugName: "hint" }] : []));
372
+ this.iconClass = input.required(...(ngDevMode ? [{ debugName: "iconClass" }] : []));
373
+ this.dragOver = input(false, ...(ngDevMode ? [{ debugName: "dragOver" }] : []));
374
+ }
375
+ onKeyboardActivate(event) {
376
+ event.preventDefault();
377
+ this.host.nativeElement.click();
378
+ }
379
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationPickerEmptyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
380
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.3", type: AXConversationPickerEmptyComponent, isStandalone: true, selector: "ax-conversation-picker-empty", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: true, transformFunction: null }, iconClass: { classPropertyName: "iconClass", publicName: "iconClass", isSignal: true, isRequired: true, transformFunction: null }, dragOver: { classPropertyName: "dragOver", publicName: "dragOver", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
381
+ <div
382
+ class="ax-conversation-picker__empty"
383
+ [class.ax-conversation-picker__empty--drag]="dragOver()"
384
+ role="button"
385
+ tabindex="0"
386
+ axUploaderBrowseHandle
387
+ (keydown.enter)="onKeyboardActivate($event)"
388
+ (keydown.space)="onKeyboardActivate($event)"
389
+ >
390
+ <i class="ax-conversation-picker__empty-icon" [class]="iconClass()"></i>
391
+ <p class="ax-conversation-picker__empty-title">{{ title() }}</p>
392
+ <p class="ax-conversation-picker__empty-hint">{{ hint() }}</p>
393
+ </div>
394
+ `, isInline: true, styles: [":host{display:block;width:100%;max-width:100%;min-height:0}.ax-conversation-picker__scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.ax-conversation-picker__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.375rem;min-height:8.5rem;margin:.75rem;padding:1rem .75rem;border:1px dashed rgb(var(--ax-sys-color-border-surface));border-radius:var(--ax-sys-border-radius, .5rem);cursor:pointer;transition:border-color .15s ease,background-color .15s ease;text-align:center;touch-action:manipulation}.ax-conversation-picker__empty:hover,.ax-conversation-picker__empty--drag{border-color:rgb(var(--ax-sys-color-primary-500));background:rgba(var(--ax-sys-color-primary-500),.06)}.ax-conversation-picker__empty-icon{font-size:1.75rem;line-height:1;color:rgba(var(--ax-sys-color-on-surface),.55)}.ax-conversation-picker__empty-title{margin:0;font-size:.8125rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.ax-conversation-picker__empty-hint{margin:0;font-size:.75rem;color:rgba(var(--ax-sys-color-on-surface),.6)}.ax-conversation-picker__body{padding:0 .75rem .75rem}.ax-conversation-picker__list{display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem}.ax-conversation-picker__row{display:flex;align-items:center;gap:.625rem;padding:.5rem .625rem;border:1px solid rgb(var(--ax-sys-color-border-light-surface));border-radius:var(--ax-sys-border-radius, .375rem);background:rgb(var(--ax-sys-color-surface));transition:background-color .15s ease}@media (hover: hover){.ax-conversation-picker__row:hover{background:rgb(var(--ax-sys-color-light-surface))}}.ax-conversation-picker__thumb{position:relative;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex-shrink:0;border-radius:var(--ax-sys-border-radius, .375rem);background:rgba(var(--ax-sys-color-primary-500),.08);color:rgb(var(--ax-sys-color-primary-500));font-size:1.125rem;overflow:hidden}.ax-conversation-picker__thumb img,.ax-conversation-picker__thumb video{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.ax-conversation-picker__thumb-badge{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000052;color:rgb(var(--ax-sys-color-light));font-size:.625rem;pointer-events:none}.ax-conversation-picker__details{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.ax-conversation-picker__name{font-size:.8125rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ax-conversation-picker__status{display:flex;flex-wrap:wrap;gap:.375rem;font-size:.6875rem;color:rgba(var(--ax-sys-color-on-surface),.65)}.ax-conversation-picker__status--ok{color:rgb(var(--ax-sys-color-success-600));font-weight:500}.ax-conversation-picker__status--err{color:rgb(var(--ax-sys-color-danger-600));font-weight:500}.ax-conversation-picker__progress{width:100%;margin-top:.125rem}.ax-conversation-picker__remove{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;flex-shrink:0;border:none;border-radius:var(--ax-sys-border-radius, .25rem);background:transparent;color:rgba(var(--ax-sys-color-on-surface),.55);font-size:1rem;cursor:pointer;touch-action:manipulation;transition:background-color .15s ease,color .15s ease}.ax-conversation-picker__remove:hover,.ax-conversation-picker__remove:focus-visible{background:rgba(var(--ax-sys-color-danger-500),.1);color:rgb(var(--ax-sys-color-danger-500));outline:none}.ax-conversation-picker__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(5.25rem,1fr));gap:.5rem}.ax-conversation-picker__tile{position:relative;aspect-ratio:1;border-radius:var(--ax-sys-border-radius, .375rem);overflow:hidden;border:1px solid rgb(var(--ax-sys-color-border-light-surface));background:rgb(var(--ax-sys-color-light-surface))}.ax-conversation-picker__tile img{width:100%;height:100%;object-fit:cover;display:block}.ax-conversation-picker__tile-remove{position:absolute;top:.25rem;inset-inline-end:.25rem;z-index:2;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;border-radius:50%;background:rgb(var(--ax-sys-color-danger-500));color:rgb(var(--ax-sys-color-light));font-size:.6875rem;cursor:pointer;touch-action:manipulation;box-shadow:0 1px 3px #0003}.ax-conversation-picker__tile-overlay{position:absolute;inset-inline:0;bottom:0;padding:.25rem;background:linear-gradient(transparent,#0000008c)}.ax-conversation-picker__tile-status{font-size:.625rem;color:rgb(var(--ax-sys-color-light));line-height:1.2}.ax-conversation-picker__caption-slot{flex-shrink:0;padding:.5rem .75rem;border-top:1px solid rgb(var(--ax-sys-color-border-light-surface));background:rgb(var(--ax-sys-color-lightest-surface))}.ax-conversation-picker__input-hidden{display:none}@container picker (max-width: 480px){.ax-conversation-picker__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.375rem}.ax-conversation-picker__row{padding:.4375rem .5rem;gap:.5rem}.ax-conversation-picker__thumb{width:2.25rem;height:2.25rem}.ax-conversation-picker__empty{min-height:7.5rem;margin:.5rem}.ax-conversation-picker__body{padding-inline:.5rem;padding-bottom:.5rem}}\n"], dependencies: [{ kind: "directive", type: AXUploaderBrowseDirective, selector: "[axUploaderBrowseHandle]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
395
+ }
396
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationPickerEmptyComponent, decorators: [{
397
+ type: Component,
398
+ args: [{ selector: 'ax-conversation-picker-empty', changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXUploaderBrowseDirective], template: `
399
+ <div
400
+ class="ax-conversation-picker__empty"
401
+ [class.ax-conversation-picker__empty--drag]="dragOver()"
402
+ role="button"
403
+ tabindex="0"
404
+ axUploaderBrowseHandle
405
+ (keydown.enter)="onKeyboardActivate($event)"
406
+ (keydown.space)="onKeyboardActivate($event)"
407
+ >
408
+ <i class="ax-conversation-picker__empty-icon" [class]="iconClass()"></i>
409
+ <p class="ax-conversation-picker__empty-title">{{ title() }}</p>
410
+ <p class="ax-conversation-picker__empty-hint">{{ hint() }}</p>
411
+ </div>
412
+ `, styles: [":host{display:block;width:100%;max-width:100%;min-height:0}.ax-conversation-picker__scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.ax-conversation-picker__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.375rem;min-height:8.5rem;margin:.75rem;padding:1rem .75rem;border:1px dashed rgb(var(--ax-sys-color-border-surface));border-radius:var(--ax-sys-border-radius, .5rem);cursor:pointer;transition:border-color .15s ease,background-color .15s ease;text-align:center;touch-action:manipulation}.ax-conversation-picker__empty:hover,.ax-conversation-picker__empty--drag{border-color:rgb(var(--ax-sys-color-primary-500));background:rgba(var(--ax-sys-color-primary-500),.06)}.ax-conversation-picker__empty-icon{font-size:1.75rem;line-height:1;color:rgba(var(--ax-sys-color-on-surface),.55)}.ax-conversation-picker__empty-title{margin:0;font-size:.8125rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.ax-conversation-picker__empty-hint{margin:0;font-size:.75rem;color:rgba(var(--ax-sys-color-on-surface),.6)}.ax-conversation-picker__body{padding:0 .75rem .75rem}.ax-conversation-picker__list{display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem}.ax-conversation-picker__row{display:flex;align-items:center;gap:.625rem;padding:.5rem .625rem;border:1px solid rgb(var(--ax-sys-color-border-light-surface));border-radius:var(--ax-sys-border-radius, .375rem);background:rgb(var(--ax-sys-color-surface));transition:background-color .15s ease}@media (hover: hover){.ax-conversation-picker__row:hover{background:rgb(var(--ax-sys-color-light-surface))}}.ax-conversation-picker__thumb{position:relative;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex-shrink:0;border-radius:var(--ax-sys-border-radius, .375rem);background:rgba(var(--ax-sys-color-primary-500),.08);color:rgb(var(--ax-sys-color-primary-500));font-size:1.125rem;overflow:hidden}.ax-conversation-picker__thumb img,.ax-conversation-picker__thumb video{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.ax-conversation-picker__thumb-badge{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000052;color:rgb(var(--ax-sys-color-light));font-size:.625rem;pointer-events:none}.ax-conversation-picker__details{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.ax-conversation-picker__name{font-size:.8125rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ax-conversation-picker__status{display:flex;flex-wrap:wrap;gap:.375rem;font-size:.6875rem;color:rgba(var(--ax-sys-color-on-surface),.65)}.ax-conversation-picker__status--ok{color:rgb(var(--ax-sys-color-success-600));font-weight:500}.ax-conversation-picker__status--err{color:rgb(var(--ax-sys-color-danger-600));font-weight:500}.ax-conversation-picker__progress{width:100%;margin-top:.125rem}.ax-conversation-picker__remove{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;flex-shrink:0;border:none;border-radius:var(--ax-sys-border-radius, .25rem);background:transparent;color:rgba(var(--ax-sys-color-on-surface),.55);font-size:1rem;cursor:pointer;touch-action:manipulation;transition:background-color .15s ease,color .15s ease}.ax-conversation-picker__remove:hover,.ax-conversation-picker__remove:focus-visible{background:rgba(var(--ax-sys-color-danger-500),.1);color:rgb(var(--ax-sys-color-danger-500));outline:none}.ax-conversation-picker__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(5.25rem,1fr));gap:.5rem}.ax-conversation-picker__tile{position:relative;aspect-ratio:1;border-radius:var(--ax-sys-border-radius, .375rem);overflow:hidden;border:1px solid rgb(var(--ax-sys-color-border-light-surface));background:rgb(var(--ax-sys-color-light-surface))}.ax-conversation-picker__tile img{width:100%;height:100%;object-fit:cover;display:block}.ax-conversation-picker__tile-remove{position:absolute;top:.25rem;inset-inline-end:.25rem;z-index:2;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;border-radius:50%;background:rgb(var(--ax-sys-color-danger-500));color:rgb(var(--ax-sys-color-light));font-size:.6875rem;cursor:pointer;touch-action:manipulation;box-shadow:0 1px 3px #0003}.ax-conversation-picker__tile-overlay{position:absolute;inset-inline:0;bottom:0;padding:.25rem;background:linear-gradient(transparent,#0000008c)}.ax-conversation-picker__tile-status{font-size:.625rem;color:rgb(var(--ax-sys-color-light));line-height:1.2}.ax-conversation-picker__caption-slot{flex-shrink:0;padding:.5rem .75rem;border-top:1px solid rgb(var(--ax-sys-color-border-light-surface));background:rgb(var(--ax-sys-color-lightest-surface))}.ax-conversation-picker__input-hidden{display:none}@container picker (max-width: 480px){.ax-conversation-picker__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.375rem}.ax-conversation-picker__row{padding:.4375rem .5rem;gap:.5rem}.ax-conversation-picker__thumb{width:2.25rem;height:2.25rem}.ax-conversation-picker__empty{min-height:7.5rem;margin:.5rem}.ax-conversation-picker__body{padding-inline:.5rem;padding-bottom:.5rem}}\n"] }]
413
+ }] });
414
+
415
+ /**
416
+ * Wraps composer pickers with {@link AXUploaderZoneDirective} for browse, drop, and validation.
417
+ */
418
+ class AXConversationPickerShellComponent {
419
+ constructor() {
420
+ this.toast = inject(AXToastService);
421
+ this.translation = inject(AXTranslationService);
422
+ this.fileType = input.required(...(ngDevMode ? [{ debugName: "fileType" }] : []));
423
+ this.multiple = input(false, ...(ngDevMode ? [{ debugName: "multiple" }] : []));
424
+ this.filesSelected = output();
425
+ this.dragEnter = output();
426
+ this.dragLeave = output();
427
+ this.dragOver = output();
428
+ }
429
+ onZoneFileChange(event) {
430
+ if (event.rejected?.length) {
431
+ notifyPickerValidationErrors(this.toast, this.translation, event.rejected);
432
+ }
433
+ if (event.files.length > 0) {
434
+ this.filesSelected.emit(event.files);
435
+ }
436
+ }
437
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationPickerShellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
438
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.3", type: AXConversationPickerShellComponent, isStandalone: true, selector: "ax-conversation-picker-shell", inputs: { fileType: { classPropertyName: "fileType", publicName: "fileType", isSignal: true, isRequired: true, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { filesSelected: "filesSelected", dragEnter: "dragEnter", dragLeave: "dragLeave", dragOver: "dragOver" }, ngImport: i0, template: `
439
+ <div
440
+ class="ax-conversation-picker"
441
+ axUploaderZone
442
+ [fileType]="fileType()"
443
+ [multiple]="multiple()"
444
+ [disableBrowse]="true"
445
+ (fileChange)="onZoneFileChange($event)"
446
+ (dragEnter)="dragEnter.emit($event)"
447
+ (dragLeave)="dragLeave.emit($event)"
448
+ (dragOver)="dragOver.emit($event)"
449
+ >
450
+ <div class="ax-conversation-picker__content">
451
+ <ng-content />
452
+ </div>
453
+ </div>
454
+ `, isInline: true, styles: [":host{display:block;width:100%;max-width:100%;min-height:0;container-type:inline-size;container-name:picker}.ax-conversation-picker{display:flex;flex-direction:column;width:100%;max-width:100%;max-height:min(32rem,85dvh);background:rgb(var(--ax-sys-color-lightest-surface));border-radius:var(--ax-sys-border-radius, .5rem);overflow:hidden}.ax-conversation-picker__content{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}@container picker (max-width: 480px){.ax-conversation-picker{max-height:min(28rem,90dvh);border-radius:0}}\n"], dependencies: [{ kind: "directive", type: AXUploaderZoneDirective, selector: "[axUploaderZone]", inputs: ["multiple", "accept", "fileType", "overlayTemplate", "disableBrowse", "disableDragDrop"], outputs: ["fileChange", "onChanged", "dragEnter", "dragLeave", "dragOver", "onFileUploadComplete", "onFilesUploadComplete"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
455
+ }
456
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationPickerShellComponent, decorators: [{
457
+ type: Component,
458
+ args: [{ selector: 'ax-conversation-picker-shell', changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXUploaderZoneDirective], template: `
459
+ <div
460
+ class="ax-conversation-picker"
461
+ axUploaderZone
462
+ [fileType]="fileType()"
463
+ [multiple]="multiple()"
464
+ [disableBrowse]="true"
465
+ (fileChange)="onZoneFileChange($event)"
466
+ (dragEnter)="dragEnter.emit($event)"
467
+ (dragLeave)="dragLeave.emit($event)"
468
+ (dragOver)="dragOver.emit($event)"
469
+ >
470
+ <div class="ax-conversation-picker__content">
471
+ <ng-content />
472
+ </div>
473
+ </div>
474
+ `, styles: [":host{display:block;width:100%;max-width:100%;min-height:0;container-type:inline-size;container-name:picker}.ax-conversation-picker{display:flex;flex-direction:column;width:100%;max-width:100%;max-height:min(32rem,85dvh);background:rgb(var(--ax-sys-color-lightest-surface));border-radius:var(--ax-sys-border-radius, .5rem);overflow:hidden}.ax-conversation-picker__content{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}@container picker (max-width: 480px){.ax-conversation-picker{max-height:min(28rem,90dvh);border-radius:0}}\n"] }]
475
+ }] });
476
+
477
+ const AX_CONVERSATION_PICKER_TOOLBAR_STYLES = `
478
+ :host {
479
+ display: flex;
480
+ align-items: center;
481
+ justify-content: space-between;
482
+ gap: 0.5rem;
483
+ flex-shrink: 0;
484
+ position: sticky;
485
+ top: 0;
486
+ z-index: 10;
487
+ box-sizing: border-box;
488
+ width: calc(100% + 1.5rem);
489
+ margin-inline: -0.75rem;
490
+ padding: 0.375rem 0.75rem 0.5rem;
491
+ background: rgb(var(--ax-sys-color-lightest-surface));
492
+ border-bottom: 1px solid rgb(var(--ax-sys-color-border-light-surface));
493
+ }
494
+
495
+ .ax-conversation-picker__count {
496
+ font-size: 0.75rem;
497
+ font-weight: 500;
498
+ color: rgba(var(--ax-sys-color-on-surface), 0.65);
499
+ }
500
+
501
+ @container picker (max-width: 480px) {
502
+ :host {
503
+ width: calc(100% + 1rem);
504
+ margin-inline: -0.5rem;
505
+ padding-inline: 0.5rem;
506
+ }
507
+ }
508
+ `;
509
+ class AXConversationPickerToolbarComponent {
510
+ constructor() {
511
+ this.countLabel = input.required(...(ngDevMode ? [{ debugName: "countLabel" }] : []));
512
+ this.addMoreLabel = input.required(...(ngDevMode ? [{ debugName: "addMoreLabel" }] : []));
513
+ }
514
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationPickerToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
515
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.3", type: AXConversationPickerToolbarComponent, isStandalone: true, selector: "ax-conversation-picker-toolbar", inputs: { countLabel: { classPropertyName: "countLabel", publicName: "countLabel", isSignal: true, isRequired: true, transformFunction: null }, addMoreLabel: { classPropertyName: "addMoreLabel", publicName: "addMoreLabel", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
516
+ <span class="ax-conversation-picker__count">{{ countLabel() }}</span>
517
+ <ax-button [text]="addMoreLabel()" [look]="'ghost'" axUploaderBrowseHandle>
518
+ <ax-prefix>
519
+ <ax-icon><i class="fa-light fa-plus"></i></ax-icon>
520
+ </ax-prefix>
521
+ </ax-button>
522
+ `, isInline: true, styles: [":host{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-shrink:0;position:sticky;top:0;z-index:10;box-sizing:border-box;width:calc(100% + 1.5rem);margin-inline:-.75rem;padding:.375rem .75rem .5rem;background:rgb(var(--ax-sys-color-lightest-surface));border-bottom:1px solid rgb(var(--ax-sys-color-border-light-surface))}.ax-conversation-picker__count{font-size:.75rem;font-weight:500;color:rgba(var(--ax-sys-color-on-surface),.65)}@container picker (max-width: 480px){:host{width:calc(100% + 1rem);margin-inline:-.5rem;padding-inline:.5rem}}\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"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i1$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i1$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "directive", type: AXUploaderBrowseDirective, selector: "[axUploaderBrowseHandle]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
523
+ }
524
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationPickerToolbarComponent, decorators: [{
525
+ type: Component,
526
+ args: [{ selector: 'ax-conversation-picker-toolbar', imports: [AXButtonComponent, AXDecoratorModule, AXUploaderBrowseDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: `
527
+ <span class="ax-conversation-picker__count">{{ countLabel() }}</span>
528
+ <ax-button [text]="addMoreLabel()" [look]="'ghost'" axUploaderBrowseHandle>
529
+ <ax-prefix>
530
+ <ax-icon><i class="fa-light fa-plus"></i></ax-icon>
531
+ </ax-prefix>
532
+ </ax-button>
533
+ `, styles: [":host{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-shrink:0;position:sticky;top:0;z-index:10;box-sizing:border-box;width:calc(100% + 1.5rem);margin-inline:-.75rem;padding:.375rem .75rem .5rem;background:rgb(var(--ax-sys-color-lightest-surface));border-bottom:1px solid rgb(var(--ax-sys-color-border-light-surface))}.ax-conversation-picker__count{font-size:.75rem;font-weight:500;color:rgba(var(--ax-sys-color-on-surface),.65)}@container picker (max-width: 480px){:host{width:calc(100% + 1rem);margin-inline:-.5rem;padding-inline:.5rem}}\n"] }]
534
+ }] });
535
+
536
+ export { AXConversationPickerEmptyComponent as A, AXConversationPickerToolbarComponent as a, AXConversationPickerCaptionComponent as b, AXConversationPickerShellComponent as c };
537
+ //# sourceMappingURL=acorex-components-conversation-picker-toolbar.component-CpyS0j6P.mjs.map