valtech-components 4.0.248 → 4.0.249
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/esm2022/lib/components/molecules/chat-composer/chat-composer.component.mjs +6 -8
- package/esm2022/lib/components/organisms/chat-window/chat-window.component.mjs +2 -7
- package/esm2022/lib/components/organisms/thread-panel/thread-panel.component.mjs +1 -1
- package/esm2022/lib/services/workflows/workflow.service.mjs +8 -1
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +15 -15
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/organisms/chat-window/chat-window.component.d.ts +1 -4
- package/lib/services/workflows/workflow.service.d.ts +13 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -25,7 +25,7 @@ import { getApps, getApp, initializeApp as initializeApp$1 } from 'firebase/app'
|
|
|
25
25
|
import * as i2$1 from '@ionic/angular/standalone';
|
|
26
26
|
import { AlertController, IonAvatar, IonCard, IonIcon, IonButton, IonSpinner, IonText, IonModal, IonHeader, IonToolbar, IonContent, IonButtons, IonTitle, IonProgressBar, IonSkeletonText, IonFab, IonFabButton, IonFabList, IonLabel, IonCardContent, IonCardHeader, IonCardTitle, IonCardSubtitle, IonCheckbox, IonRadio, IonRadioGroup, IonTextarea, IonDatetime, IonSelect, IonSelectOption, IonPopover, IonList, IonItem, IonInput, IonChip, IonRange, IonSearchbar, IonSegment, IonSegmentButton, IonToggle, IonRippleEffect, IonAccordion, IonAccordionGroup, IonTabBar, IonTabButton, IonBadge, IonBreadcrumb, IonBreadcrumbs, IonInfiniteScroll, IonInfiniteScrollContent, IonNote, IonDatetimeButton, ToastController as ToastController$1, IonCol, IonRow, IonRefresher, IonRefresherContent, IonMenuButton, IonFooter, IonListHeader, IonGrid, MenuController, IonMenu, IonMenuToggle, IonSplitPane } from '@ionic/angular/standalone';
|
|
27
27
|
import { addIcons } from 'ionicons';
|
|
28
|
-
import { addOutline, addCircleOutline, alertOutline, alertCircleOutline, arrowBackOutline, arrowForwardOutline, arrowDownOutline, settings, settingsOutline, checkmarkCircleOutline, ellipsisHorizontalOutline, notifications, notificationsOutline, openOutline, closeOutline, chatbubblesOutline, shareOutline, heart, heartOutline, home, homeOutline, eyeOffOutline, eyeOutline, scanOutline, chevronDownOutline, chevronForwardOutline, checkmarkOutline, clipboardOutline, copyOutline, filterOutline, locationOutline, calendarOutline, businessOutline, logoTwitter, logoInstagram, logoLinkedin, logoYoutube, logoTiktok, logoFacebook, logoGoogle, createOutline, trashOutline, playOutline, peopleOutline, phonePortraitOutline, refreshOutline, documentTextOutline, lockClosedOutline, cloudUploadOutline, textOutline, informationCircleOutline, logoNpm, removeOutline, optionsOutline, personOutline, shieldCheckmarkOutline, keyOutline, desktopOutline, logOutOutline, cloudDownloadOutline, cloudOutline, gitBranchOutline, layersOutline, serverOutline, warningOutline, bulbOutline, lockOpenOutline, diamondOutline, newspaperOutline, add, close, share, create, trash, star, camera, mic, send, downloadOutline, chevronDown, language, globeOutline, checkmark, list, grid, apps, menu, search, person, helpCircle, informationCircle, documentText, mail, calendar, folder, chevronForward, ellipsisHorizontal, chevronBack, playBack, playForward, ellipse, starOutline, starHalf, heartHalf, checkmarkCircle, timeOutline, flag, trendingUp, trendingDown, remove, analytics, people, cash, cart, eye, chatbubbleOutline, thumbsUpOutline, thumbsUp, happyOutline, happy, sadOutline, sad, chevronUp, pin, pencil, callOutline, logoWhatsapp, paperPlaneOutline, mailOutline, chevronDownCircleOutline, closeCircle, alertCircle, logoApple, logoMicrosoft, linkOutline, unlinkOutline, cloudOfflineOutline, documentOutline, attachOutline, cameraOutline, closeCircleOutline, imageOutline, printOutline, chevronBackOutline, sendOutline, chatbubbleEllipsesOutline, swapVerticalOutline, chevronUpOutline, searchOutline, cartOutline, chatbubble, compass, compassOutline, gridOutline, listOutline, folderOutline, documents, documentsOutline, statsChart, statsChartOutline, laptopOutline, swapHorizontalOutline, codeSlashOutline, notificationsOffOutline, alarmOutline, chatboxEllipsesOutline, checkmarkDoneOutline, cogOutline, shareSocialOutline, helpCircleOutline, menuOutline, stopCircleOutline, videocamOffOutline, checkmarkDone, arrowUndoOutline, micOutline,
|
|
28
|
+
import { addOutline, addCircleOutline, alertOutline, alertCircleOutline, arrowBackOutline, arrowForwardOutline, arrowDownOutline, settings, settingsOutline, checkmarkCircleOutline, ellipsisHorizontalOutline, notifications, notificationsOutline, openOutline, closeOutline, chatbubblesOutline, shareOutline, heart, heartOutline, home, homeOutline, eyeOffOutline, eyeOutline, scanOutline, chevronDownOutline, chevronForwardOutline, checkmarkOutline, clipboardOutline, copyOutline, filterOutline, locationOutline, calendarOutline, businessOutline, logoTwitter, logoInstagram, logoLinkedin, logoYoutube, logoTiktok, logoFacebook, logoGoogle, createOutline, trashOutline, playOutline, peopleOutline, phonePortraitOutline, refreshOutline, documentTextOutline, lockClosedOutline, cloudUploadOutline, textOutline, informationCircleOutline, logoNpm, removeOutline, optionsOutline, personOutline, shieldCheckmarkOutline, keyOutline, desktopOutline, logOutOutline, cloudDownloadOutline, cloudOutline, gitBranchOutline, layersOutline, serverOutline, warningOutline, bulbOutline, lockOpenOutline, diamondOutline, newspaperOutline, add, close, share, create, trash, star, camera, mic, send, downloadOutline, chevronDown, language, globeOutline, checkmark, list, grid, apps, menu, search, person, helpCircle, informationCircle, documentText, mail, calendar, folder, chevronForward, ellipsisHorizontal, chevronBack, playBack, playForward, ellipse, starOutline, starHalf, heartHalf, checkmarkCircle, timeOutline, flag, trendingUp, trendingDown, remove, analytics, people, cash, cart, eye, chatbubbleOutline, thumbsUpOutline, thumbsUp, happyOutline, happy, sadOutline, sad, chevronUp, pin, pencil, callOutline, logoWhatsapp, paperPlaneOutline, mailOutline, chevronDownCircleOutline, closeCircle, alertCircle, logoApple, logoMicrosoft, linkOutline, unlinkOutline, cloudOfflineOutline, documentOutline, attachOutline, cameraOutline, closeCircleOutline, imageOutline, printOutline, chevronBackOutline, sendOutline, chatbubbleEllipsesOutline, swapVerticalOutline, chevronUpOutline, searchOutline, cartOutline, chatbubble, compass, compassOutline, gridOutline, listOutline, folderOutline, documents, documentsOutline, statsChart, statsChartOutline, laptopOutline, swapHorizontalOutline, codeSlashOutline, notificationsOffOutline, alarmOutline, chatboxEllipsesOutline, checkmarkDoneOutline, cogOutline, shareSocialOutline, helpCircleOutline, menuOutline, stopCircleOutline, videocamOffOutline, checkmarkDone, arrowUndoOutline, micOutline, micCircleOutline, arrowUpOutline } from 'ionicons/icons';
|
|
29
29
|
import { Browser } from '@capacitor/browser';
|
|
30
30
|
import * as i1$6 from '@angular/platform-browser';
|
|
31
31
|
import { DomSanitizer, Meta, Title } from '@angular/platform-browser';
|
|
@@ -57,7 +57,7 @@ import fixWebmDuration from 'fix-webm-duration';
|
|
|
57
57
|
* Current version of valtech-components.
|
|
58
58
|
* This is automatically updated during the publish process.
|
|
59
59
|
*/
|
|
60
|
-
const VERSION = '4.0.
|
|
60
|
+
const VERSION = '4.0.249';
|
|
61
61
|
|
|
62
62
|
// Control de estado de refresco (singleton a nivel de módulo)
|
|
63
63
|
let isRefreshing = false;
|
|
@@ -62134,6 +62134,13 @@ class WorkflowService {
|
|
|
62134
62134
|
headers: this.appIdHeader,
|
|
62135
62135
|
});
|
|
62136
62136
|
}
|
|
62137
|
+
/** Resumen por-paso del historial de una ejecución (para mostrar el progreso). */
|
|
62138
|
+
history(executionArn) {
|
|
62139
|
+
const url = `${this.config?.apiUrl ?? ''}/workflows/execution/history`;
|
|
62140
|
+
return this.http.post(url, { executionArn }, {
|
|
62141
|
+
headers: this.appIdHeader,
|
|
62142
|
+
});
|
|
62143
|
+
}
|
|
62137
62144
|
watch(executionName) {
|
|
62138
62145
|
const orgId = this.auth.user()?.activeOrg ?? '';
|
|
62139
62146
|
if (!orgId || !executionName)
|
|
@@ -73197,7 +73204,7 @@ addIcons({
|
|
|
73197
73204
|
closeOutline,
|
|
73198
73205
|
documentOutline,
|
|
73199
73206
|
micOutline,
|
|
73200
|
-
|
|
73207
|
+
micCircleOutline,
|
|
73201
73208
|
arrowUpOutline,
|
|
73202
73209
|
trashOutline,
|
|
73203
73210
|
});
|
|
@@ -73532,9 +73539,7 @@ class ChatComposerComponent {
|
|
|
73532
73539
|
return;
|
|
73533
73540
|
const rec = new Ctor();
|
|
73534
73541
|
rec.lang = this.i18n.lang() === 'en' ? 'en-US' : 'es-CL';
|
|
73535
|
-
|
|
73536
|
-
// el reconocimiento abierto indefinidamente y en algunos navegadores colgaba.
|
|
73537
|
-
rec.continuous = false;
|
|
73542
|
+
rec.continuous = true;
|
|
73538
73543
|
rec.interimResults = false; // solo resultados finales → insertamos texto limpio
|
|
73539
73544
|
rec.onresult = event => {
|
|
73540
73545
|
let finalText = '';
|
|
@@ -73699,7 +73704,7 @@ class ChatComposerComponent {
|
|
|
73699
73704
|
}
|
|
73700
73705
|
@if (showVoiceMessage()) {
|
|
73701
73706
|
<button class="icon-btn" [attr.aria-label]="t('voice')" (click)="startRecording()">
|
|
73702
|
-
<ion-icon name="
|
|
73707
|
+
<ion-icon name="mic-circle-outline" aria-hidden="true" />
|
|
73703
73708
|
</button>
|
|
73704
73709
|
}
|
|
73705
73710
|
@if (showMic() && dictationSupported) {
|
|
@@ -73820,7 +73825,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
73820
73825
|
}
|
|
73821
73826
|
@if (showVoiceMessage()) {
|
|
73822
73827
|
<button class="icon-btn" [attr.aria-label]="t('voice')" (click)="startRecording()">
|
|
73823
|
-
<ion-icon name="
|
|
73828
|
+
<ion-icon name="mic-circle-outline" aria-hidden="true" />
|
|
73824
73829
|
</button>
|
|
73825
73830
|
}
|
|
73826
73831
|
@if (showMic() && dictationSupported) {
|
|
@@ -74055,9 +74060,6 @@ class ChatWindowComponent {
|
|
|
74055
74060
|
this.isOpen = input(true);
|
|
74056
74061
|
this.typingUsers = input([]);
|
|
74057
74062
|
this.isLoading = input(false);
|
|
74058
|
-
/** Muestra el botón de mensaje de voz (grabar clip). El dictado voz→texto va
|
|
74059
|
-
* siempre. Default false (apps lo activan donde el transcode esté disponible). */
|
|
74060
|
-
this.showVoiceMessage = input(false);
|
|
74061
74063
|
this.sendMessage = output();
|
|
74062
74064
|
this.loadMore = output();
|
|
74063
74065
|
this.reactionClick = output();
|
|
@@ -74177,7 +74179,7 @@ class ChatWindowComponent {
|
|
|
74177
74179
|
return this.i18n.t(key, 'ChatWindow');
|
|
74178
74180
|
}
|
|
74179
74181
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChatWindowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
74180
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ChatWindowComponent, isStandalone: true, selector: "val-chat-window", inputs: { convId: { classPropertyName: "convId", publicName: "convId", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null }, currentUserId: { classPropertyName: "currentUserId", publicName: "currentUserId", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, typingUsers: { classPropertyName: "typingUsers", publicName: "typingUsers", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }
|
|
74182
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ChatWindowComponent, isStandalone: true, selector: "val-chat-window", inputs: { convId: { classPropertyName: "convId", publicName: "convId", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null }, currentUserId: { classPropertyName: "currentUserId", publicName: "currentUserId", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, typingUsers: { classPropertyName: "typingUsers", publicName: "typingUsers", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sendMessage: "sendMessage", loadMore: "loadMore", reactionClick: "reactionClick", deleteMessage: "deleteMessage", replyTo: "replyTo", editMessage: "editMessage", typing: "typing", voice: "voice" }, viewQueries: [{ propertyName: "msgsEl", first: true, predicate: ["msgs"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
74181
74183
|
<div class="chat">
|
|
74182
74184
|
<div #msgs class="messages" (scroll)="onScroll()">
|
|
74183
74185
|
@if (isLoading()) {
|
|
@@ -74222,7 +74224,6 @@ class ChatWindowComponent {
|
|
|
74222
74224
|
@if (isOpen()) {
|
|
74223
74225
|
<val-chat-composer
|
|
74224
74226
|
[replyingTo]="replyingTo()"
|
|
74225
|
-
[showVoiceMessage]="showVoiceMessage()"
|
|
74226
74227
|
(send)="onSend($event)"
|
|
74227
74228
|
(typing)="typing.emit()"
|
|
74228
74229
|
(voice)="voice.emit()"
|
|
@@ -74281,7 +74282,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
74281
74282
|
@if (isOpen()) {
|
|
74282
74283
|
<val-chat-composer
|
|
74283
74284
|
[replyingTo]="replyingTo()"
|
|
74284
|
-
[showVoiceMessage]="showVoiceMessage()"
|
|
74285
74285
|
(send)="onSend($event)"
|
|
74286
74286
|
(typing)="typing.emit()"
|
|
74287
74287
|
(voice)="voice.emit()"
|
|
@@ -74452,7 +74452,7 @@ class ThreadPanelComponent {
|
|
|
74452
74452
|
</div>
|
|
74453
74453
|
}
|
|
74454
74454
|
</div>
|
|
74455
|
-
`, isInline: true, styles: [".thread-panel{display:flex;flex-direction:column;height:100%;background:var(--ion-background-color, #f4f5f8)}.thread-header{padding:12px 16px;border-bottom:1px solid var(--ion-border-color, rgba(0, 0, 0, .1));background:var(--ion-card-background, var(--ion-background-color, #fff))}.thread-header .thread-title{font-size:1rem;font-weight:600;color:var(--ion-text-color, #000);margin:0}.thread-loading{display:flex;align-items:center;justify-content:center;flex:1;gap:10px;color:var(--ion-color-medium, #92949c);font-size:.875rem}.thread-chat{flex:1;overflow:hidden;display:flex;flex-direction:column}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: ChatWindowComponent, selector: "val-chat-window", inputs: ["convId", "messages", "currentUserId", "isOpen", "typingUsers", "isLoading"
|
|
74455
|
+
`, isInline: true, styles: [".thread-panel{display:flex;flex-direction:column;height:100%;background:var(--ion-background-color, #f4f5f8)}.thread-header{padding:12px 16px;border-bottom:1px solid var(--ion-border-color, rgba(0, 0, 0, .1));background:var(--ion-card-background, var(--ion-background-color, #fff))}.thread-header .thread-title{font-size:1rem;font-weight:600;color:var(--ion-text-color, #000);margin:0}.thread-loading{display:flex;align-items:center;justify-content:center;flex:1;gap:10px;color:var(--ion-color-medium, #92949c);font-size:.875rem}.thread-chat{flex:1;overflow:hidden;display:flex;flex-direction:column}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: ChatWindowComponent, selector: "val-chat-window", inputs: ["convId", "messages", "currentUserId", "isOpen", "typingUsers", "isLoading"], outputs: ["sendMessage", "loadMore", "reactionClick", "deleteMessage", "replyTo", "editMessage", "typing", "voice"] }] }); }
|
|
74456
74456
|
}
|
|
74457
74457
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ThreadPanelComponent, decorators: [{
|
|
74458
74458
|
type: Component,
|