@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.
- package/{conversation2 → conversation}/README.md +23 -23
- package/{conversation2 → conversation}/index.d.ts +991 -1792
- package/fesm2022/acorex-components-conversation-acorex-components-conversation-CjVDCoJw.mjs +13711 -0
- package/fesm2022/acorex-components-conversation-acorex-components-conversation-CjVDCoJw.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-audio-attachment.component-Ri-Jx210.mjs +119 -0
- package/fesm2022/acorex-components-conversation-audio-attachment.component-Ri-Jx210.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-audio-composer.payload-DiMDlVl9.mjs +59 -0
- package/fesm2022/acorex-components-conversation-audio-composer.payload-DiMDlVl9.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-audio-picker.component-CqrKBDIF.mjs +432 -0
- package/fesm2022/acorex-components-conversation-audio-picker.component-CqrKBDIF.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-audio-renderer.component-CO8owVrA.mjs +177 -0
- package/fesm2022/acorex-components-conversation-audio-renderer.component-CO8owVrA.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-audio.payload-CLnYjmYY.mjs +54 -0
- package/fesm2022/acorex-components-conversation-audio.payload-CLnYjmYY.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-CYutyq7i.mjs +101 -0
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-CYutyq7i.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-conversation-audio.file-type-D-hIBwQ2.mjs +100 -0
- package/fesm2022/acorex-components-conversation-conversation-audio.file-type-D-hIBwQ2.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-conversation-file.file-type-DQUy3C64.mjs +121 -0
- package/fesm2022/acorex-components-conversation-conversation-file.file-type-DQUy3C64.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-conversation-image.file-type-Bd_SkwR0.mjs +84 -0
- package/fesm2022/acorex-components-conversation-conversation-image.file-type-Bd_SkwR0.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-conversation-info-media-view.component-BalIIAFB.mjs +238 -0
- package/fesm2022/acorex-components-conversation-conversation-info-media-view.component-BalIIAFB.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-conversation-info-panel.component-BJMo9bDd.mjs +1080 -0
- package/fesm2022/acorex-components-conversation-conversation-info-panel.component-BJMo9bDd.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-conversation-video.file-type-DyK0bLE5.mjs +102 -0
- package/fesm2022/acorex-components-conversation-conversation-video.file-type-DyK0bLE5.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-conversation-voice.file-type-v3rFWDv6.mjs +90 -0
- package/fesm2022/acorex-components-conversation-conversation-voice.file-type-v3rFWDv6.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-emoji-categories-C7Gm95V0.mjs +1840 -0
- package/fesm2022/acorex-components-conversation-emoji-categories-C7Gm95V0.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-fallback-renderer.component-DOQkZWwP.mjs +44 -0
- package/fesm2022/acorex-components-conversation-fallback-renderer.component-DOQkZWwP.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-file-composer.payload-azPSH99m.mjs +64 -0
- package/fesm2022/acorex-components-conversation-file-composer.payload-azPSH99m.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-file-picker.component-cmUkgSF3.mjs +468 -0
- package/fesm2022/acorex-components-conversation-file-picker.component-cmUkgSF3.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-file-renderer.component-CpUgRTR4.mjs +125 -0
- package/fesm2022/acorex-components-conversation-file-renderer.component-CpUgRTR4.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-file.payload-DXwzNWxT.mjs +50 -0
- package/fesm2022/acorex-components-conversation-file.payload-DXwzNWxT.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-format-media-DUD4vA6F.mjs +21 -0
- package/fesm2022/acorex-components-conversation-format-media-DUD4vA6F.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-image-attachment.component-BZto5LFo.mjs +77 -0
- package/fesm2022/acorex-components-conversation-image-attachment.component-BZto5LFo.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-image-picker.component-G9EEOyDg.mjs +407 -0
- package/fesm2022/acorex-components-conversation-image-picker.component-G9EEOyDg.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-image-renderer.component-Bwa6rG6C.mjs +83 -0
- package/fesm2022/acorex-components-conversation-image-renderer.component-Bwa6rG6C.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-index-BbrYsQ84.mjs +180 -0
- package/fesm2022/acorex-components-conversation-index-BbrYsQ84.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-index-DtGEWeKN.mjs +266 -0
- package/fesm2022/acorex-components-conversation-index-DtGEWeKN.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-location-picker.component-Cx993j_c.mjs +149 -0
- package/fesm2022/acorex-components-conversation-location-picker.component-Cx993j_c.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-location-renderer.component-BiynmAJw.mjs +118 -0
- package/fesm2022/acorex-components-conversation-location-renderer.component-BiynmAJw.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-media-formatters-DV3wEEno.mjs +17 -0
- package/fesm2022/acorex-components-conversation-media-formatters-DV3wEEno.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-media-playback-info-bar-banner.component-a7OSpfB1.mjs +140 -0
- package/fesm2022/acorex-components-conversation-media-playback-info-bar-banner.component-a7OSpfB1.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-message-renderer-copy-host.component-D_eAnM6v.mjs +33 -0
- package/fesm2022/acorex-components-conversation-message-renderer-copy-host.component-D_eAnM6v.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-message-renderer-state.component-DSnNoz1N.mjs +172 -0
- package/fesm2022/acorex-components-conversation-message-renderer-state.component-DSnNoz1N.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-CbNyy2Ws.mjs +224 -0
- package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-CbNyy2Ws.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-pagination-demo-data-DRr9PXjJ.mjs +81 -0
- package/fesm2022/acorex-components-conversation-pagination-demo-data-DRr9PXjJ.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-picker-header.component-BhTzlufI.mjs +91 -0
- package/fesm2022/acorex-components-conversation-picker-header.component-BhTzlufI.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-picker-toolbar.component-CpyS0j6P.mjs +537 -0
- package/fesm2022/acorex-components-conversation-picker-toolbar.component-CpyS0j6P.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-picker-upload-C-PlKPaU.mjs +163 -0
- package/fesm2022/acorex-components-conversation-picker-upload-C-PlKPaU.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-playback-banner-sync-BMsx6Fuy.mjs +68 -0
- package/fesm2022/acorex-components-conversation-playback-banner-sync-BMsx6Fuy.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-renderer-shared.styles-Digah3Zn.mjs +95 -0
- package/fesm2022/acorex-components-conversation-renderer-shared.styles-Digah3Zn.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-search.component-96NI2ERG.mjs +187 -0
- package/fesm2022/acorex-components-conversation-search.component-96NI2ERG.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-send-message-media--Rbrne7k.mjs +170 -0
- package/fesm2022/acorex-components-conversation-send-message-media--Rbrne7k.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-shared-storage.seed-zFjNXfKF.mjs +750 -0
- package/fesm2022/acorex-components-conversation-shared-storage.seed-zFjNXfKF.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-sticker-renderer.component-BZgx_Ylk.mjs +103 -0
- package/fesm2022/acorex-components-conversation-sticker-renderer.component-BZgx_Ylk.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-system-renderer.component-D1Aj-LuF.mjs +55 -0
- package/fesm2022/acorex-components-conversation-system-renderer.component-D1Aj-LuF.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-text-renderer.component-Cxvwjr2p.mjs +109 -0
- package/fesm2022/acorex-components-conversation-text-renderer.component-Cxvwjr2p.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-video-attachment.component-DBY_4Ri2.mjs +105 -0
- package/fesm2022/acorex-components-conversation-video-attachment.component-DBY_4Ri2.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-video-composer.payload-CWGxsPg5.mjs +62 -0
- package/fesm2022/acorex-components-conversation-video-composer.payload-CWGxsPg5.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-video-picker.component-D1JYwEm_.mjs +446 -0
- package/fesm2022/acorex-components-conversation-video-picker.component-D1JYwEm_.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-video-renderer.component-iwf2bU29.mjs +181 -0
- package/fesm2022/acorex-components-conversation-video-renderer.component-iwf2bU29.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-video.payload-DfBEjqQ4.mjs +54 -0
- package/fesm2022/acorex-components-conversation-video.payload-DfBEjqQ4.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-voice-composer.payload-DLVow7ex.mjs +17 -0
- package/fesm2022/acorex-components-conversation-voice-composer.payload-DLVow7ex.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-voice-recorder.component-P8J_5OH0.mjs +328 -0
- package/fesm2022/acorex-components-conversation-voice-recorder.component-P8J_5OH0.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-voice-renderer.component-CZpEqbXL.mjs +270 -0
- package/fesm2022/acorex-components-conversation-voice-renderer.component-CZpEqbXL.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation.mjs +2 -0
- package/fesm2022/acorex-components-conversation.mjs.map +1 -0
- package/fesm2022/acorex-components-scheduler-picker.mjs +22 -14
- package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
- package/package.json +37 -37
- package/scheduler-picker/index.d.ts +2 -0
- package/fesm2022/acorex-components-conversation2.mjs +0 -22331
- package/fesm2022/acorex-components-conversation2.mjs.map +0 -1
package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-CYutyq7i.mjs
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { AXComponentCloseEvent, AXClosableComponent } from '@acorex/cdk/common';
|
|
2
|
+
import { AXTranslationService } from '@acorex/core/translation';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { inject, input, computed, EventEmitter, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
5
|
+
|
|
6
|
+
class AXConversationComposerActionChoiceDialogComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.translation = inject(AXTranslationService);
|
|
9
|
+
this.actions = input.required(...(ngDevMode ? [{ debugName: "actions" }] : []));
|
|
10
|
+
this.fileCount = input(1, ...(ngDevMode ? [{ debugName: "fileCount" }] : []));
|
|
11
|
+
this.composerActionRegistry = input.required(...(ngDevMode ? [{ debugName: "composerActionRegistry" }] : []));
|
|
12
|
+
this.__popup__ = input(...(ngDevMode ? [undefined, { debugName: "__popup__" }] : []));
|
|
13
|
+
this.hintText = computed(() => {
|
|
14
|
+
const count = this.fileCount();
|
|
15
|
+
if (count === 1) {
|
|
16
|
+
return this.translation.translateSync('@acorex:chat.dialog.choose-send-option.hint-single');
|
|
17
|
+
}
|
|
18
|
+
return this.translation.translateSync('@acorex:chat.dialog.choose-send-option.hint-multiple', {
|
|
19
|
+
params: { count },
|
|
20
|
+
});
|
|
21
|
+
}, ...(ngDevMode ? [{ debugName: "hintText" }] : []));
|
|
22
|
+
this.onClosed = new EventEmitter();
|
|
23
|
+
}
|
|
24
|
+
getActionLabel(action) {
|
|
25
|
+
return this.composerActionRegistry().getActionLabel(action);
|
|
26
|
+
}
|
|
27
|
+
getActionTooltip(action) {
|
|
28
|
+
return this.composerActionRegistry().getActionTooltip(action);
|
|
29
|
+
}
|
|
30
|
+
choose(action) {
|
|
31
|
+
const event = new AXComponentCloseEvent();
|
|
32
|
+
event.component = this;
|
|
33
|
+
event.data = action;
|
|
34
|
+
this.onClosed.emit(event);
|
|
35
|
+
}
|
|
36
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationComposerActionChoiceDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXConversationComposerActionChoiceDialogComponent, isStandalone: true, selector: "ax-conversation-composer-action-choice-dialog", inputs: { actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: true, transformFunction: null }, fileCount: { classPropertyName: "fileCount", publicName: "fileCount", isSignal: true, isRequired: false, transformFunction: null }, composerActionRegistry: { classPropertyName: "composerActionRegistry", publicName: "composerActionRegistry", isSignal: true, isRequired: true, transformFunction: null }, __popup__: { classPropertyName: "__popup__", publicName: "__popup__", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: AXClosableComponent, useExisting: AXConversationComposerActionChoiceDialogComponent }], ngImport: i0, template: `
|
|
38
|
+
<div class="composer-action-choice" role="dialog" aria-modal="true">
|
|
39
|
+
<p class="composer-action-choice__hint">{{ hintText() }}</p>
|
|
40
|
+
<ul class="composer-action-choice__list" role="listbox">
|
|
41
|
+
@for (action of actions(); track action.id) {
|
|
42
|
+
<li role="presentation">
|
|
43
|
+
<button
|
|
44
|
+
type="button"
|
|
45
|
+
class="composer-action-choice__option"
|
|
46
|
+
role="option"
|
|
47
|
+
(click)="choose(action)"
|
|
48
|
+
[attr.aria-label]="getActionLabel(action)"
|
|
49
|
+
>
|
|
50
|
+
<span class="composer-action-choice__icon" aria-hidden="true">
|
|
51
|
+
<i [class]="action.icon"></i>
|
|
52
|
+
</span>
|
|
53
|
+
<span class="composer-action-choice__text">
|
|
54
|
+
<span class="composer-action-choice__title">{{ getActionLabel(action) }}</span>
|
|
55
|
+
@if (getActionTooltip(action); as tip) {
|
|
56
|
+
<span class="composer-action-choice__subtitle">{{ tip }}</span>
|
|
57
|
+
}
|
|
58
|
+
</span>
|
|
59
|
+
<i class="fa-light fa-chevron-right composer-action-choice__chevron" aria-hidden="true"></i>
|
|
60
|
+
</button>
|
|
61
|
+
</li>
|
|
62
|
+
}
|
|
63
|
+
</ul>
|
|
64
|
+
</div>
|
|
65
|
+
`, isInline: true, styles: [":host{display:block}.composer-action-choice{display:flex;flex-direction:column;gap:.75rem;padding:.5rem;min-width:16rem}.composer-action-choice__hint{margin:0;font-size:.8125rem;line-height:1.45;color:rgba(var(--ax-sys-color-on-surface),.7)}.composer-action-choice__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.composer-action-choice__option{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;border:1px solid rgb(var(--ax-sys-color-border-light-surface));border-radius:var(--ax-sys-border-radius, .5rem);background:rgb(var(--ax-sys-color-surface));cursor:pointer;text-align:start;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.composer-action-choice__option:hover,.composer-action-choice__option:focus-visible{border-color:rgb(var(--ax-sys-color-primary-500));background:rgba(var(--ax-sys-color-primary-500),.06);outline:none;box-shadow:0 0 0 1px rgba(var(--ax-sys-color-primary-500),.25)}.composer-action-choice__icon{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),.1);color:rgb(var(--ax-sys-color-primary-600));font-size:1.125rem}.composer-action-choice__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.composer-action-choice__title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.composer-action-choice__subtitle{font-size:.75rem;color:rgba(var(--ax-sys-color-on-surface),.6);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-action-choice__chevron{flex-shrink:0;font-size:.75rem;color:rgba(var(--ax-sys-color-on-surface),.45)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
66
|
+
}
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationComposerActionChoiceDialogComponent, decorators: [{
|
|
68
|
+
type: Component,
|
|
69
|
+
args: [{ selector: 'ax-conversation-composer-action-choice-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
70
|
+
<div class="composer-action-choice" role="dialog" aria-modal="true">
|
|
71
|
+
<p class="composer-action-choice__hint">{{ hintText() }}</p>
|
|
72
|
+
<ul class="composer-action-choice__list" role="listbox">
|
|
73
|
+
@for (action of actions(); track action.id) {
|
|
74
|
+
<li role="presentation">
|
|
75
|
+
<button
|
|
76
|
+
type="button"
|
|
77
|
+
class="composer-action-choice__option"
|
|
78
|
+
role="option"
|
|
79
|
+
(click)="choose(action)"
|
|
80
|
+
[attr.aria-label]="getActionLabel(action)"
|
|
81
|
+
>
|
|
82
|
+
<span class="composer-action-choice__icon" aria-hidden="true">
|
|
83
|
+
<i [class]="action.icon"></i>
|
|
84
|
+
</span>
|
|
85
|
+
<span class="composer-action-choice__text">
|
|
86
|
+
<span class="composer-action-choice__title">{{ getActionLabel(action) }}</span>
|
|
87
|
+
@if (getActionTooltip(action); as tip) {
|
|
88
|
+
<span class="composer-action-choice__subtitle">{{ tip }}</span>
|
|
89
|
+
}
|
|
90
|
+
</span>
|
|
91
|
+
<i class="fa-light fa-chevron-right composer-action-choice__chevron" aria-hidden="true"></i>
|
|
92
|
+
</button>
|
|
93
|
+
</li>
|
|
94
|
+
}
|
|
95
|
+
</ul>
|
|
96
|
+
</div>
|
|
97
|
+
`, providers: [{ provide: AXClosableComponent, useExisting: AXConversationComposerActionChoiceDialogComponent }], styles: [":host{display:block}.composer-action-choice{display:flex;flex-direction:column;gap:.75rem;padding:.5rem;min-width:16rem}.composer-action-choice__hint{margin:0;font-size:.8125rem;line-height:1.45;color:rgba(var(--ax-sys-color-on-surface),.7)}.composer-action-choice__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.composer-action-choice__option{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;border:1px solid rgb(var(--ax-sys-color-border-light-surface));border-radius:var(--ax-sys-border-radius, .5rem);background:rgb(var(--ax-sys-color-surface));cursor:pointer;text-align:start;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.composer-action-choice__option:hover,.composer-action-choice__option:focus-visible{border-color:rgb(var(--ax-sys-color-primary-500));background:rgba(var(--ax-sys-color-primary-500),.06);outline:none;box-shadow:0 0 0 1px rgba(var(--ax-sys-color-primary-500),.25)}.composer-action-choice__icon{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),.1);color:rgb(var(--ax-sys-color-primary-600));font-size:1.125rem}.composer-action-choice__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.composer-action-choice__title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.composer-action-choice__subtitle{font-size:.75rem;color:rgba(var(--ax-sys-color-on-surface),.6);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-action-choice__chevron{flex-shrink:0;font-size:.75rem;color:rgba(var(--ax-sys-color-on-surface),.45)}\n"] }]
|
|
98
|
+
}] });
|
|
99
|
+
|
|
100
|
+
export { AXConversationComposerActionChoiceDialogComponent };
|
|
101
|
+
//# sourceMappingURL=acorex-components-conversation-composer-action-choice-dialog.component-CYutyq7i.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-components-conversation-composer-action-choice-dialog.component-CYutyq7i.mjs","sources":["../tmp-esm2022/conversation/lib/components/message-list/composer-action-choice-dialog.component.js"],"sourcesContent":["import { AXClosableComponent, AXComponentCloseEvent } from '@acorex/cdk/common';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { ChangeDetectionStrategy, Component, EventEmitter, computed, inject, input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXConversationComposerActionChoiceDialogComponent {\n constructor() {\n this.translation = inject(AXTranslationService);\n this.actions = input.required(...(ngDevMode ? [{ debugName: \"actions\" }] : []));\n this.fileCount = input(1, ...(ngDevMode ? [{ debugName: \"fileCount\" }] : []));\n this.composerActionRegistry = input.required(...(ngDevMode ? [{ debugName: \"composerActionRegistry\" }] : []));\n this.__popup__ = input(...(ngDevMode ? [undefined, { debugName: \"__popup__\" }] : []));\n this.hintText = computed(() => {\n const count = this.fileCount();\n if (count === 1) {\n return this.translation.translateSync('@acorex:chat.dialog.choose-send-option.hint-single');\n }\n return this.translation.translateSync('@acorex:chat.dialog.choose-send-option.hint-multiple', {\n params: { count },\n });\n }, ...(ngDevMode ? [{ debugName: \"hintText\" }] : []));\n this.onClosed = new EventEmitter();\n }\n getActionLabel(action) {\n return this.composerActionRegistry().getActionLabel(action);\n }\n getActionTooltip(action) {\n return this.composerActionRegistry().getActionTooltip(action);\n }\n choose(action) {\n const event = new AXComponentCloseEvent();\n event.component = this;\n event.data = action;\n this.onClosed.emit(event);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXConversationComposerActionChoiceDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.3\", type: AXConversationComposerActionChoiceDialogComponent, isStandalone: true, selector: \"ax-conversation-composer-action-choice-dialog\", inputs: { actions: { classPropertyName: \"actions\", publicName: \"actions\", isSignal: true, isRequired: true, transformFunction: null }, fileCount: { classPropertyName: \"fileCount\", publicName: \"fileCount\", isSignal: true, isRequired: false, transformFunction: null }, composerActionRegistry: { classPropertyName: \"composerActionRegistry\", publicName: \"composerActionRegistry\", isSignal: true, isRequired: true, transformFunction: null }, __popup__: { classPropertyName: \"__popup__\", publicName: \"__popup__\", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: AXClosableComponent, useExisting: AXConversationComposerActionChoiceDialogComponent }], ngImport: i0, template: `\n <div class=\"composer-action-choice\" role=\"dialog\" aria-modal=\"true\">\n <p class=\"composer-action-choice__hint\">{{ hintText() }}</p>\n <ul class=\"composer-action-choice__list\" role=\"listbox\">\n @for (action of actions(); track action.id) {\n <li role=\"presentation\">\n <button\n type=\"button\"\n class=\"composer-action-choice__option\"\n role=\"option\"\n (click)=\"choose(action)\"\n [attr.aria-label]=\"getActionLabel(action)\"\n >\n <span class=\"composer-action-choice__icon\" aria-hidden=\"true\">\n <i [class]=\"action.icon\"></i>\n </span>\n <span class=\"composer-action-choice__text\">\n <span class=\"composer-action-choice__title\">{{ getActionLabel(action) }}</span>\n @if (getActionTooltip(action); as tip) {\n <span class=\"composer-action-choice__subtitle\">{{ tip }}</span>\n }\n </span>\n <i class=\"fa-light fa-chevron-right composer-action-choice__chevron\" aria-hidden=\"true\"></i>\n </button>\n </li>\n }\n </ul>\n </div>\n `, isInline: true, styles: [\":host{display:block}.composer-action-choice{display:flex;flex-direction:column;gap:.75rem;padding:.5rem;min-width:16rem}.composer-action-choice__hint{margin:0;font-size:.8125rem;line-height:1.45;color:rgba(var(--ax-sys-color-on-surface),.7)}.composer-action-choice__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.composer-action-choice__option{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;border:1px solid rgb(var(--ax-sys-color-border-light-surface));border-radius:var(--ax-sys-border-radius, .5rem);background:rgb(var(--ax-sys-color-surface));cursor:pointer;text-align:start;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.composer-action-choice__option:hover,.composer-action-choice__option:focus-visible{border-color:rgb(var(--ax-sys-color-primary-500));background:rgba(var(--ax-sys-color-primary-500),.06);outline:none;box-shadow:0 0 0 1px rgba(var(--ax-sys-color-primary-500),.25)}.composer-action-choice__icon{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),.1);color:rgb(var(--ax-sys-color-primary-600));font-size:1.125rem}.composer-action-choice__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.composer-action-choice__title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.composer-action-choice__subtitle{font-size:.75rem;color:rgba(var(--ax-sys-color-on-surface),.6);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-action-choice__chevron{flex-shrink:0;font-size:.75rem;color:rgba(var(--ax-sys-color-on-surface),.45)}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXConversationComposerActionChoiceDialogComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-conversation-composer-action-choice-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: `\n <div class=\"composer-action-choice\" role=\"dialog\" aria-modal=\"true\">\n <p class=\"composer-action-choice__hint\">{{ hintText() }}</p>\n <ul class=\"composer-action-choice__list\" role=\"listbox\">\n @for (action of actions(); track action.id) {\n <li role=\"presentation\">\n <button\n type=\"button\"\n class=\"composer-action-choice__option\"\n role=\"option\"\n (click)=\"choose(action)\"\n [attr.aria-label]=\"getActionLabel(action)\"\n >\n <span class=\"composer-action-choice__icon\" aria-hidden=\"true\">\n <i [class]=\"action.icon\"></i>\n </span>\n <span class=\"composer-action-choice__text\">\n <span class=\"composer-action-choice__title\">{{ getActionLabel(action) }}</span>\n @if (getActionTooltip(action); as tip) {\n <span class=\"composer-action-choice__subtitle\">{{ tip }}</span>\n }\n </span>\n <i class=\"fa-light fa-chevron-right composer-action-choice__chevron\" aria-hidden=\"true\"></i>\n </button>\n </li>\n }\n </ul>\n </div>\n `, providers: [{ provide: AXClosableComponent, useExisting: AXConversationComposerActionChoiceDialogComponent }], styles: [\":host{display:block}.composer-action-choice{display:flex;flex-direction:column;gap:.75rem;padding:.5rem;min-width:16rem}.composer-action-choice__hint{margin:0;font-size:.8125rem;line-height:1.45;color:rgba(var(--ax-sys-color-on-surface),.7)}.composer-action-choice__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.composer-action-choice__option{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;border:1px solid rgb(var(--ax-sys-color-border-light-surface));border-radius:var(--ax-sys-border-radius, .5rem);background:rgb(var(--ax-sys-color-surface));cursor:pointer;text-align:start;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.composer-action-choice__option:hover,.composer-action-choice__option:focus-visible{border-color:rgb(var(--ax-sys-color-primary-500));background:rgba(var(--ax-sys-color-primary-500),.06);outline:none;box-shadow:0 0 0 1px rgba(var(--ax-sys-color-primary-500),.25)}.composer-action-choice__icon{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),.1);color:rgb(var(--ax-sys-color-primary-600));font-size:1.125rem}.composer-action-choice__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.composer-action-choice__title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.composer-action-choice__subtitle{font-size:.75rem;color:rgba(var(--ax-sys-color-on-surface),.6);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-action-choice__chevron{flex-shrink:0;font-size:.75rem;color:rgba(var(--ax-sys-color-on-surface),.45)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zZXItYWN0aW9uLWNob2ljZS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jb252ZXJzYXRpb24vc3JjL2xpYi9jb21wb25lbnRzL21lc3NhZ2UtbGlzdC9jb21wb3Nlci1hY3Rpb24tY2hvaWNlLWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFaEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBc0kxRyxNQUFNLE9BQU8saURBQWlEO0lBbkk5RDtRQW9JbUIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUVuRCxZQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsa0RBQWtDLENBQUM7UUFDM0QsY0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLHFEQUFDLENBQUM7UUFDckIsMkJBQXNCLEdBQUcsS0FBSyxDQUFDLFFBQVEsaUVBQXdDLENBQUM7UUFDaEYsY0FBUyxHQUFHLEtBQUssK0RBQTBCLENBQUM7UUFFNUMsYUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDaEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQy9CLElBQUksS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNoQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLG9EQUFvRCxDQUFDLENBQUM7WUFDOUYsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsc0RBQXNELEVBQUU7Z0JBQzVGLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRTthQUNsQixDQUFDLENBQUM7UUFDTCxDQUFDLG9EQUFDLENBQUM7UUFFTSxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQXlCLENBQUM7S0FnQi9EO0lBZEMsY0FBYyxDQUFDLE1BQW9DO1FBQ2pELE9BQU8sSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUFvQztRQUNuRCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBb0M7UUFDekMsTUFBTSxLQUFLLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBQzFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7OEdBakNVLGlEQUFpRDtrR0FBakQsaURBQWlELHVwQkFGakQsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsaURBQWlELEVBQUUsQ0FBQywwQkE5SG5HOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNEJUOzsyRkFvR1UsaURBQWlEO2tCQW5JN0QsU0FBUzsrQkFDRSwrQ0FBK0MsbUJBQ3hDLHVCQUF1QixDQUFDLE1BQU0sWUFDckM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0QlQsYUFrR1UsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLG1EQUFtRCxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENsb3NhYmxlQ29tcG9uZW50LCBBWENvbXBvbmVudENsb3NlRXZlbnQgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHR5cGUgeyBBWFBvcHVwUmVmIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcHVwJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgY29tcHV0ZWQsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgQVhDb252ZXJzYXRpb25Db21wb3NlckFjdGlvbiwgQVhDb252ZXJzYXRpb25Db21wb3NlckFjdGlvblJlZ2lzdHJ5IH0gZnJvbSAnLi4vLi4vcmVnaXN0cmllcy9jb21wb3Nlci1hY3Rpb24ucmVnaXN0cnknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1jb252ZXJzYXRpb24tY29tcG9zZXItYWN0aW9uLWNob2ljZS1kaWFsb2cnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiY29tcG9zZXItYWN0aW9uLWNob2ljZVwiIHJvbGU9XCJkaWFsb2dcIiBhcmlhLW1vZGFsPVwidHJ1ZVwiPlxuICAgICAgPHAgY2xhc3M9XCJjb21wb3Nlci1hY3Rpb24tY2hvaWNlX19oaW50XCI+e3sgaGludFRleHQoKSB9fTwvcD5cbiAgICAgIDx1bCBjbGFzcz1cImNvbXBvc2VyLWFjdGlvbi1jaG9pY2VfX2xpc3RcIiByb2xlPVwibGlzdGJveFwiPlxuICAgICAgICBAZm9yIChhY3Rpb24gb2YgYWN0aW9ucygpOyB0cmFjayBhY3Rpb24uaWQpIHtcbiAgICAgICAgICA8bGkgcm9sZT1cInByZXNlbnRhdGlvblwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjb21wb3Nlci1hY3Rpb24tY2hvaWNlX19vcHRpb25cIlxuICAgICAgICAgICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNob29zZShhY3Rpb24pXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJnZXRBY3Rpb25MYWJlbChhY3Rpb24pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb21wb3Nlci1hY3Rpb24tY2hvaWNlX19pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgPGkgW2NsYXNzXT1cImFjdGlvbi5pY29uXCI+PC9pPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29tcG9zZXItYWN0aW9uLWNob2ljZV9fdGV4dFwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29tcG9zZXItYWN0aW9uLWNob2ljZV9fdGl0bGVcIj57eyBnZXRBY3Rpb25MYWJlbChhY3Rpb24pIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIEBpZiAoZ2V0QWN0aW9uVG9vbHRpcChhY3Rpb24pOyBhcyB0aXApIHtcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29tcG9zZXItYWN0aW9uLWNob2ljZV9fc3VidGl0bGVcIj57eyB0aXAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtbGlnaHQgZmEtY2hldnJvbi1yaWdodCBjb21wb3Nlci1hY3Rpb24tY2hvaWNlX19jaGV2cm9uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgfVxuICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgLmNvbXBvc2VyLWFjdGlvbi1jaG9pY2Uge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDAuNzVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgICAgbWluLXdpZHRoOiAxNnJlbTtcbiAgICAgIH1cblxuICAgICAgLmNvbXBvc2VyLWFjdGlvbi1jaG9pY2VfX2hpbnQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICAgICAgY29sb3I6IHJnYmEodmFyKC0tYXgtc3lzLWNvbG9yLW9uLXN1cmZhY2UpLCAwLjcpO1xuICAgICAgfVxuXG4gICAgICAuY29tcG9zZXItYWN0aW9uLWNob2ljZV9fbGlzdCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICB9XG5cbiAgICAgIC5jb21wb3Nlci1hY3Rpb24tY2hvaWNlX19vcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuNzVyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjc1cmVtO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2IodmFyKC0tYXgtc3lzLWNvbG9yLWJvcmRlci1saWdodC1zdXJmYWNlKSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWF4LXN5cy1ib3JkZXItcmFkaXVzLCAwLjVyZW0pO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2IodmFyKC0tYXgtc3lzLWNvbG9yLXN1cmZhY2UpKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICBib3JkZXItY29sb3IgMC4xNXMgZWFzZSxcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsXG4gICAgICAgICAgYm94LXNoYWRvdyAwLjE1cyBlYXNlO1xuICAgICAgfVxuXG4gICAgICAuY29tcG9zZXItYWN0aW9uLWNob2ljZV9fb3B0aW9uOmhvdmVyLFxuICAgICAgLmNvbXBvc2VyLWFjdGlvbi1jaG9pY2VfX29wdGlvbjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2IodmFyKC0tYXgtc3lzLWNvbG9yLXByaW1hcnktNTAwKSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tYXgtc3lzLWNvbG9yLXByaW1hcnktNTAwKSwgMC4wNik7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKHZhcigtLWF4LXN5cy1jb2xvci1wcmltYXJ5LTUwMCksIDAuMjUpO1xuICAgICAgfVxuXG4gICAgICAuY29tcG9zZXItYWN0aW9uLWNob2ljZV9faWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogMi41cmVtO1xuICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWF4LXN5cy1ib3JkZXItcmFkaXVzLCAwLjM3NXJlbSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tYXgtc3lzLWNvbG9yLXByaW1hcnktNTAwKSwgMC4xKTtcbiAgICAgICAgY29sb3I6IHJnYih2YXIoLS1heC1zeXMtY29sb3ItcHJpbWFyeS02MDApKTtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIH1cblxuICAgICAgLmNvbXBvc2VyLWFjdGlvbi1jaG9pY2VfX3RleHQge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMC4xMjVyZW07XG4gICAgICB9XG5cbiAgICAgIC5jb21wb3Nlci1hY3Rpb24tY2hvaWNlX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiByZ2IodmFyKC0tYXgtc3lzLWNvbG9yLW9uLXN1cmZhY2UpKTtcbiAgICAgIH1cblxuICAgICAgLmNvbXBvc2VyLWFjdGlvbi1jaG9pY2VfX3N1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBjb2xvcjogcmdiYSh2YXIoLS1heC1zeXMtY29sb3Itb24tc3VyZmFjZSksIDAuNik7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgfVxuXG4gICAgICAuY29tcG9zZXItYWN0aW9uLWNob2ljZV9fY2hldnJvbiB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGNvbG9yOiByZ2JhKHZhcigtLWF4LXN5cy1jb2xvci1vbi1zdXJmYWNlKSwgMC40NSk7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWENsb3NhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhDb252ZXJzYXRpb25Db21wb3NlckFjdGlvbkNob2ljZURpYWxvZ0NvbXBvbmVudCB9XSxcbn0pXG5leHBvcnQgY2xhc3MgQVhDb252ZXJzYXRpb25Db21wb3NlckFjdGlvbkNob2ljZURpYWxvZ0NvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRpb24gPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gIHJlYWRvbmx5IGFjdGlvbnMgPSBpbnB1dC5yZXF1aXJlZDxBWENvbnZlcnNhdGlvbkNvbXBvc2VyQWN0aW9uW10+KCk7XG4gIHJlYWRvbmx5IGZpbGVDb3VudCA9IGlucHV0KDEpO1xuICByZWFkb25seSBjb21wb3NlckFjdGlvblJlZ2lzdHJ5ID0gaW5wdXQucmVxdWlyZWQ8QVhDb252ZXJzYXRpb25Db21wb3NlckFjdGlvblJlZ2lzdHJ5PigpO1xuICByZWFkb25seSBfX3BvcHVwX18gPSBpbnB1dDxBWFBvcHVwUmVmIHwgdW5kZWZpbmVkPigpO1xuXG4gIHJlYWRvbmx5IGhpbnRUZXh0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNvdW50ID0gdGhpcy5maWxlQ291bnQoKTtcbiAgICBpZiAoY291bnQgPT09IDEpIHtcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0aW9uLnRyYW5zbGF0ZVN5bmMoJ0BhY29yZXg6Y2hhdC5kaWFsb2cuY2hvb3NlLXNlbmQtb3B0aW9uLmhpbnQtc2luZ2xlJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0aW9uLnRyYW5zbGF0ZVN5bmMoJ0BhY29yZXg6Y2hhdC5kaWFsb2cuY2hvb3NlLXNlbmQtb3B0aW9uLmhpbnQtbXVsdGlwbGUnLCB7XG4gICAgICBwYXJhbXM6IHsgY291bnQgfSxcbiAgICB9KTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgb25DbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEFYQ29tcG9uZW50Q2xvc2VFdmVudD4oKTtcblxuICBnZXRBY3Rpb25MYWJlbChhY3Rpb246IEFYQ29udmVyc2F0aW9uQ29tcG9zZXJBY3Rpb24pOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvbXBvc2VyQWN0aW9uUmVnaXN0cnkoKS5nZXRBY3Rpb25MYWJlbChhY3Rpb24pO1xuICB9XG5cbiAgZ2V0QWN0aW9uVG9vbHRpcChhY3Rpb246IEFYQ29udmVyc2F0aW9uQ29tcG9zZXJBY3Rpb24pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmNvbXBvc2VyQWN0aW9uUmVnaXN0cnkoKS5nZXRBY3Rpb25Ub29sdGlwKGFjdGlvbik7XG4gIH1cblxuICBjaG9vc2UoYWN0aW9uOiBBWENvbnZlcnNhdGlvbkNvbXBvc2VyQWN0aW9uKTogdm9pZCB7XG4gICAgY29uc3QgZXZlbnQgPSBuZXcgQVhDb21wb25lbnRDbG9zZUV2ZW50KCk7XG4gICAgZXZlbnQuY29tcG9uZW50ID0gdGhpcztcbiAgICBldmVudC5kYXRhID0gYWN0aW9uO1xuICAgIHRoaXMub25DbG9zZWQuZW1pdChldmVudCk7XG4gIH1cbn1cbiJdfQ=="],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { createFileTypeMetadata, AXFileTypeInfoProvider } from '@acorex/core/file';
|
|
2
|
+
import { isPlatformBrowser } from '@angular/common';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { Injectable } from '@angular/core';
|
|
5
|
+
import { p as AX_CONVERSATION_AUDIO_CATALOG } from './acorex-components-conversation-acorex-components-conversation-CjVDCoJw.mjs';
|
|
6
|
+
import { normalizeAudioPayload } from './acorex-components-conversation-audio.payload-CLnYjmYY.mjs';
|
|
7
|
+
import { f as formatDuration, a as formatFileSize } from './acorex-components-conversation-media-formatters-DV3wEEno.mjs';
|
|
8
|
+
|
|
9
|
+
const MB = 1024 * 1024;
|
|
10
|
+
const AX_CONVERSATION_AUDIO_PRESENTATION = {
|
|
11
|
+
icon: 'fa-light fa-music ax-text-amber-500',
|
|
12
|
+
title: 'Audio',
|
|
13
|
+
};
|
|
14
|
+
const AX_CONVERSATION_AUDIO_UTILITY = {
|
|
15
|
+
preview: 'preview',
|
|
16
|
+
duration: 'duration',
|
|
17
|
+
formatSize: 'formatSize',
|
|
18
|
+
formatDuration: 'formatDuration',
|
|
19
|
+
createLocalPreviewUrl: 'createLocalPreviewUrl',
|
|
20
|
+
};
|
|
21
|
+
function blobUrl(ctx, blob) {
|
|
22
|
+
if (!isPlatformBrowser(ctx.platformId)) {
|
|
23
|
+
return '';
|
|
24
|
+
}
|
|
25
|
+
return URL.createObjectURL(blob);
|
|
26
|
+
}
|
|
27
|
+
function mediaDuration(ctx, file) {
|
|
28
|
+
if (!isPlatformBrowser(ctx.platformId)) {
|
|
29
|
+
return Promise.resolve(0);
|
|
30
|
+
}
|
|
31
|
+
return new Promise((resolve, reject) => {
|
|
32
|
+
const el = document.createElement('audio');
|
|
33
|
+
el.preload = 'metadata';
|
|
34
|
+
el.onloadedmetadata = () => {
|
|
35
|
+
URL.revokeObjectURL(el.src);
|
|
36
|
+
resolve(el.duration);
|
|
37
|
+
};
|
|
38
|
+
el.onerror = () => {
|
|
39
|
+
URL.revokeObjectURL(el.src);
|
|
40
|
+
reject(new Error('Failed to load audio metadata'));
|
|
41
|
+
};
|
|
42
|
+
el.src = URL.createObjectURL(file);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
function conversationAudioUtilities() {
|
|
46
|
+
return {
|
|
47
|
+
[AX_CONVERSATION_AUDIO_UTILITY.preview]: (ctx, file) => ctx.readAsDataUrl(file),
|
|
48
|
+
[AX_CONVERSATION_AUDIO_UTILITY.duration]: (ctx, file) => mediaDuration(ctx, file),
|
|
49
|
+
[AX_CONVERSATION_AUDIO_UTILITY.formatSize]: (_ctx, bytes) => formatFileSize(bytes),
|
|
50
|
+
[AX_CONVERSATION_AUDIO_UTILITY.formatDuration]: (_ctx, seconds) => formatDuration(seconds),
|
|
51
|
+
[AX_CONVERSATION_AUDIO_UTILITY.createLocalPreviewUrl]: (ctx, source) => blobUrl(ctx, source),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function createConversationAudioFileType() {
|
|
55
|
+
const presentation = AX_CONVERSATION_AUDIO_PRESENTATION;
|
|
56
|
+
return {
|
|
57
|
+
name: AX_CONVERSATION_AUDIO_CATALOG,
|
|
58
|
+
metadata: createFileTypeMetadata('conversation'),
|
|
59
|
+
title: presentation.title,
|
|
60
|
+
icon: presentation.icon,
|
|
61
|
+
validations: {
|
|
62
|
+
mimeTypes: ['audio/*'],
|
|
63
|
+
minSize: 1,
|
|
64
|
+
maxSize: 50 * MB,
|
|
65
|
+
},
|
|
66
|
+
extensions: [
|
|
67
|
+
{ name: 'mp3', title: 'MP3' },
|
|
68
|
+
{ name: 'wav', title: 'WAV', validations: { maxSize: 30 * MB } },
|
|
69
|
+
{ name: 'ogg', title: 'OGG' },
|
|
70
|
+
{ name: 'm4a', title: 'M4A' },
|
|
71
|
+
],
|
|
72
|
+
utilities: conversationAudioUtilities(),
|
|
73
|
+
copy: (payload) => {
|
|
74
|
+
const audio = normalizeAudioPayload(payload);
|
|
75
|
+
const caption = audio.caption?.trim();
|
|
76
|
+
const items = audio.audios.map((item) => ({
|
|
77
|
+
url: item.url?.trim(),
|
|
78
|
+
title: item.title?.trim(),
|
|
79
|
+
}));
|
|
80
|
+
return {
|
|
81
|
+
text: caption ?? '',
|
|
82
|
+
meta: { kind: 'audio', caption, items, count: audio.audios.length },
|
|
83
|
+
};
|
|
84
|
+
},
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
class AXConversationAudioFileTypeProvider extends AXFileTypeInfoProvider {
|
|
88
|
+
items() {
|
|
89
|
+
return Promise.resolve([createConversationAudioFileType()]);
|
|
90
|
+
}
|
|
91
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationAudioFileTypeProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
92
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationAudioFileTypeProvider, providedIn: 'root' }); }
|
|
93
|
+
}
|
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationAudioFileTypeProvider, decorators: [{
|
|
95
|
+
type: Injectable,
|
|
96
|
+
args: [{ providedIn: 'root' }]
|
|
97
|
+
}] });
|
|
98
|
+
|
|
99
|
+
export { AXConversationAudioFileTypeProvider, AX_CONVERSATION_AUDIO_CATALOG, AX_CONVERSATION_AUDIO_PRESENTATION, conversationAudioUtilities, createConversationAudioFileType };
|
|
100
|
+
//# sourceMappingURL=acorex-components-conversation-conversation-audio.file-type-D-hIBwQ2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-components-conversation-conversation-audio.file-type-D-hIBwQ2.mjs","sources":["../tmp-esm2022/conversation/lib/plugins/composer/components/audio-picker/conversation-audio.file-type.js"],"sourcesContent":["import { AXFileTypeInfoProvider, createFileTypeMetadata } from '@acorex/core/file';\nimport { isPlatformBrowser } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport { AX_CONVERSATION_AUDIO_CATALOG } from '../../../../models/message-file-type-catalog';\nimport { normalizeAudioPayload } from '../../../message-list/components/audio-renderer/audio.payload';\nimport { formatDuration, formatFileSize } from '../shared/media-formatters';\nimport * as i0 from \"@angular/core\";\nexport { AX_CONVERSATION_AUDIO_CATALOG };\nconst MB = 1024 * 1024;\nexport const AX_CONVERSATION_AUDIO_PRESENTATION = {\n icon: 'fa-light fa-music ax-text-amber-500',\n title: 'Audio',\n};\nconst AX_CONVERSATION_AUDIO_UTILITY = {\n preview: 'preview',\n duration: 'duration',\n formatSize: 'formatSize',\n formatDuration: 'formatDuration',\n createLocalPreviewUrl: 'createLocalPreviewUrl',\n};\nfunction blobUrl(ctx, blob) {\n if (!isPlatformBrowser(ctx.platformId)) {\n return '';\n }\n return URL.createObjectURL(blob);\n}\nfunction mediaDuration(ctx, file) {\n if (!isPlatformBrowser(ctx.platformId)) {\n return Promise.resolve(0);\n }\n return new Promise((resolve, reject) => {\n const el = document.createElement('audio');\n el.preload = 'metadata';\n el.onloadedmetadata = () => {\n URL.revokeObjectURL(el.src);\n resolve(el.duration);\n };\n el.onerror = () => {\n URL.revokeObjectURL(el.src);\n reject(new Error('Failed to load audio metadata'));\n };\n el.src = URL.createObjectURL(file);\n });\n}\nexport function conversationAudioUtilities() {\n return {\n [AX_CONVERSATION_AUDIO_UTILITY.preview]: (ctx, file) => ctx.readAsDataUrl(file),\n [AX_CONVERSATION_AUDIO_UTILITY.duration]: (ctx, file) => mediaDuration(ctx, file),\n [AX_CONVERSATION_AUDIO_UTILITY.formatSize]: (_ctx, bytes) => formatFileSize(bytes),\n [AX_CONVERSATION_AUDIO_UTILITY.formatDuration]: (_ctx, seconds) => formatDuration(seconds),\n [AX_CONVERSATION_AUDIO_UTILITY.createLocalPreviewUrl]: (ctx, source) => blobUrl(ctx, source),\n };\n}\nexport function createConversationAudioFileType() {\n const presentation = AX_CONVERSATION_AUDIO_PRESENTATION;\n return {\n name: AX_CONVERSATION_AUDIO_CATALOG,\n metadata: createFileTypeMetadata('conversation'),\n title: presentation.title,\n icon: presentation.icon,\n validations: {\n mimeTypes: ['audio/*'],\n minSize: 1,\n maxSize: 50 * MB,\n },\n extensions: [\n { name: 'mp3', title: 'MP3' },\n { name: 'wav', title: 'WAV', validations: { maxSize: 30 * MB } },\n { name: 'ogg', title: 'OGG' },\n { name: 'm4a', title: 'M4A' },\n ],\n utilities: conversationAudioUtilities(),\n copy: (payload) => {\n const audio = normalizeAudioPayload(payload);\n const caption = audio.caption?.trim();\n const items = audio.audios.map((item) => ({\n url: item.url?.trim(),\n title: item.title?.trim(),\n }));\n return {\n text: caption ?? '',\n meta: { kind: 'audio', caption, items, count: audio.audios.length },\n };\n },\n };\n}\nexport class AXConversationAudioFileTypeProvider extends AXFileTypeInfoProvider {\n items() {\n return Promise.resolve([createConversationAudioFileType()]);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXConversationAudioFileTypeProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXConversationAudioFileTypeProvider, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXConversationAudioFileTypeProvider, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLWF1ZGlvLmZpbGUtdHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29udmVyc2F0aW9uL3NyYy9saWIvcGx1Z2lucy9jb21wb3Nlci9jb21wb25lbnRzL2F1ZGlvLXBpY2tlci9jb252ZXJzYXRpb24tYXVkaW8uZmlsZS10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDN0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDdEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFNUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLENBQUM7QUFFekMsTUFBTSxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQUV2QixNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRztJQUNoRCxJQUFJLEVBQUUscUNBQXFDO0lBQzNDLEtBQUssRUFBRSxPQUFPO0NBQ04sQ0FBQztBQU9YLE1BQU0sNkJBQTZCLEdBQUc7SUFDcEMsT0FBTyxFQUFFLFNBQVM7SUFDbEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsVUFBVSxFQUFFLFlBQVk7SUFDeEIsY0FBYyxFQUFFLGdCQUFnQjtJQUNoQyxxQkFBcUIsRUFBRSx1QkFBdUI7Q0FDdEMsQ0FBQztBQUVYLFNBQVMsT0FBTyxDQUFDLEdBQXlDLEVBQUUsSUFBVTtJQUNwRSxJQUFJLENBQUMsaUJBQWlC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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFYRmlsZUNvcHlEYXRhLCBBWEZpbGVUeXBlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2ZpbGUnO1xuaW1wb3J0IHsgQVhGaWxlVHlwZUluZm9Qcm92aWRlciwgY3JlYXRlRmlsZVR5cGVNZXRhZGF0YSB9IGZyb20gJ0BhY29yZXgvY29yZS9maWxlJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgQVhDb252ZXJzYXRpb25BdWRpb1BheWxvYWQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQVhfQ09OVkVSU0FUSU9OX0FVRElPX0NBVEFMT0cgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvbWVzc2FnZS1maWxlLXR5cGUtY2F0YWxvZyc7XG5pbXBvcnQgeyBub3JtYWxpemVBdWRpb1BheWxvYWQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlLWxpc3QvY29tcG9uZW50cy9hdWRpby1yZW5kZXJlci9hdWRpby5wYXlsb2FkJztcbmltcG9ydCB7IGZvcm1hdER1cmF0aW9uLCBmb3JtYXRGaWxlU2l6ZSB9IGZyb20gJy4uL3NoYXJlZC9tZWRpYS1mb3JtYXR0ZXJzJztcblxuZXhwb3J0IHsgQVhfQ09OVkVSU0FUSU9OX0FVRElPX0NBVEFMT0cgfTtcblxuY29uc3QgTUIgPSAxMDI0ICogMTAyNDtcblxuZXhwb3J0IGNvbnN0IEFYX0NPTlZFUlNBVElPTl9BVURJT19QUkVTRU5UQVRJT04gPSB7XG4gIGljb246ICdmYS1saWdodCBmYS1tdXNpYyBheC10ZXh0LWFtYmVyLTUwMCcsXG4gIHRpdGxlOiAnQXVkaW8nLFxufSBhcyBjb25zdDtcblxudHlwZSBBWENvbnZlcnNhdGlvbkZpbGVUeXBlVXRpbGl0eUNvbnRleHQgPSB7XG4gIHJlYWRBc0RhdGFVcmw6IChmaWxlOiBGaWxlIHwgQmxvYikgPT4gUHJvbWlzZTxzdHJpbmc+O1xuICBwbGF0Zm9ybUlkOiBvYmplY3Q7XG59O1xuXG5jb25zdCBBWF9DT05WRVJTQVRJT05fQVVESU9fVVRJTElUWSA9IHtcbiAgcHJldmlldzogJ3ByZXZpZXcnLFxuICBkdXJhdGlvbjogJ2R1cmF0aW9uJyxcbiAgZm9ybWF0U2l6ZTogJ2Zvcm1hdFNpemUnLFxuICBmb3JtYXREdXJhdGlvbjogJ2Zvcm1hdER1cmF0aW9uJyxcbiAgY3JlYXRlTG9jYWxQcmV2aWV3VXJsOiAnY3JlYXRlTG9jYWxQcmV2aWV3VXJsJyxcbn0gYXMgY29uc3Q7XG5cbmZ1bmN0aW9uIGJsb2JVcmwoY3R4OiBBWENvbnZlcnNhdGlvbkZpbGVUeXBlVXRpbGl0eUNvbnRleHQsIGJsb2I6IEJsb2IpOiBzdHJpbmcge1xuICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKGN0eC5wbGF0Zm9ybUlkKSkge1xuICAgIHJldHVybiAnJztcbiAgfVxuICByZXR1cm4gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbn1cblxuZnVuY3Rpb24gbWVkaWFEdXJhdGlvbihjdHg6IEFYQ29udmVyc2F0aW9uRmlsZVR5cGVVdGlsaXR5Q29udGV4dCwgZmlsZTogRmlsZSB8IEJsb2IpOiBQcm9taXNlPG51bWJlcj4ge1xuICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKGN0eC5wbGF0Zm9ybUlkKSkge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoMCk7XG4gIH1cbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2F1ZGlvJyk7XG4gICAgZWwucHJlbG9hZCA9ICdtZXRhZGF0YSc7XG4gICAgZWwub25sb2FkZWRtZXRhZGF0YSA9ICgpID0+IHtcbiAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwoZWwuc3JjKTtcbiAgICAgIHJlc29sdmUoZWwuZHVyYXRpb24pO1xuICAgIH07XG4gICAgZWwub25lcnJvciA9ICgpID0+IHtcbiAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwoZWwuc3JjKTtcbiAgICAgIHJlamVjdChuZXcgRXJyb3IoJ0ZhaWxlZCB0byBsb2FkIGF1ZGlvIG1ldGFkYXRhJykpO1xuICAgIH07XG4gICAgZWwuc3JjID0gVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJzYXRpb25BdWRpb1V0aWxpdGllcygpOiBOb25OdWxsYWJsZTxBWEZpbGVUeXBlWyd1dGlsaXRpZXMnXT4ge1xuICByZXR1cm4ge1xuICAgIFtBWF9DT05WRVJTQVRJT05fQVVESU9fVVRJTElUWS5wcmV2aWV3XTogKGN0eCwgZmlsZSkgPT4gKGN0eCBhcyBBWENvbnZlcnNhdGlvbkZpbGVUeXBlVXRpbGl0eUNvbnRleHQpLnJlYWRBc0RhdGFVcmwoZmlsZSBhcyBGaWxlKSxcbiAgICBbQVhfQ09OVkVSU0FUSU9OX0FVRElPX1VUSUxJVFkuZHVyYXRpb25dOiAoY3R4LCBmaWxlKSA9PiBtZWRpYUR1cmF0aW9uKGN0eCBhcyBBWENvbnZlcnNhdGlvbkZpbGVUeXBlVXRpbGl0eUNvbnRleHQsIGZpbGUgYXMgRmlsZSB8IEJsb2IpLFxuICAgIFtBWF9DT05WRVJTQVRJT05fQVVESU9fVVRJTElUWS5mb3JtYXRTaXplXTogKF9jdHgsIGJ5dGVzKSA9PiBmb3JtYXRGaWxlU2l6ZShieXRlcyBhcyBudW1iZXIpLFxuICAgIFtBWF9DT05WRVJTQVRJT05fQVVESU9fVVRJTElUWS5mb3JtYXREdXJhdGlvbl06IChfY3R4LCBzZWNvbmRzKSA9PiBmb3JtYXREdXJhdGlvbihzZWNvbmRzIGFzIG51bWJlciksXG4gICAgW0FYX0NPTlZFUlNBVElPTl9BVURJT19VVElMSVRZLmNyZWF0ZUxvY2FsUHJldmlld1VybF06IChjdHgsIHNvdXJjZSkgPT4gYmxvYlVybChjdHggYXMgQVhDb252ZXJzYXRpb25GaWxlVHlwZVV0aWxpdHlDb250ZXh0LCBzb3VyY2UgYXMgQmxvYiksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb252ZXJzYXRpb25BdWRpb0ZpbGVUeXBlKCk6IEFYRmlsZVR5cGUge1xuICBjb25zdCBwcmVzZW50YXRpb24gPSBBWF9DT05WRVJTQVRJT05fQVVESU9fUFJFU0VOVEFUSU9OO1xuICByZXR1cm4ge1xuICAgIG5hbWU6IEFYX0NPTlZFUlNBVElPTl9BVURJT19DQVRBTE9HLFxuICAgIG1ldGFkYXRhOiBjcmVhdGVGaWxlVHlwZU1ldGFkYXRhKCdjb252ZXJzYXRpb24nKSxcbiAgICB0aXRsZTogcHJlc2VudGF0aW9uLnRpdGxlLFxuICAgIGljb246IHByZXNlbnRhdGlvbi5pY29uLFxuICAgIHZhbGlkYXRpb25zOiB7XG4gICAgICBtaW1lVHlwZXM6IFsnYXVkaW8vKiddLFxuICAgICAgbWluU2l6ZTogMSxcbiAgICAgIG1heFNpemU6IDUwICogTUIsXG4gICAgfSxcbiAgICBleHRlbnNpb25zOiBbXG4gICAgICB7IG5hbWU6ICdtcDMnLCB0aXRsZTogJ01QMycgfSxcbiAgICAgIHsgbmFtZTogJ3dhdicsIHRpdGxlOiAnV0FWJywgdmFsaWRhdGlvbnM6IHsgbWF4U2l6ZTogMzAgKiBNQiB9IH0sXG4gICAgICB7IG5hbWU6ICdvZ2cnLCB0aXRsZTogJ09HRycgfSxcbiAgICAgIHsgbmFtZTogJ200YScsIHRpdGxlOiAnTTRBJyB9LFxuICAgIF0sXG4gICAgdXRpbGl0aWVzOiBjb252ZXJzYXRpb25BdWRpb1V0aWxpdGllcygpLFxuICAgIGNvcHk6IChwYXlsb2FkKTogQVhGaWxlQ29weURhdGEgPT4ge1xuICAgICAgY29uc3QgYXVkaW8gPSBub3JtYWxpemVBdWRpb1BheWxvYWQocGF5bG9hZCBhcyBBWENvbnZlcnNhdGlvbkF1ZGlvUGF5bG9hZCk7XG4gICAgICBjb25zdCBjYXB0aW9uID0gYXVkaW8uY2FwdGlvbj8udHJpbSgpO1xuICAgICAgY29uc3QgaXRlbXMgPSBhdWRpby5hdWRpb3MubWFwKChpdGVtKSA9PiAoe1xuICAgICAgICB1cmw6IGl0ZW0udXJsPy50cmltKCksXG4gICAgICAgIHRpdGxlOiBpdGVtLnRpdGxlPy50cmltKCksXG4gICAgICB9KSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0ZXh0OiBjYXB0aW9uID8/ICcnLFxuICAgICAgICBtZXRhOiB7IGtpbmQ6ICdhdWRpbycsIGNhcHRpb24sIGl0ZW1zLCBjb3VudDogYXVkaW8uYXVkaW9zLmxlbmd0aCB9LFxuICAgICAgfTtcbiAgICB9LFxuICB9O1xufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYQ29udmVyc2F0aW9uQXVkaW9GaWxlVHlwZVByb3ZpZGVyIGV4dGVuZHMgQVhGaWxlVHlwZUluZm9Qcm92aWRlciB7XG4gIGl0ZW1zKCkge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoW2NyZWF0ZUNvbnZlcnNhdGlvbkF1ZGlvRmlsZVR5cGUoKV0pO1xuICB9XG59XG4iXX0="],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { createFileTypeMetadata, AXFileTypeInfoProvider } from '@acorex/core/file';
|
|
2
|
+
import { isPlatformBrowser } from '@angular/common';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { Injectable } from '@angular/core';
|
|
5
|
+
import { t as AX_CONVERSATION_IMAGE_CATALOG, u as AX_CONVERSATION_VIDEO_CATALOG, p as AX_CONVERSATION_AUDIO_CATALOG, q as AX_CONVERSATION_FILE_CATALOG } from './acorex-components-conversation-acorex-components-conversation-CjVDCoJw.mjs';
|
|
6
|
+
import { normalizeFilePayload } from './acorex-components-conversation-file.payload-DXwzNWxT.mjs';
|
|
7
|
+
import { a as formatFileSize } from './acorex-components-conversation-media-formatters-DV3wEEno.mjs';
|
|
8
|
+
|
|
9
|
+
const MB = 1024 * 1024;
|
|
10
|
+
const AX_CONVERSATION_FILE_PRESENTATION = {
|
|
11
|
+
icon: 'fa-light fa-file ax-text-neutral-500',
|
|
12
|
+
title: 'File',
|
|
13
|
+
};
|
|
14
|
+
const AX_CONVERSATION_FILE_ALLOWED_MIME_TYPES = [
|
|
15
|
+
'image/*',
|
|
16
|
+
'video/*',
|
|
17
|
+
'audio/*',
|
|
18
|
+
'application/pdf',
|
|
19
|
+
'application/msword',
|
|
20
|
+
'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
|
|
21
|
+
'application/vnd.ms-excel',
|
|
22
|
+
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
|
23
|
+
'application/zip',
|
|
24
|
+
'application/x-zip-compressed',
|
|
25
|
+
'application/x-7z-compressed',
|
|
26
|
+
'application/vnd.rar',
|
|
27
|
+
'application/octet-stream',
|
|
28
|
+
'text/plain',
|
|
29
|
+
];
|
|
30
|
+
const AX_CONVERSATION_FILE_UTILITY = {
|
|
31
|
+
preview: 'preview',
|
|
32
|
+
formatSize: 'formatSize',
|
|
33
|
+
createLocalPreviewUrl: 'createLocalPreviewUrl',
|
|
34
|
+
pickerCatalog: 'pickerCatalog',
|
|
35
|
+
};
|
|
36
|
+
function blobUrl(ctx, blob) {
|
|
37
|
+
if (!isPlatformBrowser(ctx.platformId)) {
|
|
38
|
+
return '';
|
|
39
|
+
}
|
|
40
|
+
return URL.createObjectURL(blob);
|
|
41
|
+
}
|
|
42
|
+
function conversationFileUtilities() {
|
|
43
|
+
return {
|
|
44
|
+
[AX_CONVERSATION_FILE_UTILITY.preview]: async (ctx, file) => {
|
|
45
|
+
const f = file;
|
|
46
|
+
if (f.type.startsWith('image/')) {
|
|
47
|
+
return ctx.readAsDataUrl(f);
|
|
48
|
+
}
|
|
49
|
+
return undefined;
|
|
50
|
+
},
|
|
51
|
+
[AX_CONVERSATION_FILE_UTILITY.formatSize]: (_ctx, bytes) => formatFileSize(bytes),
|
|
52
|
+
[AX_CONVERSATION_FILE_UTILITY.createLocalPreviewUrl]: (ctx, source) => blobUrl(ctx, source),
|
|
53
|
+
[AX_CONVERSATION_FILE_UTILITY.pickerCatalog]: (_ctx, file) => {
|
|
54
|
+
const f = file;
|
|
55
|
+
if (f.type.startsWith('image/'))
|
|
56
|
+
return AX_CONVERSATION_IMAGE_CATALOG;
|
|
57
|
+
if (f.type.startsWith('video/'))
|
|
58
|
+
return AX_CONVERSATION_VIDEO_CATALOG;
|
|
59
|
+
if (f.type.startsWith('audio/'))
|
|
60
|
+
return AX_CONVERSATION_AUDIO_CATALOG;
|
|
61
|
+
return AX_CONVERSATION_FILE_CATALOG;
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
function createConversationFileFileType() {
|
|
66
|
+
const presentation = AX_CONVERSATION_FILE_PRESENTATION;
|
|
67
|
+
return {
|
|
68
|
+
name: AX_CONVERSATION_FILE_CATALOG,
|
|
69
|
+
metadata: createFileTypeMetadata('conversation'),
|
|
70
|
+
title: presentation.title,
|
|
71
|
+
icon: presentation.icon,
|
|
72
|
+
validations: {
|
|
73
|
+
mimeTypes: [...AX_CONVERSATION_FILE_ALLOWED_MIME_TYPES],
|
|
74
|
+
minSize: 1,
|
|
75
|
+
maxSize: 100 * MB,
|
|
76
|
+
},
|
|
77
|
+
extensions: [
|
|
78
|
+
{ name: 'pdf', title: 'PDF', validations: { mimeTypes: ['application/pdf'], maxSize: 25 * MB } },
|
|
79
|
+
{ name: 'doc', title: 'Word' },
|
|
80
|
+
{ name: 'docx', title: 'Word' },
|
|
81
|
+
{ name: 'txt', title: 'Text', validations: { mimeTypes: ['text/plain'], maxSize: 5 * MB } },
|
|
82
|
+
{
|
|
83
|
+
name: 'zip',
|
|
84
|
+
title: 'ZIP',
|
|
85
|
+
validations: {
|
|
86
|
+
mimeTypes: ['application/zip', 'application/x-zip-compressed', 'application/octet-stream'],
|
|
87
|
+
maxSize: 50 * MB,
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
],
|
|
91
|
+
utilities: conversationFileUtilities(),
|
|
92
|
+
copy: (payload) => {
|
|
93
|
+
const file = normalizeFilePayload(payload);
|
|
94
|
+
const caption = file.caption?.trim();
|
|
95
|
+
const items = file.files.map((item) => {
|
|
96
|
+
const name = item.name?.trim();
|
|
97
|
+
const url = item.url?.trim();
|
|
98
|
+
const line = name && url ? `${name} — ${url}` : url || name;
|
|
99
|
+
return { name, url, line };
|
|
100
|
+
});
|
|
101
|
+
return {
|
|
102
|
+
text: caption ?? '',
|
|
103
|
+
meta: { kind: 'file', caption, items, count: file.files.length },
|
|
104
|
+
};
|
|
105
|
+
},
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
class AXConversationFileFileTypeProvider extends AXFileTypeInfoProvider {
|
|
109
|
+
items() {
|
|
110
|
+
return Promise.resolve([createConversationFileFileType()]);
|
|
111
|
+
}
|
|
112
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationFileFileTypeProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
113
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationFileFileTypeProvider, providedIn: 'root' }); }
|
|
114
|
+
}
|
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationFileFileTypeProvider, decorators: [{
|
|
116
|
+
type: Injectable,
|
|
117
|
+
args: [{ providedIn: 'root' }]
|
|
118
|
+
}] });
|
|
119
|
+
|
|
120
|
+
export { AXConversationFileFileTypeProvider, AX_CONVERSATION_FILE_CATALOG, AX_CONVERSATION_FILE_PRESENTATION, conversationFileUtilities, createConversationFileFileType };
|
|
121
|
+
//# sourceMappingURL=acorex-components-conversation-conversation-file.file-type-DQUy3C64.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-components-conversation-conversation-file.file-type-DQUy3C64.mjs","sources":["../tmp-esm2022/conversation/lib/plugins/composer/components/file-picker/conversation-file.file-type.js"],"sourcesContent":["import { AXFileTypeInfoProvider, createFileTypeMetadata } from '@acorex/core/file';\nimport { isPlatformBrowser } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport { AX_CONVERSATION_AUDIO_CATALOG, AX_CONVERSATION_FILE_CATALOG, AX_CONVERSATION_IMAGE_CATALOG, AX_CONVERSATION_VIDEO_CATALOG, } from '../../../../models/message-file-type-catalog';\nimport { normalizeFilePayload } from '../../../message-list/components/file-renderer/file.payload';\nimport { formatFileSize } from '../shared/media-formatters';\nimport * as i0 from \"@angular/core\";\nexport { AX_CONVERSATION_FILE_CATALOG };\nconst MB = 1024 * 1024;\nexport const AX_CONVERSATION_FILE_PRESENTATION = {\n icon: 'fa-light fa-file ax-text-neutral-500',\n title: 'File',\n};\nconst AX_CONVERSATION_FILE_ALLOWED_MIME_TYPES = [\n 'image/*',\n 'video/*',\n 'audio/*',\n 'application/pdf',\n 'application/msword',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/zip',\n 'application/x-zip-compressed',\n 'application/x-7z-compressed',\n 'application/vnd.rar',\n 'application/octet-stream',\n 'text/plain',\n];\nconst AX_CONVERSATION_FILE_UTILITY = {\n preview: 'preview',\n formatSize: 'formatSize',\n createLocalPreviewUrl: 'createLocalPreviewUrl',\n pickerCatalog: 'pickerCatalog',\n};\nfunction blobUrl(ctx, blob) {\n if (!isPlatformBrowser(ctx.platformId)) {\n return '';\n }\n return URL.createObjectURL(blob);\n}\nexport function conversationFileUtilities() {\n return {\n [AX_CONVERSATION_FILE_UTILITY.preview]: async (ctx, file) => {\n const f = file;\n if (f.type.startsWith('image/')) {\n return ctx.readAsDataUrl(f);\n }\n return undefined;\n },\n [AX_CONVERSATION_FILE_UTILITY.formatSize]: (_ctx, bytes) => formatFileSize(bytes),\n [AX_CONVERSATION_FILE_UTILITY.createLocalPreviewUrl]: (ctx, source) => blobUrl(ctx, source),\n [AX_CONVERSATION_FILE_UTILITY.pickerCatalog]: (_ctx, file) => {\n const f = file;\n if (f.type.startsWith('image/'))\n return AX_CONVERSATION_IMAGE_CATALOG;\n if (f.type.startsWith('video/'))\n return AX_CONVERSATION_VIDEO_CATALOG;\n if (f.type.startsWith('audio/'))\n return AX_CONVERSATION_AUDIO_CATALOG;\n return AX_CONVERSATION_FILE_CATALOG;\n },\n };\n}\nexport function createConversationFileFileType() {\n const presentation = AX_CONVERSATION_FILE_PRESENTATION;\n return {\n name: AX_CONVERSATION_FILE_CATALOG,\n metadata: createFileTypeMetadata('conversation'),\n title: presentation.title,\n icon: presentation.icon,\n validations: {\n mimeTypes: [...AX_CONVERSATION_FILE_ALLOWED_MIME_TYPES],\n minSize: 1,\n maxSize: 100 * MB,\n },\n extensions: [\n { name: 'pdf', title: 'PDF', validations: { mimeTypes: ['application/pdf'], maxSize: 25 * MB } },\n { name: 'doc', title: 'Word' },\n { name: 'docx', title: 'Word' },\n { name: 'txt', title: 'Text', validations: { mimeTypes: ['text/plain'], maxSize: 5 * MB } },\n {\n name: 'zip',\n title: 'ZIP',\n validations: {\n mimeTypes: ['application/zip', 'application/x-zip-compressed', 'application/octet-stream'],\n maxSize: 50 * MB,\n },\n },\n ],\n utilities: conversationFileUtilities(),\n copy: (payload) => {\n const file = normalizeFilePayload(payload);\n const caption = file.caption?.trim();\n const items = file.files.map((item) => {\n const name = item.name?.trim();\n const url = item.url?.trim();\n const line = name && url ? `${name} — ${url}` : url || name;\n return { name, url, line };\n });\n return {\n text: caption ?? '',\n meta: { kind: 'file', caption, items, count: file.files.length },\n };\n },\n };\n}\nexport class AXConversationFileFileTypeProvider extends AXFileTypeInfoProvider {\n items() {\n return Promise.resolve([createConversationFileFileType()]);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXConversationFileFileTypeProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXConversationFileFileTypeProvider, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXConversationFileFileTypeProvider, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLWZpbGUuZmlsZS10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jb252ZXJzYXRpb24vc3JjL2xpYi9wbHVnaW5zL2NvbXBvc2VyL2NvbXBvbmVudHMvZmlsZS1waWNrZXIvY29udmVyc2F0aW9uLWZpbGUuZmlsZS10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUNMLDZCQUE2QixFQUM3Qiw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBQzdCLDZCQUE2QixHQUM5QixNQUFNLDhDQUE4QyxDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFNUQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLENBQUM7QUFFeEMsTUFBTSxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQUV2QixNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRztJQUMvQyxJQUFJLEVBQUUsc0NBQXNDO0lBQzVDLEtBQUssRUFBRSxNQUFNO0NBQ0wsQ0FBQztBQUVYLE1BQU0sdUNBQXVDLEdBQUc7SUFDOUMsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQix5RUFBeUU7SUFDekUsMEJBQTBCO0lBQzFCLG1FQUFtRTtJQUNuRSxpQkFBaUI7SUFDakIsOEJBQThCO0lBQzlCLDZCQUE2QjtJQUM3QixxQkFBcUI7SUFDckIs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S0FBSyxDQUFDLE1BQU0sRUFBRTthQUNqRSxDQUFDO1FBQ0osQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDO0FBR0QsTUFBTSxPQUFPLGtDQUFtQyxTQUFRLHNCQUFzQjtJQUM1RSxLQUFLO1FBQ0gsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsOEJBQThCLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQzs4R0FIVSxrQ0FBa0M7a0hBQWxDLGtDQUFrQyxjQURyQixNQUFNOzsyRkFDbkIsa0NBQWtDO2tCQUQ5QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQVhGaWxlQ29weURhdGEsIEFYRmlsZVR5cGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvZmlsZSc7XG5pbXBvcnQgeyBBWEZpbGVUeXBlSW5mb1Byb3ZpZGVyLCBjcmVhdGVGaWxlVHlwZU1ldGFkYXRhIH0gZnJvbSAnQGFjb3JleC9jb3JlL2ZpbGUnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBBWENvbnZlcnNhdGlvbkZpbGVQYXlsb2FkIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7XG4gIEFYX0NPTlZFUlNBVElPTl9BVURJT19DQVRBTE9HLFxuICBBWF9DT05WRVJTQVRJT05fRklMRV9DQVRBTE9HLFxuICBBWF9DT05WRVJTQVRJT05fSU1BR0VfQ0FUQUxPRyxcbiAgQVhfQ09OVkVSU0FUSU9OX1ZJREVPX0NBVEFMT0csXG59IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9tZXNzYWdlLWZpbGUtdHlwZS1jYXRhbG9nJztcbmltcG9ydCB7IG5vcm1hbGl6ZUZpbGVQYXlsb2FkIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZS1saXN0L2NvbXBvbmVudHMvZmlsZS1yZW5kZXJlci9maWxlLnBheWxvYWQnO1xuaW1wb3J0IHsgZm9ybWF0RmlsZVNpemUgfSBmcm9tICcuLi9zaGFyZWQvbWVkaWEtZm9ybWF0dGVycyc7XG5cbmV4cG9ydCB7IEFYX0NPTlZFUlNBVElPTl9GSUxFX0NBVEFMT0cgfTtcblxuY29uc3QgTUIgPSAxMDI0ICogMTAyNDtcblxuZXhwb3J0IGNvbnN0IEFYX0NPTlZFUlNBVElPTl9GSUxFX1BSRVNFTlRBVElPTiA9IHtcbiAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZpbGUgYXgtdGV4dC1uZXV0cmFsLTUwMCcsXG4gIHRpdGxlOiAnRmlsZScsXG59IGFzIGNvbnN0O1xuXG5jb25zdCBBWF9DT05WRVJTQVRJT05fRklMRV9BTExPV0VEX01JTUVfVFlQRVMgPSBbXG4gICdpbWFnZS8qJyxcbiAgJ3ZpZGVvLyonLFxuICAnYXVkaW8vKicsXG4gICdhcHBsaWNhdGlvbi9wZGYnLFxuICAnYXBwbGljYXRpb24vbXN3b3JkJyxcbiAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50JyxcbiAgJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcsXG4gICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCcsXG4gICdhcHBsaWNhdGlvbi96aXAnLFxuICAnYXBwbGljYXRpb24veC16aXAtY29tcHJlc3NlZCcsXG4gICdhcHBsaWNhdGlvbi94LTd6LWNvbXByZXNzZWQnLFxuICAnYXBwbGljYXRpb24vdm5kLnJhcicsXG4gICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nLFxuICAndGV4dC9wbGFpbicsXG5dIGFzIGNvbnN0O1xuXG50eXBlIEFYQ29udmVyc2F0aW9uRmlsZVR5cGVVdGlsaXR5Q29udGV4dCA9IHtcbiAgcmVhZEFzRGF0YVVybDogKGZpbGU6IEZpbGUgfCBCbG9iKSA9PiBQcm9taXNlPHN0cmluZz47XG4gIHBsYXRmb3JtSWQ6IG9iamVjdDtcbn07XG5cbmNvbnN0IEFYX0NPTlZFUlNBVElPTl9GSUxFX1VUSUxJVFkgPSB7XG4gIHByZXZpZXc6ICdwcmV2aWV3JyxcbiAgZm9ybWF0U2l6ZTogJ2Zvcm1hdFNpemUnLFxuICBjcmVhdGVMb2NhbFByZXZpZXdVcmw6ICdjcmVhdGVMb2NhbFByZXZpZXdVcmwnLFxuICBwaWNrZXJDYXRhbG9nOiAncGlja2VyQ2F0YWxvZycsXG59IGFzIGNvbnN0O1xuXG5mdW5jdGlvbiBibG9iVXJsKGN0eDogQVhDb252ZXJzYXRpb25GaWxlVHlwZVV0aWxpdHlDb250ZXh0LCBibG9iOiBCbG9iKTogc3RyaW5nIHtcbiAgaWYgKCFpc1BsYXRmb3JtQnJvd3NlcihjdHgucGxhdGZvcm1JZCkpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbiAgcmV0dXJuIFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJzYXRpb25GaWxlVXRpbGl0aWVzKCk6IE5vbk51bGxhYmxlPEFYRmlsZVR5cGVbJ3V0aWxpdGllcyddPiB7XG4gIHJldHVybiB7XG4gICAgW0FYX0NPTlZFUlNBVElPTl9GSUxFX1VUSUxJVFkucHJldmlld106IGFzeW5jIChjdHgsIGZpbGUpID0+IHtcbiAgICAgIGNvbnN0IGYgPSBmaWxlIGFzIEZpbGU7XG4gICAgICBpZiAoZi50eXBlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpKSB7XG4gICAgICAgIHJldHVybiAoY3R4IGFzIEFYQ29udmVyc2F0aW9uRmlsZVR5cGVVdGlsaXR5Q29udGV4dCkucmVhZEFzRGF0YVVybChmKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSxcbiAgICBbQVhfQ09OVkVSU0FUSU9OX0ZJTEVfVVRJTElUWS5mb3JtYXRTaXplXTogKF9jdHgsIGJ5dGVzKSA9PiBmb3JtYXRGaWxlU2l6ZShieXRlcyBhcyBudW1iZXIpLFxuICAgIFtBWF9DT05WRVJTQVRJT05fRklMRV9VVElMSVRZLmNyZWF0ZUxvY2FsUHJldmlld1VybF06IChjdHgsIHNvdXJjZSkgPT4gYmxvYlVybChjdHggYXMgQVhDb252ZXJzYXRpb25GaWxlVHlwZVV0aWxpdHlDb250ZXh0LCBzb3VyY2UgYXMgQmxvYiksXG4gICAgW0FYX0NPTlZFUlNBVElPTl9GSUxFX1VUSUxJVFkucGlja2VyQ2F0YWxvZ106IChfY3R4LCBmaWxlKSA9PiB7XG4gICAgICBjb25zdCBmID0gZmlsZSBhcyBGaWxlO1xuICAgICAgaWYgKGYudHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKSkgcmV0dXJuIEFYX0NPTlZFUlNBVElPTl9JTUFHRV9DQVRBTE9HO1xuICAgICAgaWYgKGYudHlwZS5zdGFydHNXaXRoKCd2aWRlby8nKSkgcmV0dXJuIEFYX0NPTlZFUlNBVElPTl9WSURFT19DQVRBTE9HO1xuICAgICAgaWYgKGYudHlwZS5zdGFydHNXaXRoKCdhdWRpby8nKSkgcmV0dXJuIEFYX0NPTlZFUlNBVElPTl9BVURJT19DQVRBTE9HO1xuICAgICAgcmV0dXJuIEFYX0NPTlZFUlNBVElPTl9GSUxFX0NBVEFMT0c7XG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNvbnZlcnNhdGlvbkZpbGVGaWxlVHlwZSgpOiBpbXBvcnQoJ0BhY29yZXgvY29yZS9maWxlJykuQVhGaWxlVHlwZSB7XG4gIGNvbnN0IHByZXNlbnRhdGlvbiA9IEFYX0NPTlZFUlNBVElPTl9GSUxFX1BSRVNFTlRBVElPTjtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiBBWF9DT05WRVJTQVRJT05fRklMRV9DQVRBTE9HLFxuICAgIG1ldGFkYXRhOiBjcmVhdGVGaWxlVHlwZU1ldGFkYXRhKCdjb252ZXJzYXRpb24nKSxcbiAgICB0aXRsZTogcHJlc2VudGF0aW9uLnRpdGxlLFxuICAgIGljb246IHByZXNlbnRhdGlvbi5pY29uLFxuICAgIHZhbGlkYXRpb25zOiB7XG4gICAgICBtaW1lVHlwZXM6IFsuLi5BWF9DT05WRVJTQVRJT05fRklMRV9BTExPV0VEX01JTUVfVFlQRVNdLFxuICAgICAgbWluU2l6ZTogMSxcbiAgICAgIG1heFNpemU6IDEwMCAqIE1CLFxuICAgIH0sXG4gICAgZXh0ZW5zaW9uczogW1xuICAgICAgeyBuYW1lOiAncGRmJywgdGl0bGU6ICdQREYnLCB2YWxpZGF0aW9uczogeyBtaW1lVHlwZXM6IFsnYXBwbGljYXRpb24vcGRmJ10sIG1heFNpemU6IDI1ICogTUIgfSB9LFxuICAgICAgeyBuYW1lOiAnZG9jJywgdGl0bGU6ICdXb3JkJyB9LFxuICAgICAgeyBuYW1lOiAnZG9jeCcsIHRpdGxlOiAnV29yZCcgfSxcbiAgICAgIHsgbmFtZTogJ3R4dCcsIHRpdGxlOiAnVGV4dCcsIHZhbGlkYXRpb25zOiB7IG1pbWVUeXBlczogWyd0ZXh0L3BsYWluJ10sIG1heFNpemU6IDUgKiBNQiB9IH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd6aXAnLFxuICAgICAgICB0aXRsZTogJ1pJUCcsXG4gICAgICAgIHZhbGlkYXRpb25zOiB7XG4gICAgICAgICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL3ppcCcsICdhcHBsaWNhdGlvbi94LXppcC1jb21wcmVzc2VkJywgJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSddLFxuICAgICAgICAgIG1heFNpemU6IDUwICogTUIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gICAgdXRpbGl0aWVzOiBjb252ZXJzYXRpb25GaWxlVXRpbGl0aWVzKCksXG4gICAgY29weTogKHBheWxvYWQpOiBBWEZpbGVDb3B5RGF0YSA9PiB7XG4gICAgICBjb25zdCBmaWxlID0gbm9ybWFsaXplRmlsZVBheWxvYWQocGF5bG9hZCBhcyBBWENvbnZlcnNhdGlvbkZpbGVQYXlsb2FkKTtcbiAgICAgIGNvbnN0IGNhcHRpb24gPSBmaWxlLmNhcHRpb24/LnRyaW0oKTtcbiAgICAgIGNvbnN0IGl0ZW1zID0gZmlsZS5maWxlcy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgY29uc3QgbmFtZSA9IGl0ZW0ubmFtZT8udHJpbSgpO1xuICAgICAgICBjb25zdCB1cmwgPSBpdGVtLnVybD8udHJpbSgpO1xuICAgICAgICBjb25zdCBsaW5lID0gbmFtZSAmJiB1cmwgPyBgJHtuYW1lfSDigJQgJHt1cmx9YCA6IHVybCB8fCBuYW1lO1xuICAgICAgICByZXR1cm4geyBuYW1lLCB1cmwsIGxpbmUgfTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdGV4dDogY2FwdGlvbiA/PyAnJyxcbiAgICAgICAgbWV0YTogeyBraW5kOiAnZmlsZScsIGNhcHRpb24sIGl0ZW1zLCBjb3VudDogZmlsZS5maWxlcy5sZW5ndGggfSxcbiAgICAgIH07XG4gICAgfSxcbiAgfTtcbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBWENvbnZlcnNhdGlvbkZpbGVGaWxlVHlwZVByb3ZpZGVyIGV4dGVuZHMgQVhGaWxlVHlwZUluZm9Qcm92aWRlciB7XG4gIGl0ZW1zKCkge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoW2NyZWF0ZUNvbnZlcnNhdGlvbkZpbGVGaWxlVHlwZSgpXSk7XG4gIH1cbn1cbiJdfQ=="],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { createFileTypeMetadata, AXFileTypeInfoProvider } from '@acorex/core/file';
|
|
2
|
+
import { isPlatformBrowser } from '@angular/common';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { Injectable } from '@angular/core';
|
|
5
|
+
import { t as AX_CONVERSATION_IMAGE_CATALOG, n as normalizeImagePayload } from './acorex-components-conversation-acorex-components-conversation-CjVDCoJw.mjs';
|
|
6
|
+
import { a as formatFileSize } from './acorex-components-conversation-media-formatters-DV3wEEno.mjs';
|
|
7
|
+
|
|
8
|
+
const MB = 1024 * 1024;
|
|
9
|
+
const AX_CONVERSATION_IMAGE_PRESENTATION = {
|
|
10
|
+
icon: 'fa-light fa-image ax-text-purple-500',
|
|
11
|
+
title: 'Image',
|
|
12
|
+
};
|
|
13
|
+
const AX_CONVERSATION_IMAGE_UTILITY = {
|
|
14
|
+
preview: 'preview',
|
|
15
|
+
formatSize: 'formatSize',
|
|
16
|
+
createLocalPreviewUrl: 'createLocalPreviewUrl',
|
|
17
|
+
};
|
|
18
|
+
function blobUrl(ctx, blob) {
|
|
19
|
+
if (!isPlatformBrowser(ctx.platformId)) {
|
|
20
|
+
return '';
|
|
21
|
+
}
|
|
22
|
+
return URL.createObjectURL(blob);
|
|
23
|
+
}
|
|
24
|
+
function conversationImageUtilities() {
|
|
25
|
+
return {
|
|
26
|
+
[AX_CONVERSATION_IMAGE_UTILITY.preview]: (ctx, file) => ctx.readAsDataUrl(file),
|
|
27
|
+
[AX_CONVERSATION_IMAGE_UTILITY.formatSize]: (_ctx, bytes) => formatFileSize(bytes),
|
|
28
|
+
[AX_CONVERSATION_IMAGE_UTILITY.createLocalPreviewUrl]: (ctx, source) => {
|
|
29
|
+
const blob = source;
|
|
30
|
+
if (blob.type.startsWith('image/')) {
|
|
31
|
+
return ctx.readAsDataUrl(blob);
|
|
32
|
+
}
|
|
33
|
+
return blobUrl(ctx, blob);
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
function createConversationImageFileType() {
|
|
38
|
+
const presentation = AX_CONVERSATION_IMAGE_PRESENTATION;
|
|
39
|
+
return {
|
|
40
|
+
name: AX_CONVERSATION_IMAGE_CATALOG,
|
|
41
|
+
metadata: createFileTypeMetadata('conversation'),
|
|
42
|
+
title: presentation.title,
|
|
43
|
+
icon: presentation.icon,
|
|
44
|
+
validations: {
|
|
45
|
+
mimeTypes: ['image/*'],
|
|
46
|
+
minSize: 1,
|
|
47
|
+
maxSize: 100 * MB,
|
|
48
|
+
},
|
|
49
|
+
extensions: [
|
|
50
|
+
{ name: 'jpg', title: 'JPEG' },
|
|
51
|
+
{ name: 'jpeg', title: 'JPEG', validations: { maxSize: 5 * MB } },
|
|
52
|
+
{ name: 'png', title: 'PNG' },
|
|
53
|
+
{ name: 'gif', title: 'GIF' },
|
|
54
|
+
{ name: 'webp', title: 'WebP' },
|
|
55
|
+
{ name: 'svg', title: 'SVG', validations: { maxSize: 2 * MB } },
|
|
56
|
+
],
|
|
57
|
+
utilities: conversationImageUtilities(),
|
|
58
|
+
copy: (payload) => {
|
|
59
|
+
const image = normalizeImagePayload(payload);
|
|
60
|
+
const caption = image.caption?.trim();
|
|
61
|
+
const urls = image.images
|
|
62
|
+
.map((item) => item.url?.trim() || item.thumbnailUrl?.trim())
|
|
63
|
+
.filter((url) => !!url);
|
|
64
|
+
return {
|
|
65
|
+
text: caption ?? '',
|
|
66
|
+
meta: { kind: 'image', caption, urls, count: image.images.length },
|
|
67
|
+
};
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
class AXConversationImageFileTypeProvider extends AXFileTypeInfoProvider {
|
|
72
|
+
items() {
|
|
73
|
+
return Promise.resolve([createConversationImageFileType()]);
|
|
74
|
+
}
|
|
75
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationImageFileTypeProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
76
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationImageFileTypeProvider, providedIn: 'root' }); }
|
|
77
|
+
}
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationImageFileTypeProvider, decorators: [{
|
|
79
|
+
type: Injectable,
|
|
80
|
+
args: [{ providedIn: 'root' }]
|
|
81
|
+
}] });
|
|
82
|
+
|
|
83
|
+
export { AXConversationImageFileTypeProvider, AX_CONVERSATION_IMAGE_CATALOG, AX_CONVERSATION_IMAGE_PRESENTATION, conversationImageUtilities, createConversationImageFileType };
|
|
84
|
+
//# sourceMappingURL=acorex-components-conversation-conversation-image.file-type-Bd_SkwR0.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-components-conversation-conversation-image.file-type-Bd_SkwR0.mjs","sources":["../tmp-esm2022/conversation/lib/plugins/composer/components/image-picker/conversation-image.file-type.js"],"sourcesContent":["import { AXFileTypeInfoProvider, createFileTypeMetadata } from '@acorex/core/file';\nimport { isPlatformBrowser } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport { AX_CONVERSATION_IMAGE_CATALOG } from '../../../../models/message-file-type-catalog';\nimport { normalizeImagePayload } from '../../../message-list/components/image-renderer/image.payload';\nimport { formatFileSize } from '../shared/media-formatters';\nimport * as i0 from \"@angular/core\";\nexport { AX_CONVERSATION_IMAGE_CATALOG };\nconst MB = 1024 * 1024;\nexport const AX_CONVERSATION_IMAGE_PRESENTATION = {\n icon: 'fa-light fa-image ax-text-purple-500',\n title: 'Image',\n};\nconst AX_CONVERSATION_IMAGE_UTILITY = {\n preview: 'preview',\n formatSize: 'formatSize',\n createLocalPreviewUrl: 'createLocalPreviewUrl',\n};\nfunction blobUrl(ctx, blob) {\n if (!isPlatformBrowser(ctx.platformId)) {\n return '';\n }\n return URL.createObjectURL(blob);\n}\nexport function conversationImageUtilities() {\n return {\n [AX_CONVERSATION_IMAGE_UTILITY.preview]: (ctx, file) => ctx.readAsDataUrl(file),\n [AX_CONVERSATION_IMAGE_UTILITY.formatSize]: (_ctx, bytes) => formatFileSize(bytes),\n [AX_CONVERSATION_IMAGE_UTILITY.createLocalPreviewUrl]: (ctx, source) => {\n const blob = source;\n if (blob.type.startsWith('image/')) {\n return ctx.readAsDataUrl(blob);\n }\n return blobUrl(ctx, blob);\n },\n };\n}\nexport function createConversationImageFileType() {\n const presentation = AX_CONVERSATION_IMAGE_PRESENTATION;\n return {\n name: AX_CONVERSATION_IMAGE_CATALOG,\n metadata: createFileTypeMetadata('conversation'),\n title: presentation.title,\n icon: presentation.icon,\n validations: {\n mimeTypes: ['image/*'],\n minSize: 1,\n maxSize: 100 * MB,\n },\n extensions: [\n { name: 'jpg', title: 'JPEG' },\n { name: 'jpeg', title: 'JPEG', validations: { maxSize: 5 * MB } },\n { name: 'png', title: 'PNG' },\n { name: 'gif', title: 'GIF' },\n { name: 'webp', title: 'WebP' },\n { name: 'svg', title: 'SVG', validations: { maxSize: 2 * MB } },\n ],\n utilities: conversationImageUtilities(),\n copy: (payload) => {\n const image = normalizeImagePayload(payload);\n const caption = image.caption?.trim();\n const urls = image.images\n .map((item) => item.url?.trim() || item.thumbnailUrl?.trim())\n .filter((url) => !!url);\n return {\n text: caption ?? '',\n meta: { kind: 'image', caption, urls, count: image.images.length },\n };\n },\n };\n}\nexport class AXConversationImageFileTypeProvider extends AXFileTypeInfoProvider {\n items() {\n return Promise.resolve([createConversationImageFileType()]);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXConversationImageFileTypeProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXConversationImageFileTypeProvider, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXConversationImageFileTypeProvider, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLWltYWdlLmZpbGUtdHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29udmVyc2F0aW9uL3NyYy9saWIvcGx1Z2lucy9jb21wb3Nlci9jb21wb25lbnRzL2ltYWdlLXBpY2tlci9jb252ZXJzYXRpb24taW1hZ2UuZmlsZS10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDN0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDdEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUU1RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsQ0FBQztBQUV6QyxNQUFNLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBRXZCLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFHO0lBQ2hELElBQUksRUFBRSxzQ0FBc0M7SUFDNUMsS0FBSyxFQUFFLE9BQU87Q0FDTixDQUFDO0FBT1gsTUFBTSw2QkFBNkIsR0FBRztJQUNwQyxPQUFPLEVBQUUsU0FBUztJQUNsQixVQUFVLEVBQUUsWUFBWTtJQUN4QixxQkFBcUIsRUFBRSx1QkFBdUI7Q0FDdEMsQ0FBQztBQUVYLFNBQVMsT0FBTyxDQUFDLEdBQXlDLEVBQUUsSUFBVTtJQUNwRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFDdkMsT0FBTyxFQUFFLENB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QUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO2FBQ25FLENBQUM7UUFDSixDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFHRCxNQUFNLE9BQU8sbUNBQW9DLFNBQVEsc0JBQXNCO0lBQzdFLEtBQUs7UUFDSCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQywrQkFBK0IsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDOzhHQUhVLG1DQUFtQztrSEFBbkMsbUNBQW1DLGNBRHRCLE1BQU07OzJGQUNuQixtQ0FBbUM7a0JBRC9DLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBWEZpbGVDb3B5RGF0YSwgQVhGaWxlVHlwZSB9IGZyb20gJ0BhY29yZXgvY29yZS9maWxlJztcbmltcG9ydCB7IEFYRmlsZVR5cGVJbmZvUHJvdmlkZXIsIGNyZWF0ZUZpbGVUeXBlTWV0YWRhdGEgfSBmcm9tICdAYWNvcmV4L2NvcmUvZmlsZSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IEFYQ29udmVyc2F0aW9uSW1hZ2VQYXlsb2FkIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEFYX0NPTlZFUlNBVElPTl9JTUFHRV9DQVRBTE9HIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL21lc3NhZ2UtZmlsZS10eXBlLWNhdGFsb2cnO1xuaW1wb3J0IHsgbm9ybWFsaXplSW1hZ2VQYXlsb2FkIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZS1saXN0L2NvbXBvbmVudHMvaW1hZ2UtcmVuZGVyZXIvaW1hZ2UucGF5bG9hZCc7XG5pbXBvcnQgeyBmb3JtYXRGaWxlU2l6ZSB9IGZyb20gJy4uL3NoYXJlZC9tZWRpYS1mb3JtYXR0ZXJzJztcblxuZXhwb3J0IHsgQVhfQ09OVkVSU0FUSU9OX0lNQUdFX0NBVEFMT0cgfTtcblxuY29uc3QgTUIgPSAxMDI0ICogMTAyNDtcblxuZXhwb3J0IGNvbnN0IEFYX0NPTlZFUlNBVElPTl9JTUFHRV9QUkVTRU5UQVRJT04gPSB7XG4gIGljb246ICdmYS1saWdodCBmYS1pbWFnZSBheC10ZXh0LXB1cnBsZS01MDAnLFxuICB0aXRsZTogJ0ltYWdlJyxcbn0gYXMgY29uc3Q7XG5cbnR5cGUgQVhDb252ZXJzYXRpb25GaWxlVHlwZVV0aWxpdHlDb250ZXh0ID0ge1xuICByZWFkQXNEYXRhVXJsOiAoZmlsZTogRmlsZSB8IEJsb2IpID0+IFByb21pc2U8c3RyaW5nPjtcbiAgcGxhdGZvcm1JZDogb2JqZWN0O1xufTtcblxuY29uc3QgQVhfQ09OVkVSU0FUSU9OX0lNQUdFX1VUSUxJVFkgPSB7XG4gIHByZXZpZXc6ICdwcmV2aWV3JyxcbiAgZm9ybWF0U2l6ZTogJ2Zvcm1hdFNpemUnLFxuICBjcmVhdGVMb2NhbFByZXZpZXdVcmw6ICdjcmVhdGVMb2NhbFByZXZpZXdVcmwnLFxufSBhcyBjb25zdDtcblxuZnVuY3Rpb24gYmxvYlVybChjdHg6IEFYQ29udmVyc2F0aW9uRmlsZVR5cGVVdGlsaXR5Q29udGV4dCwgYmxvYjogQmxvYik6IHN0cmluZyB7XG4gIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIoY3R4LnBsYXRmb3JtSWQpKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG4gIHJldHVybiBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udmVyc2F0aW9uSW1hZ2VVdGlsaXRpZXMoKTogTm9uTnVsbGFibGU8QVhGaWxlVHlwZVsndXRpbGl0aWVzJ10+IHtcbiAgcmV0dXJuIHtcbiAgICBbQVhfQ09OVkVSU0FUSU9OX0lNQUdFX1VUSUxJVFkucHJldmlld106IChjdHgsIGZpbGUpID0+IChjdHggYXMgQVhDb252ZXJzYXRpb25GaWxlVHlwZVV0aWxpdHlDb250ZXh0KS5yZWFkQXNEYXRhVXJsKGZpbGUgYXMgRmlsZSksXG4gICAgW0FYX0NPTlZFUlNBVElPTl9JTUFHRV9VVElMSVRZLmZvcm1hdFNpemVdOiAoX2N0eCwgYnl0ZXMpID0+IGZvcm1hdEZpbGVTaXplKGJ5dGVzIGFzIG51bWJlciksXG4gICAgW0FYX0NPTlZFUlNBVElPTl9JTUFHRV9VVElMSVRZLmNyZWF0ZUxvY2FsUHJldmlld1VybF06IChjdHgsIHNvdXJjZSkgPT4ge1xuICAgICAgY29uc3QgYmxvYiA9IHNvdXJjZSBhcyBGaWxlIHwgQmxvYjtcbiAgICAgIGlmIChibG9iLnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJykpIHtcbiAgICAgICAgcmV0dXJuIChjdHggYXMgQVhDb252ZXJzYXRpb25GaWxlVHlwZVV0aWxpdHlDb250ZXh0KS5yZWFkQXNEYXRhVXJsKGJsb2IpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJsb2JVcmwoY3R4IGFzIEFYQ29udmVyc2F0aW9uRmlsZVR5cGVVdGlsaXR5Q29udGV4dCwgYmxvYik7XG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNvbnZlcnNhdGlvbkltYWdlRmlsZVR5cGUoKTogQVhGaWxlVHlwZSB7XG4gIGNvbnN0IHByZXNlbnRhdGlvbiA9IEFYX0NPTlZFUlNBVElPTl9JTUFHRV9QUkVTRU5UQVRJT047XG4gIHJldHVybiB7XG4gICAgbmFtZTogQVhfQ09OVkVSU0FUSU9OX0lNQUdFX0NBVEFMT0csXG4gICAgbWV0YWRhdGE6IGNyZWF0ZUZpbGVUeXBlTWV0YWRhdGEoJ2NvbnZlcnNhdGlvbicpLFxuICAgIHRpdGxlOiBwcmVzZW50YXRpb24udGl0bGUsXG4gICAgaWNvbjogcHJlc2VudGF0aW9uLmljb24sXG4gICAgdmFsaWRhdGlvbnM6IHtcbiAgICAgIG1pbWVUeXBlczogWydpbWFnZS8qJ10sXG4gICAgICBtaW5TaXplOiAxLFxuICAgICAgbWF4U2l6ZTogMTAwICogTUIsXG4gICAgfSxcbiAgICBleHRlbnNpb25zOiBbXG4gICAgICB7IG5hbWU6ICdqcGcnLCB0aXRsZTogJ0pQRUcnIH0sXG4gICAgICB7IG5hbWU6ICdqcGVnJywgdGl0bGU6ICdKUEVHJywgdmFsaWRhdGlvbnM6IHsgbWF4U2l6ZTogNSAqIE1CIH0gfSxcbiAgICAgIHsgbmFtZTogJ3BuZycsIHRpdGxlOiAnUE5HJyB9LFxuICAgICAgeyBuYW1lOiAnZ2lmJywgdGl0bGU6ICdHSUYnIH0sXG4gICAgICB7IG5hbWU6ICd3ZWJwJywgdGl0bGU6ICdXZWJQJyB9LFxuICAgICAgeyBuYW1lOiAnc3ZnJywgdGl0bGU6ICdTVkcnLCB2YWxpZGF0aW9uczogeyBtYXhTaXplOiAyICogTUIgfSB9LFxuICAgIF0sXG4gICAgdXRpbGl0aWVzOiBjb252ZXJzYXRpb25JbWFnZVV0aWxpdGllcygpLFxuICAgIGNvcHk6IChwYXlsb2FkKTogQVhGaWxlQ29weURhdGEgPT4ge1xuICAgICAgY29uc3QgaW1hZ2UgPSBub3JtYWxpemVJbWFnZVBheWxvYWQocGF5bG9hZCBhcyBBWENvbnZlcnNhdGlvbkltYWdlUGF5bG9hZCk7XG4gICAgICBjb25zdCBjYXB0aW9uID0gaW1hZ2UuY2FwdGlvbj8udHJpbSgpO1xuICAgICAgY29uc3QgdXJscyA9IGltYWdlLmltYWdlc1xuICAgICAgICAubWFwKChpdGVtKSA9PiBpdGVtLnVybD8udHJpbSgpIHx8IGl0ZW0udGh1bWJuYWlsVXJsPy50cmltKCkpXG4gICAgICAgIC5maWx0ZXIoKHVybCk6IHVybCBpcyBzdHJpbmcgPT4gISF1cmwpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdGV4dDogY2FwdGlvbiA/PyAnJyxcbiAgICAgICAgbWV0YTogeyBraW5kOiAnaW1hZ2UnLCBjYXB0aW9uLCB1cmxzLCBjb3VudDogaW1hZ2UuaW1hZ2VzLmxlbmd0aCB9LFxuICAgICAgfTtcbiAgICB9LFxuICB9O1xufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYQ29udmVyc2F0aW9uSW1hZ2VGaWxlVHlwZVByb3ZpZGVyIGV4dGVuZHMgQVhGaWxlVHlwZUluZm9Qcm92aWRlciB7XG4gIGl0ZW1zKCkge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoW2NyZWF0ZUNvbnZlcnNhdGlvbkltYWdlRmlsZVR5cGUoKV0pO1xuICB9XG59XG4iXX0="],"names":[],"mappings":"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"}
|