@davi-ai/retorik-framework 3.2.0 → 3.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AttachmentDetail.1e06c2a5.js +1757 -0
- package/dist/AttachmentDetail.1e06c2a5.js.map +1 -0
- package/dist/AttachmentDetail.c6c297df.js +1732 -0
- package/dist/AttachmentDetail.c6c297df.js.map +1 -0
- package/dist/CustomView.080c8028.js +143 -0
- package/dist/CustomView.080c8028.js.map +1 -0
- package/dist/CustomView.90d2a13d.js +134 -0
- package/dist/CustomView.90d2a13d.js.map +1 -0
- package/dist/Emergency.423214ad.js +301 -0
- package/dist/Emergency.423214ad.js.map +1 -0
- package/dist/Emergency.a21f837c.js +292 -0
- package/dist/Emergency.a21f837c.js.map +1 -0
- package/dist/FullScreenImage.1fe27198.js +70 -0
- package/dist/FullScreenImage.1fe27198.js.map +1 -0
- package/dist/FullScreenImage.9a9b978e.js +83 -0
- package/dist/FullScreenImage.9a9b978e.js.map +1 -0
- package/dist/HistoryList.50ff0fd9.js +242 -0
- package/dist/HistoryList.50ff0fd9.js.map +1 -0
- package/dist/HistoryList.5fd6aa12.js +228 -0
- package/dist/HistoryList.5fd6aa12.js.map +1 -0
- package/dist/LanguageChoice.1579b654.js +125 -0
- package/dist/LanguageChoice.1579b654.js.map +1 -0
- package/dist/LanguageChoice.61e36c1d.js +116 -0
- package/dist/LanguageChoice.61e36c1d.js.map +1 -0
- package/dist/LittleWeatherContainer.07937cf3.js +57 -0
- package/dist/LittleWeatherContainer.07937cf3.js.map +1 -0
- package/dist/LittleWeatherContainer.d27a6b8a.js +44 -0
- package/dist/LittleWeatherContainer.d27a6b8a.js.map +1 -0
- package/dist/NewsContainer.67f04b19.js +730 -0
- package/dist/NewsContainer.67f04b19.js.map +1 -0
- package/dist/NewsContainer.932174e9.js +755 -0
- package/dist/NewsContainer.932174e9.js.map +1 -0
- package/dist/SpiritEngineWrapper.1d8db53d.js +82 -0
- package/dist/SpiritEngineWrapper.1d8db53d.js.map +1 -0
- package/dist/SpiritEngineWrapper.27e9c120.js +96 -0
- package/dist/SpiritEngineWrapper.27e9c120.js.map +1 -0
- package/dist/ThreeJsWrapper.09c689b8.js +141 -0
- package/dist/ThreeJsWrapper.09c689b8.js.map +1 -0
- package/dist/ThreeJsWrapper.7918143f.js +128 -0
- package/dist/ThreeJsWrapper.7918143f.js.map +1 -0
- package/dist/Weather.661c2cac.js +282 -0
- package/dist/Weather.661c2cac.js.map +1 -0
- package/dist/Weather.fb22fba3.js +268 -0
- package/dist/Weather.fb22fba3.js.map +1 -0
- package/dist/index.d.ts +69 -50
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23055 -23224
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +22278 -22376
- package/dist/index.modern.js.map +1 -1
- package/package.json +4 -36
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import {jsx as $ktVFM$jsx, jsxs as $ktVFM$jsxs} from "react/jsx-runtime";
|
|
2
|
+
import $ktVFM$react, {useRef as $ktVFM$useRef, useEffect as $ktVFM$useEffect} from "react";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
function $parcel$defineInteropFlag(a) {
|
|
6
|
+
Object.defineProperty(a, '__esModule', {value: true, configurable: true});
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
function $parcel$export(e, n, v, s) {
|
|
10
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
var $parcel$global = globalThis;
|
|
14
|
+
var parcelRequire = $parcel$global["parcelRequirea39d"];
|
|
15
|
+
var parcelRegister = parcelRequire.register;
|
|
16
|
+
parcelRegister("2IZpO", function(module, exports) {
|
|
17
|
+
|
|
18
|
+
$parcel$defineInteropFlag(module.exports);
|
|
19
|
+
|
|
20
|
+
$parcel$export(module.exports, "default", () => $7e0481471d50d053$export$2e2bcd8739ae039);
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
var $1Qww3 = parcelRequire("1Qww3");
|
|
25
|
+
|
|
26
|
+
var $2fuDN = parcelRequire("2fuDN");
|
|
27
|
+
|
|
28
|
+
var $j67YK = parcelRequire("j67YK");
|
|
29
|
+
|
|
30
|
+
var $aNpqK = parcelRequire("aNpqK");
|
|
31
|
+
|
|
32
|
+
var $dhRwo = parcelRequire("dhRwo");
|
|
33
|
+
|
|
34
|
+
var $gQ55S = parcelRequire("gQ55S");
|
|
35
|
+
|
|
36
|
+
var $jeYOr = parcelRequire("jeYOr");
|
|
37
|
+
|
|
38
|
+
var $4ucVo = parcelRequire("4ucVo");
|
|
39
|
+
|
|
40
|
+
var $8KJP1 = parcelRequire("8KJP1");
|
|
41
|
+
const $7e0481471d50d053$var$HistoryList = ()=>{
|
|
42
|
+
const translation = (0, $2fuDN.useLocaleStore)((state)=>state.currentTranslations);
|
|
43
|
+
const isWidget = (0, $1Qww3.useViewStore)((state)=>state.isWidget);
|
|
44
|
+
const isBorne = (0, $1Qww3.useViewStore)((state)=>state.isBorne);
|
|
45
|
+
const setCurrentSubView = (0, $j67YK.useUtilsStore)((state)=>state.actions.setCurrentSubView);
|
|
46
|
+
const sendEvent = (0, $aNpqK.useDirectlineStore)((state)=>state.actions.sendEvent);
|
|
47
|
+
const activities = (0, $dhRwo.default)();
|
|
48
|
+
const scrollRef = (0, $ktVFM$useRef)(null);
|
|
49
|
+
const divRef = (0, $ktVFM$useRef)(null);
|
|
50
|
+
/**
|
|
51
|
+
* On call :
|
|
52
|
+
* - scroll to the scrollRef HTML element at the bottom of the view
|
|
53
|
+
*/ const scrollToRef = ()=>{
|
|
54
|
+
if (scrollRef && scrollRef.current !== null) scrollRef.current.scrollIntoView({
|
|
55
|
+
behavior: 'smooth',
|
|
56
|
+
block: 'nearest'
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* On component mount :
|
|
61
|
+
* - call scrollToRef method
|
|
62
|
+
*/ (0, $ktVFM$useEffect)(()=>{
|
|
63
|
+
setTimeout(()=>{
|
|
64
|
+
scrollToRef();
|
|
65
|
+
}, 200);
|
|
66
|
+
}, []);
|
|
67
|
+
(0, $ktVFM$useEffect)(()=>{
|
|
68
|
+
divRef?.current && isWidget && (0, $8KJP1.default)(null, divRef);
|
|
69
|
+
}, [
|
|
70
|
+
divRef?.current
|
|
71
|
+
]);
|
|
72
|
+
const handleClose = ()=>{
|
|
73
|
+
setCurrentSubView((0, $4ucVo.CurrentSubView).none);
|
|
74
|
+
sendEvent('Davi.CloseWindow', null);
|
|
75
|
+
sendEvent('Davi.CloseWindowHistory', null);
|
|
76
|
+
};
|
|
77
|
+
return /*#__PURE__*/ (0, $ktVFM$jsx)((0, $gQ55S.SubMenuClosing), {
|
|
78
|
+
handleClose: handleClose,
|
|
79
|
+
backIsConversation: true,
|
|
80
|
+
title: translation.history.title,
|
|
81
|
+
children: /*#__PURE__*/ (0, $ktVFM$jsxs)("div", {
|
|
82
|
+
ref: divRef,
|
|
83
|
+
className: `rf-pb-4 rf-overflow-y-scroll ${isBorne ? 'rf-scrollbar-thin' : 'rf-scrollbar-hidden'}`,
|
|
84
|
+
children: [
|
|
85
|
+
activities.map((activity, key)=>{
|
|
86
|
+
return /*#__PURE__*/ (0, $ktVFM$jsx)((0, $jeYOr.default), {
|
|
87
|
+
activity: activity
|
|
88
|
+
}, key);
|
|
89
|
+
}),
|
|
90
|
+
/*#__PURE__*/ (0, $ktVFM$jsx)("div", {
|
|
91
|
+
ref: scrollRef
|
|
92
|
+
})
|
|
93
|
+
]
|
|
94
|
+
})
|
|
95
|
+
});
|
|
96
|
+
};
|
|
97
|
+
var $7e0481471d50d053$export$2e2bcd8739ae039 = $7e0481471d50d053$var$HistoryList;
|
|
98
|
+
|
|
99
|
+
});
|
|
100
|
+
parcelRegister("dhRwo", function(module, exports) {
|
|
101
|
+
|
|
102
|
+
$parcel$export(module.exports, "default", () => $a4a3509b5adcc0fb$export$2e2bcd8739ae039);
|
|
103
|
+
|
|
104
|
+
var $e5dDB = parcelRequire("e5dDB");
|
|
105
|
+
|
|
106
|
+
var $9GPj7 = parcelRequire("9GPj7");
|
|
107
|
+
function $a4a3509b5adcc0fb$export$2e2bcd8739ae039() {
|
|
108
|
+
const activities = (0, $9GPj7.useActivityStore)((state)=>state.messageActivities);
|
|
109
|
+
// processedId contains the ids of the activities already processed (because useActivities gives duplicate activities with different state depending on if it's been spoken or not )
|
|
110
|
+
const processedId = [];
|
|
111
|
+
const history = [];
|
|
112
|
+
activities.forEach((activity)=>{
|
|
113
|
+
if (activity.id && !processedId.includes(activity.id)) {
|
|
114
|
+
processedId.push(activity.id);
|
|
115
|
+
// Check if this is a question or an answer (questions from the user don't have a replyToId field)
|
|
116
|
+
if (activity.replyToId) {
|
|
117
|
+
const question = history.find((historyItem)=>historyItem.question.id === activity.replyToId);
|
|
118
|
+
if (question) question.answers.push(activity);
|
|
119
|
+
else {
|
|
120
|
+
const newQuestion = (0, $e5dDB.createNewQuestionForTimestamp)(activity);
|
|
121
|
+
history.push({
|
|
122
|
+
question: newQuestion,
|
|
123
|
+
answers: [
|
|
124
|
+
activity
|
|
125
|
+
]
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
} else if (activity.label === 'Davi.BringupMessage' && activity.text) {
|
|
129
|
+
const newQuestion = (0, $e5dDB.createNewQuestionForTimestamp)(activity);
|
|
130
|
+
history.push({
|
|
131
|
+
question: newQuestion,
|
|
132
|
+
answers: [
|
|
133
|
+
activity
|
|
134
|
+
]
|
|
135
|
+
});
|
|
136
|
+
} else history.push({
|
|
137
|
+
question: activity,
|
|
138
|
+
answers: []
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
return history;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
parcelRegister("jeYOr", function(module, exports) {
|
|
148
|
+
|
|
149
|
+
$parcel$export(module.exports, "default", () => $ad9755f823edbd92$export$2e2bcd8739ae039);
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
var $3VLZE = parcelRequire("3VLZE");
|
|
154
|
+
const $ad9755f823edbd92$var$HistoryItem = ({ activity: activity })=>{
|
|
155
|
+
return /*#__PURE__*/ (0, $ktVFM$jsxs)("div", {
|
|
156
|
+
className: "rf-mb-4 rf-flex rf-flex-col rf-justify-start rf-items-start rf-gap-4 rf-text-size-auto",
|
|
157
|
+
children: [
|
|
158
|
+
activity?.question && activity.question.type === 'message' && /*#__PURE__*/ (0, $ktVFM$jsx)((0, $3VLZE.default), {
|
|
159
|
+
activity: activity.question,
|
|
160
|
+
isQuestion: true
|
|
161
|
+
}),
|
|
162
|
+
activity.answers.map((answer, j)=>{
|
|
163
|
+
return answer.type === 'message' ? /*#__PURE__*/ (0, $ktVFM$jsx)((0, $3VLZE.default), {
|
|
164
|
+
activity: answer,
|
|
165
|
+
isQuestion: false
|
|
166
|
+
}, j) : /*#__PURE__*/ (0, $ktVFM$jsx)((0, $ktVFM$react).Fragment, {});
|
|
167
|
+
})
|
|
168
|
+
]
|
|
169
|
+
});
|
|
170
|
+
};
|
|
171
|
+
var $ad9755f823edbd92$export$2e2bcd8739ae039 = $ad9755f823edbd92$var$HistoryItem;
|
|
172
|
+
|
|
173
|
+
});
|
|
174
|
+
parcelRegister("3VLZE", function(module, exports) {
|
|
175
|
+
|
|
176
|
+
$parcel$export(module.exports, "default", () => $c7eb1586efc51c4d$export$2e2bcd8739ae039);
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
var $2fuDN = parcelRequire("2fuDN");
|
|
181
|
+
|
|
182
|
+
var $1Qww3 = parcelRequire("1Qww3");
|
|
183
|
+
|
|
184
|
+
var $dLlm9 = parcelRequire("dLlm9");
|
|
185
|
+
|
|
186
|
+
var $1LYTj = parcelRequire("1LYTj");
|
|
187
|
+
const $c7eb1586efc51c4d$var$HistoryQA = ({ activity: activity, isQuestion: isQuestion })=>{
|
|
188
|
+
const locale = (0, $2fuDN.useLocaleStore)((state)=>state.locale);
|
|
189
|
+
const isMobile = (0, $1Qww3.useViewStore)((state)=>state.isMobile);
|
|
190
|
+
const time = activity.localTimestamp ? new Date(activity.localTimestamp) : activity.timestamp ? new Date(activity.timestamp) : new Date();
|
|
191
|
+
return activity.text || !!activity.attachments?.length ? /*#__PURE__*/ (0, $ktVFM$jsxs)("div", {
|
|
192
|
+
className: `${isMobile ? 'rf-w-full' : 'rf-max-w-full'} rf-flex rf-flex-col rf-gap-1`,
|
|
193
|
+
children: [
|
|
194
|
+
/*#__PURE__*/ (0, $ktVFM$jsx)("div", {
|
|
195
|
+
className: "rf-text-[#9A9A9A]",
|
|
196
|
+
children: time.toLocaleString(locale, {
|
|
197
|
+
hour: 'numeric',
|
|
198
|
+
minute: 'numeric'
|
|
199
|
+
})
|
|
200
|
+
}),
|
|
201
|
+
/*#__PURE__*/ (0, $ktVFM$jsxs)("div", {
|
|
202
|
+
className: `${isQuestion ? 'rf-text-secondary' : 'rf-text-textModePanelConversationBot'}`,
|
|
203
|
+
children: [
|
|
204
|
+
activity.htmlText ? /*#__PURE__*/ (0, $ktVFM$jsx)("div", {
|
|
205
|
+
dangerouslySetInnerHTML: {
|
|
206
|
+
__html: activity.htmlText
|
|
207
|
+
}
|
|
208
|
+
}) : activity.text ? (0, $dLlm9.getTextWithoutSpeechMarkdown)(activity.text) : '',
|
|
209
|
+
!!activity.attachments?.length && !(activity.attachmentLayout && activity.attachmentLayout.toLowerCase() === 'davilist') && /*#__PURE__*/ (0, $ktVFM$jsx)("div", {
|
|
210
|
+
className: `rf-w-full rf-min-h-16 rf-overflow-x-hidden rf-overflow-y-auto ${activity.text && 'rf-pt-4'}`,
|
|
211
|
+
children: /*#__PURE__*/ (0, $ktVFM$jsx)((0, $1LYTj.default), {
|
|
212
|
+
activity: activity,
|
|
213
|
+
history: true
|
|
214
|
+
})
|
|
215
|
+
})
|
|
216
|
+
]
|
|
217
|
+
})
|
|
218
|
+
]
|
|
219
|
+
}) : /*#__PURE__*/ (0, $ktVFM$jsx)((0, $ktVFM$react).Fragment, {});
|
|
220
|
+
};
|
|
221
|
+
var $c7eb1586efc51c4d$export$2e2bcd8739ae039 = $c7eb1586efc51c4d$var$HistoryQA;
|
|
222
|
+
|
|
223
|
+
});
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
//# sourceMappingURL=HistoryList.5fd6aa12.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"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","sources":["src/components/History/HistoryList.tsx","src/hooks/useMessageActivities.ts","src/components/History/HistoryItem.tsx","src/components/History/HistoryQA.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react'\r\nimport { useViewStore } from '../Contexts/ViewContext'\r\nimport { useLocaleStore } from '../Contexts/LocaleContext'\r\nimport { useUtilsStore } from '../Contexts/UtilsContext'\r\nimport { useDirectlineStore } from '../Contexts/DirectlineContext'\r\nimport useMessageActivities from '../../hooks/useMessageActivities'\r\nimport { SubMenuClosing as Template } from '../Templates'\r\nimport HistoryItem from './HistoryItem'\r\nimport { CurrentSubView } from '../../models/enums'\r\nimport preventEvents from '../../utils/preventEvents'\r\n\r\nconst HistoryList = (): JSX.Element => {\r\n const translation = useLocaleStore((state) => state.currentTranslations)\r\n const isWidget = useViewStore((state) => state.isWidget)\r\n const isBorne = useViewStore((state) => state.isBorne)\r\n const setCurrentSubView = useUtilsStore((state) => state.actions.setCurrentSubView)\r\n const sendEvent = useDirectlineStore((state) => state.actions.sendEvent)\r\n\r\n const activities = useMessageActivities()\r\n const scrollRef = useRef<HTMLDivElement>(null)\r\n const divRef = useRef<HTMLDivElement>(null)\r\n\r\n /**\r\n * On call :\r\n * - scroll to the scrollRef HTML element at the bottom of the view\r\n */\r\n const scrollToRef = (): void => {\r\n if (scrollRef && scrollRef.current !== null) {\r\n scrollRef.current.scrollIntoView({\r\n behavior: 'smooth',\r\n block: 'nearest'\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * On component mount :\r\n * - call scrollToRef method\r\n */\r\n useEffect(() => {\r\n setTimeout(() => {\r\n scrollToRef()\r\n }, 200)\r\n }, [])\r\n\r\n useEffect(() => {\r\n divRef?.current && isWidget && preventEvents(null, divRef)\r\n }, [divRef?.current])\r\n\r\n const handleClose = (): void => {\r\n setCurrentSubView(CurrentSubView.none)\r\n sendEvent('Davi.CloseWindow', null)\r\n sendEvent('Davi.CloseWindowHistory', null)\r\n }\r\n\r\n return (\r\n <Template handleClose={handleClose} backIsConversation={true} title={translation.history.title}>\r\n <div ref={divRef} className={`rf-pb-4 rf-overflow-y-scroll ${isBorne ? 'rf-scrollbar-thin' : 'rf-scrollbar-hidden'}`}>\r\n {/* History items */}\r\n {activities.map((activity, key) => {\r\n return <HistoryItem key={key} activity={activity} />\r\n })}\r\n <div ref={scrollRef} />\r\n </div>\r\n </Template>\r\n )\r\n}\r\n\r\nexport default HistoryList\r\n","import type { HistoryActivity, RetorikActivity } from '../models/activityTypes'\r\nimport { createNewQuestionForTimestamp } from '../utils/activityUtils'\r\nimport { useActivityStore } from '../components/Contexts/ActivityContext'\r\n\r\nexport default function useMessageActivities(): Array<HistoryActivity> {\r\n const activities = useActivityStore((state) => state.messageActivities)\r\n // processedId contains the ids of the activities already processed (because useActivities gives duplicate activities with different state depending on if it's been spoken or not )\r\n const processedId: Array<string> = []\r\n const history: HistoryActivity[] = []\r\n\r\n activities.forEach((activity) => {\r\n if (activity.id && !processedId.includes(activity.id)) {\r\n processedId.push(activity.id)\r\n // Check if this is a question or an answer (questions from the user don't have a replyToId field)\r\n if (activity.replyToId) {\r\n const question: HistoryActivity | undefined = history.find(\r\n (historyItem) => historyItem.question.id === activity.replyToId\r\n )\r\n if (question) {\r\n question.answers.push(activity)\r\n } else {\r\n const newQuestion: RetorikActivity =\r\n createNewQuestionForTimestamp(activity)\r\n\r\n history.push({\r\n question: newQuestion,\r\n answers: [activity]\r\n })\r\n }\r\n } else {\r\n if (\r\n (activity as RetorikActivity).label === 'Davi.BringupMessage' &&\r\n (activity as RetorikActivity).text\r\n ) {\r\n const newQuestion: RetorikActivity =\r\n createNewQuestionForTimestamp(activity)\r\n history.push({\r\n question: newQuestion,\r\n answers: [activity]\r\n })\r\n } else {\r\n history.push({\r\n question: activity,\r\n answers: []\r\n })\r\n }\r\n }\r\n }\r\n })\r\n\r\n return history\r\n}\r\n","import React from 'react'\r\nimport type { HistoryActivity } from '../../models/activityTypes'\r\nimport HistoryQA from './HistoryQA'\r\n\r\ninterface HistoryItemProps {\r\n activity: HistoryActivity\r\n}\r\n\r\nconst HistoryItem = ({ activity }: HistoryItemProps): JSX.Element => {\r\n return (\r\n <div className='rf-mb-4 rf-flex rf-flex-col rf-justify-start rf-items-start rf-gap-4 rf-text-size-auto'>\r\n {/* Question */}\r\n {activity?.question && activity.question.type === 'message' && (\r\n <HistoryQA activity={activity.question} isQuestion={true} />\r\n )}\r\n\r\n {/* Answers */}\r\n {activity.answers.map((answer, j) => {\r\n return answer.type === 'message' ? (\r\n <HistoryQA key={j} activity={answer} isQuestion={false} />\r\n ) : (\r\n <React.Fragment />\r\n )\r\n })}\r\n </div>\r\n )\r\n}\r\n\r\nexport default HistoryItem\r\n","import React from 'react'\r\nimport { useLocaleStore } from '../Contexts/LocaleContext'\r\nimport { useViewStore } from '../Contexts/ViewContext'\r\nimport type { RetorikActivity } from '../../models/activityTypes'\r\nimport { getTextWithoutSpeechMarkdown } from '../../utils/speechMarkdownUtils'\r\nimport Attachments from '../Attachments/Attachments'\r\n\r\ninterface HistoryQAProps {\r\n activity: RetorikActivity\r\n isQuestion: boolean\r\n}\r\n\r\nconst HistoryQA = ({ activity, isQuestion }: HistoryQAProps): JSX.Element => {\r\n const locale = useLocaleStore((state) => state.locale)\r\n const isMobile = useViewStore((state) => state.isMobile)\r\n const time = activity.localTimestamp\r\n ? new Date(activity.localTimestamp)\r\n : activity.timestamp\r\n ? new Date(activity.timestamp)\r\n : new Date()\r\n\r\n return activity.text || !!activity.attachments?.length ? (\r\n <div\r\n className={`${\r\n isMobile ? 'rf-w-full' : 'rf-max-w-full'\r\n } rf-flex rf-flex-col rf-gap-1`}\r\n >\r\n {/* Time */}\r\n <div className='rf-text-[#9A9A9A]'>\r\n {time.toLocaleString(locale, {\r\n hour: 'numeric',\r\n minute: 'numeric'\r\n })}\r\n </div>\r\n\r\n {/* Question or Answer */}\r\n <div\r\n className={`${\r\n isQuestion\r\n ? 'rf-text-secondary'\r\n : 'rf-text-textModePanelConversationBot'\r\n }`}\r\n >\r\n {activity.htmlText ? (\r\n <div\r\n dangerouslySetInnerHTML={{\r\n __html: activity.htmlText\r\n }}\r\n />\r\n ) : activity.text ? (\r\n getTextWithoutSpeechMarkdown(activity.text)\r\n ) : (\r\n ''\r\n )}\r\n {/* Display attachments if there are some and the display mode wasn't a list */}\r\n {!!activity.attachments?.length &&\r\n !(\r\n activity.attachmentLayout &&\r\n activity.attachmentLayout.toLowerCase() === 'davilist'\r\n ) && (\r\n <div\r\n className={`rf-w-full rf-min-h-16 rf-overflow-x-hidden rf-overflow-y-auto ${\r\n activity.text && 'rf-pt-4'\r\n }`}\r\n >\r\n <Attachments activity={activity} history={true} />\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n ) : (\r\n <React.Fragment />\r\n )\r\n}\r\n\r\nexport default HistoryQA\r\n"],"names":[],"version":3,"file":"HistoryList.5fd6aa12.js.map"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
var $381Go$reactjsxruntime = require("react/jsx-runtime");
|
|
2
|
+
var $381Go$react = require("react");
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
function $parcel$interopDefault(a) {
|
|
6
|
+
return a && a.__esModule ? a.default : a;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
function $parcel$defineInteropFlag(a) {
|
|
10
|
+
Object.defineProperty(a, '__esModule', {value: true, configurable: true});
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function $parcel$export(e, n, v, s) {
|
|
14
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
var $parcel$global =
|
|
18
|
+
typeof globalThis !== 'undefined'
|
|
19
|
+
? globalThis
|
|
20
|
+
: typeof self !== 'undefined'
|
|
21
|
+
? self
|
|
22
|
+
: typeof window !== 'undefined'
|
|
23
|
+
? window
|
|
24
|
+
: typeof global !== 'undefined'
|
|
25
|
+
? global
|
|
26
|
+
: {};
|
|
27
|
+
var parcelRequire = $parcel$global["parcelRequirea39d"];
|
|
28
|
+
var parcelRegister = parcelRequire.register;
|
|
29
|
+
parcelRegister("cMcsq", function(module, exports) {
|
|
30
|
+
|
|
31
|
+
$parcel$defineInteropFlag(module.exports);
|
|
32
|
+
|
|
33
|
+
$parcel$export(module.exports, "default", () => $6bd994e5ef61a032$export$2e2bcd8739ae039);
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
var $6Q0mk = parcelRequire("6Q0mk");
|
|
38
|
+
|
|
39
|
+
var $7eio0 = parcelRequire("7eio0");
|
|
40
|
+
|
|
41
|
+
var $6EkQS = parcelRequire("6EkQS");
|
|
42
|
+
|
|
43
|
+
var $6QoTL = parcelRequire("6QoTL");
|
|
44
|
+
|
|
45
|
+
var $exo5b = parcelRequire("exo5b");
|
|
46
|
+
|
|
47
|
+
var $7WHA7 = parcelRequire("7WHA7");
|
|
48
|
+
|
|
49
|
+
var $9JtA7 = parcelRequire("9JtA7");
|
|
50
|
+
|
|
51
|
+
var $a3uH3 = parcelRequire("a3uH3");
|
|
52
|
+
|
|
53
|
+
var $fpnh0 = parcelRequire("fpnh0");
|
|
54
|
+
const $6bd994e5ef61a032$var$LanguageChoice = ()=>{
|
|
55
|
+
const translation = (0, $6Q0mk.useLocaleStore)((state)=>state.currentTranslations);
|
|
56
|
+
const locale = (0, $6Q0mk.useLocaleStore)((state)=>state.locale);
|
|
57
|
+
const supported = (0, $6Q0mk.useLocaleStore)((state)=>state.supported);
|
|
58
|
+
const skipWelcome = (0, $6EkQS.useRetorikStore)((state)=>state.configuration.skipWelcome);
|
|
59
|
+
const setCurrentSubView = (0, $7eio0.useUtilsStore)((state)=>state.actions.setCurrentSubView);
|
|
60
|
+
const setLocale = (0, $6Q0mk.useLocaleStore)((state)=>state.actions.setLocale);
|
|
61
|
+
const sendEvent = (0, $6QoTL.useDirectlineStore)((state)=>state.actions.sendEvent);
|
|
62
|
+
const [currentLanguage, setCurrentLanguage] = (0, $381Go$react.useState)(locale);
|
|
63
|
+
const handleClose = (changed)=>{
|
|
64
|
+
setCurrentSubView((0, $7WHA7.CurrentSubView).none);
|
|
65
|
+
// Only send events when language has not been changed, either way it will collide with the TriggerWelcome event
|
|
66
|
+
if (!changed) {
|
|
67
|
+
sendEvent('Davi.CloseWindow', null);
|
|
68
|
+
sendEvent('Davi.CloseWindowLanguages', null);
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
const handleChange = (language)=>{
|
|
72
|
+
setCurrentLanguage(language);
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Change current locale with the one selected if they are different.
|
|
76
|
+
* Send a 'TriggerWelcome' event to get the welcome message in the new language.
|
|
77
|
+
* @param language string
|
|
78
|
+
*/ const handleSelect = (language)=>{
|
|
79
|
+
const changed = language !== locale;
|
|
80
|
+
if (changed) {
|
|
81
|
+
setLocale(language);
|
|
82
|
+
!skipWelcome && setTimeout(()=>{
|
|
83
|
+
sendEvent('TriggerWelcome', undefined);
|
|
84
|
+
}, 150);
|
|
85
|
+
}
|
|
86
|
+
handleClose(changed);
|
|
87
|
+
};
|
|
88
|
+
return /*#__PURE__*/ (0, $381Go$reactjsxruntime.jsxs)((0, $a3uH3.SubMenuClosing), {
|
|
89
|
+
handleClose: ()=>handleClose(false),
|
|
90
|
+
children: [
|
|
91
|
+
/*#__PURE__*/ (0, $381Go$reactjsxruntime.jsx)("div", {
|
|
92
|
+
className: "large:rf-mt-[20vh] large-tactile:rf-mt-0 rf-title-bold-size-auto rf-font-bold",
|
|
93
|
+
children: (0, $9JtA7.capitalizeFirstLetter)(translation.language.change, locale)
|
|
94
|
+
}),
|
|
95
|
+
/*#__PURE__*/ (0, $381Go$reactjsxruntime.jsx)("div", {
|
|
96
|
+
className: "rf-text-lightgray rf-pt-1 rf-pb-2",
|
|
97
|
+
children: (0, $9JtA7.capitalizeFirstLetter)(translation.language.select, locale)
|
|
98
|
+
}),
|
|
99
|
+
supported.map((language, key)=>{
|
|
100
|
+
return /*#__PURE__*/ (0, $381Go$reactjsxruntime.jsx)("div", {
|
|
101
|
+
className: `rf-w-full rf-py-4 rf-border-t rf-border-t-menuBorder ${key === 0 && 'large:rf-border-t-0'}`,
|
|
102
|
+
children: /*#__PURE__*/ (0, $381Go$reactjsxruntime.jsx)((0, $fpnh0.Radio), {
|
|
103
|
+
title: (0, (/*@__PURE__*/$parcel$interopDefault($exo5b)))[language],
|
|
104
|
+
checked: language === currentLanguage,
|
|
105
|
+
handleChange: ()=>handleChange(language)
|
|
106
|
+
})
|
|
107
|
+
}, key);
|
|
108
|
+
}),
|
|
109
|
+
/*#__PURE__*/ (0, $381Go$reactjsxruntime.jsx)("div", {
|
|
110
|
+
className: "rf-w-full rf-mt-8 rf-flex rf-justify-center",
|
|
111
|
+
children: /*#__PURE__*/ (0, $381Go$reactjsxruntime.jsx)("button", {
|
|
112
|
+
className: "rf-px-8 rf-py-3 rf-text-secondary rf-font-bold rf-border-2 rf-border-secondary rf-rounded-lg",
|
|
113
|
+
onClick: ()=>handleSelect(currentLanguage),
|
|
114
|
+
children: (0, $9JtA7.capitalizeFirstLetter)(translation.common.validate, locale)
|
|
115
|
+
})
|
|
116
|
+
})
|
|
117
|
+
]
|
|
118
|
+
});
|
|
119
|
+
};
|
|
120
|
+
var $6bd994e5ef61a032$export$2e2bcd8739ae039 = $6bd994e5ef61a032$var$LanguageChoice;
|
|
121
|
+
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
//# sourceMappingURL=LanguageChoice.1579b654.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,MAAM,uCAAiB;IACrB,MAAM,cAAc,CAAA,GAAA,qBAAa,EAAE,CAAC,QAAU,MAAM,mBAAmB;IACvE,MAAM,SAAS,CAAA,GAAA,qBAAa,EAAE,CAAC,QAAU,MAAM,MAAM;IACrD,MAAM,YAAY,CAAA,GAAA,qBAAa,EAAE,CAAC,QAAU,MAAM,SAAS;IAC3D,MAAM,cAAc,CAAA,GAAA,sBAAc,EAAE,CAAC,QAAU,MAAM,aAAa,CAAC,WAAW;IAC9E,MAAM,oBAAoB,CAAA,GAAA,oBAAY,EAAE,CAAC,QAAU,MAAM,OAAO,CAAC,iBAAiB;IAClF,MAAM,YAAY,CAAA,GAAA,qBAAa,EAAE,CAAC,QAAU,MAAM,OAAO,CAAC,SAAS;IACnE,MAAM,YAAY,CAAA,GAAA,yBAAiB,EAAE,CAAC,QAAU,MAAM,OAAO,CAAC,SAAS;IAEvE,MAAM,CAAC,iBAAiB,mBAAmB,GAAG,CAAA,GAAA,qBAAO,EAAU;IAE/D,MAAM,cAAc,CAAC;QACnB,kBAAkB,CAAA,GAAA,qBAAa,EAAE,IAAI;QAErC,gHAAgH;QAChH,IAAI,CAAC,SAAS;YACZ,UAAU,oBAAoB;YAC9B,UAAU,6BAA6B;QACzC;IACF;IAEA,MAAM,eAAe,CAAC;QACpB,mBAAmB;IACrB;IAEA;;;;GAIC,GACD,MAAM,eAAe,CAAC;QACpB,MAAM,UAAU,aAAa;QAC7B,IAAI,SAAS;YACX,UAAU;YACV,CAAC,eACC,WAAW;gBACT,UAAU,kBAAkB;YAC9B,GAAG;QACP;QAEA,YAAY;IACd;IAEA,qBACE,iCAAC,CAAA,GAAA,qBAAO;QAAE,aAAa,IAAM,YAAY;;0BAEvC,gCAAC;gBAAI,WAAU;0BAAiF,CAAA,GAAA,4BAAoB,EAAE,YAAY,QAAQ,CAAC,MAAM,EAAE;;0BAGnJ,gCAAC;gBAAI,WAAU;0BAAqC,CAAA,GAAA,4BAAoB,EAAE,YAAY,QAAQ,CAAC,MAAM,EAAE;;YAGtG,UAAU,GAAG,CAAC,CAAC,UAAU;gBACxB,qBACE,gCAAC;oBAAc,WAAW,CAAC,qDAAqD,EAAE,QAAQ,KAAK,uBAAuB;8BACpH,cAAA,gCAAC,CAAA,GAAA,YAAI;wBAAE,OAAO,CAAA,GAAA,6CAAqB,CAAC,CAAC,SAAS;wBAAE,SAAS,aAAa;wBAAiB,cAAc,IAAY,aAAa;;mBADtH;YAId;0BAGA,gCAAC;gBAAI,WAAU;0BACb,cAAA,gCAAC;oBAAO,WAAU;oBAA+F,SAAS,IAAY,aAAa;8BAChJ,CAAA,GAAA,4BAAoB,EAAE,YAAY,MAAM,CAAC,QAAQ,EAAE;;;;;AAK9D;IAEA,2CAAe","sources":["src/components/Language/LanguageChoice.tsx"],"sourcesContent":["import React, { useState } from 'react'\r\nimport { useLocaleStore } from '../Contexts/LocaleContext'\r\nimport { useUtilsStore } from '../Contexts/UtilsContext'\r\nimport { useRetorikStore } from '../Contexts/RetorikContext'\r\nimport { useDirectlineStore } from '../Contexts/DirectlineContext'\r\n\r\nimport languageInMotherTongue from '../../translations/languageCodeToMotherTongue.json'\r\nimport { CurrentSubView } from '../../models/enums'\r\nimport { capitalizeFirstLetter } from '../../utils/capitalizeFirstLetter'\r\n\r\nimport { SubMenuClosing as Template } from '../Templates'\r\nimport { Radio } from '../Utils'\r\n\r\nconst LanguageChoice = (): JSX.Element => {\r\n const translation = useLocaleStore((state) => state.currentTranslations)\r\n const locale = useLocaleStore((state) => state.locale)\r\n const supported = useLocaleStore((state) => state.supported)\r\n const skipWelcome = useRetorikStore((state) => state.configuration.skipWelcome)\r\n const setCurrentSubView = useUtilsStore((state) => state.actions.setCurrentSubView)\r\n const setLocale = useLocaleStore((state) => state.actions.setLocale)\r\n const sendEvent = useDirectlineStore((state) => state.actions.sendEvent)\r\n\r\n const [currentLanguage, setCurrentLanguage] = useState<string>(locale)\r\n\r\n const handleClose = (changed?: boolean): void => {\r\n setCurrentSubView(CurrentSubView.none)\r\n\r\n // Only send events when language has not been changed, either way it will collide with the TriggerWelcome event\r\n if (!changed) {\r\n sendEvent('Davi.CloseWindow', null)\r\n sendEvent('Davi.CloseWindowLanguages', null)\r\n }\r\n }\r\n\r\n const handleChange = (language: string): void => {\r\n setCurrentLanguage(language)\r\n }\r\n\r\n /**\r\n * Change current locale with the one selected if they are different.\r\n * Send a 'TriggerWelcome' event to get the welcome message in the new language.\r\n * @param language string\r\n */\r\n const handleSelect = (language: string): void => {\r\n const changed = language !== locale\r\n if (changed) {\r\n setLocale(language)\r\n !skipWelcome &&\r\n setTimeout(() => {\r\n sendEvent('TriggerWelcome', undefined)\r\n }, 150)\r\n }\r\n\r\n handleClose(changed)\r\n }\r\n\r\n return (\r\n <Template handleClose={() => handleClose(false)}>\r\n {/* Title */}\r\n <div className='large:rf-mt-[20vh] large-tactile:rf-mt-0 rf-title-bold-size-auto rf-font-bold'>{capitalizeFirstLetter(translation.language.change, locale)}</div>\r\n\r\n {/* Subtitle */}\r\n <div className='rf-text-lightgray rf-pt-1 rf-pb-2'>{capitalizeFirstLetter(translation.language.select, locale)}</div>\r\n\r\n {/* Languages */}\r\n {supported.map((language, key) => {\r\n return (\r\n <div key={key} className={`rf-w-full rf-py-4 rf-border-t rf-border-t-menuBorder ${key === 0 && 'large:rf-border-t-0'}`}>\r\n <Radio title={languageInMotherTongue[language]} checked={language === currentLanguage} handleChange={(): void => handleChange(language)} />\r\n </div>\r\n )\r\n })}\r\n\r\n {/* Validation button */}\r\n <div className='rf-w-full rf-mt-8 rf-flex rf-justify-center'>\r\n <button className='rf-px-8 rf-py-3 rf-text-secondary rf-font-bold rf-border-2 rf-border-secondary rf-rounded-lg' onClick={(): void => handleSelect(currentLanguage)}>\r\n {capitalizeFirstLetter(translation.common.validate, locale)}\r\n </button>\r\n </div>\r\n </Template>\r\n )\r\n}\r\n\r\nexport default LanguageChoice\r\n"],"names":[],"version":3,"file":"LanguageChoice.1579b654.js.map","sourceRoot":"../"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import {jsxs as $9NOUt$jsxs, jsx as $9NOUt$jsx} from "react/jsx-runtime";
|
|
2
|
+
import {useState as $9NOUt$useState} from "react";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
function $parcel$interopDefault(a) {
|
|
6
|
+
return a && a.__esModule ? a.default : a;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
function $parcel$defineInteropFlag(a) {
|
|
10
|
+
Object.defineProperty(a, '__esModule', {value: true, configurable: true});
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function $parcel$export(e, n, v, s) {
|
|
14
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
var $parcel$global = globalThis;
|
|
18
|
+
var parcelRequire = $parcel$global["parcelRequirea39d"];
|
|
19
|
+
var parcelRegister = parcelRequire.register;
|
|
20
|
+
parcelRegister("4HBCW", function(module, exports) {
|
|
21
|
+
|
|
22
|
+
$parcel$defineInteropFlag(module.exports);
|
|
23
|
+
|
|
24
|
+
$parcel$export(module.exports, "default", () => $4545a6dcb65287bd$export$2e2bcd8739ae039);
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
var $2fuDN = parcelRequire("2fuDN");
|
|
29
|
+
|
|
30
|
+
var $j67YK = parcelRequire("j67YK");
|
|
31
|
+
|
|
32
|
+
var $1x02c = parcelRequire("1x02c");
|
|
33
|
+
|
|
34
|
+
var $aNpqK = parcelRequire("aNpqK");
|
|
35
|
+
|
|
36
|
+
var $8dUAa = parcelRequire("8dUAa");
|
|
37
|
+
|
|
38
|
+
var $4ucVo = parcelRequire("4ucVo");
|
|
39
|
+
|
|
40
|
+
var $7pypd = parcelRequire("7pypd");
|
|
41
|
+
|
|
42
|
+
var $gQ55S = parcelRequire("gQ55S");
|
|
43
|
+
|
|
44
|
+
var $9lsRd = parcelRequire("9lsRd");
|
|
45
|
+
const $4545a6dcb65287bd$var$LanguageChoice = ()=>{
|
|
46
|
+
const translation = (0, $2fuDN.useLocaleStore)((state)=>state.currentTranslations);
|
|
47
|
+
const locale = (0, $2fuDN.useLocaleStore)((state)=>state.locale);
|
|
48
|
+
const supported = (0, $2fuDN.useLocaleStore)((state)=>state.supported);
|
|
49
|
+
const skipWelcome = (0, $1x02c.useRetorikStore)((state)=>state.configuration.skipWelcome);
|
|
50
|
+
const setCurrentSubView = (0, $j67YK.useUtilsStore)((state)=>state.actions.setCurrentSubView);
|
|
51
|
+
const setLocale = (0, $2fuDN.useLocaleStore)((state)=>state.actions.setLocale);
|
|
52
|
+
const sendEvent = (0, $aNpqK.useDirectlineStore)((state)=>state.actions.sendEvent);
|
|
53
|
+
const [currentLanguage, setCurrentLanguage] = (0, $9NOUt$useState)(locale);
|
|
54
|
+
const handleClose = (changed)=>{
|
|
55
|
+
setCurrentSubView((0, $4ucVo.CurrentSubView).none);
|
|
56
|
+
// Only send events when language has not been changed, either way it will collide with the TriggerWelcome event
|
|
57
|
+
if (!changed) {
|
|
58
|
+
sendEvent('Davi.CloseWindow', null);
|
|
59
|
+
sendEvent('Davi.CloseWindowLanguages', null);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
const handleChange = (language)=>{
|
|
63
|
+
setCurrentLanguage(language);
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Change current locale with the one selected if they are different.
|
|
67
|
+
* Send a 'TriggerWelcome' event to get the welcome message in the new language.
|
|
68
|
+
* @param language string
|
|
69
|
+
*/ const handleSelect = (language)=>{
|
|
70
|
+
const changed = language !== locale;
|
|
71
|
+
if (changed) {
|
|
72
|
+
setLocale(language);
|
|
73
|
+
!skipWelcome && setTimeout(()=>{
|
|
74
|
+
sendEvent('TriggerWelcome', undefined);
|
|
75
|
+
}, 150);
|
|
76
|
+
}
|
|
77
|
+
handleClose(changed);
|
|
78
|
+
};
|
|
79
|
+
return /*#__PURE__*/ (0, $9NOUt$jsxs)((0, $gQ55S.SubMenuClosing), {
|
|
80
|
+
handleClose: ()=>handleClose(false),
|
|
81
|
+
children: [
|
|
82
|
+
/*#__PURE__*/ (0, $9NOUt$jsx)("div", {
|
|
83
|
+
className: "large:rf-mt-[20vh] large-tactile:rf-mt-0 rf-title-bold-size-auto rf-font-bold",
|
|
84
|
+
children: (0, $7pypd.capitalizeFirstLetter)(translation.language.change, locale)
|
|
85
|
+
}),
|
|
86
|
+
/*#__PURE__*/ (0, $9NOUt$jsx)("div", {
|
|
87
|
+
className: "rf-text-lightgray rf-pt-1 rf-pb-2",
|
|
88
|
+
children: (0, $7pypd.capitalizeFirstLetter)(translation.language.select, locale)
|
|
89
|
+
}),
|
|
90
|
+
supported.map((language, key)=>{
|
|
91
|
+
return /*#__PURE__*/ (0, $9NOUt$jsx)("div", {
|
|
92
|
+
className: `rf-w-full rf-py-4 rf-border-t rf-border-t-menuBorder ${key === 0 && 'large:rf-border-t-0'}`,
|
|
93
|
+
children: /*#__PURE__*/ (0, $9NOUt$jsx)((0, $9lsRd.Radio), {
|
|
94
|
+
title: (0, (/*@__PURE__*/$parcel$interopDefault($8dUAa)))[language],
|
|
95
|
+
checked: language === currentLanguage,
|
|
96
|
+
handleChange: ()=>handleChange(language)
|
|
97
|
+
})
|
|
98
|
+
}, key);
|
|
99
|
+
}),
|
|
100
|
+
/*#__PURE__*/ (0, $9NOUt$jsx)("div", {
|
|
101
|
+
className: "rf-w-full rf-mt-8 rf-flex rf-justify-center",
|
|
102
|
+
children: /*#__PURE__*/ (0, $9NOUt$jsx)("button", {
|
|
103
|
+
className: "rf-px-8 rf-py-3 rf-text-secondary rf-font-bold rf-border-2 rf-border-secondary rf-rounded-lg",
|
|
104
|
+
onClick: ()=>handleSelect(currentLanguage),
|
|
105
|
+
children: (0, $7pypd.capitalizeFirstLetter)(translation.common.validate, locale)
|
|
106
|
+
})
|
|
107
|
+
})
|
|
108
|
+
]
|
|
109
|
+
});
|
|
110
|
+
};
|
|
111
|
+
var $4545a6dcb65287bd$export$2e2bcd8739ae039 = $4545a6dcb65287bd$var$LanguageChoice;
|
|
112
|
+
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
//# sourceMappingURL=LanguageChoice.61e36c1d.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,MAAM,uCAAiB;IACrB,MAAM,cAAc,CAAA,GAAA,qBAAa,EAAE,CAAC,QAAU,MAAM,mBAAmB;IACvE,MAAM,SAAS,CAAA,GAAA,qBAAa,EAAE,CAAC,QAAU,MAAM,MAAM;IACrD,MAAM,YAAY,CAAA,GAAA,qBAAa,EAAE,CAAC,QAAU,MAAM,SAAS;IAC3D,MAAM,cAAc,CAAA,GAAA,sBAAc,EAAE,CAAC,QAAU,MAAM,aAAa,CAAC,WAAW;IAC9E,MAAM,oBAAoB,CAAA,GAAA,oBAAY,EAAE,CAAC,QAAU,MAAM,OAAO,CAAC,iBAAiB;IAClF,MAAM,YAAY,CAAA,GAAA,qBAAa,EAAE,CAAC,QAAU,MAAM,OAAO,CAAC,SAAS;IACnE,MAAM,YAAY,CAAA,GAAA,yBAAiB,EAAE,CAAC,QAAU,MAAM,OAAO,CAAC,SAAS;IAEvE,MAAM,CAAC,iBAAiB,mBAAmB,GAAG,CAAA,GAAA,eAAO,EAAU;IAE/D,MAAM,cAAc,CAAC;QACnB,kBAAkB,CAAA,GAAA,qBAAa,EAAE,IAAI;QAErC,gHAAgH;QAChH,IAAI,CAAC,SAAS;YACZ,UAAU,oBAAoB;YAC9B,UAAU,6BAA6B;QACzC;IACF;IAEA,MAAM,eAAe,CAAC;QACpB,mBAAmB;IACrB;IAEA;;;;GAIC,GACD,MAAM,eAAe,CAAC;QACpB,MAAM,UAAU,aAAa;QAC7B,IAAI,SAAS;YACX,UAAU;YACV,CAAC,eACC,WAAW;gBACT,UAAU,kBAAkB;YAC9B,GAAG;QACP;QAEA,YAAY;IACd;IAEA,qBACE,iBAAC,CAAA,GAAA,qBAAO;QAAE,aAAa,IAAM,YAAY;;0BAEvC,gBAAC;gBAAI,WAAU;0BAAiF,CAAA,GAAA,4BAAoB,EAAE,YAAY,QAAQ,CAAC,MAAM,EAAE;;0BAGnJ,gBAAC;gBAAI,WAAU;0BAAqC,CAAA,GAAA,4BAAoB,EAAE,YAAY,QAAQ,CAAC,MAAM,EAAE;;YAGtG,UAAU,GAAG,CAAC,CAAC,UAAU;gBACxB,qBACE,gBAAC;oBAAc,WAAW,CAAC,qDAAqD,EAAE,QAAQ,KAAK,uBAAuB;8BACpH,cAAA,gBAAC,CAAA,GAAA,YAAI;wBAAE,OAAO,CAAA,GAAA,6CAAqB,CAAC,CAAC,SAAS;wBAAE,SAAS,aAAa;wBAAiB,cAAc,IAAY,aAAa;;mBADtH;YAId;0BAGA,gBAAC;gBAAI,WAAU;0BACb,cAAA,gBAAC;oBAAO,WAAU;oBAA+F,SAAS,IAAY,aAAa;8BAChJ,CAAA,GAAA,4BAAoB,EAAE,YAAY,MAAM,CAAC,QAAQ,EAAE;;;;;AAK9D;IAEA,2CAAe","sources":["src/components/Language/LanguageChoice.tsx"],"sourcesContent":["import React, { useState } from 'react'\r\nimport { useLocaleStore } from '../Contexts/LocaleContext'\r\nimport { useUtilsStore } from '../Contexts/UtilsContext'\r\nimport { useRetorikStore } from '../Contexts/RetorikContext'\r\nimport { useDirectlineStore } from '../Contexts/DirectlineContext'\r\n\r\nimport languageInMotherTongue from '../../translations/languageCodeToMotherTongue.json'\r\nimport { CurrentSubView } from '../../models/enums'\r\nimport { capitalizeFirstLetter } from '../../utils/capitalizeFirstLetter'\r\n\r\nimport { SubMenuClosing as Template } from '../Templates'\r\nimport { Radio } from '../Utils'\r\n\r\nconst LanguageChoice = (): JSX.Element => {\r\n const translation = useLocaleStore((state) => state.currentTranslations)\r\n const locale = useLocaleStore((state) => state.locale)\r\n const supported = useLocaleStore((state) => state.supported)\r\n const skipWelcome = useRetorikStore((state) => state.configuration.skipWelcome)\r\n const setCurrentSubView = useUtilsStore((state) => state.actions.setCurrentSubView)\r\n const setLocale = useLocaleStore((state) => state.actions.setLocale)\r\n const sendEvent = useDirectlineStore((state) => state.actions.sendEvent)\r\n\r\n const [currentLanguage, setCurrentLanguage] = useState<string>(locale)\r\n\r\n const handleClose = (changed?: boolean): void => {\r\n setCurrentSubView(CurrentSubView.none)\r\n\r\n // Only send events when language has not been changed, either way it will collide with the TriggerWelcome event\r\n if (!changed) {\r\n sendEvent('Davi.CloseWindow', null)\r\n sendEvent('Davi.CloseWindowLanguages', null)\r\n }\r\n }\r\n\r\n const handleChange = (language: string): void => {\r\n setCurrentLanguage(language)\r\n }\r\n\r\n /**\r\n * Change current locale with the one selected if they are different.\r\n * Send a 'TriggerWelcome' event to get the welcome message in the new language.\r\n * @param language string\r\n */\r\n const handleSelect = (language: string): void => {\r\n const changed = language !== locale\r\n if (changed) {\r\n setLocale(language)\r\n !skipWelcome &&\r\n setTimeout(() => {\r\n sendEvent('TriggerWelcome', undefined)\r\n }, 150)\r\n }\r\n\r\n handleClose(changed)\r\n }\r\n\r\n return (\r\n <Template handleClose={() => handleClose(false)}>\r\n {/* Title */}\r\n <div className='large:rf-mt-[20vh] large-tactile:rf-mt-0 rf-title-bold-size-auto rf-font-bold'>{capitalizeFirstLetter(translation.language.change, locale)}</div>\r\n\r\n {/* Subtitle */}\r\n <div className='rf-text-lightgray rf-pt-1 rf-pb-2'>{capitalizeFirstLetter(translation.language.select, locale)}</div>\r\n\r\n {/* Languages */}\r\n {supported.map((language, key) => {\r\n return (\r\n <div key={key} className={`rf-w-full rf-py-4 rf-border-t rf-border-t-menuBorder ${key === 0 && 'large:rf-border-t-0'}`}>\r\n <Radio title={languageInMotherTongue[language]} checked={language === currentLanguage} handleChange={(): void => handleChange(language)} />\r\n </div>\r\n )\r\n })}\r\n\r\n {/* Validation button */}\r\n <div className='rf-w-full rf-mt-8 rf-flex rf-justify-center'>\r\n <button className='rf-px-8 rf-py-3 rf-text-secondary rf-font-bold rf-border-2 rf-border-secondary rf-rounded-lg' onClick={(): void => handleSelect(currentLanguage)}>\r\n {capitalizeFirstLetter(translation.common.validate, locale)}\r\n </button>\r\n </div>\r\n </Template>\r\n )\r\n}\r\n\r\nexport default LanguageChoice\r\n"],"names":[],"version":3,"file":"LanguageChoice.61e36c1d.js.map"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
var $2zHso$reactjsxruntime = require("react/jsx-runtime");
|
|
2
|
+
var $2zHso$react = require("react");
|
|
3
|
+
var $2zHso$daviairetorikweather = require("@davi-ai/retorik-weather");
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
function $parcel$interopDefault(a) {
|
|
7
|
+
return a && a.__esModule ? a.default : a;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
function $parcel$defineInteropFlag(a) {
|
|
11
|
+
Object.defineProperty(a, '__esModule', {value: true, configurable: true});
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function $parcel$export(e, n, v, s) {
|
|
15
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
var $parcel$global =
|
|
19
|
+
typeof globalThis !== 'undefined'
|
|
20
|
+
? globalThis
|
|
21
|
+
: typeof self !== 'undefined'
|
|
22
|
+
? self
|
|
23
|
+
: typeof window !== 'undefined'
|
|
24
|
+
? window
|
|
25
|
+
: typeof global !== 'undefined'
|
|
26
|
+
? global
|
|
27
|
+
: {};
|
|
28
|
+
var parcelRequire = $parcel$global["parcelRequirea39d"];
|
|
29
|
+
var parcelRegister = parcelRequire.register;
|
|
30
|
+
parcelRegister("abStA", function(module, exports) {
|
|
31
|
+
|
|
32
|
+
$parcel$defineInteropFlag(module.exports);
|
|
33
|
+
|
|
34
|
+
$parcel$export(module.exports, "default", () => $720db0c2597b8087$export$2e2bcd8739ae039);
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
var $6EkQS = parcelRequire("6EkQS");
|
|
40
|
+
const $720db0c2597b8087$var$LittleWeatherContainer = ()=>{
|
|
41
|
+
const position = (0, $6EkQS.useRetorikStore)((state)=>state.configuration.position);
|
|
42
|
+
return (position === null || position === void 0 ? void 0 : position.latitude) && position.longitude ? /*#__PURE__*/ (0, $2zHso$reactjsxruntime.jsx)("div", {
|
|
43
|
+
className: "rf-absolute rf-top-8 rf-right-12",
|
|
44
|
+
children: /*#__PURE__*/ (0, $2zHso$reactjsxruntime.jsx)((0, $2zHso$daviairetorikweather.LittleWeather), {
|
|
45
|
+
position: {
|
|
46
|
+
latitude: position === null || position === void 0 ? void 0 : position.latitude,
|
|
47
|
+
longitude: position.longitude
|
|
48
|
+
}
|
|
49
|
+
})
|
|
50
|
+
}) : /*#__PURE__*/ (0, $2zHso$reactjsxruntime.jsx)((0, ($parcel$interopDefault($2zHso$react))).Fragment, {});
|
|
51
|
+
};
|
|
52
|
+
var $720db0c2597b8087$export$2e2bcd8739ae039 = $720db0c2597b8087$var$LittleWeatherContainer;
|
|
53
|
+
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
//# sourceMappingURL=LittleWeatherContainer.07937cf3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM,+CAAyB;IAC7B,MAAM,WAAW,CAAA,GAAA,sBAAc,EAAE,CAAC,QAAU,MAAM,aAAa,CAAC,QAAQ;IAExE,OAAO,CAAA,qBAAA,+BAAA,SAAU,QAAQ,KAAI,SAAS,SAAS,iBAC7C,gCAAC;QAAI,WAAU;kBACb,cAAA,gCAAC,CAAA,GAAA,yCAAY;YACX,UAAU;gBACR,QAAQ,EAAE,qBAAA,+BAAA,SAAU,QAAQ;gBAC5B,WAAW,SAAS,SAAS;YAC/B;;uBAIJ,gCAAC,CAAA,GAAA,sCAAI,EAAE,QAAQ;AAEnB;IAEA,2CAAe","sources":["src/components/Weather/LittleWeatherContainer.tsx"],"sourcesContent":["import React from 'react'\r\n// @ts-ignore\r\nimport { LittleWeather } from '@davi-ai/retorik-weather'\r\nimport { useRetorikStore } from '../Contexts/RetorikContext'\r\n\r\nconst LittleWeatherContainer = (): JSX.Element => {\r\n const position = useRetorikStore((state) => state.configuration.position)\r\n\r\n return position?.latitude && position.longitude ? (\r\n <div className='rf-absolute rf-top-8 rf-right-12'>\r\n <LittleWeather\r\n position={{\r\n latitude: position?.latitude,\r\n longitude: position.longitude\r\n }}\r\n />\r\n </div>\r\n ) : (\r\n <React.Fragment />\r\n )\r\n}\r\n\r\nexport default LittleWeatherContainer\r\n"],"names":[],"version":3,"file":"LittleWeatherContainer.07937cf3.js.map","sourceRoot":"../"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import {jsx as $e3Bg1$jsx} from "react/jsx-runtime";
|
|
2
|
+
import $e3Bg1$react from "react";
|
|
3
|
+
import {LittleWeather as $e3Bg1$LittleWeather} from "@davi-ai/retorik-weather";
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
function $parcel$defineInteropFlag(a) {
|
|
7
|
+
Object.defineProperty(a, '__esModule', {value: true, configurable: true});
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
function $parcel$export(e, n, v, s) {
|
|
11
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
var $parcel$global = globalThis;
|
|
15
|
+
var parcelRequire = $parcel$global["parcelRequirea39d"];
|
|
16
|
+
var parcelRegister = parcelRequire.register;
|
|
17
|
+
parcelRegister("fHvs2", function(module, exports) {
|
|
18
|
+
|
|
19
|
+
$parcel$defineInteropFlag(module.exports);
|
|
20
|
+
|
|
21
|
+
$parcel$export(module.exports, "default", () => $6d2ce7f2333e28f1$export$2e2bcd8739ae039);
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
var $1x02c = parcelRequire("1x02c");
|
|
27
|
+
const $6d2ce7f2333e28f1$var$LittleWeatherContainer = ()=>{
|
|
28
|
+
const position = (0, $1x02c.useRetorikStore)((state)=>state.configuration.position);
|
|
29
|
+
return position?.latitude && position.longitude ? /*#__PURE__*/ (0, $e3Bg1$jsx)("div", {
|
|
30
|
+
className: "rf-absolute rf-top-8 rf-right-12",
|
|
31
|
+
children: /*#__PURE__*/ (0, $e3Bg1$jsx)((0, $e3Bg1$LittleWeather), {
|
|
32
|
+
position: {
|
|
33
|
+
latitude: position?.latitude,
|
|
34
|
+
longitude: position.longitude
|
|
35
|
+
}
|
|
36
|
+
})
|
|
37
|
+
}) : /*#__PURE__*/ (0, $e3Bg1$jsx)((0, $e3Bg1$react).Fragment, {});
|
|
38
|
+
};
|
|
39
|
+
var $6d2ce7f2333e28f1$export$2e2bcd8739ae039 = $6d2ce7f2333e28f1$var$LittleWeatherContainer;
|
|
40
|
+
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
//# sourceMappingURL=LittleWeatherContainer.d27a6b8a.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM,+CAAyB;IAC7B,MAAM,WAAW,CAAA,GAAA,sBAAc,EAAE,CAAC,QAAU,MAAM,aAAa,CAAC,QAAQ;IAExE,OAAO,UAAU,YAAY,SAAS,SAAS,iBAC7C,gBAAC;QAAI,WAAU;kBACb,cAAA,gBAAC,CAAA,GAAA,oBAAY;YACX,UAAU;gBACR,UAAU,UAAU;gBACpB,WAAW,SAAS,SAAS;YAC/B;;uBAIJ,gBAAC,CAAA,GAAA,YAAI,EAAE,QAAQ;AAEnB;IAEA,2CAAe","sources":["src/components/Weather/LittleWeatherContainer.tsx"],"sourcesContent":["import React from 'react'\r\n// @ts-ignore\r\nimport { LittleWeather } from '@davi-ai/retorik-weather'\r\nimport { useRetorikStore } from '../Contexts/RetorikContext'\r\n\r\nconst LittleWeatherContainer = (): JSX.Element => {\r\n const position = useRetorikStore((state) => state.configuration.position)\r\n\r\n return position?.latitude && position.longitude ? (\r\n <div className='rf-absolute rf-top-8 rf-right-12'>\r\n <LittleWeather\r\n position={{\r\n latitude: position?.latitude,\r\n longitude: position.longitude\r\n }}\r\n />\r\n </div>\r\n ) : (\r\n <React.Fragment />\r\n )\r\n}\r\n\r\nexport default LittleWeatherContainer\r\n"],"names":[],"version":3,"file":"LittleWeatherContainer.d27a6b8a.js.map"}
|