@davi-ai/retorik-framework 3.2.3 → 3.2.5
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 → AttachmentDetail.0a576bf3.js} +12 -13
- package/dist/AttachmentDetail.0a576bf3.js.map +1 -0
- package/dist/{AttachmentDetail.c6c297df.js → AttachmentDetail.c4286a45.js} +12 -13
- package/dist/AttachmentDetail.c4286a45.js.map +1 -0
- package/dist/{CustomView.90d2a13d.js → CustomView.913a9f32.js} +6 -7
- package/dist/CustomView.913a9f32.js.map +1 -0
- package/dist/{CustomView.080c8028.js → CustomView.edf84de1.js} +6 -7
- package/dist/CustomView.edf84de1.js.map +1 -0
- package/dist/{Emergency.a21f837c.js → Emergency.0cf005ce.js} +2 -3
- package/dist/Emergency.0cf005ce.js.map +1 -0
- package/dist/{Emergency.423214ad.js → Emergency.897ee3c7.js} +2 -3
- package/dist/Emergency.897ee3c7.js.map +1 -0
- package/dist/{HistoryList.5fd6aa12.js → HistoryList.03a56119.js} +3 -7
- package/dist/HistoryList.03a56119.js.map +1 -0
- package/dist/{HistoryList.50ff0fd9.js → HistoryList.4c303dc6.js} +3 -7
- package/dist/HistoryList.4c303dc6.js.map +1 -0
- package/dist/{LanguageChoice.61e36c1d.js → LanguageChoice.623ee802.js} +2 -5
- package/dist/LanguageChoice.623ee802.js.map +1 -0
- package/dist/{LanguageChoice.1579b654.js → LanguageChoice.ff0cd04c.js} +2 -5
- package/dist/LanguageChoice.ff0cd04c.js.map +1 -0
- package/dist/{NewsContainer.932174e9.js → NewsContainer.a91d9131.js} +17 -14
- package/dist/NewsContainer.a91d9131.js.map +1 -0
- package/dist/{NewsContainer.67f04b19.js → NewsContainer.f0d2ee9c.js} +17 -14
- package/dist/NewsContainer.f0d2ee9c.js.map +1 -0
- package/dist/{Weather.661c2cac.js → Weather.99917b66.js} +2 -3
- package/dist/Weather.99917b66.js.map +1 -0
- package/dist/{Weather.fb22fba3.js → Weather.cf58823d.js} +2 -3
- package/dist/Weather.cf58823d.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +500 -689
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +485 -682
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
- package/dist/AttachmentDetail.1e06c2a5.js.map +0 -1
- package/dist/AttachmentDetail.c6c297df.js.map +0 -1
- package/dist/CustomView.080c8028.js.map +0 -1
- package/dist/CustomView.90d2a13d.js.map +0 -1
- package/dist/Emergency.423214ad.js.map +0 -1
- package/dist/Emergency.a21f837c.js.map +0 -1
- package/dist/HistoryList.50ff0fd9.js.map +0 -1
- package/dist/HistoryList.5fd6aa12.js.map +0 -1
- package/dist/LanguageChoice.1579b654.js.map +0 -1
- package/dist/LanguageChoice.61e36c1d.js.map +0 -1
- package/dist/NewsContainer.67f04b19.js.map +0 -1
- package/dist/NewsContainer.932174e9.js.map +0 -1
- package/dist/Weather.661c2cac.js.map +0 -1
- package/dist/Weather.fb22fba3.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -103,7 +103,6 @@ const $2793f2455cec0982$var$initialState = {
|
|
|
103
103
|
retorikEvent: undefined,
|
|
104
104
|
displayAgent: true,
|
|
105
105
|
activityToSend: undefined,
|
|
106
|
-
currentNewsActivity: undefined,
|
|
107
106
|
retorikNewsEnded: false,
|
|
108
107
|
userIsTyping: false,
|
|
109
108
|
userIsSwiping: false,
|
|
@@ -189,11 +188,6 @@ const $2793f2455cec0982$var$createUtilsStore = ()=>(0, $dWhh5$zustand.createStor
|
|
|
189
188
|
activityToSend: value
|
|
190
189
|
});
|
|
191
190
|
},
|
|
192
|
-
setCurrentNewsActivity: (value)=>{
|
|
193
|
-
set({
|
|
194
|
-
currentNewsActivity: value
|
|
195
|
-
});
|
|
196
|
-
},
|
|
197
191
|
setRetorikNewsEnded: (value)=>{
|
|
198
192
|
set({
|
|
199
193
|
retorikNewsEnded: value
|
|
@@ -351,6 +345,7 @@ $parcel$export(module.exports, "Source3DEngine", () => $71c613e2e831c34c$export$
|
|
|
351
345
|
$parcel$export(module.exports, "UIPart", () => $71c613e2e831c34c$export$63fc5f52b5b4da1e);
|
|
352
346
|
$parcel$export(module.exports, "TextFrom", () => $71c613e2e831c34c$export$b685c7d489184507);
|
|
353
347
|
$parcel$export(module.exports, "Theme", () => $71c613e2e831c34c$export$14faa19a0f3bbeb2);
|
|
348
|
+
$parcel$export(module.exports, "TraceType", () => $71c613e2e831c34c$export$d4b4ca0ba30ae29c);
|
|
354
349
|
var $71c613e2e831c34c$export$e4a712fff93fb00f = /*#__PURE__*/ function(ActionType) {
|
|
355
350
|
ActionType["message"] = "message";
|
|
356
351
|
ActionType["event"] = "event";
|
|
@@ -392,13 +387,17 @@ var $71c613e2e831c34c$export$22b261e08140d6b2 = /*#__PURE__*/ function(CategoryI
|
|
|
392
387
|
return CategoryId;
|
|
393
388
|
}($71c613e2e831c34c$export$22b261e08140d6b2 || {});
|
|
394
389
|
var $71c613e2e831c34c$export$ddddf2c97763af65 = /*#__PURE__*/ function(CloseButtonCause) {
|
|
395
|
-
CloseButtonCause[
|
|
396
|
-
CloseButtonCause[
|
|
397
|
-
CloseButtonCause[
|
|
398
|
-
CloseButtonCause[
|
|
399
|
-
CloseButtonCause[
|
|
400
|
-
CloseButtonCause[
|
|
401
|
-
CloseButtonCause[
|
|
390
|
+
CloseButtonCause["none"] = "None";
|
|
391
|
+
CloseButtonCause["detailedpoi"] = "Detailed";
|
|
392
|
+
CloseButtonCause["list"] = "List";
|
|
393
|
+
CloseButtonCause["history"] = "History";
|
|
394
|
+
CloseButtonCause["languages"] = "Languages";
|
|
395
|
+
CloseButtonCause["weather"] = "Weather";
|
|
396
|
+
CloseButtonCause["emergency"] = "Emergency";
|
|
397
|
+
CloseButtonCause["map"] = "Map";
|
|
398
|
+
CloseButtonCause["dashboard"] = "Dashboard";
|
|
399
|
+
CloseButtonCause["fullscreenimage"] = "FullscreenImage";
|
|
400
|
+
CloseButtonCause["news"] = "News";
|
|
402
401
|
return CloseButtonCause;
|
|
403
402
|
}($71c613e2e831c34c$export$ddddf2c97763af65 || {});
|
|
404
403
|
var $71c613e2e831c34c$export$a31c5a03aaeee5f = /*#__PURE__*/ function(ContainerParent) {
|
|
@@ -576,6 +575,12 @@ var $71c613e2e831c34c$export$14faa19a0f3bbeb2 = /*#__PURE__*/ function(Theme) {
|
|
|
576
575
|
Theme["auto"] = "auto";
|
|
577
576
|
return Theme;
|
|
578
577
|
}($71c613e2e831c34c$export$14faa19a0f3bbeb2 || {});
|
|
578
|
+
var $71c613e2e831c34c$export$d4b4ca0ba30ae29c = /*#__PURE__*/ function(TraceType) {
|
|
579
|
+
TraceType["message"] = "directlineMessage";
|
|
580
|
+
TraceType["utteranceStart"] = "utteranceStart";
|
|
581
|
+
TraceType["utteranceEnd"] = "utteranceEnd";
|
|
582
|
+
return TraceType;
|
|
583
|
+
}($71c613e2e831c34c$export$d4b4ca0ba30ae29c || {});
|
|
579
584
|
|
|
580
585
|
});
|
|
581
586
|
|
|
@@ -2078,9 +2083,6 @@ const $df401eb9a10f9e0e$var$initialState = {
|
|
|
2078
2083
|
visemeData: [],
|
|
2079
2084
|
singleVisemeAdded: null,
|
|
2080
2085
|
multiVisemesAdded: [],
|
|
2081
|
-
currentReplyToId: undefined,
|
|
2082
|
-
currentPlaying: undefined,
|
|
2083
|
-
endedActivities: [],
|
|
2084
2086
|
currentOrLastPlayedActivity: undefined,
|
|
2085
2087
|
isMicrophoneAllowed: false,
|
|
2086
2088
|
showMicrophoneModal: false,
|
|
@@ -2089,9 +2091,6 @@ const $df401eb9a10f9e0e$var$initialState = {
|
|
|
2089
2091
|
lastRecognitionInterim: '',
|
|
2090
2092
|
streamingReplyToId: null,
|
|
2091
2093
|
streamingQueue: [],
|
|
2092
|
-
streamingQueueForText: [],
|
|
2093
|
-
currentStreaming: null,
|
|
2094
|
-
streamingQueueFullLength: 0,
|
|
2095
2094
|
streamingReplyToIdToIgnore: null,
|
|
2096
2095
|
speechRecognitionDynamicGrammars: [],
|
|
2097
2096
|
externalTextToSpeech: undefined
|
|
@@ -2228,22 +2227,6 @@ const $df401eb9a10f9e0e$var$createSpeechStore = (setRetorikEvent, getListStatus,
|
|
|
2228
2227
|
if (getListStatus() !== (0, $7WHA7.ListStatus).opened) setListStatus((0, $7WHA7.ListStatus).available);
|
|
2229
2228
|
}
|
|
2230
2229
|
},
|
|
2231
|
-
setCurrentReplyToId: (value)=>{
|
|
2232
|
-
set({
|
|
2233
|
-
currentReplyToId: value
|
|
2234
|
-
});
|
|
2235
|
-
},
|
|
2236
|
-
setCurrentPlaying: (value)=>{
|
|
2237
|
-
set({
|
|
2238
|
-
currentPlaying: value
|
|
2239
|
-
});
|
|
2240
|
-
value && get().actions.setCurrentOrLastPlayedActivity(value);
|
|
2241
|
-
},
|
|
2242
|
-
setEndedActivities: (value)=>{
|
|
2243
|
-
set({
|
|
2244
|
-
endedActivities: value
|
|
2245
|
-
});
|
|
2246
|
-
},
|
|
2247
2230
|
setIsMicrophoneAllowed: (value)=>{
|
|
2248
2231
|
set({
|
|
2249
2232
|
isMicrophoneAllowed: value
|
|
@@ -2305,72 +2288,45 @@ const $df401eb9a10f9e0e$var$createSpeechStore = (setRetorikEvent, getListStatus,
|
|
|
2305
2288
|
streamingReplyToId: value
|
|
2306
2289
|
});
|
|
2307
2290
|
},
|
|
2308
|
-
setStreamingQueue: (value)=>{
|
|
2309
|
-
set({
|
|
2310
|
-
streamingQueue: value,
|
|
2311
|
-
streamingQueueForText: value
|
|
2312
|
-
});
|
|
2313
|
-
},
|
|
2314
2291
|
addToStreamingQueue: (value)=>{
|
|
2315
|
-
if (value.replyToId
|
|
2316
|
-
|
|
2317
|
-
|
|
2318
|
-
|
|
2319
|
-
|
|
2320
|
-
|
|
2321
|
-
|
|
2322
|
-
|
|
2323
|
-
|
|
2324
|
-
|
|
2325
|
-
|
|
2326
|
-
|
|
2327
|
-
|
|
2328
|
-
|
|
2329
|
-
|
|
2330
|
-
|
|
2331
|
-
|
|
2332
|
-
|
|
2333
|
-
|
|
2334
|
-
|
|
2335
|
-
|
|
2336
|
-
|
|
2337
|
-
}
|
|
2292
|
+
if (value.replyToId) {
|
|
2293
|
+
if (value.replyToId !== get().streamingReplyToIdToIgnore) {
|
|
2294
|
+
// Set replyToId and new queue if replyToId is different from the current one
|
|
2295
|
+
if (get().streamingReplyToId !== value.replyToId) set({
|
|
2296
|
+
streamingReplyToId: value.replyToId,
|
|
2297
|
+
streamingQueue: [
|
|
2298
|
+
value
|
|
2299
|
+
]
|
|
2300
|
+
});
|
|
2301
|
+
else set({
|
|
2302
|
+
streamingQueue: [
|
|
2303
|
+
...get().streamingQueue,
|
|
2304
|
+
value
|
|
2305
|
+
]
|
|
2306
|
+
});
|
|
2307
|
+
}
|
|
2308
|
+
} else set({
|
|
2309
|
+
streamingQueue: [
|
|
2310
|
+
...get().streamingQueue,
|
|
2311
|
+
value
|
|
2312
|
+
]
|
|
2313
|
+
});
|
|
2338
2314
|
},
|
|
2339
|
-
|
|
2340
|
-
|
|
2341
|
-
|
|
2342
|
-
|
|
2343
|
-
|
|
2344
|
-
streamingQueue: tempStreamingQueue
|
|
2345
|
-
});
|
|
2346
|
-
}
|
|
2315
|
+
// If "twice" parameter is true, let's remove 2 elements instead of one (used with the message at the end of a streaming that should not be spoken)
|
|
2316
|
+
removeFirstFromStreamingQueue: (twice)=>{
|
|
2317
|
+
set((state)=>({
|
|
2318
|
+
streamingQueue: state.streamingQueue.slice(twice ? 2 : 1)
|
|
2319
|
+
}));
|
|
2347
2320
|
},
|
|
2348
2321
|
killCurrentStreaming: ()=>{
|
|
2349
2322
|
set({
|
|
2350
|
-
|
|
2351
|
-
streamingQueue: []
|
|
2352
|
-
streamingQueueForText: [],
|
|
2353
|
-
currentStreaming: null,
|
|
2354
|
-
streamingQueueFullLength: 0,
|
|
2355
|
-
streamingReplyToIdToIgnore: get().streamingReplyToId
|
|
2323
|
+
streamingReplyToIdToIgnore: get().streamingReplyToId,
|
|
2324
|
+
streamingQueue: []
|
|
2356
2325
|
});
|
|
2357
2326
|
},
|
|
2358
2327
|
checkActivityReplyToId: (replyToId)=>{
|
|
2359
2328
|
get().streamingReplyToId !== replyToId && get().actions.killCurrentStreaming();
|
|
2360
2329
|
},
|
|
2361
|
-
setCurrentStreaming: (value)=>{
|
|
2362
|
-
set({
|
|
2363
|
-
currentStreaming: value
|
|
2364
|
-
});
|
|
2365
|
-
},
|
|
2366
|
-
setStreamingQueueFullLength: (value, replyToId)=>{
|
|
2367
|
-
if (replyToId) replyToId === get().streamingReplyToId && set({
|
|
2368
|
-
streamingQueueFullLength: value
|
|
2369
|
-
});
|
|
2370
|
-
else set({
|
|
2371
|
-
streamingQueueFullLength: value
|
|
2372
|
-
});
|
|
2373
|
-
},
|
|
2374
2330
|
addSpeechRecognitionDynamicGrammar: (value)=>{
|
|
2375
2331
|
const currentGrammars = get().speechRecognitionDynamicGrammars;
|
|
2376
2332
|
// For each value, verifiy if it doesn't exist in the array yet
|
|
@@ -2790,7 +2746,7 @@ const $8fc061e3e1dc64cb$var$initialState = {
|
|
|
2790
2746
|
queueLock: false
|
|
2791
2747
|
};
|
|
2792
2748
|
const $8fc061e3e1dc64cb$var$regexDataCommand = /(\{data-command=")[\p{L}\p{N}\p{Po}\p{Pd}\p{Pc}\s\u0027\u2019]+("\})(<br\s\/>)?/gu;
|
|
2793
|
-
const $8fc061e3e1dc64cb$var$createActivityStore = (localeRef, isUsedOnBorneRef, inputHintBehaviourRef, setCurrentId, setRestoreInputsState, addToStreamingQueue,
|
|
2749
|
+
const $8fc061e3e1dc64cb$var$createActivityStore = (localeRef, isUsedOnBorneRef, inputHintBehaviourRef, setCurrentId, setRestoreInputsState, addToStreamingQueue, setMode, unlockClickedButton, setSubmitDelayBeforeSendingMessage, setIsWaitingForResponse, setSendBoxPlaceHolder)=>{
|
|
2794
2750
|
return (0, $dWhh5$zustand.createStore)((set, get)=>{
|
|
2795
2751
|
return {
|
|
2796
2752
|
...$8fc061e3e1dc64cb$var$initialState,
|
|
@@ -2855,7 +2811,7 @@ const $8fc061e3e1dc64cb$var$createActivityStore = (localeRef, isUsedOnBorneRef,
|
|
|
2855
2811
|
currentActivity.type === 'message' ? await get().actions.processAddBotMessage(currentActivity) : await get().actions.processAddBotEvent(currentActivity);
|
|
2856
2812
|
// Remove the first element from the queue (the one that got processed above) and process the queue once again
|
|
2857
2813
|
set({
|
|
2858
|
-
queue: get().queue.slice(
|
|
2814
|
+
queue: get().queue.slice(1)
|
|
2859
2815
|
});
|
|
2860
2816
|
get().actions.processQueue();
|
|
2861
2817
|
} else set({
|
|
@@ -2863,12 +2819,11 @@ const $8fc061e3e1dc64cb$var$createActivityStore = (localeRef, isUsedOnBorneRef,
|
|
|
2863
2819
|
});
|
|
2864
2820
|
},
|
|
2865
2821
|
processAddBotMessage: async (value)=>{
|
|
2866
|
-
var _value_value;
|
|
2867
2822
|
setCurrentId(undefined);
|
|
2868
2823
|
const processedActivity = await get().actions.processBotMessageActivity(value);
|
|
2869
|
-
// If this activity is the one concluding a streaming, let's set the amount of streams previously generated
|
|
2870
|
-
if (!get().retrievingConversation && ((_value_value = value.value) === null || _value_value === void 0 ? void 0 : _value_value.streamingCount)) setStreamingQueueFullLength(value.value.streamingCount, value.replyToId);
|
|
2871
2824
|
const tempActivity = get().retrievingConversation ? undefined : processedActivity;
|
|
2825
|
+
// Add this activity to the streaming queue if we are not in conversation retrieval process
|
|
2826
|
+
!get().retrievingConversation && addToStreamingQueue(processedActivity);
|
|
2872
2827
|
set({
|
|
2873
2828
|
activities: [
|
|
2874
2829
|
...get().activities,
|
|
@@ -2910,6 +2865,29 @@ const $8fc061e3e1dc64cb$var$createActivityStore = (localeRef, isUsedOnBorneRef,
|
|
|
2910
2865
|
}
|
|
2911
2866
|
},
|
|
2912
2867
|
processAddBotEvent: async (value)=>{
|
|
2868
|
+
var _value_name, _value_text;
|
|
2869
|
+
const streamingMap = new Map(get().botStreamingActivities);
|
|
2870
|
+
// Deal with streaming activities
|
|
2871
|
+
if (((_value_name = value.name) === null || _value_name === void 0 ? void 0 : _value_name.toLowerCase()) === 'davi.streammessageactivity') // Add this activity to the streaming queue if we are not in conversation retrieval process
|
|
2872
|
+
{
|
|
2873
|
+
if (((_value_text = value.text) === null || _value_text === void 0 ? void 0 : _value_text.trim().length) && !get().retrievingConversation) {
|
|
2874
|
+
// Create speak field from the text one
|
|
2875
|
+
const processedText = (0, $pFs7y.processMarkdownAndSpeechMarkdown)(value.text, true);
|
|
2876
|
+
value.speak = processedText.text;
|
|
2877
|
+
value.htmlText = processedText.htmlText;
|
|
2878
|
+
addToStreamingQueue(value);
|
|
2879
|
+
// Set data in the Map for text display
|
|
2880
|
+
if (value.replyToId) {
|
|
2881
|
+
const currentStreamingData = streamingMap.get(value.replyToId);
|
|
2882
|
+
currentStreamingData ? streamingMap.set(value.replyToId, [
|
|
2883
|
+
...currentStreamingData,
|
|
2884
|
+
value
|
|
2885
|
+
]) : streamingMap.set(value.replyToId, [
|
|
2886
|
+
value
|
|
2887
|
+
]);
|
|
2888
|
+
}
|
|
2889
|
+
}
|
|
2890
|
+
}
|
|
2913
2891
|
set({
|
|
2914
2892
|
activities: [
|
|
2915
2893
|
...get().activities,
|
|
@@ -2927,38 +2905,16 @@ const $8fc061e3e1dc64cb$var$createActivityStore = (localeRef, isUsedOnBorneRef,
|
|
|
2927
2905
|
],
|
|
2928
2906
|
lastBotEventActivity: value,
|
|
2929
2907
|
lastEventActivity: value,
|
|
2908
|
+
botStreamingActivities: streamingMap,
|
|
2930
2909
|
watermark: get().watermark + 1
|
|
2931
2910
|
});
|
|
2932
2911
|
Promise.resolve();
|
|
2933
2912
|
},
|
|
2934
2913
|
addBotEvent: async (value)=>{
|
|
2935
2914
|
if (get().actions.checkCurrentConversationId(value.id)) {
|
|
2936
|
-
var _value_name
|
|
2937
|
-
|
|
2938
|
-
|
|
2939
|
-
setIsWaitingForResponse(false);
|
|
2940
|
-
// Create speak field from the text one
|
|
2941
|
-
const processedText = (0, $pFs7y.processMarkdownAndSpeechMarkdown)(value.text, true);
|
|
2942
|
-
value.speak = processedText.text;
|
|
2943
|
-
value.htmlText = processedText.htmlText;
|
|
2944
|
-
addToStreamingQueue(value);
|
|
2945
|
-
if (value.replyToId) {
|
|
2946
|
-
const currentStreamingMap = new Map(get().botStreamingActivities);
|
|
2947
|
-
const currentStreamingData = currentStreamingMap.get(value.replyToId);
|
|
2948
|
-
currentStreamingData ? currentStreamingMap.set(value.replyToId, [
|
|
2949
|
-
...currentStreamingData,
|
|
2950
|
-
value
|
|
2951
|
-
]) : currentStreamingMap.set(value.replyToId, [
|
|
2952
|
-
value
|
|
2953
|
-
]);
|
|
2954
|
-
set({
|
|
2955
|
-
botStreamingActivities: currentStreamingMap,
|
|
2956
|
-
watermark: get().watermark + 1
|
|
2957
|
-
});
|
|
2958
|
-
}
|
|
2959
|
-
unlockClickedButton();
|
|
2960
|
-
}
|
|
2961
|
-
} else if (((_value_name1 = value.name) === null || _value_name1 === void 0 ? void 0 : _value_name1.toLowerCase()) === 'switchtotextmode') {
|
|
2915
|
+
var _value_name;
|
|
2916
|
+
//
|
|
2917
|
+
if (((_value_name = value.name) === null || _value_name === void 0 ? void 0 : _value_name.toLowerCase()) === 'switchtotextmode') {
|
|
2962
2918
|
setMode((0, $7WHA7.Mode).text);
|
|
2963
2919
|
set({
|
|
2964
2920
|
watermark: get().watermark + 1
|
|
@@ -3233,10 +3189,10 @@ const $8fc061e3e1dc64cb$var$ActivityProvider = ({ children: children })=>{
|
|
|
3233
3189
|
const isUsedOnBorneRef = (0, $dWhh5$react.useRef)(false);
|
|
3234
3190
|
const inputHintBehaviourRef = (0, $dWhh5$react.useRef)(undefined);
|
|
3235
3191
|
const { setCurrentId: setCurrentId, setRestoreInputsState: setRestoreInputsState } = (0, $8AvjS.useAdaptiveCardStore)((state)=>state.actions);
|
|
3236
|
-
const { addToStreamingQueue: addToStreamingQueue,
|
|
3192
|
+
const { addToStreamingQueue: addToStreamingQueue, setMode: setMode } = (0, $jgaO0.useSpeechStore)((state)=>state.actions);
|
|
3237
3193
|
const unlockClickedButton = (0, $7eio0.useUtilsStore)((state)=>state.actions.unlockClickedButton);
|
|
3238
3194
|
const { setSubmitDelayBeforeSendingMessage: setSubmitDelayBeforeSendingMessage, setIsWaitingForResponse: setIsWaitingForResponse, setSendBoxPlaceHolder: setSendBoxPlaceHolder } = (0, $6EkQS.useRetorikStore)((state)=>state.actions);
|
|
3239
|
-
const [store] = (0, $dWhh5$react.useState)(()=>$8fc061e3e1dc64cb$var$createActivityStore(localeRef, isUsedOnBorneRef, inputHintBehaviourRef, setCurrentId, setRestoreInputsState, addToStreamingQueue,
|
|
3195
|
+
const [store] = (0, $dWhh5$react.useState)(()=>$8fc061e3e1dc64cb$var$createActivityStore(localeRef, isUsedOnBorneRef, inputHintBehaviourRef, setCurrentId, setRestoreInputsState, addToStreamingQueue, setMode, unlockClickedButton, setSubmitDelayBeforeSendingMessage, setIsWaitingForResponse, setSendBoxPlaceHolder));
|
|
3240
3196
|
(0, $dWhh5$react.useEffect)(()=>{
|
|
3241
3197
|
localeRef.current = locale;
|
|
3242
3198
|
}, [
|
|
@@ -4164,7 +4120,7 @@ const $328a7f03b0982320$var$createDirectlineStore = (modeRef, recognitionStateRe
|
|
|
4164
4120
|
if (get().actions.checkIfHandlerAbortsActivity((0, $3DDGn.LegacyDirectLineActivityType).SEND_MESSAGE, tempActivity)) return;
|
|
4165
4121
|
(_get_directLine = get().directLine) === null || _get_directLine === void 0 ? void 0 : _get_directLine.postActivity(tempActivity).subscribe();
|
|
4166
4122
|
},
|
|
4167
|
-
sendEvent: (name, value)=>{
|
|
4123
|
+
sendEvent: (name, value, callback)=>{
|
|
4168
4124
|
var _get_directLine;
|
|
4169
4125
|
if (get().conversationPaused) return;
|
|
4170
4126
|
!name.toLowerCase().includes('davi.closewindow') && !$328a7f03b0982320$var$eventsWithoutCancel.includes(name.toLowerCase()) && get().actions.checkMicrophoneAndCancel();
|
|
@@ -4184,7 +4140,10 @@ const $328a7f03b0982320$var$createDirectlineStore = (modeRef, recognitionStateRe
|
|
|
4184
4140
|
// Check if the event should be stopped in the external activity handler if there is one
|
|
4185
4141
|
if (get().actions.checkIfHandlerAbortsActivity((0, $3DDGn.LegacyDirectLineActivityType).POST_ACTIVITY, tempEvent)) return;
|
|
4186
4142
|
if (get().actions.checkIfHandlerAbortsActivity((0, $3DDGn.LegacyDirectLineActivityType).SEND_EVENT, tempEvent)) return;
|
|
4187
|
-
(_get_directLine = get().directLine) === null || _get_directLine === void 0 ? void 0 : _get_directLine.postActivity(tempEvent).subscribe(
|
|
4143
|
+
(_get_directLine = get().directLine) === null || _get_directLine === void 0 ? void 0 : _get_directLine.postActivity(tempEvent).subscribe({
|
|
4144
|
+
error: (error)=>console.log('Retorik Framework > error while sending event : ', error),
|
|
4145
|
+
complete: ()=>callback === null || callback === void 0 ? void 0 : callback()
|
|
4146
|
+
});
|
|
4188
4147
|
},
|
|
4189
4148
|
sendTyping: ()=>{
|
|
4190
4149
|
var _get_directLine;
|
|
@@ -4392,7 +4351,7 @@ var $c8770452d727244a$export$2e2bcd8739ae039 = $c8770452d727244a$var$activityMid
|
|
|
4392
4351
|
});
|
|
4393
4352
|
|
|
4394
4353
|
parcelRegister("93cl9", function(module, exports) {
|
|
4395
|
-
module.exports = JSON.parse("{\"name\":\"@davi-ai/retorik-framework\",\"version\":\"3.2.
|
|
4354
|
+
module.exports = JSON.parse("{\"name\":\"@davi-ai/retorik-framework\",\"version\":\"3.2.5\",\"description\":\"Retorik Framework package\",\"author\":\"DAVI\",\"license\":\"MIT\",\"repository\":\"none\",\"main\":\"dist/index.js\",\"module\":\"dist/index.modern.js\",\"types\":\"dist/index.d.ts\",\"source\":\"src/index.tsx\",\"standalone\":\"standalone/index.js\",\"targets\":{\"standalone\":{\"context\":\"browser\",\"outputFormat\":\"esmodule\",\"distDir\":\"standalone\"},\"module\":{\"context\":\"browser\",\"outputFormat\":\"esmodule\",\"distDir\":\"dist\"}},\"engines\":{\"node\":\">=10\"},\"scripts\":{\"build\":\"parcel build\",\"start\":\"parcel watch\",\"test\":\"jest --env=jsdom --reporters=jest-junit\",\"test-console\":\"jest --env=jsdom\",\"test-update-snapshots\":\"jest --env=jsdom --updateSnapshot\",\"test-coverage-console\":\"jest --env=jsdom --reporters=jest-junit --coverage\",\"test-coverage\":\"jest --env=jsdom --reporters=jest-junit --coverage --coverageReporters=cobertura\",\"report\":\"npx parcel build src/index.tsx --reporter @parcel/reporter-bundle-analyzer\",\"credentials\":\"vsts-npm-auth -config .npmrc\"},\"peerDependencies\":{\"react\":\"18.3.1\",\"react-dom\":\"18.3.1\"},\"devDependencies\":{\"@babel/core\":\"^7.19.1\",\"@babel/plugin-proposal-decorators\":\"^7.24.7\",\"@babel/plugin-proposal-private-property-in-object\":\"^7.21.11\",\"@babel/preset-env\":\"^7.25.4\",\"@babel/preset-react\":\"^7.24.7\",\"@babel/preset-typescript\":\"^7.24.7\",\"@babel/runtime\":\"^7.23.8\",\"@parcel/packager-ts\":\"^2.13.2\",\"@parcel/reporter-bundle-analyzer\":\"^2.13.2\",\"@parcel/reporter-sourcemap-visualiser\":\"^2.13.2\",\"@parcel/transformer-inline-string\":\"^2.13.2\",\"@parcel/transformer-typescript-types\":\"^2.13.2\",\"@parcel/validator-eslint\":\"^2.13.2\",\"@parcel/validator-typescript\":\"^2.13.2\",\"@testing-library/dom\":\"^10.4.0\",\"@testing-library/jest-dom\":\"6.5.0\",\"@testing-library/react\":\"16.0.1\",\"@testing-library/react-hooks\":\"8.0.1\",\"@testing-library/user-event\":\"14.5.2\",\"@types/jest\":\"^27.5.1\",\"@types/leaflet\":\"^1.8.0\",\"@types/node\":\"^12.12.38\",\"@types/react\":\"18.3.12\",\"@types/react-dom\":\"18.3.1\",\"@types/testing-library__jest-dom\":\"^5.14.5\",\"@types/testing-library__react\":\"latest\",\"@typescript-eslint/eslint-plugin\":\"^8.19.0\",\"@typescript-eslint/parser\":\"^8.19.0\",\"autoprefixer\":\"^10.4.7\",\"babel-eslint\":\"^10.0.3\",\"babel-jest\":\"^29.7.0\",\"babel-loader\":\"^8.2.5\",\"buffer\":\"^5.7.1\",\"canvas\":\"^2.9.0\",\"cross-env\":\"^7.0.2\",\"crypto-browserify\":\"^3.12.0\",\"eslint\":\"^9.16.0\",\"eslint-config-prettier\":\"^9.1.0\",\"eslint-config-standard\":\"^17.1.0\",\"eslint-config-standard-react\":\"^13.0.0\",\"eslint-plugin-import\":\"^2.31.0\",\"eslint-plugin-node\":\"^11.1.0\",\"eslint-plugin-prettier\":\"^5.2.1\",\"eslint-plugin-promise\":\"^7.2.1\",\"eslint-plugin-react\":\"^7.37.2\",\"https-browserify\":\"^1.0.0\",\"jest\":\"^29.7.0\",\"jest-environment-jsdom\":\"^29.7.0\",\"jest-junit\":\"16.0.0\",\"npm-run-all\":\"^4.1.5\",\"parcel\":\"^2.13.2\",\"postcss\":\"^8.4.14\",\"postcss-url\":\"^10.1.3\",\"prettier\":\"^2.0.4\",\"process\":\"^0.11.10\",\"punycode\":\"^1.4.1\",\"querystring-es3\":\"^0.2.1\",\"react\":\"^18\",\"react-docgen-typescript-plugin\":\"^1.0.5\",\"react-dom\":\"18.3.1\",\"react-test-renderer\":\"^18.3.1\",\"resize-observer-polyfill\":\"^1.5.1\",\"stream-browserify\":\"^3.0.0\",\"stream-http\":\"^3.2.0\",\"string_decoder\":\"^1.3.0\",\"tailwindcss\":\"^3.1.0\",\"typescript\":\"5.3.2\",\"url\":\"^0.11.0\",\"util\":\"^0.12.4\"},\"files\":[\"dist\"],\"dependencies\":{\"@davi-ai/body-engine-sprite\":\"3.0.0\",\"@davi-ai/react-bodyengine-three\":\"1.0.6\",\"@davi-ai/retorik-weather\":\"2.0.0\",\"@davi-ai/speechmarkdown-davi-js\":\"2.0.1\",\"@davi-ai/web-speech-cognitive-services-davi\":\"2.0.10\",\"@lottiefiles/react-lottie-player\":\"^3.4.1\",\"@opentelemetry/api\":\"^1.9.0\",\"@opentelemetry/exporter-trace-otlp-http\":\"^0.200.0\",\"@opentelemetry/instrumentation\":\"^0.200.0\",\"@opentelemetry/instrumentation-document-load\":\"^0.45.0\",\"@opentelemetry/instrumentation-fetch\":\"^0.200.0\",\"@opentelemetry/resources\":\"^2.0.0\",\"@opentelemetry/sdk-trace-web\":\"^2.0.0\",\"@opentelemetry/semantic-conventions\":\"^1.32.0\",\"@react-spring/types\":\"^9.7.3\",\"@react-spring/web\":\"^9.7.3\",\"@swc/helpers\":\"^0.5.0\",\"@types/geojson\":\"^7946.0.10\",\"@types/jsdom\":\"^16.2.14\",\"@use-gesture/react\":\"^10.2.15\",\"adaptivecards\":\"3.0.1\",\"botframework-directlinejs\":\"^0.15.5\",\"classnames\":\"^2.3.1\",\"detect-gpu\":\"^5.0.70\",\"leaflet\":\"^1.9.2\",\"markdown-it\":\"14.1.0\",\"pdfjs-dist\":\"3.11.174\",\"postcss-copy\":\"^7.1.0\",\"qrcode\":\"^1.5.1\",\"react-device-detect\":\"^2.2.3\",\"react-error-boundary\":\"^4.0.10\",\"react-leaflet\":\"^4.1.0\",\"react-pdf\":\"7.7.1\",\"react-shadow\":\"^20.5.0\",\"swiper\":\"^8.4.5\",\"zustand\":\"^5.0.3\"},\"overrides\":{\"@davi-ai/web-speech-cognitive-services-davi\":\"$@davi-ai/web-speech-cognitive-services-davi\",\"zustand\":\"$zustand\"},\"@parcel/resolver-default\":{\"packageExports\":true}}");
|
|
4396
4355
|
|
|
4397
4356
|
});
|
|
4398
4357
|
|
|
@@ -5506,23 +5465,24 @@ const $071bb34c9db044ce$var$SendActivityEventListener = ({ isRetorikNews: isReto
|
|
|
5506
5465
|
document.removeEventListener('retorikSetVisibility', handleEvents);
|
|
5507
5466
|
};
|
|
5508
5467
|
}, []);
|
|
5509
|
-
|
|
5510
|
-
|
|
5511
|
-
|
|
5512
|
-
|
|
5513
|
-
|
|
5514
|
-
|
|
5468
|
+
/**
|
|
5469
|
+
* Send mandatory events : setUser to start conversation, Davi.GDPRConsent for GDPR module
|
|
5470
|
+
*/ const sendMandatoryEvents = async ()=>{
|
|
5471
|
+
sendEvent('Davi.GDPRConsent', {
|
|
5472
|
+
userConsent: userConsent
|
|
5473
|
+
}, ()=>sendEvent('setUser', {
|
|
5515
5474
|
user: {
|
|
5516
5475
|
...userData,
|
|
5517
5476
|
gdprConsent: true
|
|
5518
5477
|
},
|
|
5519
5478
|
skipWelcome: !!skipWelcome
|
|
5520
|
-
});
|
|
5521
|
-
|
|
5522
|
-
|
|
5523
|
-
|
|
5524
|
-
|
|
5525
|
-
|
|
5479
|
+
}));
|
|
5480
|
+
};
|
|
5481
|
+
(0, $dWhh5$react.useEffect)(()=>{
|
|
5482
|
+
if (isRetorikNews || hasConversationCookie) setUserAlreadySet(true);
|
|
5483
|
+
else if (!userAlreadySet && appAvailable && !displayGDPR && characterLoaded) {
|
|
5484
|
+
setUserAlreadySet(true);
|
|
5485
|
+
sendMandatoryEvents();
|
|
5526
5486
|
}
|
|
5527
5487
|
}, [
|
|
5528
5488
|
appAvailable,
|
|
@@ -6876,15 +6836,12 @@ $parcel$export(module.exports, "default", () => $f30fe7aba51bf78e$export$2e2bcd8
|
|
|
6876
6836
|
|
|
6877
6837
|
var $kUiCn = parcelRequire("kUiCn");
|
|
6878
6838
|
|
|
6879
|
-
var $6Q0mk = parcelRequire("6Q0mk");
|
|
6880
|
-
|
|
6881
6839
|
var $9CCS6 = parcelRequire("9CCS6");
|
|
6882
6840
|
|
|
6883
6841
|
var $isGku = parcelRequire("isGku");
|
|
6884
6842
|
|
|
6885
6843
|
var $2sEP7 = parcelRequire("2sEP7");
|
|
6886
6844
|
const $f30fe7aba51bf78e$var$Background = ({ config: config, videoLoop: videoLoop, videoMuted: videoMuted, onVideoEnded: onVideoEnded, onVideoCanPlay: onVideoCanPlay })=>{
|
|
6887
|
-
const isRTL = (0, $6Q0mk.useLocaleStore)((state)=>state.isRTL);
|
|
6888
6845
|
const webcamRotation = (0, $kUiCn.useViewStore)((state)=>state.configurations).webcamRotation;
|
|
6889
6846
|
const imageRef = (0, $dWhh5$react.useRef)(null);
|
|
6890
6847
|
const dimensions = (0, $9CCS6.default)(imageRef);
|
|
@@ -6936,12 +6893,7 @@ const $f30fe7aba51bf78e$var$Background = ({ config: config, videoLoop: videoLoop
|
|
|
6936
6893
|
ref: imageRef,
|
|
6937
6894
|
src: config.image,
|
|
6938
6895
|
alt: "background image",
|
|
6939
|
-
className: "rf-col-span-full rf-row-span-full rf-w-full rf-h-full rf-object-cover rf-filter rf-blur-background"
|
|
6940
|
-
style: {
|
|
6941
|
-
...isRTL ? {
|
|
6942
|
-
transform: 'scaleX(-1)'
|
|
6943
|
-
} : {}
|
|
6944
|
-
}
|
|
6896
|
+
className: "rf-col-span-full rf-row-span-full rf-w-full rf-h-full rf-object-cover rf-filter rf-blur-background"
|
|
6945
6897
|
}),
|
|
6946
6898
|
config.style === 'video' && config.video && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $isGku.default), {
|
|
6947
6899
|
source: config.video,
|
|
@@ -7134,7 +7086,7 @@ const $de01a0272b83cb88$var$CloseButton = ({ onClick: onClick, label: label, cla
|
|
|
7134
7086
|
return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("button", {
|
|
7135
7087
|
"aria-label": label || translation.common.close,
|
|
7136
7088
|
onClick: onClick,
|
|
7137
|
-
className: `${className} rf-absolute rf-flex rf-flex-col rf-items-center
|
|
7089
|
+
className: `${className} rf-absolute rf-flex rf-flex-col rf-items-center rf-right-0 rf-top-0 rf-p-2`,
|
|
7138
7090
|
children: [
|
|
7139
7091
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $6FBQK.default), {
|
|
7140
7092
|
className: "rf-h-6 rf-w-6"
|
|
@@ -7395,7 +7347,7 @@ var $6EkQS = parcelRequire("6EkQS");
|
|
|
7395
7347
|
const $e126bc061f6f032b$var$FullScreenRemote = ({ className: className, background: background, onClick: onClick, animation: animation, children: children })=>{
|
|
7396
7348
|
const useOldRemote = (0, $6EkQS.useRetorikStore)((state)=>state.configuration.useOldRemote);
|
|
7397
7349
|
return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $dWhh5$reactspringweb.animated).div, {
|
|
7398
|
-
className: `${useOldRemote ? (className === null || className === void 0 ? void 0 : className.includes('rf-z-')) ? '' : 'rf-z-util' : 'rf-z-[15]'} rf-relative rf-overflow-y-scroll rf-scrollbar-hidden rf-text-black rf-text-size-auto rf-bg-templateBackground large:
|
|
7350
|
+
className: `${useOldRemote ? (className === null || className === void 0 ? void 0 : className.includes('rf-z-')) ? '' : 'rf-z-util' : 'rf-z-[15]'} rf-relative rf-overflow-y-scroll rf-scrollbar-hidden rf-text-black rf-text-size-auto rf-bg-templateBackground large:rf-mr-30 rf-col-span-full rf-row-span-full ${className}`,
|
|
7399
7351
|
style: {
|
|
7400
7352
|
background: background || '',
|
|
7401
7353
|
outline: '1px solid transparent',
|
|
@@ -7677,7 +7629,6 @@ const $7a4829033e41af4d$var$springEnterDuration = 1500;
|
|
|
7677
7629
|
const $7a4829033e41af4d$var$springLeaveDuration = 2500;
|
|
7678
7630
|
const $7a4829033e41af4d$var$List = ({ activity: activity, onClose: onClose })=>{
|
|
7679
7631
|
var _content_channelData, _content_suggestedActions_actions, _content_suggestedActions, _content_channelData1, _content_suggestedActions_actions1, _content_suggestedActions1;
|
|
7680
|
-
const isRTL = (0, $6Q0mk.useLocaleStore)((state)=>state.isRTL);
|
|
7681
7632
|
const mode = (0, $jgaO0.useSpeechStore)((state)=>state.mode);
|
|
7682
7633
|
const useOldRemote = (0, $6EkQS.useRetorikStore)((state)=>state.configuration.useOldRemote);
|
|
7683
7634
|
const isMobile = (0, $kUiCn.useViewStore)((state)=>state.isMobile);
|
|
@@ -7710,7 +7661,7 @@ const $7a4829033e41af4d$var$List = ({ activity: activity, onClose: onClose })=>{
|
|
|
7710
7661
|
setListStatus((0, $7WHA7.ListStatus).opened);
|
|
7711
7662
|
api.start({
|
|
7712
7663
|
from: {
|
|
7713
|
-
transform:
|
|
7664
|
+
transform: 'translateX(-100%)'
|
|
7714
7665
|
},
|
|
7715
7666
|
to: {
|
|
7716
7667
|
transform: 'translateX(0%)'
|
|
@@ -7728,7 +7679,7 @@ const $7a4829033e41af4d$var$List = ({ activity: activity, onClose: onClose })=>{
|
|
|
7728
7679
|
transform: 'translateX(0%)'
|
|
7729
7680
|
},
|
|
7730
7681
|
to: {
|
|
7731
|
-
transform:
|
|
7682
|
+
transform: 'translateX(-100%)'
|
|
7732
7683
|
},
|
|
7733
7684
|
config: {
|
|
7734
7685
|
duration: $7a4829033e41af4d$var$springLeaveDuration,
|
|
@@ -7738,8 +7689,7 @@ const $7a4829033e41af4d$var$List = ({ activity: activity, onClose: onClose })=>{
|
|
|
7738
7689
|
if (timerRef) {
|
|
7739
7690
|
timerRef.current && clearTimeout(timerRef.current);
|
|
7740
7691
|
timerRef.current = setTimeout(()=>{
|
|
7741
|
-
sendEvent('Davi.CloseWindow', null);
|
|
7742
|
-
sendEvent('Davi.CloseWindowList', null);
|
|
7692
|
+
sendEvent('Davi.CloseWindow', null, ()=>sendEvent('Davi.CloseWindowList', null));
|
|
7743
7693
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
7744
7694
|
setContent(undefined);
|
|
7745
7695
|
}, $7a4829033e41af4d$var$springLeaveDuration);
|
|
@@ -7799,7 +7749,6 @@ const $7a4829033e41af4d$var$List = ({ activity: activity, onClose: onClose })=>{
|
|
|
7799
7749
|
(0, $dWhh5$react.useEffect)(()=>{
|
|
7800
7750
|
handleOpen();
|
|
7801
7751
|
return ()=>{
|
|
7802
|
-
console.log('in return');
|
|
7803
7752
|
setListStatus((0, $7WHA7.ListStatus).closed);
|
|
7804
7753
|
(timerRef === null || timerRef === void 0 ? void 0 : timerRef.current) && clearTimeout(timerRef.current);
|
|
7805
7754
|
};
|
|
@@ -7827,7 +7776,7 @@ const $7a4829033e41af4d$var$List = ({ activity: activity, onClose: onClose })=>{
|
|
|
7827
7776
|
className: `${mobileFiltersOpened ? 'rf-hidden' : 'rf-flex'} rf-flex-col rf-items-start large:rf-pt-16 large:rf-h-full large-vertical:rf-pt-[20vh]`,
|
|
7828
7777
|
children: [
|
|
7829
7778
|
content.text && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $lpNaX.default), {
|
|
7830
|
-
className: "
|
|
7779
|
+
className: "rf-ml-2 rf-mt-8 large:rf-ml-0 large:rf-mt-0",
|
|
7831
7780
|
title: (0, $9JtA7.capitalizeFirstLetter)(content.text, locale),
|
|
7832
7781
|
numberOfResults: ((_content_channelData = content.channelData) === null || _content_channelData === void 0 ? void 0 : _content_channelData.numberOfResults) || 0
|
|
7833
7782
|
}),
|
|
@@ -7888,10 +7837,10 @@ const $5bc6fe51bef2c22d$var$Title = ({ className: className, title: title, numbe
|
|
|
7888
7837
|
children: title
|
|
7889
7838
|
}),
|
|
7890
7839
|
numberOfResults !== undefined && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
|
|
7891
|
-
className: "rf-text-gray large:
|
|
7840
|
+
className: "rf-text-gray large:rf-ml-4",
|
|
7892
7841
|
children: [
|
|
7893
7842
|
numberOfResults,
|
|
7894
|
-
|
|
7843
|
+
" ",
|
|
7895
7844
|
numberOfResults > 1 ? translation.common.results : translation.common.result
|
|
7896
7845
|
]
|
|
7897
7846
|
})
|
|
@@ -7981,7 +7930,7 @@ const $c969b5c19dfc0002$var$ChosenItem = ({ className: className, filterItem: fi
|
|
|
7981
7930
|
]),
|
|
7982
7931
|
children: [
|
|
7983
7932
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
7984
|
-
className: "
|
|
7933
|
+
className: "rf-mr-2 large:rf-mr-3",
|
|
7985
7934
|
children: parent.id === 'Event.DateRange' ? `${filterItem.name.substring(8, 10)}/${filterItem.name.substring(5, 7)}/${filterItem.name.substring(0, 4)}` : (0, $9JtA7.capitalizeFirstLetter)(filterItem.name, locale)
|
|
7986
7935
|
}),
|
|
7987
7936
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $6FBQK.default), {
|
|
@@ -8032,18 +7981,18 @@ const $bf3385ff4ec0cb17$var$FilterItem = ({ className: className, identifier: id
|
|
|
8032
7981
|
className: "rf-relative rf-mt-1",
|
|
8033
7982
|
children: [
|
|
8034
7983
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
|
|
8035
|
-
className: `rf-px-4 rf-py-3
|
|
7984
|
+
className: `rf-px-4 rf-py-3 rf-mr-4 large-vertical:rf-py-4 ${style} rf-border rf-rounded-lg hover:rf-cursor-pointer rf-flex rf-flex-row rf-items-center rf-justify-center ${className}`,
|
|
8036
7985
|
onClick: (e)=>handleOpen(e),
|
|
8037
7986
|
children: [
|
|
8038
7987
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
8039
|
-
className: "
|
|
7988
|
+
className: "rf-mr-3",
|
|
8040
7989
|
children: (0, $9JtA7.capitalizeFirstLetter)(filter.title, locale)
|
|
8041
7990
|
}),
|
|
8042
7991
|
opened ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $lCcoT.default), {}) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $4tTc6.default), {})
|
|
8043
7992
|
]
|
|
8044
7993
|
}),
|
|
8045
7994
|
opened && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
8046
|
-
className: "rf-absolute
|
|
7995
|
+
className: "rf-absolute rf-left-0 rf-top-110 rf-z-util rf-w-max rf-py-1 rf-px-4 rf-text-black rf-border rf-rounded-lg rf-border-black rf-bg-truewhite rf-flex rf-flex-col rf-items-center rf-justify-center",
|
|
8047
7996
|
style: {
|
|
8048
7997
|
transform: filter.id === 'Event.DateRange' && !isMobile ? 'translate(-20%, -20%) scale(0.6, 0.6)' : ''
|
|
8049
7998
|
},
|
|
@@ -9519,7 +9468,7 @@ const $9414f5da5cffd1d7$var$MobileFilterPage = ({ close: close, resetFilters: re
|
|
|
9519
9468
|
className: "rf-flex rf-items-center",
|
|
9520
9469
|
children: [
|
|
9521
9470
|
filter.id !== 'Event.DateRange' && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
9522
|
-
className: "rf-text-sm rf-text-gray
|
|
9471
|
+
className: "rf-text-sm rf-text-gray rf-mr-5",
|
|
9523
9472
|
onClick: ()=>handleSelectAllAndOpen(filter),
|
|
9524
9473
|
children: (0, $9JtA7.capitalizeFirstLetter)(translation.common.all, locale)
|
|
9525
9474
|
}),
|
|
@@ -9550,6 +9499,7 @@ parcelRequire("g8vvH");
|
|
|
9550
9499
|
var $8hLdy = parcelRequire("8hLdy");
|
|
9551
9500
|
const $b8175b375cd08833$var$MobileUpperBand = ({ title: title, handleReset: handleReset, handleReturn: handleReturn })=>{
|
|
9552
9501
|
const translation = (0, $6Q0mk.useLocaleStore)((state)=>state.currentTranslations);
|
|
9502
|
+
const isRTL = (0, $6Q0mk.useLocaleStore)((state)=>state.isRTL);
|
|
9553
9503
|
return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
|
|
9554
9504
|
className: "rf-w-full rf-py-4 rf-px-4 rf-flex rf-justify-between rf-items-center rf-border-b rf-border-b-black",
|
|
9555
9505
|
children: [
|
|
@@ -9561,13 +9511,13 @@ const $b8175b375cd08833$var$MobileUpperBand = ({ title: title, handleReset: hand
|
|
|
9561
9511
|
className: "rf-w-8"
|
|
9562
9512
|
}),
|
|
9563
9513
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
9564
|
-
className: "
|
|
9514
|
+
className: "rf-ml-1",
|
|
9565
9515
|
children: title
|
|
9566
9516
|
})
|
|
9567
9517
|
]
|
|
9568
9518
|
}),
|
|
9569
9519
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
9570
|
-
className:
|
|
9520
|
+
className: `${isRTL ? 'rf-text-arabic' : 'rf-text-xsm'} rf-uppercase rf-text-secondary rf-underline`,
|
|
9571
9521
|
onClick: handleReset,
|
|
9572
9522
|
children: translation.template.reset
|
|
9573
9523
|
})
|
|
@@ -9704,24 +9654,18 @@ $parcel$export(module.exports, "default", () => $a0e7200eb5fb20c5$export$2e2bcd8
|
|
|
9704
9654
|
var $9JtA7 = parcelRequire("9JtA7");
|
|
9705
9655
|
parcelRequire("g8vvH");
|
|
9706
9656
|
var $8hLdy = parcelRequire("8hLdy");
|
|
9707
|
-
var $9GBKn = parcelRequire("9GBKn");
|
|
9708
|
-
|
|
9709
|
-
var $6Q0mk = parcelRequire("6Q0mk");
|
|
9710
9657
|
const $a0e7200eb5fb20c5$var$BackButton = ({ title: title, className: className, handleBack: handleBack })=>{
|
|
9711
|
-
const isRTL = (0, $6Q0mk.useLocaleStore)((state)=>state.isRTL);
|
|
9712
9658
|
return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("button", {
|
|
9713
9659
|
className: `rf-flex rf-flex-row rf-items-center ${className}`,
|
|
9714
9660
|
onClick: handleBack,
|
|
9715
9661
|
"aria-label": title,
|
|
9716
9662
|
"data-map": "fermer",
|
|
9717
9663
|
children: [
|
|
9718
|
-
|
|
9719
|
-
className: "rf-w-8"
|
|
9720
|
-
}) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $8hLdy.default), {
|
|
9664
|
+
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $8hLdy.default), {
|
|
9721
9665
|
className: "rf-w-8"
|
|
9722
9666
|
}),
|
|
9723
9667
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
9724
|
-
className: "
|
|
9668
|
+
className: "rf-ml-1",
|
|
9725
9669
|
children: (0, $9JtA7.capitalizeFirstLetter)(title)
|
|
9726
9670
|
})
|
|
9727
9671
|
]
|
|
@@ -9851,7 +9795,7 @@ const $e30af8373281dae5$var$AbsoluteLargeClosingButton = ({ dashboardVisible: da
|
|
|
9851
9795
|
onClick();
|
|
9852
9796
|
};
|
|
9853
9797
|
return isMobile ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, ($parcel$interopDefault($dWhh5$react))).Fragment, {}) : useOldRemote ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
9854
|
-
className: `rf-absolute ${hidden && 'rf-hidden'} rf-w-24 rf-flex rf-justify-center
|
|
9798
|
+
className: `rf-absolute ${hidden && 'rf-hidden'} rf-w-24 rf-flex rf-justify-center rf-right-0 ${zIndexClassname || 'rf-z-ui'}`,
|
|
9855
9799
|
style: {
|
|
9856
9800
|
top: hideMenu ? `calc(${top} - 6rem)` : top
|
|
9857
9801
|
},
|
|
@@ -9921,6 +9865,7 @@ var $6FBQK = parcelRequire("6FBQK");
|
|
|
9921
9865
|
const $579744d25642d716$var$DashboardButton = ({ dashboardVisible: dashboardVisible, onClick: onClick })=>{
|
|
9922
9866
|
const translation = (0, $6Q0mk.useLocaleStore)((state)=>state.currentTranslations);
|
|
9923
9867
|
const locale = (0, $6Q0mk.useLocaleStore)((state)=>state.locale);
|
|
9868
|
+
const isRTL = (0, $6Q0mk.useLocaleStore)((state)=>state.isRTL);
|
|
9924
9869
|
const [label, setLabel] = (0, $dWhh5$react.useState)('');
|
|
9925
9870
|
(0, $dWhh5$react.useEffect)(()=>{
|
|
9926
9871
|
setLabel(dashboardVisible ? translation.common.close : translation.common.menu);
|
|
@@ -9928,7 +9873,7 @@ const $579744d25642d716$var$DashboardButton = ({ dashboardVisible: dashboardVisi
|
|
|
9928
9873
|
locale
|
|
9929
9874
|
]);
|
|
9930
9875
|
return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("button", {
|
|
9931
|
-
className:
|
|
9876
|
+
className: `rf-w-18 rf-h-18 rf-mb-6 rf-flex rf-flex-col rf-justify-center rf-items-center rf-bg-truewhite ${isRTL ? 'rf-text-arabic' : 'rf-text-xsm'} rf-text-trueblack rf-border rf-border-menuBorder rf-rounded-half hover:rf-cursor-pointer rf-shadow-[0_3px_6px_#606267]`,
|
|
9932
9877
|
"aria-label": label,
|
|
9933
9878
|
// data-map used in interactive map to use this button externaly
|
|
9934
9879
|
"data-map": dashboardVisible ? 'fermer' : 'dashboard',
|
|
@@ -10171,7 +10116,7 @@ const $85e61aba8b9a5198$var$Logo = ({ className: className })=>{
|
|
|
10171
10116
|
const configuration = (0, $6EkQS.useRetorikStore)((state)=>state.configuration);
|
|
10172
10117
|
return ((_configuration_logo = configuration.logo) === null || _configuration_logo === void 0 ? void 0 : _configuration_logo.src) ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
10173
10118
|
id: "retorik-customer-logo",
|
|
10174
|
-
className: className || 'rf-absolute rf-m-4 large:rf-m-8 rf-top-0
|
|
10119
|
+
className: className || 'rf-absolute rf-m-4 large:rf-m-8 rf-top-0 rf-left-0',
|
|
10175
10120
|
children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("img", {
|
|
10176
10121
|
src: configuration.logo.src,
|
|
10177
10122
|
alt: "Logo",
|
|
@@ -10308,6 +10253,7 @@ function $4a98cd521d2d07ef$var$instanceOfCustomMenuDisplayGeneratorProps(object)
|
|
|
10308
10253
|
const $4a98cd521d2d07ef$var$DisplayGenerator = (props)=>{
|
|
10309
10254
|
const translation = (0, $6Q0mk.useLocaleStore)((state)=>state.currentTranslations);
|
|
10310
10255
|
const locale = (0, $6Q0mk.useLocaleStore)((state)=>state.locale);
|
|
10256
|
+
const isRTL = (0, $6Q0mk.useLocaleStore)((state)=>state.isRTL);
|
|
10311
10257
|
const isMobile = (0, $kUiCn.useViewStore)((state)=>state.isMobile);
|
|
10312
10258
|
const themeColors = (0, $kUiCn.useViewStore)((state)=>state.themeColors);
|
|
10313
10259
|
const setRoute = (0, $kUiCn.useViewStore)((state)=>state.actions.setRoute);
|
|
@@ -10387,7 +10333,7 @@ const $4a98cd521d2d07ef$var$DisplayGenerator = (props)=>{
|
|
|
10387
10333
|
color: colorButtonHandle
|
|
10388
10334
|
}),
|
|
10389
10335
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
10390
|
-
className: "
|
|
10336
|
+
className: "rf-ml-4 rf-font-bold",
|
|
10391
10337
|
children: (0, $9JtA7.capitalizeFirstLetter)(label, locale)
|
|
10392
10338
|
})
|
|
10393
10339
|
]
|
|
@@ -10408,7 +10354,7 @@ const $4a98cd521d2d07ef$var$DisplayGenerator = (props)=>{
|
|
|
10408
10354
|
color: colorButtonHandle
|
|
10409
10355
|
}),
|
|
10410
10356
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
10411
|
-
className:
|
|
10357
|
+
className: `rf-uppercase rf-text-[#575F6B] ${isRTL ? 'rf-text-arabic' : 'rf-text-xs'} large-vertical:rf-text-basecustomuppercase`,
|
|
10412
10358
|
children: label
|
|
10413
10359
|
})
|
|
10414
10360
|
]
|
|
@@ -11076,6 +11022,7 @@ function $a16df460e030efa9$var$instanceOfCustomMenuDisplayGeneratorProps(object)
|
|
|
11076
11022
|
const $a16df460e030efa9$var$DisplaySubGenerator = (props)=>{
|
|
11077
11023
|
const translation = (0, $6Q0mk.useLocaleStore)((state)=>state.currentTranslations);
|
|
11078
11024
|
const locale = (0, $6Q0mk.useLocaleStore)((state)=>state.locale);
|
|
11025
|
+
const isRTL = (0, $6Q0mk.useLocaleStore)((state)=>state.isRTL);
|
|
11079
11026
|
const isMobile = (0, $kUiCn.useViewStore)((state)=>state.isMobile);
|
|
11080
11027
|
const { setCurrentCustomView: setCurrentCustomView, setCurrentSubView: setCurrentSubView } = (0, $7eio0.useUtilsStore)((state)=>state.actions);
|
|
11081
11028
|
const [label, setLabel] = (0, $dWhh5$react.useState)('');
|
|
@@ -11135,7 +11082,7 @@ const $a16df460e030efa9$var$DisplaySubGenerator = (props)=>{
|
|
|
11135
11082
|
className: "rf-h-8 rf-w-8 rf-flex"
|
|
11136
11083
|
}),
|
|
11137
11084
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
11138
|
-
className:
|
|
11085
|
+
className: `rf-uppercase rf-text-[#575F6B] ${isRTL ? 'rf-text-arabic' : 'rf-text-xs'}`,
|
|
11139
11086
|
children: label
|
|
11140
11087
|
})
|
|
11141
11088
|
]
|
|
@@ -11232,7 +11179,7 @@ const $eba1371e77343bf7$var$ParameterButton = ({ title: title, color: color, ico
|
|
|
11232
11179
|
className: "rf-flex rf-flex-row rf-items-center",
|
|
11233
11180
|
children: [
|
|
11234
11181
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
11235
|
-
className: "
|
|
11182
|
+
className: "rf-mr-3 rf-text-lightgray rf-normal-case",
|
|
11236
11183
|
children: (0, (/*@__PURE__*/$parcel$interopDefault($exo5b)))[locale]
|
|
11237
11184
|
}),
|
|
11238
11185
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $a4tZ1.default), {
|
|
@@ -11262,7 +11209,7 @@ const $eba1371e77343bf7$var$ParameterButton = ({ title: title, color: color, ico
|
|
|
11262
11209
|
color: color
|
|
11263
11210
|
}) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, ($parcel$interopDefault($dWhh5$react))).Fragment, {}),
|
|
11264
11211
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
11265
|
-
className: "
|
|
11212
|
+
className: "rf-ml-1 rf-uppercase",
|
|
11266
11213
|
children: title
|
|
11267
11214
|
})
|
|
11268
11215
|
]
|
|
@@ -11304,6 +11251,7 @@ var $5Hlko = parcelRequire("5Hlko");
|
|
|
11304
11251
|
const $f19fa486c3780055$var$LanguageButton = ()=>{
|
|
11305
11252
|
const translation = (0, $6Q0mk.useLocaleStore)((state)=>state.currentTranslations);
|
|
11306
11253
|
const locale = (0, $6Q0mk.useLocaleStore)((state)=>state.locale);
|
|
11254
|
+
const isRTL = (0, $6Q0mk.useLocaleStore)((state)=>state.isRTL);
|
|
11307
11255
|
const supported = (0, $6Q0mk.useLocaleStore)((state)=>state.supported);
|
|
11308
11256
|
const isMobile = (0, $kUiCn.useViewStore)((state)=>state.isMobile);
|
|
11309
11257
|
const themeColors = (0, $kUiCn.useViewStore)((state)=>state.themeColors);
|
|
@@ -11351,7 +11299,7 @@ const $f19fa486c3780055$var$LanguageButton = ()=>{
|
|
|
11351
11299
|
color: currentSubView === (0, $7WHA7.CurrentSubView).languages ? themeColors.secondary : '#A4A7AF',
|
|
11352
11300
|
onClick: (e)=>handleClick(e)
|
|
11353
11301
|
}) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("button", {
|
|
11354
|
-
className: "rf-absolute rf-z-ui rf-min-w-24
|
|
11302
|
+
className: "rf-absolute rf-z-ui rf-min-w-24 rf-right-0 rf-px-2 rf-flex rf-flex-row rf-items-center rf-rounded-l-lg",
|
|
11355
11303
|
style: {
|
|
11356
11304
|
bottom: bottom,
|
|
11357
11305
|
background: 'linear-gradient(#F8F8FC, #EDEEF3)'
|
|
@@ -11359,14 +11307,14 @@ const $f19fa486c3780055$var$LanguageButton = ()=>{
|
|
|
11359
11307
|
onClick: handleClick,
|
|
11360
11308
|
children: [
|
|
11361
11309
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
11362
|
-
className: "rf-h-8
|
|
11310
|
+
className: "rf-h-8 rf-mr-2",
|
|
11363
11311
|
children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("img", {
|
|
11364
11312
|
className: "rf-h-full",
|
|
11365
11313
|
src: `https://flagsapi.com/${mainLocale}/flat/64.png`
|
|
11366
11314
|
})
|
|
11367
11315
|
}),
|
|
11368
11316
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
|
|
11369
|
-
className:
|
|
11317
|
+
className: `rf-flex rf-flex-col rf-items-start ${isRTL ? 'rf-text-arabic' : 'rf-text-xsm'}`,
|
|
11370
11318
|
children: [
|
|
11371
11319
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
11372
11320
|
className: "rf-text-trueblack",
|
|
@@ -12237,7 +12185,7 @@ const $a0c42cb8428afc95$var$ListContainer = ({ hasFilterOrSuggestedAction: hasFi
|
|
|
12237
12185
|
direction: "top",
|
|
12238
12186
|
display: !!((numberOfDisplayed === null || numberOfDisplayed === void 0 ? void 0 : numberOfDisplayed.current) && numberOfDisplayed.current > currentPagination),
|
|
12239
12187
|
scrollHandler: ()=>scrollToRef(),
|
|
12240
|
-
className: "rf-absolute rf-bottom-1/4
|
|
12188
|
+
className: "rf-absolute rf-bottom-1/4 rf-right-3 rf-z-ui rf-w-9 rf-h-9 rf-cursor-pointer rf-bg-[#00000050] rf-p-[7px_12px] rf-rounded-[20px] rf-flex"
|
|
12241
12189
|
})
|
|
12242
12190
|
]
|
|
12243
12191
|
}) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, ($parcel$interopDefault($dWhh5$react))).Fragment, {});
|
|
@@ -12923,14 +12871,14 @@ const $0c620924e8f94c0c$var$ClassicButton = ({ url: url, text: text, description
|
|
|
12923
12871
|
href: url,
|
|
12924
12872
|
target: "_blank",
|
|
12925
12873
|
rel: "noopener noreferrer",
|
|
12926
|
-
className: "rf-card-button rf-flex
|
|
12874
|
+
className: "rf-card-button rf-flex rf-items-center",
|
|
12927
12875
|
children: [
|
|
12928
12876
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
12929
12877
|
className: "rf-h-6 rf-w-6",
|
|
12930
12878
|
children: download ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $9zvhm.default), {}) : isRTL ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $8hLdy.default), {}) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $9GBKn.default), {})
|
|
12931
12879
|
}),
|
|
12932
12880
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
12933
|
-
className:
|
|
12881
|
+
className: `${isRTL ? 'rf-mr-2' : 'rf-ml-2'} rf-truncate`,
|
|
12934
12882
|
children: text || ''
|
|
12935
12883
|
})
|
|
12936
12884
|
]
|
|
@@ -12984,7 +12932,7 @@ const $1da9b465d48442d4$var$BorderlessButton = ({ url: url, text: text, download
|
|
|
12984
12932
|
})
|
|
12985
12933
|
}),
|
|
12986
12934
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
12987
|
-
className:
|
|
12935
|
+
className: `${isRTL ? 'rf-mr-4' : 'rf-ml-4'}`,
|
|
12988
12936
|
children: text || ''
|
|
12989
12937
|
})
|
|
12990
12938
|
]
|
|
@@ -13448,6 +13396,7 @@ parcelRequire("60kUR");
|
|
|
13448
13396
|
var $318SX = parcelRequire("318SX");
|
|
13449
13397
|
const $cd5d3a6d052e0c77$var$SuggestionAttachment = ({ suggestions: suggestions, title: title, description: description, height: height, history: history, showTutorial: showTutorial })=>{
|
|
13450
13398
|
const translation = (0, $6Q0mk.useLocaleStore)((state)=>state.currentTranslations);
|
|
13399
|
+
const isRTL = (0, $6Q0mk.useLocaleStore)((state)=>state.isRTL);
|
|
13451
13400
|
const configuration = (0, $6EkQS.useRetorikStore)((state)=>state.configuration);
|
|
13452
13401
|
const themeColors = (0, $kUiCn.useViewStore)((state)=>state.themeColors);
|
|
13453
13402
|
const onTutorialClick = ()=>{
|
|
@@ -13463,11 +13412,11 @@ const $cd5d3a6d052e0c77$var$SuggestionAttachment = ({ suggestions: suggestions,
|
|
|
13463
13412
|
children: [
|
|
13464
13413
|
title && // Title on the left if there is a description, middle otherwise
|
|
13465
13414
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
13466
|
-
className: `rf-w-full ${description ? '
|
|
13415
|
+
className: `rf-w-full ${description ? '' : 'rf-text-center'} rf-title-size-auto ${configuration.isUsedOnBorne ? 'rf-truncate' : 'rf-line-clamp-2'}`,
|
|
13467
13416
|
children: (0, $9JtA7.capitalizeFirstLetter)(title)
|
|
13468
13417
|
}),
|
|
13469
13418
|
description && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
13470
|
-
className: "rf-
|
|
13419
|
+
className: "rf-w-full",
|
|
13471
13420
|
children: description
|
|
13472
13421
|
}),
|
|
13473
13422
|
suggestions === null || suggestions === void 0 ? void 0 : suggestions.map((data, key)=>{
|
|
@@ -13481,15 +13430,15 @@ const $cd5d3a6d052e0c77$var$SuggestionAttachment = ({ suggestions: suggestions,
|
|
|
13481
13430
|
}, key);
|
|
13482
13431
|
}),
|
|
13483
13432
|
showTutorial && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
|
|
13484
|
-
className: "rf-
|
|
13433
|
+
className: "rf-w-full rf-flex rf-items-end rf-italic",
|
|
13485
13434
|
children: [
|
|
13486
13435
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $318SX.default), {
|
|
13487
|
-
className:
|
|
13436
|
+
className: `${isRTL ? 'rf-pl-2' : 'rf-pr-2'} rf-h-6`,
|
|
13488
13437
|
color: themeColors.card.button.text.default
|
|
13489
13438
|
}),
|
|
13490
13439
|
`${translation.common.needhelp} ${translation.suggestion.consult}`,
|
|
13491
13440
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("span", {
|
|
13492
|
-
className:
|
|
13441
|
+
className: `${isRTL ? 'rf-pr-1' : 'rf-pl-1'} rf-underline rf-cursor-pointer`,
|
|
13493
13442
|
onClick: onTutorialClick,
|
|
13494
13443
|
children: translation.suggestion.thetutorial
|
|
13495
13444
|
})
|
|
@@ -13575,7 +13524,7 @@ const $393a464021f33e39$var$BorderlessButtonMessage = ({ text: text, differentTe
|
|
|
13575
13524
|
})
|
|
13576
13525
|
}),
|
|
13577
13526
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
13578
|
-
className:
|
|
13527
|
+
className: `${isRTL ? 'rf-mr-4' : 'rf-ml-4'}`,
|
|
13579
13528
|
children: text || ''
|
|
13580
13529
|
})
|
|
13581
13530
|
]
|
|
@@ -13746,7 +13695,7 @@ const $b87ff253ef2ab899$var$GridAttachment = ({ index: index, text: text, textCo
|
|
|
13746
13695
|
})
|
|
13747
13696
|
}),
|
|
13748
13697
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
13749
|
-
className: `rf-flex rf-min-h-8 large:rf-min-h-[2.3rem] ${lineClamp} rf-items-start rf-text-small-size-auto
|
|
13698
|
+
className: `rf-flex rf-min-h-8 large:rf-min-h-[2.3rem] ${lineClamp} rf-items-start rf-text-small-size-auto rf-overflow-y-hidden`,
|
|
13750
13699
|
children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("p", {
|
|
13751
13700
|
className: `${maxHeight} rf-overflow-y-clip`,
|
|
13752
13701
|
dangerouslySetInnerHTML: {
|
|
@@ -14168,12 +14117,12 @@ const $361cae4f0d767c3c$var$SuggestionsItem = ({ className: className, title: ti
|
|
|
14168
14117
|
const locale = (0, $6Q0mk.useLocaleStore)((state)=>state.locale);
|
|
14169
14118
|
return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("button", {
|
|
14170
14119
|
onClick: ()=>handleClick(value),
|
|
14171
|
-
className: `rf-h-fit rf-px-4 rf-py-3
|
|
14120
|
+
className: `rf-h-fit rf-px-4 rf-py-3 rf-mr-4 rf-mb-4 large-vertical:rf-py-4 rf-border rf-rounded-lg rf-bg-templateBackground rf-text-black rf-border-black hover:rf-cursor-pointer rf-flex rf-flex-row rf-items-center rf-justify-center ${className}`,
|
|
14172
14121
|
"aria-label": title,
|
|
14173
14122
|
children: [
|
|
14174
14123
|
(0, $9JtA7.capitalizeFirstLetter)(title, locale),
|
|
14175
14124
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
14176
|
-
className: "
|
|
14125
|
+
className: "rf-ml-6 rf-text-gray",
|
|
14177
14126
|
children: results || 0
|
|
14178
14127
|
})
|
|
14179
14128
|
]
|
|
@@ -14264,7 +14213,7 @@ const $0641c78f051b69fe$var$SubMenuClosing = ({ className: className, background
|
|
|
14264
14213
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $hqoZC.default), {
|
|
14265
14214
|
title: backIsConversation ? translation.menu.backconversation : isMobile ? translation.common.back : translation.menu.backconversation,
|
|
14266
14215
|
handleBack: handleClose,
|
|
14267
|
-
className: `rf-relative large:rf-absolute ${useOldRemote ? 'large-tactile:rf-hidden' : 'large-vertical:rf-hidden'} rf-pb-6 large:
|
|
14216
|
+
className: `rf-relative large:rf-absolute ${useOldRemote ? 'large-tactile:rf-hidden' : 'large-vertical:rf-hidden'} rf-pb-6 large:rf-left-4 large:rf-top-8 rf-text-size-auto`
|
|
14268
14217
|
}),
|
|
14269
14218
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
|
|
14270
14219
|
className: `rf-w-full large:rf-w-fit large:rf-max-w-full large-vertical:rf-max-w-2/3 large:rf-px-6 rf-flex rf-flex-col large-vertical:rf-text-size-auto rf-overflow-y-scroll rf-scrollbar-hidden ${className}`,
|
|
@@ -14377,7 +14326,7 @@ const $00bf5808b0b2c911$var$SingleCardContainer = ({ attachment: attachment, his
|
|
|
14377
14326
|
triggerScroll === null || triggerScroll === void 0 ? void 0 : triggerScroll();
|
|
14378
14327
|
}, []);
|
|
14379
14328
|
return attachment.contentType.includes('.card') ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $4tQkO.default), {
|
|
14380
|
-
className: history ? 'rf-w-full' : 'rf-w-full rf-min-w-full landscape-retorik:rf-w-[48%] landscape-retorik:rf-min-w-[48%] landscape-retorik:
|
|
14329
|
+
className: history ? 'rf-w-full' : 'rf-w-full rf-min-w-full landscape-retorik:rf-w-[48%] landscape-retorik:rf-min-w-[48%] landscape-retorik:rf-ml-1/5 large-vertical:rf-w-3/5 large-vertical:rf-min-w-3/5 rf-max-h-full',
|
|
14381
14330
|
children: (0, $45y1L.default)({
|
|
14382
14331
|
attachment: attachment,
|
|
14383
14332
|
history: history
|
|
@@ -14400,8 +14349,11 @@ $parcel$export(module.exports, "default", () => $2a0863637e76884f$export$2e2bcd8
|
|
|
14400
14349
|
|
|
14401
14350
|
|
|
14402
14351
|
|
|
14352
|
+
var $6Q0mk = parcelRequire("6Q0mk");
|
|
14353
|
+
|
|
14403
14354
|
var $5mkso = parcelRequire("5mkso");
|
|
14404
14355
|
const $2a0863637e76884f$var$Card = ({ children: children, className: className, shadow: shadow = false })=>{
|
|
14356
|
+
const isRTL = (0, $6Q0mk.useLocaleStore)((state)=>state.isRTL);
|
|
14405
14357
|
const [scrollButtonDisplay, setScrollButtonDisplay] = (0, $dWhh5$react.useState)(false);
|
|
14406
14358
|
const [scrollButtonDirection, setScrollButtonDirection] = (0, $dWhh5$react.useState)('bottom');
|
|
14407
14359
|
const botEndRef = (0, $dWhh5$react.useRef)(null);
|
|
@@ -14464,6 +14416,7 @@ const $2a0863637e76884f$var$Card = ({ children: children, className: className,
|
|
|
14464
14416
|
return ()=>timer && clearTimeout(timer);
|
|
14465
14417
|
}, []);
|
|
14466
14418
|
return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
14419
|
+
dir: isRTL ? 'rtl' : 'ltr',
|
|
14467
14420
|
className: `rf-relative rf-max-h-full rf-flex rf-flex-col rf-text-size-auto rf-unselectable ${className}`,
|
|
14468
14421
|
draggable: true,
|
|
14469
14422
|
onDragStart: handleDragStart,
|
|
@@ -14613,8 +14566,6 @@ var $7eio0 = parcelRequire("7eio0");
|
|
|
14613
14566
|
|
|
14614
14567
|
var $kUiCn = parcelRequire("kUiCn");
|
|
14615
14568
|
|
|
14616
|
-
var $6Q0mk = parcelRequire("6Q0mk");
|
|
14617
|
-
|
|
14618
14569
|
var $9CCS6 = parcelRequire("9CCS6");
|
|
14619
14570
|
|
|
14620
14571
|
var $7WHA7 = parcelRequire("7WHA7");
|
|
@@ -14632,7 +14583,6 @@ const $872024d5c381e99a$var$widthCoefficients = {
|
|
|
14632
14583
|
const $872024d5c381e99a$var$defaultTransitionDuration = '300ms';
|
|
14633
14584
|
const $872024d5c381e99a$var$velocityBreakpoint = 0.5;
|
|
14634
14585
|
const $872024d5c381e99a$var$Carousel = /*#__PURE__*/ (0, ($parcel$interopDefault($dWhh5$react))).forwardRef(({ direction: direction, history: history, draft: draft, grid: grid, gridTitle: gridTitle, forcedCurrentCard: forcedCurrentCard, setCarouselCardWidth: setCarouselCardWidth, setForcedCurrentCardInCarousel: setForcedCurrentCardInCarousel, children: children }, ref)=>{
|
|
14635
|
-
const isRTL = (0, $6Q0mk.useLocaleStore)((state)=>state.isRTL);
|
|
14636
14586
|
const mode = (0, $jgaO0.useSpeechStore)((state)=>state.mode);
|
|
14637
14587
|
const forceMobileView = (0, $6EkQS.useRetorikStore)((state)=>state.configuration.forceMobileView);
|
|
14638
14588
|
const currentDeviceType = (0, $kUiCn.useViewStore)((state)=>state.currentDeviceType);
|
|
@@ -14756,32 +14706,26 @@ const $872024d5c381e99a$var$Carousel = /*#__PURE__*/ (0, ($parcel$interopDefault
|
|
|
14756
14706
|
* On currentCard, cardWidth, cardHeight, currentPadding states change :
|
|
14757
14707
|
* - set translation state depending on the direction
|
|
14758
14708
|
*/ (0, $dWhh5$react.useEffect)(()=>{
|
|
14759
|
-
if (currentCard !== undefined && cardWidth !== undefined && cardHeight !== undefined && currentPadding !== undefined) direction === 'vertical' ? setTranslation(`translateY(calc(-${currentCard * cardHeight}px - ${currentCard * gap}rem))`) : setTranslation(`translateX(calc(
|
|
14709
|
+
if (currentCard !== undefined && cardWidth !== undefined && cardHeight !== undefined && currentPadding !== undefined) direction === 'vertical' ? setTranslation(`translateY(calc(-${currentCard * cardHeight}px - ${currentCard * gap}rem))`) : setTranslation(`translateX(calc(-${currentCard * cardWidth}px - ${currentCard * gap}rem + ${currentPadding}px))`);
|
|
14760
14710
|
}, [
|
|
14761
14711
|
currentCard,
|
|
14762
14712
|
cardWidth,
|
|
14763
14713
|
cardHeight,
|
|
14764
|
-
currentPadding
|
|
14765
|
-
isRTL
|
|
14714
|
+
currentPadding
|
|
14766
14715
|
]);
|
|
14767
14716
|
/**
|
|
14768
14717
|
* On wheeling state change :
|
|
14769
14718
|
* - call either onSwipeRight or onSwipeLeft (with high values to enter the right part of the if condition), depending on the wheeling value (positive or negative)
|
|
14770
14719
|
*/ (0, $dWhh5$react.useEffect)(()=>{
|
|
14771
|
-
if (wheeling)
|
|
14772
|
-
const leftSwipe = isRTL ? onSwipeRight : onSwipeLeft;
|
|
14773
|
-
const rightSwipe = isRTL ? onSwipeLeft : onSwipeRight;
|
|
14774
|
-
wheeling > 0 ? leftSwipe(1000, 1000) : rightSwipe(1000, 1000);
|
|
14775
|
-
}
|
|
14720
|
+
if (wheeling) wheeling > 0 ? onSwipeLeft(1000, 1000) : onSwipeRight(1000, 1000);
|
|
14776
14721
|
}, [
|
|
14777
|
-
wheeling
|
|
14778
|
-
isRTL
|
|
14722
|
+
wheeling
|
|
14779
14723
|
]);
|
|
14780
14724
|
/**
|
|
14781
14725
|
* On call :
|
|
14782
14726
|
* - set translation to its initial state
|
|
14783
14727
|
*/ const resetPosition = ()=>{
|
|
14784
|
-
if (cardWidth !== undefined && currentPadding !== undefined) setTranslation(`translateX(calc(
|
|
14728
|
+
if (cardWidth !== undefined && currentPadding !== undefined) setTranslation(`translateX(calc(-${currentCard * cardWidth}px - ${currentCard * gap}rem + ${currentPadding}px))`);
|
|
14785
14729
|
};
|
|
14786
14730
|
/**
|
|
14787
14731
|
* On call :
|
|
@@ -14790,11 +14734,11 @@ const $872024d5c381e99a$var$Carousel = /*#__PURE__*/ (0, ($parcel$interopDefault
|
|
|
14790
14734
|
*/ const bounce = (left)=>{
|
|
14791
14735
|
if (!cardWidth || currentPadding === undefined) return;
|
|
14792
14736
|
setTransitionDuration($872024d5c381e99a$var$defaultTransitionDuration);
|
|
14793
|
-
const direction = left ?
|
|
14794
|
-
setTranslation(`translateX(calc(
|
|
14737
|
+
const direction = left ? '-' : '+';
|
|
14738
|
+
setTranslation(`translateX(calc(-${currentCard * cardWidth}px - ${currentCard * gap}rem + ${currentPadding}px ${direction} ${cardWidth / 10}px))`);
|
|
14795
14739
|
if (timerRef && timerRef.current !== null) clearTimeout(timerRef.current);
|
|
14796
14740
|
timerRef.current = setTimeout(()=>{
|
|
14797
|
-
setTranslation(`translateX(calc(
|
|
14741
|
+
setTranslation(`translateX(calc(-${currentCard * cardWidth}px - ${currentCard * gap}rem + ${currentPadding}px))`);
|
|
14798
14742
|
}, 300);
|
|
14799
14743
|
};
|
|
14800
14744
|
/**
|
|
@@ -14848,12 +14792,11 @@ const $872024d5c381e99a$var$Carousel = /*#__PURE__*/ (0, ($parcel$interopDefault
|
|
|
14848
14792
|
const available = currentCard === 0 || currentCard === nbCards - 1 ? checkSwipingAvailable(distance, gap) : true;
|
|
14849
14793
|
if (cardWidth !== undefined) {
|
|
14850
14794
|
setTransitionDuration('0ms');
|
|
14851
|
-
const effectiveDistance = isRTL ? -distance : distance;
|
|
14852
14795
|
if (available) {
|
|
14853
|
-
if (currentCard !== undefined && cardHeight !== undefined && currentPadding !== undefined) setTranslation(`translateX(calc(
|
|
14796
|
+
if (currentCard !== undefined && cardHeight !== undefined && currentPadding !== undefined) setTranslation(`translateX(calc(-${currentCard * cardWidth}px - ${currentCard * gap}rem + ${currentPadding}px - ${distance}px))`);
|
|
14854
14797
|
} else {
|
|
14855
14798
|
const bounceLimit = cardWidth / 3;
|
|
14856
|
-
if (Math.abs(distance) <= bounceLimit / 2) setTranslation(`translateX(calc(
|
|
14799
|
+
if (Math.abs(distance) <= bounceLimit / 2) setTranslation(`translateX(calc(-${currentCard * cardWidth}px - ${currentCard * gap}rem + ${currentPadding}px - ${distance * (1 - Math.abs(distance) / bounceLimit)}px))`);
|
|
14857
14800
|
}
|
|
14858
14801
|
}
|
|
14859
14802
|
};
|
|
@@ -14910,16 +14853,13 @@ const $872024d5c381e99a$var$Carousel = /*#__PURE__*/ (0, ($parcel$interopDefault
|
|
|
14910
14853
|
setWheeling(delta > 0 ? Date.now() : -Date.now());
|
|
14911
14854
|
}
|
|
14912
14855
|
};
|
|
14913
|
-
const titleStyle = isRTL ? {
|
|
14914
|
-
paddingRight: currentPadding
|
|
14915
|
-
} : {
|
|
14916
|
-
paddingLeft: currentPadding
|
|
14917
|
-
};
|
|
14918
14856
|
return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)((0, ($parcel$interopDefault($dWhh5$react))).Fragment, {
|
|
14919
14857
|
children: [
|
|
14920
14858
|
gridTitle && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
14921
|
-
className: `rf-w-full
|
|
14922
|
-
style:
|
|
14859
|
+
className: `rf-w-full rf-text-left rf-title-large-size-auto ${mode === (0, $7WHA7.Mode).vocal ? 'rf-text-truewhite rf-text-shadow-black' : 'rf-text-textModePanelConversationBot'}`,
|
|
14860
|
+
style: {
|
|
14861
|
+
paddingLeft: currentPadding
|
|
14862
|
+
},
|
|
14923
14863
|
children: gridTitle
|
|
14924
14864
|
}),
|
|
14925
14865
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)((0, $dWhh5$reactspringweb.animated).div, {
|
|
@@ -14938,11 +14878,11 @@ const $872024d5c381e99a$var$Carousel = /*#__PURE__*/ (0, ($parcel$interopDefault
|
|
|
14938
14878
|
children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $k6WCU.default), {
|
|
14939
14879
|
direction: direction || 'horizontal',
|
|
14940
14880
|
onSwiping: onSwiping,
|
|
14941
|
-
onSwipeLeft:
|
|
14942
|
-
onSwipeRight:
|
|
14881
|
+
onSwipeLeft: onSwipeLeft,
|
|
14882
|
+
onSwipeRight: onSwipeRight,
|
|
14943
14883
|
onSwipeTop: onSwipeTop,
|
|
14944
14884
|
onSwipeBottom: onSwipeBottom,
|
|
14945
|
-
className: direction === 'vertical' ? 'rf-flex rf-justify-center' : !isMobile ? history ?
|
|
14885
|
+
className: direction === 'vertical' ? 'rf-flex rf-justify-center' : !isMobile ? history ? 'rf-opacity-gradient-l-thin' : 'rf-opacity-gradient-l' : '',
|
|
14946
14886
|
children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
14947
14887
|
ref: ref,
|
|
14948
14888
|
className: `rf-relative ${direction === 'vertical' ? 'rf-h-max' : 'rf-w-max'} ${enableTranslation ? '' : 'rf-m-auto'} rf-transition-transform`,
|
|
@@ -15164,6 +15104,7 @@ const $f0e30ad3081b61d6$var$Grid = ({ title: title, history: history, qrCodeData
|
|
|
15164
15104
|
const mode = (0, $jgaO0.useSpeechStore)((state)=>state.mode);
|
|
15165
15105
|
const configuration = (0, $6EkQS.useRetorikStore)((state)=>state.configuration);
|
|
15166
15106
|
const translation = (0, $6Q0mk.useLocaleStore)((state)=>state.currentTranslations);
|
|
15107
|
+
const isRTL = (0, $6Q0mk.useLocaleStore)((state)=>state.isRTL);
|
|
15167
15108
|
const clickedOnUI = (0, $7eio0.useUtilsStore)((state)=>state.clickedOnUI);
|
|
15168
15109
|
const setClickedOnUI = (0, $7eio0.useUtilsStore)((state)=>state.actions.setClickedOnUI);
|
|
15169
15110
|
const useOldRemote = (0, $6EkQS.useRetorikStore)((state)=>state.configuration.useOldRemote);
|
|
@@ -15310,10 +15251,11 @@ const $f0e30ad3081b61d6$var$Grid = ({ title: title, history: history, qrCodeData
|
|
|
15310
15251
|
};
|
|
15311
15252
|
return nbCards ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
|
|
15312
15253
|
id: "retorik-grid",
|
|
15313
|
-
|
|
15254
|
+
dir: isRTL ? 'rtl' : 'ltr',
|
|
15255
|
+
className: `rf-w-full rf-flex rf-flex-col rf-gap-4 vertical:rf-w-9/10 ${history ? 'large-vertical:rf-w-full' : 'landscape-retorik:rf-pr-40 landscape-retorik:rf-pl-1/5 large-vertical:rf-w-3/5'} vertical:rf-items-center`,
|
|
15314
15256
|
children: [
|
|
15315
15257
|
title && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
15316
|
-
className: `rf-w-full
|
|
15258
|
+
className: `rf-w-full ${isRTL ? 'rf-text-right' : 'rf-text-left'} rf-title-large-size-auto ${history ? 'rf-text-textModePanelConversationBot' : 'rf-text-truewhite rf-text-shadow-black'}`,
|
|
15317
15259
|
children: title
|
|
15318
15260
|
}),
|
|
15319
15261
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
|
|
@@ -15367,17 +15309,17 @@ var $f0e30ad3081b61d6$export$2e2bcd8739ae039 = $f0e30ad3081b61d6$var$Grid;
|
|
|
15367
15309
|
|
|
15368
15310
|
|
|
15369
15311
|
parcelRegister("daT1M", function(module, exports) {
|
|
15370
|
-
module.exports = Promise.resolve(require("./HistoryList.
|
|
15312
|
+
module.exports = Promise.resolve(require("./HistoryList.4c303dc6.js")).then(()=>parcelRequire('1TROp'));
|
|
15371
15313
|
|
|
15372
15314
|
});
|
|
15373
15315
|
|
|
15374
15316
|
parcelRegister("8A8vC", function(module, exports) {
|
|
15375
|
-
module.exports = Promise.resolve(require("./LanguageChoice.
|
|
15317
|
+
module.exports = Promise.resolve(require("./LanguageChoice.ff0cd04c.js")).then(()=>parcelRequire('cMcsq'));
|
|
15376
15318
|
|
|
15377
15319
|
});
|
|
15378
15320
|
|
|
15379
15321
|
parcelRegister("ahTaB", function(module, exports) {
|
|
15380
|
-
module.exports = Promise.resolve(require("./AttachmentDetail.
|
|
15322
|
+
module.exports = Promise.resolve(require("./AttachmentDetail.0a576bf3.js")).then(()=>parcelRequire('27nhc'));
|
|
15381
15323
|
|
|
15382
15324
|
});
|
|
15383
15325
|
|
|
@@ -15387,17 +15329,17 @@ module.exports = Promise.resolve(require("./FullScreenImage.9a9b978e.js")).then(
|
|
|
15387
15329
|
});
|
|
15388
15330
|
|
|
15389
15331
|
parcelRegister("jQXZd", function(module, exports) {
|
|
15390
|
-
module.exports = Promise.resolve(require("./Weather.
|
|
15332
|
+
module.exports = Promise.resolve(require("./Weather.99917b66.js")).then(()=>parcelRequire('j5z2A'));
|
|
15391
15333
|
|
|
15392
15334
|
});
|
|
15393
15335
|
|
|
15394
15336
|
parcelRegister("kVj24", function(module, exports) {
|
|
15395
|
-
module.exports = Promise.resolve(require("./CustomView.
|
|
15337
|
+
module.exports = Promise.resolve(require("./CustomView.edf84de1.js")).then(()=>parcelRequire('h8y4X'));
|
|
15396
15338
|
|
|
15397
15339
|
});
|
|
15398
15340
|
|
|
15399
15341
|
parcelRegister("2J06a", function(module, exports) {
|
|
15400
|
-
module.exports = Promise.resolve(require("./Emergency.
|
|
15342
|
+
module.exports = Promise.resolve(require("./Emergency.897ee3c7.js")).then(()=>parcelRequire('5Osom'));
|
|
15401
15343
|
|
|
15402
15344
|
});
|
|
15403
15345
|
|
|
@@ -15586,7 +15528,7 @@ const $6ec4b578ee34ee4b$var$Remote = ({ hideMenu: hideMenu = false, setTopOfRemo
|
|
|
15586
15528
|
};
|
|
15587
15529
|
return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
15588
15530
|
id: "retorik-framework-remote",
|
|
15589
|
-
className: "rf-absolute rf-z-[10] rf-flex rf-flex-col rf-justify-center rf-items-center rf-gap-2
|
|
15531
|
+
className: "rf-absolute rf-z-[10] rf-flex rf-flex-col rf-justify-center rf-items-center rf-gap-2 rf-right-6 large-vertical:rf-right-9",
|
|
15590
15532
|
style: {
|
|
15591
15533
|
top: absoluteVerticalTop,
|
|
15592
15534
|
bottom: absoluteVerticalBottom
|
|
@@ -15668,10 +15610,16 @@ const $354469513bda8262$var$RemoteButton = ({ type: type, backgroundColor: backg
|
|
|
15668
15610
|
const { toggleMuted: toggleMuted, setActiveRecognitionState: setActiveRecognitionState, setMode: setMode } = (0, $jgaO0.useSpeechStore)((state)=>state.actions);
|
|
15669
15611
|
const { toggleSubtitles: toggleSubtitles, setCanFocusSendBox: setCanFocusSendBox } = (0, $6EkQS.useRetorikStore)((state)=>state.actions);
|
|
15670
15612
|
const sendEvent = (0, $6QoTL.useDirectlineStore)((state)=>state.actions.sendEvent);
|
|
15613
|
+
const currentSubViewRef = (0, $dWhh5$react.useRef)((0, $7WHA7.CurrentSubView).none);
|
|
15671
15614
|
const [icon, setIcon] = (0, $dWhh5$react.useState)();
|
|
15672
15615
|
const [label, setLabel] = (0, $dWhh5$react.useState)();
|
|
15673
15616
|
const [hover, setHover] = (0, $dWhh5$react.useState)(false);
|
|
15674
15617
|
const [backgroundColorHover, setBackgroundColorHover] = (0, $dWhh5$react.useState)(undefined);
|
|
15618
|
+
(0, $dWhh5$react.useEffect)(()=>{
|
|
15619
|
+
currentSubViewRef.current = currentSubView;
|
|
15620
|
+
}, [
|
|
15621
|
+
currentSubView
|
|
15622
|
+
]);
|
|
15675
15623
|
(0, $dWhh5$react.useEffect)(()=>{
|
|
15676
15624
|
setBackgroundColorHover(backgroundColor === null || backgroundColor === void 0 ? void 0 : backgroundColor.replace('99', 'E6'));
|
|
15677
15625
|
}, [
|
|
@@ -15767,14 +15715,20 @@ const $354469513bda8262$var$RemoteButton = ({ type: type, backgroundColor: backg
|
|
|
15767
15715
|
const handleClick = ()=>{
|
|
15768
15716
|
switch(type){
|
|
15769
15717
|
case (0, $7WHA7.RemoteButtonType).history:
|
|
15770
|
-
|
|
15718
|
+
if (currentSubViewRef.current === (0, $7WHA7.CurrentSubView).history) {
|
|
15719
|
+
setCurrentSubView((0, $7WHA7.CurrentSubView).none);
|
|
15720
|
+
sendEvent('Davi.CloseWindow', null, ()=>sendEvent('Davi.CloseWindowHistory', null));
|
|
15721
|
+
} else setCurrentSubView((0, $7WHA7.CurrentSubView).history);
|
|
15771
15722
|
break;
|
|
15772
15723
|
case (0, $7WHA7.RemoteButtonType).home:
|
|
15773
15724
|
setCurrentSubView((0, $7WHA7.CurrentSubView).none);
|
|
15774
15725
|
sendEvent('showHome');
|
|
15775
15726
|
break;
|
|
15776
15727
|
case (0, $7WHA7.RemoteButtonType).language:
|
|
15777
|
-
|
|
15728
|
+
if (currentSubViewRef.current === (0, $7WHA7.CurrentSubView).languages) {
|
|
15729
|
+
setCurrentSubView((0, $7WHA7.CurrentSubView).none);
|
|
15730
|
+
sendEvent('Davi.CloseWindow', null, ()=>sendEvent('Davi.CloseWindowLanguages', null));
|
|
15731
|
+
} else setCurrentSubView((0, $7WHA7.CurrentSubView).languages);
|
|
15778
15732
|
break;
|
|
15779
15733
|
case (0, $7WHA7.RemoteButtonType).menu:
|
|
15780
15734
|
toggleDashboard();
|
|
@@ -15804,8 +15758,13 @@ const $354469513bda8262$var$RemoteButton = ({ type: type, backgroundColor: backg
|
|
|
15804
15758
|
case (0, $7WHA7.CloseButtonCause).list:
|
|
15805
15759
|
setCloseList(Date.now());
|
|
15806
15760
|
break;
|
|
15807
|
-
case (0, $7WHA7.CloseButtonCause).
|
|
15761
|
+
case (0, $7WHA7.CloseButtonCause).emergency:
|
|
15762
|
+
case (0, $7WHA7.CloseButtonCause).history:
|
|
15763
|
+
case (0, $7WHA7.CloseButtonCause).languages:
|
|
15764
|
+
case (0, $7WHA7.CloseButtonCause).weather:
|
|
15765
|
+
case (0, $7WHA7.CloseButtonCause).map:
|
|
15808
15766
|
setCurrentSubView((0, $7WHA7.CurrentSubView).none);
|
|
15767
|
+
sendEvent('Davi.CloseWindow', null, ()=>sendEvent(`Davi.CloseWindow${cause}`, null));
|
|
15809
15768
|
break;
|
|
15810
15769
|
case (0, $7WHA7.CloseButtonCause).news:
|
|
15811
15770
|
setRoute((0, $7WHA7.Routes).Home);
|
|
@@ -16474,6 +16433,7 @@ const $b3293ae5ea012219$var$SendTextBox = ({ className: className })=>{
|
|
|
16474
16433
|
};
|
|
16475
16434
|
return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
|
|
16476
16435
|
id: "retorik-send-textbox",
|
|
16436
|
+
dir: isRTL ? 'rtl' : 'ltr',
|
|
16477
16437
|
className: `rf-relative rf-min-h-12 rf-px-4 rf-text-base rf-pt-3 rf-pb-3 rf-flex rf-items-center rf-border rf-border-textBoxBorder rf-rounded-8 rf-bg-truewhite rf-shadow-[inset_0_0_6px_#0000003B] ${className}`,
|
|
16478
16438
|
children: [
|
|
16479
16439
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("textarea", {
|
|
@@ -16490,7 +16450,7 @@ const $b3293ae5ea012219$var$SendTextBox = ({ className: className })=>{
|
|
|
16490
16450
|
}
|
|
16491
16451
|
}),
|
|
16492
16452
|
!isMobile && !disabledSpeechMode && !useOldRemote && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("button", {
|
|
16493
|
-
className:
|
|
16453
|
+
className: `rf-absolute ${isRTL ? 'rf-left-12' : 'rf-right-12'} rf-h-full rf-w-8 rf-flex rf-justify-center rf-items-center`,
|
|
16494
16454
|
onClick: handleClick,
|
|
16495
16455
|
children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $yLuO1.default), {
|
|
16496
16456
|
className: "rf-h-4 large-vertical:rf-h-5",
|
|
@@ -16498,7 +16458,7 @@ const $b3293ae5ea012219$var$SendTextBox = ({ className: className })=>{
|
|
|
16498
16458
|
})
|
|
16499
16459
|
}),
|
|
16500
16460
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("button", {
|
|
16501
|
-
className:
|
|
16461
|
+
className: `rf-absolute ${isRTL ? 'rf-left-2' : 'rf-right-2'} rf-h-8 rf-w-8 rf-pt-1 rf-pr-1 rf-flex rf-justify-center rf-items-center rf-border rf-border-secondary rf-bg-secondary rf-rounded-half`,
|
|
16502
16462
|
onClick: handleSend,
|
|
16503
16463
|
children: isRTL ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $4UCKa.default), {
|
|
16504
16464
|
className: "rf-w-5",
|
|
@@ -16751,7 +16711,20 @@ const $18d4a37a7fa81be4$var$MicrophoneAndSwitch = ({ top: top })=>{
|
|
|
16751
16711
|
if (!isLandscape && (currentSubView !== (0, $7WHA7.CurrentSubView).none || dashboardOpened || retorikEvent === (0, $7WHA7.RetorikEvent).DetailViewOpen || listStatus === (0, $7WHA7.ListStatus).opened || route === (0, $7WHA7.Routes).News || fullScreenImage)) {
|
|
16752
16712
|
if (retorikEvent === (0, $7WHA7.RetorikEvent).DetailViewOpen && currentSubView === (0, $7WHA7.CurrentSubView).none) setShowCloseButton((0, $7WHA7.CloseButtonCause).detailedpoi);
|
|
16753
16713
|
else if (listStatus === (0, $7WHA7.ListStatus).opened) setShowCloseButton((0, $7WHA7.CloseButtonCause).list);
|
|
16754
|
-
else if (currentSubView !== (0, $7WHA7.CurrentSubView).none)
|
|
16714
|
+
else if (currentSubView !== (0, $7WHA7.CurrentSubView).none) switch(currentSubView){
|
|
16715
|
+
case (0, $7WHA7.CurrentSubView).emergency:
|
|
16716
|
+
setShowCloseButton((0, $7WHA7.CloseButtonCause).emergency);
|
|
16717
|
+
break;
|
|
16718
|
+
case (0, $7WHA7.CurrentSubView).history:
|
|
16719
|
+
setShowCloseButton((0, $7WHA7.CloseButtonCause).history);
|
|
16720
|
+
break;
|
|
16721
|
+
case (0, $7WHA7.CurrentSubView).languages:
|
|
16722
|
+
setShowCloseButton((0, $7WHA7.CloseButtonCause).languages);
|
|
16723
|
+
break;
|
|
16724
|
+
case (0, $7WHA7.CurrentSubView).weather:
|
|
16725
|
+
setShowCloseButton((0, $7WHA7.CloseButtonCause).weather);
|
|
16726
|
+
break;
|
|
16727
|
+
}
|
|
16755
16728
|
else if (dashboardOpened) setShowCloseButton((0, $7WHA7.CloseButtonCause).dashboard);
|
|
16756
16729
|
else if (route === (0, $7WHA7.Routes).News) setShowCloseButton((0, $7WHA7.CloseButtonCause).news);
|
|
16757
16730
|
else if (fullScreenImage) setShowCloseButton((0, $7WHA7.CloseButtonCause).fullscreenimage);
|
|
@@ -16774,16 +16747,16 @@ const $18d4a37a7fa81be4$var$MicrophoneAndSwitch = ({ top: top })=>{
|
|
|
16774
16747
|
]);
|
|
16775
16748
|
return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
|
|
16776
16749
|
id: "retorik-microphone-container",
|
|
16777
|
-
className: `large-vertical:rf-absolute rf-w-fit ${showCloseButton ? '
|
|
16750
|
+
className: `large-vertical:rf-absolute rf-w-fit ${showCloseButton !== (0, $7WHA7.CloseButtonCause).none ? 'rf-right-9' : 'rf-right-4'} landscape-retorik:-rf-mt-4 landscape-retorik:rf-pl-[calc(50%-2.5rem)] rf-flex rf-flex-row large-vertical:rf-flex-col rf-justify-center rf-items-center rf-gap-6 large-vertical:rf-gap-4`,
|
|
16778
16751
|
style: {
|
|
16779
16752
|
bottom: bottomForBorne
|
|
16780
16753
|
},
|
|
16781
16754
|
children: [
|
|
16782
16755
|
mode === (0, $7WHA7.Mode).vocal && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $8AU2L.default), {
|
|
16783
|
-
hidden:
|
|
16756
|
+
hidden: showCloseButton !== (0, $7WHA7.CloseButtonCause).none
|
|
16784
16757
|
}),
|
|
16785
|
-
(showCloseButton || mode === (0, $7WHA7.Mode).vocal) && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $iMnE7.default), {
|
|
16786
|
-
type: showCloseButton ? (0, $7WHA7.RemoteButtonType).close : (0, $7WHA7.RemoteButtonType).text,
|
|
16758
|
+
(showCloseButton !== (0, $7WHA7.CloseButtonCause).none || mode === (0, $7WHA7.Mode).vocal) && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $iMnE7.default), {
|
|
16759
|
+
type: showCloseButton !== (0, $7WHA7.CloseButtonCause).none ? (0, $7WHA7.RemoteButtonType).close : (0, $7WHA7.RemoteButtonType).text,
|
|
16787
16760
|
backgroundColor: "#FFF",
|
|
16788
16761
|
cause: showCloseButton
|
|
16789
16762
|
})
|
|
@@ -17184,6 +17157,11 @@ const $b8818a8d75b2cc14$var$MicrophoneTextBubble = ({ showLoader: showLoader })=
|
|
|
17184
17157
|
const [text, setText] = (0, $dWhh5$react.useState)();
|
|
17185
17158
|
const [textUndefined, setTextUndefined] = (0, $dWhh5$react.useState)(false);
|
|
17186
17159
|
const timerRef = (0, $dWhh5$react.useRef)(null);
|
|
17160
|
+
(0, $dWhh5$react.useEffect)(()=>{
|
|
17161
|
+
return ()=>{
|
|
17162
|
+
timerRef.current && clearTimeout(timerRef.current);
|
|
17163
|
+
};
|
|
17164
|
+
}, []);
|
|
17187
17165
|
(0, $dWhh5$react.useEffect)(()=>{
|
|
17188
17166
|
setTextUndefined(speaking || showLoader || !botAnswerEnded || currentSubView !== (0, $7WHA7.CurrentSubView).none || dashboardOpened || retorikEvent === (0, $7WHA7.RetorikEvent).DetailViewOpen || listStatus === (0, $7WHA7.ListStatus).opened);
|
|
17189
17167
|
}, [
|
|
@@ -17213,8 +17191,12 @@ const $b8818a8d75b2cc14$var$MicrophoneTextBubble = ({ showLoader: showLoader })=
|
|
|
17213
17191
|
setText(isMobile || isLandscape && lastRecognitionInterim ? undefined : translation.microphone.listening);
|
|
17214
17192
|
break;
|
|
17215
17193
|
case (0, $7WHA7.RecognitionState).Closed:
|
|
17216
|
-
|
|
17217
|
-
|
|
17194
|
+
let text = undefined;
|
|
17195
|
+
if (!textUndefined) text = useContinuousRecognition ? `<p>${translation.microphone.trigger}${isMobile ? ' ' : '<br />'}<strong>\xab ${agentData === null || agentData === void 0 ? void 0 : agentData.name} \xbb</strong></p>` : `<p>${translation.microphone.triggerwithoutname}</p>`;
|
|
17196
|
+
// Show the button only 1.5s after, to prevents it from appearing à fraction of second between several texts
|
|
17197
|
+
timerRef.current = setTimeout(()=>{
|
|
17198
|
+
setText(text);
|
|
17199
|
+
}, 1500);
|
|
17218
17200
|
break;
|
|
17219
17201
|
case (0, $7WHA7.RecognitionState).Initializing:
|
|
17220
17202
|
case (0, $7WHA7.RecognitionState).Closing:
|
|
@@ -17429,24 +17411,18 @@ $parcel$export(module.exports, "default", () => $edf407019e6638b3$export$2e2bcd8
|
|
|
17429
17411
|
var $9JtA7 = parcelRequire("9JtA7");
|
|
17430
17412
|
parcelRequire("g8vvH");
|
|
17431
17413
|
var $8hLdy = parcelRequire("8hLdy");
|
|
17432
|
-
var $9GBKn = parcelRequire("9GBKn");
|
|
17433
|
-
|
|
17434
|
-
var $6Q0mk = parcelRequire("6Q0mk");
|
|
17435
17414
|
const $edf407019e6638b3$var$BackButton = ({ title: title, className: className, handleBack: handleBack })=>{
|
|
17436
|
-
const isRTL = (0, $6Q0mk.useLocaleStore)((state)=>state.isRTL);
|
|
17437
17415
|
return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("button", {
|
|
17438
17416
|
className: `rf-flex rf-flex-row rf-items-center ${className}`,
|
|
17439
17417
|
onClick: handleBack,
|
|
17440
17418
|
"aria-label": title,
|
|
17441
17419
|
"data-map": "fermer",
|
|
17442
17420
|
children: [
|
|
17443
|
-
|
|
17444
|
-
className: "rf-w-8"
|
|
17445
|
-
}) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $8hLdy.default), {
|
|
17421
|
+
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $8hLdy.default), {
|
|
17446
17422
|
className: "rf-w-8"
|
|
17447
17423
|
}),
|
|
17448
17424
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
17449
|
-
className: "
|
|
17425
|
+
className: "rf-ml-1",
|
|
17450
17426
|
children: (0, $9JtA7.capitalizeFirstLetter)(title)
|
|
17451
17427
|
})
|
|
17452
17428
|
]
|
|
@@ -17678,6 +17654,7 @@ function $c2cf23236f794ed3$var$instanceOfCustomMenuDisplayGeneratorProps(object)
|
|
|
17678
17654
|
const $c2cf23236f794ed3$var$DisplayGenerator = (props)=>{
|
|
17679
17655
|
const translation = (0, $6Q0mk.useLocaleStore)((state)=>state.currentTranslations);
|
|
17680
17656
|
const locale = (0, $6Q0mk.useLocaleStore)((state)=>state.locale);
|
|
17657
|
+
const isRTL = (0, $6Q0mk.useLocaleStore)((state)=>state.isRTL);
|
|
17681
17658
|
const isMobile = (0, $kUiCn.useViewStore)((state)=>state.isMobile);
|
|
17682
17659
|
const themeColors = (0, $kUiCn.useViewStore)((state)=>state.themeColors);
|
|
17683
17660
|
const setRoute = (0, $kUiCn.useViewStore)((state)=>state.actions.setRoute);
|
|
@@ -17757,7 +17734,7 @@ const $c2cf23236f794ed3$var$DisplayGenerator = (props)=>{
|
|
|
17757
17734
|
color: colorButtonHandle
|
|
17758
17735
|
}),
|
|
17759
17736
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
17760
|
-
className: "
|
|
17737
|
+
className: "rf-ml-4 rf-font-bold",
|
|
17761
17738
|
children: (0, $9JtA7.capitalizeFirstLetter)(label, locale)
|
|
17762
17739
|
})
|
|
17763
17740
|
]
|
|
@@ -17778,7 +17755,7 @@ const $c2cf23236f794ed3$var$DisplayGenerator = (props)=>{
|
|
|
17778
17755
|
color: colorButtonHandle
|
|
17779
17756
|
}),
|
|
17780
17757
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
17781
|
-
className:
|
|
17758
|
+
className: `rf-uppercase rf-text-[#575F6B] ${isRTL ? 'rf-text-arabic' : 'rf-text-xs'} large-vertical:rf-text-basecustomuppercase`,
|
|
17782
17759
|
children: label
|
|
17783
17760
|
})
|
|
17784
17761
|
]
|
|
@@ -17935,6 +17912,7 @@ function $3919bd42dc5f6fe9$var$instanceOfCustomMenuDisplayGeneratorProps(object)
|
|
|
17935
17912
|
const $3919bd42dc5f6fe9$var$DisplaySubGenerator = (props)=>{
|
|
17936
17913
|
const translation = (0, $6Q0mk.useLocaleStore)((state)=>state.currentTranslations);
|
|
17937
17914
|
const locale = (0, $6Q0mk.useLocaleStore)((state)=>state.locale);
|
|
17915
|
+
const isRTL = (0, $6Q0mk.useLocaleStore)((state)=>state.isRTL);
|
|
17938
17916
|
const isMobile = (0, $kUiCn.useViewStore)((state)=>state.isMobile);
|
|
17939
17917
|
const { setCurrentSubView: setCurrentSubView, setCurrentCustomView: setCurrentCustomView } = (0, $7eio0.useUtilsStore)((state)=>state.actions);
|
|
17940
17918
|
const [label, setLabel] = (0, $dWhh5$react.useState)('');
|
|
@@ -17994,7 +17972,7 @@ const $3919bd42dc5f6fe9$var$DisplaySubGenerator = (props)=>{
|
|
|
17994
17972
|
className: "rf-h-8 rf-w-8 rf-flex"
|
|
17995
17973
|
}),
|
|
17996
17974
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
17997
|
-
className:
|
|
17975
|
+
className: `rf-uppercase rf-text-[#575F6B] ${isRTL ? 'rf-text-arabic' : 'rf-text-xs'}`,
|
|
17998
17976
|
children: label
|
|
17999
17977
|
})
|
|
18000
17978
|
]
|
|
@@ -18165,7 +18143,7 @@ const $6c55d8a0c55d15f9$var$ParameterButton = ({ title: title, color: color, ico
|
|
|
18165
18143
|
className: "rf-flex rf-flex-row rf-items-center",
|
|
18166
18144
|
children: [
|
|
18167
18145
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
18168
|
-
className: "
|
|
18146
|
+
className: "rf-mr-3 rf-text-lightgray rf-normal-case",
|
|
18169
18147
|
children: (0, (/*@__PURE__*/$parcel$interopDefault($exo5b)))[locale]
|
|
18170
18148
|
}),
|
|
18171
18149
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $a4tZ1.default), {
|
|
@@ -18195,7 +18173,7 @@ const $6c55d8a0c55d15f9$var$ParameterButton = ({ title: title, color: color, ico
|
|
|
18195
18173
|
color: color
|
|
18196
18174
|
}) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, ($parcel$interopDefault($dWhh5$react))).Fragment, {}),
|
|
18197
18175
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
18198
|
-
className: "
|
|
18176
|
+
className: "rf-ml-1 rf-uppercase",
|
|
18199
18177
|
children: title
|
|
18200
18178
|
})
|
|
18201
18179
|
]
|
|
@@ -18866,7 +18844,7 @@ var $341aa389b3b9926d$export$2e2bcd8739ae039 = $341aa389b3b9926d$var$DashboardIt
|
|
|
18866
18844
|
|
|
18867
18845
|
|
|
18868
18846
|
parcelRegister("ffoK4", function(module, exports) {
|
|
18869
|
-
module.exports = Promise.resolve(require("./NewsContainer.
|
|
18847
|
+
module.exports = Promise.resolve(require("./NewsContainer.a91d9131.js")).then(()=>parcelRequire('dKdsa'));
|
|
18870
18848
|
|
|
18871
18849
|
});
|
|
18872
18850
|
|
|
@@ -19286,7 +19264,7 @@ var $kUiCn = parcelRequire("kUiCn");
|
|
|
19286
19264
|
|
|
19287
19265
|
var $6EkQS = parcelRequire("6EkQS");
|
|
19288
19266
|
var $203b743475f656c9$exports = {};
|
|
19289
|
-
$203b743475f656c9$exports = "*, :before, :after, ::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: #3b82f680;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}\n\n*, :before, :after {\n box-sizing: border-box;\n border: 0 solid;\n}\n\n:before, :after {\n --tw-content: \"\";\n}\n\nhtml, :host {\n -webkit-text-size-adjust: 100%;\n -moz-tab-size: 4;\n tab-size: 4;\n font-feature-settings: normal;\n font-variation-settings: normal;\n -webkit-tap-highlight-color: transparent;\n font-family: Calibri, sans-serif;\n line-height: 1.5;\n}\n\nbody {\n line-height: inherit;\n margin: 0;\n}\n\nhr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n}\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\nh1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\nb, strong {\n font-weight: bolder;\n}\n\ncode, kbd, samp, pre {\n font-feature-settings: normal;\n font-variation-settings: normal;\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;\n font-size: 1em;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub, sup {\n vertical-align: baseline;\n font-size: 75%;\n line-height: 0;\n position: relative;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\ntable {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n}\n\nbutton, input, optgroup, select, textarea {\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n font-family: inherit;\n font-size: 100%;\n font-weight: inherit;\n line-height: inherit;\n letter-spacing: inherit;\n color: inherit;\n margin: 0;\n padding: 0;\n}\n\nbutton, select {\n text-transform: none;\n}\n\nbutton, input:where([type=\"button\"]), input:where([type=\"reset\"]), input:where([type=\"submit\"]) {\n -webkit-appearance: button;\n background-color: #0000;\n background-image: none;\n}\n\n:-moz-focusring {\n outline: auto;\n}\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n\nsummary {\n display: list-item;\n}\n\nblockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol, ul, menu {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\ndialog {\n padding: 0;\n}\n\ntextarea {\n resize: vertical;\n}\n\ninput::placeholder, textarea::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\n\nbutton, [role=\"button\"] {\n cursor: pointer;\n}\n\n:disabled {\n cursor: default;\n}\n\nimg, svg, video, canvas, audio, iframe, embed, object {\n vertical-align: middle;\n display: block;\n}\n\nimg, video {\n max-width: 100%;\n height: auto;\n}\n\n[hidden]:where(:not([hidden=\"until-found\"])) {\n display: none;\n}\n\n.rf-pointer-events-none {\n pointer-events: none;\n}\n\n.rf-pointer-events-auto {\n pointer-events: auto;\n}\n\n.rf-visible {\n visibility: visible;\n}\n\n.rf-invisible {\n visibility: hidden;\n}\n\n.rf-fixed {\n position: fixed;\n}\n\n.rf-absolute {\n position: absolute;\n}\n\n.rf-relative {\n position: relative;\n}\n\n.-rf-left-6 {\n left: -1.5rem;\n}\n\n.-rf-top-2 {\n top: -.5rem;\n}\n\n.-rf-top-4 {\n top: -1rem;\n}\n\n.-rf-top-6 {\n top: -1.5rem;\n}\n\n.-rf-top-\\[1\\.15rem\\] {\n top: -1.15rem;\n}\n\n.rf-bottom-0 {\n bottom: 0;\n}\n\n.rf-bottom-1 {\n bottom: .25rem;\n}\n\n.rf-bottom-1\\/4 {\n bottom: 25%;\n}\n\n.rf-bottom-10 {\n bottom: 2.5rem;\n}\n\n.rf-bottom-2 {\n bottom: .5rem;\n}\n\n.rf-bottom-4 {\n bottom: 1rem;\n}\n\n.rf-bottom-8 {\n bottom: 2rem;\n}\n\n.rf-bottom-\\[calc\\(100\\%\\+2rem\\)\\] {\n bottom: calc(100% + 2rem);\n}\n\n.rf-left-0 {\n left: 0;\n}\n\n.rf-left-1 {\n left: .25rem;\n}\n\n.rf-left-1\\/2 {\n left: 50%;\n}\n\n.rf-left-2 {\n left: .5rem;\n}\n\n.rf-left-4 {\n left: 1rem;\n}\n\n.rf-left-8 {\n left: 2rem;\n}\n\n.rf-left-\\[calc\\(100\\%\\+1rem\\)\\] {\n left: calc(100% + 1rem);\n}\n\n.rf-left-\\[calc\\(50\\%-3rem\\)\\] {\n left: calc(50% - 3rem);\n}\n\n.rf-right-0 {\n right: 0;\n}\n\n.rf-right-1 {\n right: .25rem;\n}\n\n.rf-right-10 {\n right: 2.5rem;\n}\n\n.rf-right-12 {\n right: 3rem;\n}\n\n.rf-right-2 {\n right: .5rem;\n}\n\n.rf-right-4 {\n right: 1rem;\n}\n\n.rf-right-6 {\n right: 1.5rem;\n}\n\n.rf-right-8 {\n right: 2rem;\n}\n\n.rf-right-\\[calc\\(100\\%\\+1rem\\)\\] {\n right: calc(100% + 1rem);\n}\n\n.rf-top-0 {\n top: 0;\n}\n\n.rf-top-1 {\n top: .25rem;\n}\n\n.rf-top-1\\/2 {\n top: 50%;\n}\n\n.rf-top-1\\/3 {\n top: 33.3333%;\n}\n\n.rf-top-110 {\n top: 110%;\n}\n\n.rf-top-2 {\n top: .5rem;\n}\n\n.rf-top-4 {\n top: 1rem;\n}\n\n.rf-top-8 {\n top: 2rem;\n}\n\n.rf-top-\\[0\\.125rem\\] {\n top: .125rem;\n}\n\n.rf-top-\\[calc\\(100\\%\\+1rem\\)\\] {\n top: calc(100% + 1rem);\n}\n\n.rf-top-\\[calc\\(50\\%-3rem\\)\\] {\n top: calc(50% - 3rem);\n}\n\n.rf-z-\\[10\\] {\n z-index: 10;\n}\n\n.rf-z-\\[15\\] {\n z-index: 15;\n}\n\n.rf-z-\\[1\\] {\n z-index: 1;\n}\n\n.rf-z-\\[20\\] {\n z-index: 20;\n}\n\n.rf-z-\\[25\\] {\n z-index: 25;\n}\n\n.rf-z-\\[2\\] {\n z-index: 2;\n}\n\n.rf-z-\\[5\\] {\n z-index: 5;\n}\n\n.rf-z-agent {\n z-index: 1;\n}\n\n.rf-z-background {\n z-index: 0;\n}\n\n.rf-z-chatbot {\n z-index: 10;\n}\n\n.rf-z-detailedPOI {\n z-index: 31;\n}\n\n.rf-z-dropdown {\n z-index: 30;\n}\n\n.rf-z-exitwidget {\n z-index: 55;\n}\n\n.rf-z-list {\n z-index: 30;\n}\n\n.rf-z-menu {\n z-index: 40;\n}\n\n.rf-z-modal {\n z-index: 50;\n}\n\n.rf-z-overlay {\n z-index: 40;\n}\n\n.rf-z-ui {\n z-index: 20;\n}\n\n.rf-z-util {\n z-index: 2;\n}\n\n.rf-col-span-2 {\n grid-column: span 2 / span 2;\n}\n\n.rf-col-span-3 {\n grid-column: span 3 / span 3;\n}\n\n.rf-col-span-4 {\n grid-column: span 4 / span 4;\n}\n\n.rf-col-span-full {\n grid-column: 1 / -1;\n}\n\n.rf-col-start-1 {\n grid-column-start: 1;\n}\n\n.rf-col-start-3 {\n grid-column-start: 3;\n}\n\n.rf-col-start-4 {\n grid-column-start: 4;\n}\n\n.rf-col-start-5 {\n grid-column-start: 5;\n}\n\n.rf-col-end-13 {\n grid-column-end: 13;\n}\n\n.rf-col-end-2 {\n grid-column-end: 2;\n}\n\n.rf-col-end-9 {\n grid-column-end: 9;\n}\n\n.rf-row-span-1 {\n grid-row: span 1 / span 1;\n}\n\n.rf-row-span-2 {\n grid-row: span 2 / span 2;\n}\n\n.rf-row-span-full {\n grid-row: 1 / -1;\n}\n\n.rf-row-start-1 {\n grid-row-start: 1;\n}\n\n.rf-row-start-12 {\n grid-row-start: 12;\n}\n\n.rf-row-end-13 {\n grid-row-end: 13;\n}\n\n.rf-row-end-3 {\n grid-row-end: 3;\n}\n\n.rf-float-right {\n float: right;\n}\n\n.rf-m-0 {\n margin: 0;\n}\n\n.rf-m-4 {\n margin: 1rem;\n}\n\n.rf-m-auto {\n margin: auto;\n}\n\n.-rf-mx-6 {\n margin-left: -1.5rem;\n margin-right: -1.5rem;\n}\n\n.-rf-mx-8 {\n margin-left: -2rem;\n margin-right: -2rem;\n}\n\n.rf-mx-0 {\n margin-left: 0;\n margin-right: 0;\n}\n\n.rf-mx-2 {\n margin-left: .5rem;\n margin-right: .5rem;\n}\n\n.rf-mx-3 {\n margin-left: .75rem;\n margin-right: .75rem;\n}\n\n.rf-mx-4 {\n margin-left: 1rem;\n margin-right: 1rem;\n}\n\n.rf-mx-8 {\n margin-left: 2rem;\n margin-right: 2rem;\n}\n\n.rf-mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n\n.rf-my-1 {\n margin-top: .25rem;\n margin-bottom: .25rem;\n}\n\n.rf-my-2 {\n margin-top: .5rem;\n margin-bottom: .5rem;\n}\n\n.rf-my-4 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n}\n\n.rf-my-auto {\n margin-top: auto;\n margin-bottom: auto;\n}\n\n.-rf-mb-4 {\n margin-bottom: -1rem;\n}\n\n.rf-mb-0 {\n margin-bottom: 0;\n}\n\n.rf-mb-1 {\n margin-bottom: .25rem;\n}\n\n.rf-mb-12 {\n margin-bottom: 3rem;\n}\n\n.rf-mb-16 {\n margin-bottom: 4rem;\n}\n\n.rf-mb-2 {\n margin-bottom: .5rem;\n}\n\n.rf-mb-26 {\n margin-bottom: 6.5rem;\n}\n\n.rf-mb-28 {\n margin-bottom: 7rem;\n}\n\n.rf-mb-3 {\n margin-bottom: .75rem;\n}\n\n.rf-mb-30 {\n margin-bottom: 7.5rem;\n}\n\n.rf-mb-4 {\n margin-bottom: 1rem;\n}\n\n.rf-mb-5 {\n margin-bottom: 1.25rem;\n}\n\n.rf-mb-6 {\n margin-bottom: 1.5rem;\n}\n\n.rf-mb-8 {\n margin-bottom: 2rem;\n}\n\n.rf-ml-1 {\n margin-left: .25rem;\n}\n\n.rf-ml-2 {\n margin-left: .5rem;\n}\n\n.rf-mr-2 {\n margin-right: .5rem;\n}\n\n.rf-mr-4 {\n margin-right: 1rem;\n}\n\n.rf-mt-1 {\n margin-top: .25rem;\n}\n\n.rf-mt-10 {\n margin-top: 2.5rem;\n}\n\n.rf-mt-2 {\n margin-top: .5rem;\n}\n\n.rf-mt-4 {\n margin-top: 1rem;\n}\n\n.rf-mt-5 {\n margin-top: 1.25rem;\n}\n\n.rf-mt-8 {\n margin-top: 2rem;\n}\n\n.rf-mt-\\[0\\.2rem\\] {\n margin-top: .2rem;\n}\n\n.rf-mt-auto {\n margin-top: auto;\n}\n\n.rf-box-border {\n box-sizing: border-box;\n}\n\n.rf-line-clamp-1 {\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-2 {\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-inline {\n display: inline;\n}\n\n.rf-flex {\n display: flex;\n}\n\n.rf-grid {\n display: grid;\n}\n\n.rf-hidden {\n display: none;\n}\n\n.rf-aspect-\\[4\\/3\\] {\n aspect-ratio: 4 / 3;\n}\n\n.rf-aspect-square {\n aspect-ratio: 1;\n}\n\n.rf-aspect-video {\n aspect-ratio: 16 / 9;\n}\n\n.rf-h-0 {\n height: 0;\n}\n\n.rf-h-1\\/2 {\n height: 50%;\n}\n\n.rf-h-1\\/3 {\n height: 33.3333%;\n}\n\n.rf-h-10 {\n height: 2.5rem;\n}\n\n.rf-h-12 {\n height: 3rem;\n}\n\n.rf-h-14 {\n height: 3.5rem;\n}\n\n.rf-h-16 {\n height: 4rem;\n}\n\n.rf-h-18 {\n height: 4.5rem;\n}\n\n.rf-h-2 {\n height: .5rem;\n}\n\n.rf-h-2\\/3 {\n height: 66.6667%;\n}\n\n.rf-h-2\\/5 {\n height: 40%;\n}\n\n.rf-h-24 {\n height: 6rem;\n}\n\n.rf-h-3 {\n height: .75rem;\n}\n\n.rf-h-3\\/10 {\n height: 30%;\n}\n\n.rf-h-32 {\n height: 8rem;\n}\n\n.rf-h-36 {\n height: 9rem;\n}\n\n.rf-h-4 {\n height: 1rem;\n}\n\n.rf-h-48 {\n height: 12rem;\n}\n\n.rf-h-5 {\n height: 1.25rem;\n}\n\n.rf-h-6 {\n height: 1.5rem;\n}\n\n.rf-h-7 {\n height: 1.75rem;\n}\n\n.rf-h-8 {\n height: 2rem;\n}\n\n.rf-h-9 {\n height: 2.25rem;\n}\n\n.rf-h-\\[0\\.875rem\\] {\n height: .875rem;\n}\n\n.rf-h-\\[1\\.25rem\\] {\n height: 1.25rem;\n}\n\n.rf-h-\\[35\\%\\] {\n height: 35%;\n}\n\n.rf-h-\\[50\\%\\] {\n height: 50%;\n}\n\n.rf-h-\\[calc\\(50vw-3rem\\)\\] {\n height: calc(50vw - 3rem);\n}\n\n.rf-h-fit {\n height: fit-content;\n}\n\n.rf-h-full {\n height: 100%;\n}\n\n.rf-h-max {\n height: max-content;\n}\n\n.rf-h-screen {\n height: 100vh;\n}\n\n.rf-max-h-12 {\n max-height: 3rem;\n}\n\n.rf-max-h-16 {\n max-height: 4rem;\n}\n\n.rf-max-h-20 {\n max-height: 5rem;\n}\n\n.rf-max-h-28 {\n max-height: 7rem;\n}\n\n.rf-max-h-4\\/5 {\n max-height: 80%;\n}\n\n.rf-max-h-48 {\n max-height: 12rem;\n}\n\n.rf-max-h-6 {\n max-height: 1.5rem;\n}\n\n.rf-max-h-8 {\n max-height: 2rem;\n}\n\n.rf-max-h-full {\n max-height: 100%;\n}\n\n.rf-max-h-qrcode {\n max-height: 120px;\n}\n\n.rf-max-h-qrcodelarge {\n max-height: 200px;\n}\n\n.rf-max-h-screen {\n max-height: 100vh;\n}\n\n.rf-min-h-12 {\n min-height: 3rem;\n}\n\n.rf-min-h-14 {\n min-height: 3.5rem;\n}\n\n.rf-min-h-16 {\n min-height: 4rem;\n}\n\n.rf-min-h-2\\/5 {\n min-height: 40%;\n}\n\n.rf-min-h-6 {\n min-height: 1.5rem;\n}\n\n.rf-min-h-8 {\n min-height: 2rem;\n}\n\n.rf-min-h-9 {\n min-height: 2.25rem;\n}\n\n.rf-min-h-full {\n min-height: 100%;\n}\n\n.rf-min-h-inherit {\n min-height: inherit;\n}\n\n.rf-w-0 {\n width: 0;\n}\n\n.rf-w-1\\/2 {\n width: 50%;\n}\n\n.rf-w-1\\/3 {\n width: 33.3333%;\n}\n\n.rf-w-1\\/4 {\n width: 25%;\n}\n\n.rf-w-10 {\n width: 2.5rem;\n}\n\n.rf-w-12 {\n width: 3rem;\n}\n\n.rf-w-16 {\n width: 4rem;\n}\n\n.rf-w-18 {\n width: 4.5rem;\n}\n\n.rf-w-2 {\n width: .5rem;\n}\n\n.rf-w-2\\/3 {\n width: 66.6667%;\n}\n\n.rf-w-20 {\n width: 5rem;\n}\n\n.rf-w-24 {\n width: 6rem;\n}\n\n.rf-w-3 {\n width: .75rem;\n}\n\n.rf-w-3\\/20 {\n width: 15%;\n}\n\n.rf-w-3\\/4 {\n width: 75%;\n}\n\n.rf-w-3\\/5 {\n width: 60%;\n}\n\n.rf-w-32 {\n width: 8rem;\n}\n\n.rf-w-36 {\n width: 9rem;\n}\n\n.rf-w-4 {\n width: 1rem;\n}\n\n.rf-w-48 {\n width: 12rem;\n}\n\n.rf-w-5 {\n width: 1.25rem;\n}\n\n.rf-w-6 {\n width: 1.5rem;\n}\n\n.rf-w-7 {\n width: 1.75rem;\n}\n\n.rf-w-8 {\n width: 2rem;\n}\n\n.rf-w-9 {\n width: 2.25rem;\n}\n\n.rf-w-\\[45\\%\\] {\n width: 45%;\n}\n\n.rf-w-\\[90\\%\\] {\n width: 90%;\n}\n\n.rf-w-\\[calc\\(100\\%-3rem\\)\\] {\n width: calc(100% - 3rem);\n}\n\n.rf-w-fit {\n width: fit-content;\n}\n\n.rf-w-full {\n width: 100%;\n}\n\n.rf-w-max {\n width: max-content;\n}\n\n.rf-w-screen {\n width: 100vw;\n}\n\n.rf-min-w-12 {\n min-width: 3rem;\n}\n\n.rf-min-w-24 {\n min-width: 6rem;\n}\n\n.rf-min-w-3\\/20 {\n min-width: 15%;\n}\n\n.rf-min-w-6 {\n min-width: 1.5rem;\n}\n\n.rf-min-w-7 {\n min-width: 1.75rem;\n}\n\n.rf-min-w-\\[45\\%\\] {\n min-width: 45%;\n}\n\n.rf-min-w-full {\n min-width: 100%;\n}\n\n.rf-max-w-1\\/2 {\n max-width: 50%;\n}\n\n.rf-max-w-16 {\n max-width: 4rem;\n}\n\n.rf-max-w-3\\/20 {\n max-width: 15%;\n}\n\n.rf-max-w-6 {\n max-width: 1.5rem;\n}\n\n.rf-max-w-7\\/10 {\n max-width: 70%;\n}\n\n.rf-max-w-\\[100vw\\] {\n max-width: 100vw;\n}\n\n.rf-max-w-\\[45\\%\\] {\n max-width: 45%;\n}\n\n.rf-max-w-\\[500px\\] {\n max-width: 500px;\n}\n\n.rf-max-w-\\[75\\%\\] {\n max-width: 75%;\n}\n\n.rf-max-w-\\[calc\\(100\\%-2rem\\)\\] {\n max-width: calc(100% - 2rem);\n}\n\n.rf-max-w-full {\n max-width: 100%;\n}\n\n.rf-max-w-none {\n max-width: none;\n}\n\n.rf-flex-1 {\n flex: 1;\n}\n\n.rf-flex-\\[0_0_40\\%\\] {\n flex: 0 0 40%;\n}\n\n.rf-flex-\\[2_1_0\\%\\] {\n flex: 2;\n}\n\n.rf-flex-\\[4_1_0\\%\\] {\n flex: 4;\n}\n\n.rf-border-collapse {\n border-collapse: collapse;\n}\n\n.rf-origin-center {\n transform-origin: center;\n}\n\n.-rf-translate-x-1\\/2 {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.-rf-translate-y-1\\/2 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.-rf-translate-y-full {\n --tw-translate-y: -100%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf--translate-x-1\\/2 {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-translate-x-1 {\n --tw-translate-x: .25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-translate-x-5 {\n --tw-translate-x: 1.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-rotate-0 {\n --tw-rotate: 0deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-rotate-180 {\n --tw-rotate: 180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-scale-0 {\n --tw-scale-x: 0;\n --tw-scale-y: 0;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n@keyframes rf-blink {\n 0%, 100% {\n opacity: .2;\n }\n\n 50% {\n opacity: 1;\n }\n}\n\n.rf-animate-blink {\n animation: 1.4s infinite both rf-blink;\n}\n\n@keyframes rf-fadeIn {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n.rf-animate-fadeIn {\n animation: .5s .2s backwards rf-fadeIn;\n}\n\n@keyframes rf-hScroll {\n 0% {\n transform: translateX(0);\n }\n\n 100% {\n transform: translateX(calc(-100% - 2rem));\n }\n}\n\n.rf-animate-hScroll {\n animation: 20s linear infinite rf-hScroll;\n}\n\n@keyframes rf-loader {\n 0% {\n box-shadow: 0 1.5rem 0 -1.5rem var(--rf-color-loader-animation);\n }\n\n 40% {\n box-shadow: 0 1.5rem 0 -.3rem var(--rf-color-loader-animation);\n }\n\n 80% {\n box-shadow: 0 1.5rem 0 -1.5rem var(--rf-color-loader-animation);\n }\n\n 100% {\n box-shadow: 0 1.5rem 0 -1.5rem var(--rf-color-loader-animation);\n }\n}\n\n.rf-animate-loader {\n animation: 1.8s ease-in-out -.16s infinite both rf-loader;\n}\n\n.rf-animate-loaderFadeIn {\n animation: 2s rf-fadeIn;\n}\n\n@keyframes rf-fadeOut {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n }\n}\n\n.rf-animate-loaderFadeOut {\n animation: 1s rf-fadeOut;\n}\n\n@keyframes rf-loaderMedium {\n 0% {\n box-shadow: 0 .75rem 0 -.75rem var(--rf-color-loader-animation);\n }\n\n 40% {\n box-shadow: 0 .75rem 0 -.25rem var(--rf-color-loader-animation);\n }\n\n 80% {\n box-shadow: 0 .75rem 0 -.75rem var(--rf-color-loader-animation);\n }\n\n 100% {\n box-shadow: 0 .75rem 0 -.75rem var(--rf-color-loader-animation);\n }\n}\n\n.rf-animate-loaderMedium {\n animation: 1.8s ease-in-out -.16s infinite both rf-loaderMedium;\n}\n\n@keyframes rf-loaderMini {\n 0% {\n box-shadow: 0 .5rem 0 -.5rem var(--rf-color-loader-animation);\n }\n\n 40% {\n box-shadow: 0 .5rem 0 -.1rem var(--rf-color-loader-animation);\n }\n\n 80% {\n box-shadow: 0 .5rem 0 -.5rem var(--rf-color-loader-animation);\n }\n\n 100% {\n box-shadow: 0 .5rem 0 -.5rem var(--rf-color-loader-animation);\n }\n}\n\n.rf-animate-loaderMini {\n animation: 1.8s ease-in-out -.16s infinite both rf-loaderMini;\n}\n\n@keyframes rf-slideBottom {\n 0% {\n opacity: 0;\n transform: translateX(0)translateY(20px);\n }\n\n 100% {\n opacity: 1;\n transform: translateX(0)translateY(0);\n }\n}\n\n.rf-animate-slideBottom {\n animation: .5s .2s backwards rf-slideBottom;\n}\n\n@keyframes rf-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n.rf-animate-spin {\n animation: 1s linear infinite rf-spin;\n}\n\n.rf-cursor-pointer {\n cursor: pointer;\n}\n\n.rf-select-none {\n user-select: none;\n}\n\n.rf-resize-none {\n resize: none;\n}\n\n.rf-scroll-pb-4 {\n scroll-padding-bottom: 1rem;\n}\n\n.rf-grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n}\n\n.rf-grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n\n.rf-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n\n.rf-grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n\n.rf-grid-cols-6 {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n}\n\n.rf-grid-cols-7 {\n grid-template-columns: repeat(7, minmax(0, 1fr));\n}\n\n.rf-grid-cols-8 {\n grid-template-columns: repeat(8, minmax(0, 1fr));\n}\n\n.rf-grid-cols-\\[repeat\\(2\\,30\\%\\)\\] {\n grid-template-columns: repeat(2, 30%);\n}\n\n.rf-grid-cols-\\[repeat\\(2\\,45\\%\\)\\] {\n grid-template-columns: repeat(2, 45%);\n}\n\n.rf-grid-cols-\\[repeat\\(3\\,31\\%\\)\\] {\n grid-template-columns: repeat(3, 31%);\n}\n\n.rf-grid-cols-headerContainer {\n grid-template-columns: 5rem 1rem 1fr 1fr;\n}\n\n.rf-grid-cols-printingPreview {\n grid-template-columns: minmax(0, 1fr) 3rem;\n}\n\n.rf-grid-cols-routes {\n grid-template-columns: repeat(3, max-content);\n}\n\n.rf-grid-rows-1 {\n grid-template-rows: repeat(1, minmax(0, 1fr));\n}\n\n.rf-grid-rows-2 {\n grid-template-rows: repeat(2, minmax(0, 1fr));\n}\n\n.rf-grid-rows-3 {\n grid-template-rows: repeat(3, minmax(0, 1fr));\n}\n\n.rf-grid-rows-4 {\n grid-template-rows: repeat(4, minmax(0, 1fr));\n}\n\n.rf-grid-rows-5 {\n grid-template-rows: repeat(5, minmax(0, 1fr));\n}\n\n.rf-grid-rows-container {\n grid-template-rows: repeat(12, minmax(0, 1fr));\n}\n\n.rf-grid-rows-headerContainer {\n grid-template-rows: repeat(2, minmax(0, 1fr));\n}\n\n.rf-flex-row {\n flex-direction: row;\n}\n\n.rf-flex-col {\n flex-direction: column;\n}\n\n.rf-flex-col-reverse {\n flex-direction: column-reverse;\n}\n\n.rf-flex-wrap {\n flex-wrap: wrap;\n}\n\n.rf-flex-nowrap {\n flex-wrap: nowrap;\n}\n\n.rf-content-around {\n align-content: space-around;\n}\n\n.rf-items-start {\n align-items: flex-start;\n}\n\n.rf-items-end {\n align-items: flex-end;\n}\n\n.rf-items-center {\n align-items: center;\n}\n\n.rf-justify-start {\n justify-content: flex-start;\n}\n\n.rf-justify-end {\n justify-content: flex-end;\n}\n\n.rf-justify-center {\n justify-content: center;\n}\n\n.rf-justify-between {\n justify-content: space-between;\n}\n\n.rf-justify-around {\n justify-content: space-around;\n}\n\n.rf-justify-evenly {\n justify-content: space-evenly;\n}\n\n.rf-gap-1 {\n gap: .25rem;\n}\n\n.rf-gap-12 {\n gap: 3rem;\n}\n\n.rf-gap-2 {\n gap: .5rem;\n}\n\n.rf-gap-3 {\n gap: .75rem;\n}\n\n.rf-gap-4 {\n gap: 1rem;\n}\n\n.rf-gap-5 {\n gap: 1.25rem;\n}\n\n.rf-gap-6 {\n gap: 1.5rem;\n}\n\n.rf-gap-8 {\n gap: 2rem;\n}\n\n.rf-gap-9 {\n gap: 2.25rem;\n}\n\n.rf-gap-\\[10\\%\\] {\n gap: 10%;\n}\n\n.rf-gap-x-\\[3\\.5\\%\\] {\n column-gap: 3.5%;\n}\n\n.rf-divide-x > :not([hidden]) ~ :not([hidden]) {\n --tw-divide-x-reverse: 0;\n border-right-width: calc(1px * var(--tw-divide-x-reverse));\n border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));\n}\n\n.rf-self-auto {\n align-self: auto;\n}\n\n.rf-self-start {\n align-self: flex-start;\n}\n\n.rf-self-end {\n align-self: flex-end;\n}\n\n.rf-self-center {\n align-self: center;\n}\n\n.rf-justify-self-start {\n justify-self: start;\n}\n\n.rf-justify-self-end {\n justify-self: end;\n}\n\n.rf-justify-self-center {\n justify-self: center;\n}\n\n.rf-overflow-hidden {\n overflow: hidden;\n}\n\n.rf-overflow-clip {\n overflow: clip;\n}\n\n.rf-overflow-y-auto {\n overflow-y: auto;\n}\n\n.rf-overflow-x-hidden {\n overflow-x: hidden;\n}\n\n.rf-overflow-y-hidden {\n overflow-y: hidden;\n}\n\n.rf-overflow-y-clip {\n overflow-y: clip;\n}\n\n.rf-overflow-x-visible {\n overflow-x: visible;\n}\n\n.rf-overflow-y-visible {\n overflow-y: visible;\n}\n\n.rf-overflow-x-scroll {\n overflow-x: scroll;\n}\n\n.rf-overflow-y-scroll {\n overflow-y: scroll;\n}\n\n.rf-truncate {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.rf-whitespace-nowrap {\n white-space: nowrap;\n}\n\n.rf-whitespace-break-spaces {\n white-space: break-spaces;\n}\n\n.rf-rounded {\n border-radius: .3125rem;\n}\n\n.rf-rounded-6 {\n border-radius: 1.5rem;\n}\n\n.rf-rounded-8 {\n border-radius: 2rem;\n}\n\n.rf-rounded-\\[20px\\] {\n border-radius: 20px;\n}\n\n.rf-rounded-half {\n border-radius: 50%;\n}\n\n.rf-rounded-lg {\n border-radius: .5rem;\n}\n\n.rf-rounded-max {\n border-radius: 100%;\n}\n\n.rf-rounded-b {\n border-bottom-right-radius: .3125rem;\n border-bottom-left-radius: .3125rem;\n}\n\n.rf-rounded-b-4 {\n border-bottom-right-radius: 1rem;\n border-bottom-left-radius: 1rem;\n}\n\n.rf-rounded-b-lg {\n border-bottom-right-radius: .5rem;\n border-bottom-left-radius: .5rem;\n}\n\n.rf-rounded-t-lg {\n border-top-left-radius: .5rem;\n border-top-right-radius: .5rem;\n}\n\n.rf-border {\n border-width: 1px;\n}\n\n.rf-border-0 {\n border-width: 0;\n}\n\n.rf-border-2 {\n border-width: 2px;\n}\n\n.rf-border-y {\n border-top-width: 1px;\n border-bottom-width: 1px;\n}\n\n.rf-border-b {\n border-bottom-width: 1px;\n}\n\n.rf-border-b-2 {\n border-bottom-width: 2px;\n}\n\n.rf-border-l {\n border-left-width: 1px;\n}\n\n.rf-border-r {\n border-right-width: 1px;\n}\n\n.rf-border-t {\n border-top-width: 1px;\n}\n\n.rf-border-t-0 {\n border-top-width: 0;\n}\n\n.rf-border-none {\n border-style: none;\n}\n\n.rf-border-\\[\\#00000029\\] {\n border-color: #00000029;\n}\n\n.rf-border-\\[\\#1999B1\\] {\n --tw-border-opacity: 1;\n border-color: rgb(25 153 177 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-\\[\\#325981\\] {\n --tw-border-opacity: 1;\n border-color: rgb(50 89 129 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-\\[\\#707070\\] {\n --tw-border-opacity: 1;\n border-color: rgb(112 112 112 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-\\[\\#8B8888\\] {\n --tw-border-opacity: 1;\n border-color: rgb(139 136 136 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-\\[\\#9FA2AA\\] {\n --tw-border-opacity: 1;\n border-color: rgb(159 162 170 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-\\[\\#C7C6C6\\] {\n --tw-border-opacity: 1;\n border-color: rgb(199 198 198 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-\\[\\#F0F0F0\\] {\n --tw-border-opacity: 1;\n border-color: rgb(240 240 240 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-black {\n border-color: var(--rf-color-black);\n}\n\n.rf-border-cardButtonBorderDefault {\n border-color: var(--rf-color-cardButtonBorderDefault);\n}\n\n.rf-border-cardButtonBorderHover {\n border-color: var(--rf-color-cardButtonBorderHover);\n}\n\n.rf-border-cardFrameBorder {\n border-color: var(--rf-color-cardFrameBorder);\n}\n\n.rf-border-formInputButtonBorderDefault {\n border-color: var(--rf-color-formInputButtonBorderDefault);\n}\n\n.rf-border-formInputButtonBorderHover {\n border-color: var(--rf-color-formInputButtonBorderHover);\n}\n\n.rf-border-formInputRadioCheckboxCheckedBorder {\n border-color: var(--rf-color-formInputRadioCheckboxCheckedBorder);\n}\n\n.rf-border-formInputRadioCheckboxUncheckedBorder {\n border-color: var(--rf-color-formInputRadioCheckboxUncheckedBorder);\n}\n\n.rf-border-gray {\n --tw-border-opacity: 1;\n border-color: rgb(128 128 128 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-lightgray {\n --tw-border-opacity: 1;\n border-color: rgb(129 129 129 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-menuBorder {\n --tw-border-opacity: 1;\n border-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-primary {\n border-color: var(--rf-color-primary);\n}\n\n.rf-border-secondary {\n border-color: var(--rf-color-secondary);\n}\n\n.rf-border-templateCheckboxBorder {\n --tw-border-opacity: 1;\n border-color: rgb(112 112 112 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-textBoxBorder {\n --tw-border-opacity: 1;\n border-color: rgb(190 190 190 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-textModePanelBackgroundBot {\n border-color: var(--rf-color-textModePanelBackgroundBot);\n}\n\n.rf-border-textModePanelBackgroundUser {\n border-color: var(--rf-color-textModePanelBackgroundUser);\n}\n\n.rf-border-trueblack {\n --tw-border-opacity: 1;\n border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-truewhite {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-x-primary {\n border-left-color: var(--rf-color-primary);\n border-right-color: var(--rf-color-primary);\n}\n\n.rf-border-y-menuBorder {\n --tw-border-opacity: 1;\n border-top-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n border-bottom-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-b-\\[\\#C4C5C8\\] {\n --tw-border-opacity: 1;\n border-bottom-color: rgb(196 197 200 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-b-black {\n border-bottom-color: var(--rf-color-black);\n}\n\n.rf-border-b-menuBorder {\n --tw-border-opacity: 1;\n border-bottom-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-b-silver {\n --tw-border-opacity: 1;\n border-bottom-color: rgb(192 192 192 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-b-transparent {\n border-bottom-color: #0000;\n}\n\n.rf-border-l-menuBorder {\n --tw-border-opacity: 1;\n border-left-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-r-\\[\\#8B8888\\] {\n --tw-border-opacity: 1;\n border-right-color: rgb(139 136 136 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-r-silver {\n --tw-border-opacity: 1;\n border-right-color: rgb(192 192 192 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-t-\\[\\#8B8888\\] {\n --tw-border-opacity: 1;\n border-top-color: rgb(139 136 136 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-t-\\[\\#CBC9C9\\] {\n --tw-border-opacity: 1;\n border-top-color: rgb(203 201 201 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-t-menuBorder {\n --tw-border-opacity: 1;\n border-top-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n}\n\n.rf-bg-\\[\\#00000050\\] {\n background-color: #00000050;\n}\n\n.rf-bg-\\[\\#000000B3\\] {\n background-color: #000000b3;\n}\n\n.rf-bg-\\[\\#121212F2\\] {\n background-color: #121212f2;\n}\n\n.rf-bg-\\[\\#1999B1\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(25 153 177 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-\\[\\#325981\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(50 89 129 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-\\[\\#CDE5FE\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(205 229 254 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-\\[\\#F0F0F0\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(240 240 240 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-\\[\\#F8F8F8\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(248 248 248 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-black {\n background-color: var(--rf-color-black);\n}\n\n.rf-bg-blue-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-cardButtonBackgroundDefault {\n background-color: var(--rf-color-cardButtonBackgroundDefault);\n}\n\n.rf-bg-cardButtonBackgroundHover {\n background-color: var(--rf-color-cardButtonBackgroundHover);\n}\n\n.rf-bg-cardFrameBackground {\n background-color: var(--rf-color-cardFrameBackground);\n}\n\n.rf-bg-formInputButtonBackgroundDefault {\n background-color: var(--rf-color-formInputButtonBackgroundDefault);\n}\n\n.rf-bg-formInputButtonBackgroundHover {\n background-color: var(--rf-color-formInputButtonBackgroundHover);\n}\n\n.rf-bg-formInputRadioCheckboxUncheckedBackground {\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n}\n\n.rf-bg-gray {\n --tw-bg-opacity: 1;\n background-color: rgb(128 128 128 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-primary {\n background-color: var(--rf-color-primary);\n}\n\n.rf-bg-red-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-secondary {\n background-color: var(--rf-color-secondary);\n}\n\n.rf-bg-silver {\n --tw-bg-opacity: 1;\n background-color: rgb(192 192 192 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-templateBackground {\n --tw-bg-opacity: 1;\n background-color: rgb(241 241 241 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-templateEmptyCard {\n --tw-bg-opacity: 1;\n background-color: rgb(232 231 231 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-textModePanelBackgroundBot {\n background-color: var(--rf-color-textModePanelBackgroundBot);\n}\n\n.rf-bg-textModePanelBackgroundUser {\n background-color: var(--rf-color-textModePanelBackgroundUser);\n}\n\n.rf-bg-transparent {\n background-color: #0000;\n}\n\n.rf-bg-truewhite {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-vocalModeSubtitlesBackground {\n background-color: var(--rf-color-vocalModeSubtitlesBackground);\n}\n\n.rf-bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(247 243 246 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-opacity-30 {\n --tw-bg-opacity: .3;\n}\n\n.rf-bg-opacity-50 {\n --tw-bg-opacity: .5;\n}\n\n.rf-bg-opacity-80 {\n --tw-bg-opacity: .8;\n}\n\n.rf-object-cover {\n object-fit: cover;\n}\n\n.rf-p-0 {\n padding: 0;\n}\n\n.rf-p-1 {\n padding: .25rem;\n}\n\n.rf-p-2 {\n padding: .5rem;\n}\n\n.rf-p-3 {\n padding: .75rem;\n}\n\n.rf-p-4 {\n padding: 1rem;\n}\n\n.rf-p-\\[25px\\] {\n padding: 25px;\n}\n\n.rf-p-\\[7px_12px\\] {\n padding: 7px 12px;\n}\n\n.rf-px-1 {\n padding-left: .25rem;\n padding-right: .25rem;\n}\n\n.rf-px-16 {\n padding-left: 4rem;\n padding-right: 4rem;\n}\n\n.rf-px-2 {\n padding-left: .5rem;\n padding-right: .5rem;\n}\n\n.rf-px-3 {\n padding-left: .75rem;\n padding-right: .75rem;\n}\n\n.rf-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n.rf-px-48 {\n padding-left: 12rem;\n padding-right: 12rem;\n}\n\n.rf-px-5, .rf-px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n\n.rf-px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n}\n\n.rf-py-0 {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n.rf-py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n.rf-py-12 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n}\n\n.rf-py-16 {\n padding-top: 4rem;\n padding-bottom: 4rem;\n}\n\n.rf-py-2 {\n padding-top: .5rem;\n padding-bottom: .5rem;\n}\n\n.rf-py-3 {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n.rf-py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n.rf-py-6 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n}\n\n.rf-py-8 {\n padding-top: 2rem;\n padding-bottom: 2rem;\n}\n\n.rf-pb-10 {\n padding-bottom: 2.5rem;\n}\n\n.rf-pb-12 {\n padding-bottom: 3rem;\n}\n\n.rf-pb-14 {\n padding-bottom: 3.5rem;\n}\n\n.rf-pb-2 {\n padding-bottom: .5rem;\n}\n\n.rf-pb-24 {\n padding-bottom: 6rem;\n}\n\n.rf-pb-3 {\n padding-bottom: .75rem;\n}\n\n.rf-pb-4 {\n padding-bottom: 1rem;\n}\n\n.rf-pb-5, .rf-pb-6 {\n padding-bottom: 1.5rem;\n}\n\n.rf-pb-8 {\n padding-bottom: 2rem;\n}\n\n.rf-pb-\\[15vh\\] {\n padding-bottom: 15vh;\n}\n\n.rf-pl-0 {\n padding-left: 0;\n}\n\n.rf-pl-1 {\n padding-left: .25rem;\n}\n\n.rf-pl-4 {\n padding-left: 1rem;\n}\n\n.rf-pl-6 {\n padding-left: 1.5rem;\n}\n\n.rf-pl-8 {\n padding-left: 2rem;\n}\n\n.rf-pr-1 {\n padding-right: .25rem;\n}\n\n.rf-pr-4 {\n padding-right: 1rem;\n}\n\n.rf-pt-1 {\n padding-top: .25rem;\n}\n\n.rf-pt-11\\/20 {\n padding-top: 55%;\n}\n\n.rf-pt-12 {\n padding-top: 3rem;\n}\n\n.rf-pt-14 {\n padding-top: 3.5rem;\n}\n\n.rf-pt-2 {\n padding-top: .5rem;\n}\n\n.rf-pt-24 {\n padding-top: 6rem;\n}\n\n.rf-pt-3 {\n padding-top: .75rem;\n}\n\n.rf-pt-4 {\n padding-top: 1rem;\n}\n\n.rf-pt-40 {\n padding-top: 10rem;\n}\n\n.rf-pt-6 {\n padding-top: 1.5rem;\n}\n\n.rf-pt-8 {\n padding-top: 2rem;\n}\n\n.rf-pt-\\[25vh\\] {\n padding-top: 25vh;\n}\n\n.rf-pt-\\[26vh\\] {\n padding-top: 26vh;\n}\n\n.rf-text-left {\n text-align: left;\n}\n\n.rf-text-center {\n text-align: center;\n}\n\n.rf-text-justify {\n text-align: justify;\n}\n\n.rf-font-default {\n font-family: Calibri, sans-serif;\n}\n\n.rf-text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n.rf-text-3xl {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n.rf-text-4xl {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n.rf-text-5xl {\n font-size: 3rem;\n line-height: 1;\n}\n\n.rf-text-6xl {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n.rf-text-7xl {\n font-size: 4.5rem;\n line-height: 1;\n}\n\n.rf-text-8xl {\n font-size: 6rem;\n line-height: 1;\n}\n\n.rf-text-\\[0\\.5rem\\] {\n font-size: .5rem;\n}\n\n.rf-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n.rf-text-basecustom {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n.rf-text-lgcustom {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n.rf-text-sm {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n.rf-text-sm\\/4 {\n font-size: .875rem;\n line-height: 1rem;\n}\n\n.rf-text-xl {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n\n.rf-text-xs {\n font-size: .75rem;\n line-height: 1rem;\n}\n\n.rf-text-xsl {\n font-size: .7rem;\n line-height: 1rem;\n}\n\n.rf-text-xsm {\n font-size: .6rem;\n}\n\n.rf-font-bold {\n font-weight: 600;\n}\n\n.rf-font-light {\n font-weight: 200;\n}\n\n.rf-font-medium {\n font-weight: 300;\n}\n\n.rf-font-semibold {\n font-weight: 400;\n}\n\n.rf-uppercase {\n text-transform: uppercase;\n}\n\n.rf-capitalize {\n text-transform: capitalize;\n}\n\n.rf-normal-case {\n text-transform: none;\n}\n\n.rf-italic {\n font-style: italic;\n}\n\n.rf-leading-4 {\n line-height: 1rem;\n}\n\n.rf-text-\\[\\#1999B1\\] {\n --tw-text-opacity: 1;\n color: rgb(25 153 177 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-\\[\\#325981\\] {\n --tw-text-opacity: 1;\n color: rgb(50 89 129 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-\\[\\#575F6B\\] {\n --tw-text-opacity: 1;\n color: rgb(87 95 107 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-\\[\\#9A9A9A\\] {\n --tw-text-opacity: 1;\n color: rgb(154 154 154 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-\\[\\#A4A7AF\\] {\n --tw-text-opacity: 1;\n color: rgb(164 167 175 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-black {\n color: var(--rf-color-black);\n}\n\n.rf-text-cardButtonTextDefault {\n color: var(--rf-color-cardButtonTextDefault);\n}\n\n.rf-text-cardFrameText {\n color: var(--rf-color-cardFrameText);\n}\n\n.rf-text-formInputButtonTextDefault {\n color: var(--rf-color-formInputButtonTextDefault);\n}\n\n.rf-text-formInputButtonTextHover {\n color: var(--rf-color-formInputButtonTextHover);\n}\n\n.rf-text-formInputRadioCheckboxUncheckedBackground {\n color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n}\n\n.rf-text-formInputTextDefault {\n color: var(--rf-color-formInputTextDefault);\n}\n\n.rf-text-gray {\n --tw-text-opacity: 1;\n color: rgb(128 128 128 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-lightgray {\n --tw-text-opacity: 1;\n color: rgb(129 129 129 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-primary {\n color: var(--rf-color-primary);\n}\n\n.rf-text-secondary {\n color: var(--rf-color-secondary);\n}\n\n.rf-text-textModePanelConversationBot {\n color: var(--rf-color-textModePanelConversationBot);\n}\n\n.rf-text-textModePanelConversationUser {\n color: var(--rf-color-textModePanelConversationUser);\n}\n\n.rf-text-trueblack {\n --tw-text-opacity: 1;\n color: rgb(0 0 0 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-truewhite {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-vocalModeSubtitlesText {\n color: var(--rf-color-vocalModeSubtitlesText);\n}\n\n.rf-text-white {\n --tw-text-opacity: 1;\n color: rgb(247 243 246 / var(--tw-text-opacity, 1));\n}\n\n.rf-underline {\n text-decoration-line: underline;\n}\n\n.rf-shadow-\\[-3px_-3px_10px_\\#00000099\\] {\n --tw-shadow: -3px -3px 10px #0009;\n --tw-shadow-colored: -3px -3px 10px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_0_15px_0_silver\\] {\n --tw-shadow: 0 0 15px 0 silver;\n --tw-shadow-colored: 0 0 15px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_0_20px_1px_\\#A4A7AF80\\] {\n --tw-shadow: 0 0 20px 1px #a4a7af80;\n --tw-shadow-colored: 0 0 20px 1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_0_3px_6px_\\#00000029\\] {\n --tw-shadow: 0 0 3px 6px #00000029;\n --tw-shadow-colored: 0 0 3px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_3px_6px_\\#00000029\\] {\n --tw-shadow: 0 3px 6px #00000029;\n --tw-shadow-colored: 0 3px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_3px_6px_\\#606267\\] {\n --tw-shadow: 0 3px 6px #606267;\n --tw-shadow-colored: 0 3px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_6px_6px_\\#00000029\\] {\n --tw-shadow: 0 6px 6px #00000029;\n --tw-shadow-colored: 0 6px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[20px_3px_20px_\\#00000029\\] {\n --tw-shadow: 20px 3px 20px #00000029;\n --tw-shadow-colored: 20px 3px 20px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[3px_3px_16px_\\#00000029\\] {\n --tw-shadow: 3px 3px 16px #00000029;\n --tw-shadow-colored: 3px 3px 16px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[3px_3px_6px_\\#00000029\\] {\n --tw-shadow: 3px 3px 6px #00000029;\n --tw-shadow-colored: 3px 3px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[inset_0_0_6px_\\#0000003B\\] {\n --tw-shadow: inset 0 0 6px #0000003b;\n --tw-shadow-colored: inset 0 0 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[inset_0_12px_12px_-12px_\\#00000029\\,inset_0_-12px_12px_-12px_\\#00000029\\] {\n --tw-shadow: inset 0 12px 12px -12px #00000029, inset 0 -12px 12px -12px #00000029;\n --tw-shadow-colored: inset 0 12px 12px -12px var(--tw-shadow-color), inset 0 -12px 12px -12px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-outline-none {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.rf-blur-background {\n --tw-blur: blur(var(--rf-blur-background));\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n.rf-filter {\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n.rf-transition-all {\n transition-property: all;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.rf-transition-transform {\n transition-property: transform;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.rf-text-shadow-black {\n text-shadow: 2px 0 5px #000, -2px 0 5px #000, 0 2px 5px #000, 0 -2px 5px #000;\n}\n\n.rf-capitalize-first:first-letter {\n text-transform: uppercase;\n}\n\nol {\n padding-left: 2rem;\n list-style-type: decimal;\n}\n\nul {\n padding-left: 2rem;\n list-style-type: disc;\n}\n\n#retorik-container.rf-portrait:not(.rf-large) .ac-image {\n max-width: 100px;\n}\n\n.rf-glass-background, #retorik-container.portrait .portrait\\:rf-glass-background {\n background-color: var(--rf-color-black);\n --tw-bg-opacity: .62;\n --tw-backdrop-blur: blur(8px);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n\n.rf-loader-bouncing-bot {\n aspect-ratio: 2;\n --_g: no-repeat radial-gradient(circle closest-side, var(--rf-color-textModePanelConversationBot) 90%, transparent);\n background: var(--_g) 0% 50%, var(--_g) 50% 50%, var(--_g) 100% 50%;\n background-size: 33.3333% 50%;\n}\n\n@keyframes rf-loaderBouncing {\n 20% {\n background-position: 0 0, 50%, 100%;\n }\n\n 40% {\n background-position: 0 100%, 50% 0, 100%;\n }\n\n 60% {\n background-position: 0%, 50% 100%, 100% 0;\n }\n\n 80% {\n background-position: 0%, 50%, 100% 100%;\n }\n}\n\n.rf-loader-bouncing-bot {\n animation: 1s linear infinite rf-loaderBouncing;\n}\n\n.rf-loader-bouncing-white {\n aspect-ratio: 2;\n --_g: no-repeat radial-gradient(circle closest-side, #fff 90%, transparent);\n background: var(--_g) 0% 50%, var(--_g) 50% 50%, var(--_g) 100% 50%;\n background-size: 33.3333% 50%;\n animation: 1s linear infinite rf-loaderBouncing;\n}\n\n@keyframes rf-loaderPulsation {\n 0% {\n transform: scale3d(1, 1, 1);\n }\n\n 50% {\n transform: scale3d(1.1, 1.1, 1);\n }\n\n 100% {\n transform: scale3d(1, 1, 1);\n }\n}\n\n.rf-loader-pulsation {\n animation: 2s cubic-bezier(.65, 0, .34, 1) infinite rf-loaderPulsation;\n}\n\n.rf-loader-pulsation:before {\n content: \"\";\n background-color: var(--rf-color-secondary);\n z-index: -1;\n border-radius: 50%;\n width: 100%;\n height: 100%;\n position: absolute;\n}\n\n@keyframes rf-loaderRipple {\n 0% {\n opacity: 1;\n transform: scale3d(.75, .75, 1);\n }\n\n 100% {\n opacity: 0;\n transform: scale3d(1.5, 1.5, 1);\n }\n}\n\n.rf-loader-pulsation:before {\n animation: 2.4s cubic-bezier(.65, 0, .34, 1) .4s infinite rf-loaderRipple;\n}\n\n.rf-loader-pulsation:after {\n content: \"\";\n background-color: var(--rf-color-secondary);\n z-index: -1;\n border-radius: 50%;\n width: 100%;\n height: 100%;\n animation: 2.4s cubic-bezier(.65, 0, .34, 1) infinite rf-loaderRipple;\n position: absolute;\n}\n\n.rf-loader:before {\n content: \"\";\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n animation: 1.8s ease-in-out -.32s infinite both rf-loader;\n display: block;\n position: absolute;\n right: 1.5rem;\n}\n\n.rf-loader:after {\n content: \"\";\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n animation: 1.8s ease-in-out infinite both rf-loader;\n display: block;\n position: absolute;\n left: 1.5rem;\n}\n\n.rf-loader-medium:before {\n content: \"\";\n border-radius: 50%;\n width: 1rem;\n height: 1rem;\n animation: 1.8s ease-in-out -.32s infinite both rf-loaderMedium;\n display: block;\n position: absolute;\n right: 1rem;\n}\n\n.rf-loader-medium:after {\n content: \"\";\n border-radius: 50%;\n width: 1rem;\n height: 1rem;\n animation: 1.8s ease-in-out infinite both rf-loaderMedium;\n display: block;\n position: absolute;\n left: 1rem;\n}\n\n.rf-loader-mini:before {\n content: \"\";\n border-radius: 50%;\n width: .5rem;\n height: .5rem;\n animation: 1.8s ease-in-out -.32s infinite both rf-loaderMini;\n display: block;\n position: absolute;\n right: .5rem;\n}\n\n.rf-loader-mini:after {\n content: \"\";\n border-radius: 50%;\n width: .5rem;\n height: .5rem;\n animation: 1.8s ease-in-out infinite both rf-loaderMini;\n display: block;\n position: absolute;\n left: .5rem;\n}\n\n.rf-loader-microphone:before, .rf-loader-microphone:after {\n content: \"\";\n --tw-border-opacity: 1;\n border: 6px solid #0000;\n border-top-color: rgb(128 128 128 / var(--tw-border-opacity, 1));\n border-radius: 100%;\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.rf-loader-microphone:before {\n z-index: 2;\n animation: 1s linear infinite rf-spin;\n}\n\n.rf-loader-microphone:after {\n --tw-border-opacity: 1;\n border-color: rgb(204 204 204 / var(--tw-border-opacity, 1));\n}\n\n.rf-loader-microphone-primary:before, .rf-loader-microphone-primary:after {\n content: \"\";\n border: 6px solid #0000;\n border-top-color: var(--rf-color-primary);\n border-radius: 100%;\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.rf-loader-microphone-primary:before {\n z-index: 2;\n animation: 1s linear infinite rf-spin;\n}\n\n.rf-loader-microphone-primary:after {\n --tw-border-opacity: 1;\n border-color: rgb(204 204 204 / var(--tw-border-opacity, 1));\n}\n\n.rf-loader-microphone-secondary:before, .rf-loader-microphone-secondary:after {\n content: \"\";\n border: 6px solid #0000;\n border-top-color: var(--rf-color-secondary);\n border-radius: 100%;\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.rf-loader-microphone-secondary:before {\n z-index: 2;\n animation: 1s linear infinite rf-spin;\n}\n\n.rf-loader-microphone-secondary:after {\n --tw-border-opacity: 1;\n border-color: rgb(204 204 204 / var(--tw-border-opacity, 1));\n}\n\n.rf-loader-counter {\n border-width: 8px;\n border-color: var(--rf-color-primary);\n border-radius: 50%;\n position: relative;\n}\n\n@keyframes rf-loaderCounter {\n 0% {\n clip-path: polygon(50% 50%, 0 0, 0 0, 0 0, 0 0, 0 0);\n }\n\n 25% {\n clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0);\n }\n\n 50% {\n clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 100% 100%, 100% 100%);\n }\n\n 75% {\n clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 100%);\n }\n\n 100% {\n clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 0);\n }\n}\n\n.rf-loader-counter:before {\n border-width: 10px;\n border-color: var(--rf-color-cardFrameBackground);\n content: \"\";\n animation: rf-loaderCounter;\n animation-duration: var(--duration);\n border-radius: 50%;\n animation-timing-function: linear;\n position: absolute;\n inset: -9px;\n transform: rotate(45deg);\n}\n\n.rf-touch-action-none {\n touch-action: none;\n}\n\n.rf-unselectable {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-touch-callout: none;\n}\n\n.rf-title-extralarge-bold-size-auto {\n font-size: 2.25rem;\n font-weight: 600;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large .rf-title-extralarge-bold-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-extralarge-bold-size-auto {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n.rf-title-extralarge-size-auto {\n font-size: 2.25rem;\n font-weight: 400;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large .rf-title-extralarge-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-extralarge-size-auto {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n.rf-title-large-size-auto {\n font-size: 1.5rem;\n font-weight: 400;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-title-large-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-large-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n.rf-title-large-bold-size-auto {\n font-size: 1.875rem;\n font-weight: 600;\n line-height: 2.25rem;\n}\n\n#retorik-container.rf-large .rf-title-large-bold-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-large-bold-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n.rf-title-size-auto {\n font-size: 1.5rem;\n font-weight: 400;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-title-size-auto {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n.rf-title-bold-size-auto {\n font-size: 1.5rem;\n font-weight: 600;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-title-bold-size-auto {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-bold-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n.rf-subtitle-size-auto {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-subtitle-size-auto {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-subtitle-size-auto {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n.rf-text-extralarge-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large .rf-text-extralarge-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-text-extralarge-size-auto {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n.rf-text-verylarge-size-auto {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-text-verylarge-size-auto {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-text-verylarge-size-auto {\n font-size: 4.5rem;\n line-height: 1;\n}\n\n.rf-text-large-size-auto {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-text-large-size-auto {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-text-large-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n.rf-text-medium-size-auto {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large .rf-text-medium-size-auto {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n.rf-text-size-auto {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-text-size-auto {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-text-size-auto {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n.rf-text-small-size-auto {\n font-size: .875rem;\n line-height: 1rem;\n}\n\n#retorik-container.rf-large .rf-text-small-size-auto {\n font-size: 1rem;\n line-height: 1.1rem;\n}\n\n.rf-text-extra-small-size-auto {\n font-size: .6rem;\n line-height: .75rem;\n}\n\n#retorik-container.rf-large .rf-text-extra-small-size-auto {\n font-size: .875rem;\n line-height: 1rem;\n}\n\n.rf-small-size-auto {\n font-size: .6rem;\n}\n\n#retorik-container.rf-large .rf-small-size-auto {\n font-size: .75rem;\n line-height: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-small-size-auto {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n.rf-line-clamp-unknown {\n hyphens: auto;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-1 {\n hyphens: auto;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-2 {\n hyphens: auto;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-3 {\n hyphens: auto;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-4 {\n hyphens: auto;\n -webkit-line-clamp: 4;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-5 {\n hyphens: auto;\n -webkit-line-clamp: 5;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-6 {\n hyphens: auto;\n -webkit-line-clamp: 6;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-7 {\n hyphens: auto;\n -webkit-line-clamp: 7;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-8 {\n hyphens: auto;\n -webkit-line-clamp: 8;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-9 {\n hyphens: auto;\n -webkit-line-clamp: 9;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-10 {\n hyphens: auto;\n -webkit-line-clamp: 10;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-overflow-wrap {\n overflow-wrap: anywhere;\n}\n\n.rf-height-fill-available {\n height: stretch;\n}\n\n.rf-width-fill-available {\n width: stretch;\n}\n\n.rf-animation-delay-2 {\n animation-delay: .2s;\n}\n\n.rf-animation-delay-4 {\n animation-delay: .4s;\n}\n\n.rf-scrollbar-thin {\n scrollbar-width: thin;\n scrollbar-color: var(--rf-color-secondary) transparent;\n}\n\n.rf-scrollbar-thin::-webkit-scrollbar {\n width: .2rem;\n height: .2rem;\n margin: .25rem 0;\n}\n\n.rf-scrollbar-thin::-webkit-scrollbar-thumb {\n background-color: var(--rf-color-secondary);\n border-radius: .5rem;\n}\n\n.rf-scrollbar-x-custom::-webkit-scrollbar {\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n border-radius: 2rem;\n height: .5rem;\n}\n\n.rf-scrollbar-x-custom::-webkit-scrollbar-thumb {\n background-color: var(--rf-color-primary);\n border-radius: 2rem;\n}\n\n.rf-scrollbar-hidden {\n scrollbar-width: none;\n}\n\n.rf-scrollbar-hidden::-webkit-scrollbar {\n display: none;\n}\n\n.rf-opacity-gradient-b {\n -webkit-mask-image: linear-gradient(#000 50%, #0000 100%);\n}\n\n.rf-opacity-gradient-b-thin {\n -webkit-mask-image: linear-gradient(#797676 84%, #0000 100%);\n}\n\n.rf-opacity-gradient-l {\n -webkit-mask-image: linear-gradient(to left, #000 75%, gray 80%, #0000 85%);\n}\n\n.rf-opacity-gradient-l-thin {\n -webkit-mask-image: linear-gradient(to left, #000 90%, gray 95%, #0000 100%);\n}\n\n.rf-opacity-gradient-r {\n -webkit-mask-image: linear-gradient(to right, #000 75%, gray 80%, #0000 85%);\n}\n\n.rf-opacity-gradient-r-thin {\n -webkit-mask-image: linear-gradient(to right, #000 90%, gray 95%, #0000 100%);\n}\n\n.rf-opacity-gradient-h {\n -webkit-mask-image: linear-gradient(to right, #0000 0%, 6%, #000, 94%, #0000 100%);\n}\n\n.rf-card-button {\n border-width: 1px;\n border-color: var(--rf-color-cardButtonBorderDefault);\n background-color: var(--rf-color-cardButtonBackgroundDefault);\n color: var(--rf-color-cardButtonTextDefault);\n border-radius: .3125rem;\n padding: .25rem .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-card-button {\n padding: .5rem 1rem;\n}\n\n.rf-card-button:hover {\n cursor: pointer;\n border-color: var(--rf-color-cardButtonBorderHover);\n background-color: var(--rf-color-cardButtonBackgroundHover);\n color: var(--rf-color-cardButtonTextHover);\n}\n\n.rf-card-button-clicked {\n background-color: var(--rf-color-cardButtonBackgroundDefault);\n border-width: 1px;\n border-color: #0000;\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-clicked {\n padding-top: .5rem;\n padding-bottom: .5rem;\n}\n\n.rf-card-button-positive {\n border-width: 1px;\n border-color: var(--rf-color-cardFrameBackground);\n background-color: var(--rf-color-cardButtonTextDefault);\n color: var(--rf-color-cardFrameBackground);\n border-radius: .3125rem;\n padding: .25rem .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-positive {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button-positive {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-card-button-positive {\n padding: .5rem 1rem;\n}\n\n.rf-card-button-positive:hover {\n cursor: pointer;\n border-color: var(--rf-color-cardButtonTextDefault);\n background-color: var(--rf-color-cardFrameBackground);\n color: var(--rf-color-cardButtonTextDefault);\n}\n\n.rf-card-button-destructive {\n --tw-border-opacity: 1;\n border-width: 1px;\n border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));\n --tw-bg-opacity: 1;\n background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n border-radius: .3125rem;\n padding: .25rem .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-destructive {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button-destructive {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-card-button-destructive {\n padding: .5rem 1rem;\n}\n\n.rf-card-button-destructive:hover {\n cursor: pointer;\n --tw-border-opacity: 1;\n border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n --tw-text-opacity: 1;\n color: rgb(220 38 38 / var(--tw-text-opacity, 1));\n}\n\n.rf-card-button-secondary {\n border-width: 1px;\n border-color: var(--rf-color-secondary);\n color: var(--rf-color-secondary);\n background-color: #0000;\n border-radius: .3125rem;\n padding: .25rem .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-secondary {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button-secondary {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-card-button-secondary {\n padding: .5rem 1rem;\n}\n\n.rf-card-button-secondary:hover {\n cursor: pointer;\n border-color: var(--rf-color-secondary);\n background-color: var(--rf-color-secondary);\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n\n.rf-card-button-discover {\n border-width: 1px;\n border-color: var(--rf-color-cardButtonDiscoverBorderDefault);\n background-color: var(--rf-color-cardButtonDiscoverBackgroundDefault);\n color: var(--rf-color-cardButtonDiscoverTextDefault);\n border-radius: .3125rem;\n padding: .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-discover {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n.rf-card-button-discover:hover {\n cursor: pointer;\n border-color: var(--rf-color-cardButtonDiscoverBorderHover);\n background-color: var(--rf-color-cardButtonDiscoverBackgroundHover);\n color: var(--rf-color-cardButtonDiscoverTextHover);\n}\n\n.rf-card-button-history {\n cursor: default;\n border-width: 1px;\n border-color: var(--rf-color-cardButtonBorderDefault);\n background-color: var(--rf-color-cardButtonBackgroundDefault);\n color: var(--rf-color-cardButtonTextDefault);\n border-radius: .3125rem;\n padding: .25rem .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-history {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button-history {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-card-button-history {\n padding: .5rem 1rem;\n}\n\n.rf-card-button-mini, .rf-card-button-mini-selected, .rf-card-button-mini-disabled {\n background-color: var(--rf-color-cardFrameBackground);\n border-width: 1px;\n border-radius: .3125rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-mini, #retorik-container.rf-large .rf-card-button-mini-selected, #retorik-container.rf-large .rf-card-button-mini-disabled {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button-mini, #retorik-container.rf-large.rf-portrait .rf-card-button-mini-selected, #retorik-container.rf-large.rf-portrait .rf-card-button-mini-disabled {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n.rf-card-button-mini {\n border-color: var(--rf-color-cardButtonBorderDefault);\n background-color: var(--rf-color-cardFrameBackground);\n color: var(--rf-color-cardButtonTextDefault);\n}\n\n.rf-card-button-mini:hover {\n cursor: pointer;\n border-color: var(--rf-color-cardButtonBorderHover);\n background-color: var(--rf-color-cardFrameBackground);\n color: var(--rf-color-cardButtonTextHover);\n}\n\n.rf-card-button-mini-selected {\n border-color: var(--rf-color-cardFrameBackground);\n background-color: var(--rf-color-cardButtonBorderDefault);\n color: var(--rf-color-cardFrameBackground);\n}\n\n.lf-player-container {\n align-items: flex-end;\n width: 100%;\n height: 100%;\n display: flex;\n overflow: hidden;\n}\n\n.rf-input-label {\n text-overflow: ellipsis;\n color: var(--rf-color-formInputTextDefault);\n margin-top: .1rem;\n margin-left: .75rem;\n overflow-x: hidden;\n}\n\n#retorik-container.rf-large .rf-input-label {\n margin-top: .25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-input-label {\n margin-top: .2rem;\n}\n\n.rf-radio-custom {\n -webkit-appearance: none;\n appearance: none;\n border-width: 2px;\n border-color: var(--rf-color-formInputRadioCheckboxUncheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n border-radius: 50%;\n place-content: center;\n width: 1.5rem;\n min-width: 1.5rem;\n height: 1.5rem;\n margin: 0;\n display: grid;\n}\n\n.rf-radio-custom:checked {\n border-color: var(--rf-color-formInputRadioCheckboxCheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxCheckedBackground);\n}\n\n#retorik-container.rf-large .rf-radio-custom {\n width: 1.75rem;\n min-width: 1.75rem;\n height: 1.75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-radio-custom {\n width: 2rem;\n min-width: 2rem;\n height: 2rem;\n}\n\n.rf-radio-custom:before {\n content: \"\";\n --tw-scale-x: 0;\n --tw-scale-y: 0;\n width: .5rem;\n height: .5rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n background-color: var(--rf-color-formInputRadioCheckboxCheckedItem);\n border-radius: 50%;\n transition-property: all;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n#retorik-container.rf-large .rf-radio-custom:before {\n width: .75rem;\n height: .75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-radio-custom:before {\n width: 1rem;\n height: 1rem;\n}\n\n.rf-radio-custom:checked:before {\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-input-hidden {\n -webkit-appearance: none;\n appearance: none;\n margin: 0;\n}\n\n.rf-checkbox-custom {\n -webkit-appearance: none;\n appearance: none;\n border-width: 2px;\n border-color: var(--rf-color-formInputRadioCheckboxUncheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n border-radius: .3125rem;\n place-content: center;\n width: 1.5rem;\n min-width: 1.5rem;\n height: 1.5rem;\n margin: 0;\n display: grid;\n}\n\n#retorik-container.rf-large .rf-checkbox-custom {\n width: 1.75rem;\n min-width: 1.75rem;\n height: 1.75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-checkbox-custom {\n width: 2rem;\n min-width: 2rem;\n height: 2rem;\n}\n\n.rf-checkbox-custom:checked {\n border-color: var(--rf-color-formInputRadioCheckboxCheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxCheckedBackground);\n}\n\n.rf-toggle-custom {\n -webkit-appearance: none;\n appearance: none;\n background-color: var(--rf-color-black);\n border-radius: 1.5rem;\n width: 3rem;\n min-width: 3rem;\n height: 1.5rem;\n margin: 0;\n position: relative;\n}\n\n.rf-toggle-custom:checked {\n background-color: var(--rf-color-primary);\n}\n\n#retorik-container.rf-large .rf-toggle-custom {\n border-radius: 1.75rem;\n width: 3.5rem;\n min-width: 3.5rem;\n height: 1.75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-toggle-custom {\n border-radius: 2rem;\n width: 4rem;\n min-width: 4rem;\n height: 2rem;\n}\n\n.rf-toggle-custom:before {\n content: \"\";\n --tw-translate-x: 0px;\n width: 1rem;\n height: 1rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n border-radius: 50%;\n transition-property: all;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n position: absolute;\n top: .25rem;\n left: .25rem;\n}\n\n#retorik-container.rf-large .rf-toggle-custom:before {\n width: 1.25rem;\n height: 1.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-toggle-custom:before {\n width: 1.5rem;\n height: 1.5rem;\n}\n\n.rf-toggle-custom:checked:before {\n --tw-translate-x: 1.5rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n#retorik-container.rf-large .rf-toggle-custom:checked:before {\n --tw-translate-x: 1.75rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n#retorik-container.rf-large.rf-portrait .rf-toggle-custom:checked:before {\n --tw-translate-x: 2rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-select-custom {\n -webkit-appearance: none;\n appearance: none;\n border-width: 2px;\n border-color: var(--rf-color-formInputRadioCheckboxUncheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n border-radius: .3125rem;\n margin: 0;\n padding: 1rem;\n}\n\n.rf-select-custom:hover {\n cursor: pointer;\n}\n\n.rf-select-custom:focus-visible {\n border-color: var(--rf-color-formInputRadioCheckboxCheckedBorder);\n}\n\n.rf-slider-custom {\n -webkit-appearance: none;\n -moz-appearance: none;\n outline-offset: 2px;\n border-radius: .5rem;\n outline: 2px solid #0000;\n width: 100%;\n height: .25rem;\n display: block;\n position: relative;\n}\n\n.rf-slider-custom::-webkit-slider-runnable-track {\n -webkit-appearance: none;\n}\n\n.rf-slider-custom::-moz-track {\n -moz-appearance: none;\n}\n\n.rf-slider-custom::-ms-track {\n appearance: none;\n}\n\n.rf-slider-custom::-webkit-slider-thumb {\n -webkit-appearance: none;\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n border-style: none;\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n margin-top: -.2rem;\n}\n\n.rf-slider-custom::-webkit-slider-thumb:hover {\n cursor: pointer;\n}\n\n.rf-slider-custom::-moz-range-thumb {\n -webkit-appearance: none;\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n border-style: none;\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n margin-top: -.2rem;\n}\n\n.rf-slider-custom::-moz-range-thumb:hover {\n cursor: pointer;\n}\n\n.rf-slider-custom::-ms-thumb {\n appearance: none;\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n border-style: none;\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n margin-top: -.2rem;\n}\n\n.rf-slider-custom::-ms-thumb:hover {\n cursor: pointer;\n}\n\n.rf-likert-custom {\n cursor: pointer;\n outline-offset: 2px;\n -webkit-text-stroke-width: 1px;\n -webkit-text-stroke-color: white;\n background-color: #0000;\n border-style: none;\n outline: 2px solid #0000;\n}\n\n.svgButtonMenu > svg * {\n fill: var(--fill);\n}\n\n.webchat__css-custom-properties {\n width: 100%;\n height: 100%;\n}\n\n.placeholder\\:rf-text-black::placeholder {\n color: var(--rf-color-black);\n}\n\n.placeholder\\:rf-opacity-100::placeholder {\n opacity: 1;\n}\n\n.hover\\:rf-cursor-pointer:hover {\n cursor: pointer;\n}\n\n.hover\\:rf-border-truewhite:hover {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));\n}\n\n.hover\\:rf-bg-\\[\\#1999B1\\]:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(25 153 177 / var(--tw-bg-opacity, 1));\n}\n\n.hover\\:rf-bg-formInputRadioCheckboxCheckedBackground:hover {\n background-color: var(--rf-color-formInputRadioCheckboxCheckedBackground);\n}\n\n.hover\\:rf-bg-transparent:hover {\n background-color: #0000;\n}\n\n.hover\\:rf-bg-truewhite:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n}\n\n.hover\\:rf-text-\\[\\#1999B1\\]:hover {\n --tw-text-opacity: 1;\n color: rgb(25 153 177 / var(--tw-text-opacity, 1));\n}\n\n.hover\\:rf-text-\\[\\#325981\\]:hover {\n --tw-text-opacity: 1;\n color: rgb(50 89 129 / var(--tw-text-opacity, 1));\n}\n\n.hover\\:rf-text-formInputRadioCheckboxCheckedItem:hover {\n color: var(--rf-color-formInputRadioCheckboxCheckedItem);\n}\n\n.hover\\:rf-text-truewhite:hover {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n\n.hover\\:rf-shadow-\\[inset_0_0_12px_\\#00000029\\]:hover {\n --tw-shadow: inset 0 0 12px #00000029;\n --tw-shadow-colored: inset 0 0 12px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-col-span-full {\n grid-column: 1 / -1;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-col-start-1 {\n grid-column-start: 1;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-row-end-13 {\n grid-row-end: 13;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-w-5\\/6 {\n width: 83.3333%;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-w-9\\/10 {\n width: 90%;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-w-full {\n width: 100%;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-flex-col {\n flex-direction: column;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-items-center {\n align-items: center;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-overflow-x-auto {\n overflow-x: auto;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-border-r-0 {\n border-right-width: 0;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-absolute {\n position: absolute;\n}\n\n#retorik-container.rf-large .large\\:rf-top-8 {\n top: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-m-8 {\n margin: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-my-0 {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-my-3 {\n margin-top: .75rem;\n margin-bottom: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mb-0 {\n margin-bottom: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-mb-4 {\n margin-bottom: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mb-6 {\n margin-bottom: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-ml-8 {\n margin-left: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mt-0 {\n margin-top: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-mt-20 {\n margin-top: 5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mt-3 {\n margin-top: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mt-\\[20vh\\] {\n margin-top: 20vh;\n}\n\n#retorik-container.rf-large .large\\:rf-block {\n display: block;\n}\n\n#retorik-container.rf-large .large\\:rf-flex {\n display: flex;\n}\n\n#retorik-container.rf-large .large\\:rf-hidden {\n display: none;\n}\n\n#retorik-container.rf-large .large\\:rf-aspect-video {\n aspect-ratio: 16 / 9;\n}\n\n#retorik-container.rf-large .large\\:rf-h-10 {\n height: 2.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-16 {\n height: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-20 {\n height: 5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-3\\/5 {\n height: 60%;\n}\n\n#retorik-container.rf-large .large\\:rf-h-4 {\n height: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-5 {\n height: 1.25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-6 {\n height: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-8 {\n height: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-\\[1\\.3rem\\] {\n height: 1.3rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-\\[60vh\\] {\n height: 60vh;\n}\n\n#retorik-container.rf-large .large\\:rf-h-auto {\n height: auto;\n}\n\n#retorik-container.rf-large .large\\:rf-h-full {\n height: 100%;\n}\n\n#retorik-container.rf-large .large\\:rf-max-h-28 {\n max-height: 7rem;\n}\n\n#retorik-container.rf-large .large\\:rf-max-h-\\[2\\.3rem\\] {\n max-height: 2.3rem;\n}\n\n#retorik-container.rf-large .large\\:rf-min-h-\\[2\\.3rem\\] {\n min-height: 2.3rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-1\\/8 {\n width: 12.5%;\n}\n\n#retorik-container.rf-large .large\\:rf-w-14 {\n width: 3.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-16 {\n width: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-4 {\n width: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-5 {\n width: 1.25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-6 {\n width: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-8 {\n width: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-fit {\n width: fit-content;\n}\n\n#retorik-container.rf-large .large\\:rf-w-full {\n width: 100%;\n}\n\n#retorik-container.rf-large .large\\:rf-min-w-1\\/2 {\n min-width: 50%;\n}\n\n#retorik-container.rf-large .large\\:rf-min-w-1\\/8 {\n min-width: 12.5%;\n}\n\n#retorik-container.rf-large .large\\:rf-min-w-16 {\n min-width: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-min-w-8 {\n min-width: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-max-w-1\\/8 {\n max-width: 12.5%;\n}\n\n#retorik-container.rf-large .large\\:rf-max-w-\\[12rem\\] {\n max-width: 12rem;\n}\n\n#retorik-container.rf-large .large\\:rf-max-w-full {\n max-width: 100%;\n}\n\n#retorik-container.rf-large .large\\:rf-grid-cols-5 {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n}\n\n#retorik-container.rf-large .large\\:rf-flex-row {\n flex-direction: row;\n}\n\n#retorik-container.rf-large .large\\:rf-flex-col {\n flex-direction: column;\n}\n\n#retorik-container.rf-large .large\\:rf-items-baseline {\n align-items: baseline;\n}\n\n#retorik-container.rf-large .large\\:rf-justify-start {\n justify-content: flex-start;\n}\n\n#retorik-container.rf-large .large\\:rf-gap-1 {\n gap: .25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-gap-3 {\n gap: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-gap-4 {\n gap: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-gap-6 {\n gap: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-overflow-y-scroll {\n overflow-y: scroll;\n}\n\n#retorik-container.rf-large .large\\:rf-border-t-0 {\n border-top-width: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-bg-truewhite {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n}\n\n#retorik-container.rf-large .large\\:rf-p-4 {\n padding: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-p-\\[25px\\] {\n padding: 25px;\n}\n\n#retorik-container.rf-large .large\\:rf-p-min1 {\n padding: .1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-px-0 {\n padding-left: 0;\n padding-right: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-px-16 {\n padding-left: 4rem;\n padding-right: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-px-5, #retorik-container.rf-large .large\\:rf-px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-py-0 {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-py-2 {\n padding-top: .5rem;\n padding-bottom: .5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-py-3 {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pb-16 {\n padding-bottom: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pl-4 {\n padding-left: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pr-4 {\n padding-right: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pt-16 {\n padding-top: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-text-5xl {\n font-size: 3rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large .large\\:rf-text-6xl {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large .large\\:rf-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-text-basecustom {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large .large\\:rf-text-sm {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-uppercase {\n text-transform: uppercase;\n}\n\n#retorik-container.rf-tactile .tactile\\:rf-h-4 {\n height: 1rem;\n}\n\n#retorik-container.rf-tactile .tactile\\:rf-h-6 {\n height: 1.5rem;\n}\n\n#retorik-container.rf-tactile .tactile\\:rf-w-6 {\n width: 1.5rem;\n}\n\n#retorik-container.rf-tactile .tactile\\:rf-pt-1\\/5 {\n padding-top: 20%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-absolute {\n position: absolute;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-left-4 {\n left: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-top-4 {\n top: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-col-start-1 {\n grid-column-start: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-col-start-2 {\n grid-column-start: 2;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-col-end-8 {\n grid-column-end: 8;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-mt-4 {\n margin-top: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-mt-\\[20vh\\] {\n margin-top: 20vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-mt-\\[25vh\\] {\n margin-top: 25vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-block {\n display: block;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-hidden {\n display: none;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-1\\/2 {\n height: 50%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-14 {\n height: 3.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-24 {\n height: 6rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-5 {\n height: 1.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-6 {\n height: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-\\[50vh\\] {\n height: 50vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-h-11\\/12 {\n max-height: 91.67%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-h-36 {\n max-height: 9rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-h-\\[18vh\\] {\n max-height: 18vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-h-\\[30vh\\] {\n max-height: 30vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-min-h-10 {\n min-height: 2.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-1\\/2 {\n width: 50%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-14 {\n width: 3.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-16 {\n width: 4rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-24 {\n width: 6rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-3\\/5 {\n width: 60%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-6 {\n width: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-full {\n width: 100%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-min-w-14 {\n min-width: 3.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-min-w-24 {\n min-width: 6rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-min-w-3\\/5 {\n min-width: 60%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-w-2\\/3 {\n max-width: 66.67%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-w-\\[45\\%\\] {\n max-width: 45%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-w-\\[60\\%\\] {\n max-width: 60%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-flex-row {\n flex-direction: row;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-flex-col {\n flex-direction: column;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-justify-center {\n justify-content: center;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-gap-4 {\n gap: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-gap-6 {\n gap: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-self-start {\n align-self: flex-start;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-border-t {\n border-top-width: 1px;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-border-t-menuBorder {\n --tw-border-opacity: 1;\n border-top-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-py-5 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pl-0 {\n padding-left: 0;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pt-48 {\n padding-top: 12rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pt-8 {\n padding-top: 2rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pt-\\[16\\.67\\%\\] {\n padding-top: 16.67%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pt-\\[20vh\\] {\n padding-top: 20vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-text-basecustomuppercase {\n font-size: 1rem;\n line-height: 1.1rem;\n}\n\n#retorik-container.rf-large.rf-tactile .large-tactile\\:rf-mt-0 {\n margin-top: 0;\n}\n\n#retorik-container.rf-large.rf-tactile .large-tactile\\:rf-flex {\n display: flex;\n}\n\n#retorik-container.rf-large.rf-tactile .large-tactile\\:rf-hidden {\n display: none;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-col-start-3 {\n grid-column-start: 3;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-col-start-4 {\n grid-column-start: 4;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:-rf-mt-4 {\n margin-top: -1rem;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-h-full {\n height: 100%;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-w-\\[48\\%\\] {\n width: 48%;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-w-\\[calc\\(80\\%-10rem\\)\\] {\n width: calc(80% - 10rem);\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-min-w-\\[48\\%\\] {\n min-width: 48%;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-max-w-\\[calc\\(\\(80\\%-10rem\\)\\*0\\.75\\)\\] {\n max-width: calc(60% - 7.5rem);\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-flex-col-reverse {\n flex-direction: column-reverse;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-items-start {\n align-items: flex-start;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-justify-start {\n justify-content: flex-start;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-justify-center {\n justify-content: center;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-self-end {\n align-self: flex-end;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-justify-self-start {\n justify-self: start;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-pb-2 {\n padding-bottom: .5rem;\n}\n\n#retorik-container.rf-mobile .mobile\\:rf-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n#retorik-container.rf-tablet .tablet\\:rf-w-28 {\n width: 7rem;\n}\n\n#retorik-container.rf-tablet .tablet\\:rf-pl-12 {\n padding-left: 3rem;\n}\n\n#retorik-container.rf-tablet .tablet\\:rf-pr-24 {\n padding-right: 6rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-h-10 {\n height: 2.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-h-20 {\n height: 5rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-min-h-20 {\n min-height: 5rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-w-40 {\n width: 10rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-p-5 {\n padding: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-pl-32 {\n padding-left: 8rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-pr-56 {\n padding-right: 14rem;\n}\n\n.ltr\\:rf-left-0:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n left: 0;\n}\n\n.ltr\\:rf-left-1:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n left: .25rem;\n}\n\n.ltr\\:rf-left-4:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n left: 1rem;\n}\n\n.ltr\\:rf-right-0:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n right: 0;\n}\n\n.ltr\\:rf-right-12:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n right: 3rem;\n}\n\n.ltr\\:rf-right-2:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n right: .5rem;\n}\n\n.ltr\\:rf-right-3:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n right: .75rem;\n}\n\n.ltr\\:rf-right-4:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n right: 1rem;\n}\n\n.ltr\\:rf-right-6:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n right: 1.5rem;\n}\n\n.ltr\\:rf-right-9:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n right: 2.25rem;\n}\n\n.ltr\\:rf-col-start-1:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n grid-column-start: 1;\n}\n\n.ltr\\:rf-ml-1:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n margin-left: .25rem;\n}\n\n.ltr\\:rf-ml-2:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n margin-left: .5rem;\n}\n\n.ltr\\:rf-ml-4:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n margin-left: 1rem;\n}\n\n.ltr\\:rf-ml-6:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n margin-left: 1.5rem;\n}\n\n.ltr\\:rf-mr-1:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n margin-right: .25rem;\n}\n\n.ltr\\:rf-mr-2:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n margin-right: .5rem;\n}\n\n.ltr\\:rf-mr-3:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n margin-right: .75rem;\n}\n\n.ltr\\:rf-mr-4:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n margin-right: 1rem;\n}\n\n.ltr\\:rf-mr-5:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n margin-right: 1.25rem;\n}\n\n.ltr\\:rf-flex-row:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n flex-direction: row;\n}\n\n.ltr\\:rf-items-start:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n align-items: flex-start;\n}\n\n.ltr\\:rf-justify-start:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n justify-content: flex-start;\n}\n\n.ltr\\:rf-self-end:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n align-self: flex-end;\n}\n\n.ltr\\:rf-rounded-l-lg:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n border-top-left-radius: .5rem;\n border-bottom-left-radius: .5rem;\n}\n\n.ltr\\:rf-rounded-tl-4:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n border-top-left-radius: 1rem;\n}\n\n.ltr\\:rf-rounded-tr-4:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n border-top-right-radius: 1rem;\n}\n\n.ltr\\:rf-pl-1:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n padding-left: .25rem;\n}\n\n.ltr\\:rf-pl-4:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n padding-left: 1rem;\n}\n\n.ltr\\:rf-pl-6:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n padding-left: 1.5rem;\n}\n\n.ltr\\:rf-pr-2:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n padding-right: .5rem;\n}\n\n.ltr\\:rf-pr-4:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n padding-right: 1rem;\n}\n\n.ltr\\:rf-text-left:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n text-align: left;\n}\n\n.ltr\\:rf-text-right:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n text-align: right;\n}\n\n.ltr\\:rf-text-xs:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n font-size: .75rem;\n line-height: 1rem;\n}\n\n.ltr\\:rf-text-xsm:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n font-size: .6rem;\n}\n\n#retorik-container.rf-large .large\\:ltr\\:rf-left-4:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n left: 1rem;\n}\n\n#retorik-container.rf-large .large\\:ltr\\:rf-ml-0:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n margin-left: 0;\n}\n\n#retorik-container.rf-large .large\\:ltr\\:rf-ml-4:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n margin-left: 1rem;\n}\n\n#retorik-container.rf-large .large\\:ltr\\:rf-mr-3:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n margin-right: .75rem;\n}\n\n#retorik-container.rf-large .large\\:ltr\\:rf-mr-30:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n margin-right: 7.5rem;\n}\n\n#retorik-container.rf-large .large\\:ltr\\:rf-pl-12:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n padding-left: 3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:ltr\\:rf-right-9:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n right: 2.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:ltr\\:rf-ml-1\\/5:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n margin-left: 20%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:ltr\\:rf-mr-1\\/5:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n margin-right: 20%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:ltr\\:rf-pl-0:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n padding-left: 0;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:ltr\\:rf-ml-1\\/5:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n margin-left: 20%;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:ltr\\:rf-mr-40:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n margin-right: 10rem;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:ltr\\:-rf-translate-x-1\\/4:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n --tw-translate-x: -25%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:ltr\\:rf-pl-1\\/5:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n padding-left: 20%;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:ltr\\:rf-pl-\\[calc\\(50\\%-2\\.5rem\\)\\]:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n padding-left: calc(50% - 2.5rem);\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:ltr\\:rf-pr-40:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n padding-right: 10rem;\n}\n\n.rtl\\:rf-left-0:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n left: 0;\n}\n\n.rtl\\:rf-left-12:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n left: 3rem;\n}\n\n.rtl\\:rf-left-2:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n left: .5rem;\n}\n\n.rtl\\:rf-left-3:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n left: .75rem;\n}\n\n.rtl\\:rf-left-4:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n left: 1rem;\n}\n\n.rtl\\:rf-left-6:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n left: 1.5rem;\n}\n\n.rtl\\:rf-left-9:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n left: 2.25rem;\n}\n\n.rtl\\:rf-right-0:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n right: 0;\n}\n\n.rtl\\:rf-right-1:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n right: .25rem;\n}\n\n.rtl\\:rf-right-4:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n right: 1rem;\n}\n\n.rtl\\:rf-right-6:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n right: 1.5rem;\n}\n\n.rtl\\:rf-col-end-1:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n grid-column-end: 1;\n}\n\n.rtl\\:rf-ml-1:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n margin-left: .25rem;\n}\n\n.rtl\\:rf-ml-2:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n margin-left: .5rem;\n}\n\n.rtl\\:rf-ml-3:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n margin-left: .75rem;\n}\n\n.rtl\\:rf-ml-4:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n margin-left: 1rem;\n}\n\n.rtl\\:rf-ml-5:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n margin-left: 1.25rem;\n}\n\n.rtl\\:rf-mr-1:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n margin-right: .25rem;\n}\n\n.rtl\\:rf-mr-2:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n margin-right: .5rem;\n}\n\n.rtl\\:rf-mr-4:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n margin-right: 1rem;\n}\n\n.rtl\\:rf-mr-6:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n margin-right: 1.5rem;\n}\n\n.rtl\\:rf-flex-row-reverse:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n flex-direction: row-reverse;\n}\n\n.rtl\\:rf-items-end:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n align-items: flex-end;\n}\n\n.rtl\\:rf-justify-end:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n justify-content: flex-end;\n}\n\n.rtl\\:rf-self-start:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n align-self: flex-start;\n}\n\n.rtl\\:rf-rounded-r-lg:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n border-top-right-radius: .5rem;\n border-bottom-right-radius: .5rem;\n}\n\n.rtl\\:rf-rounded-tl-4:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n border-top-left-radius: 1rem;\n}\n\n.rtl\\:rf-rounded-tr-4:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n border-top-right-radius: 1rem;\n}\n\n.rtl\\:rf-pl-2:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n padding-left: .5rem;\n}\n\n.rtl\\:rf-pl-4:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n padding-left: 1rem;\n}\n\n.rtl\\:rf-pr-1:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n padding-right: .25rem;\n}\n\n.rtl\\:rf-pr-4:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n padding-right: 1rem;\n}\n\n.rtl\\:rf-pr-6:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n padding-right: 1.5rem;\n}\n\n.rtl\\:rf-text-left:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n text-align: left;\n}\n\n.rtl\\:rf-text-right:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n text-align: right;\n}\n\n.rtl\\:rf-text-arabic:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n font-size: 1.125rem;\n line-height: 1.15rem;\n}\n\n#retorik-container.rf-large .large\\:rtl\\:rf-right-4:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n right: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rtl\\:rf-ml-3:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n margin-left: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rtl\\:rf-ml-30:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n margin-left: 7.5rem;\n}\n\n#retorik-container.rf-large .large\\:rtl\\:rf-mr-0:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n margin-right: 0;\n}\n\n#retorik-container.rf-large .large\\:rtl\\:rf-mr-4:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n margin-right: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rtl\\:rf-left-9:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n left: 2.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rtl\\:rf-ml-1\\/5:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n margin-left: 20%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rtl\\:rf-mr-1\\/5:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n margin-right: 20%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rtl\\:rf-pr-0:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n padding-right: 0;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rtl\\:rf-ml-40:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n margin-left: 10rem;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rtl\\:rf-mr-1\\/5:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n margin-right: 20%;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rtl\\:rf-translate-x-1\\/4:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n --tw-translate-x: 25%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rtl\\:rf-pl-40:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n padding-left: 10rem;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rtl\\:rf-pr-1\\/5:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n padding-right: 20%;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rtl\\:rf-pr-\\[calc\\(50\\%-2\\.5rem\\)\\]:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n padding-right: calc(50% - 2.5rem);\n}\n";
|
|
19267
|
+
$203b743475f656c9$exports = "*, :before, :after, ::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: #3b82f680;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}\n\n*, :before, :after {\n box-sizing: border-box;\n border: 0 solid;\n}\n\n:before, :after {\n --tw-content: \"\";\n}\n\nhtml, :host {\n -webkit-text-size-adjust: 100%;\n -moz-tab-size: 4;\n tab-size: 4;\n font-feature-settings: normal;\n font-variation-settings: normal;\n -webkit-tap-highlight-color: transparent;\n font-family: Calibri, sans-serif;\n line-height: 1.5;\n}\n\nbody {\n line-height: inherit;\n margin: 0;\n}\n\nhr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n}\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\nh1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\nb, strong {\n font-weight: bolder;\n}\n\ncode, kbd, samp, pre {\n font-feature-settings: normal;\n font-variation-settings: normal;\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;\n font-size: 1em;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub, sup {\n vertical-align: baseline;\n font-size: 75%;\n line-height: 0;\n position: relative;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\ntable {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n}\n\nbutton, input, optgroup, select, textarea {\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n font-family: inherit;\n font-size: 100%;\n font-weight: inherit;\n line-height: inherit;\n letter-spacing: inherit;\n color: inherit;\n margin: 0;\n padding: 0;\n}\n\nbutton, select {\n text-transform: none;\n}\n\nbutton, input:where([type=\"button\"]), input:where([type=\"reset\"]), input:where([type=\"submit\"]) {\n -webkit-appearance: button;\n background-color: #0000;\n background-image: none;\n}\n\n:-moz-focusring {\n outline: auto;\n}\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n\nsummary {\n display: list-item;\n}\n\nblockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol, ul, menu {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\ndialog {\n padding: 0;\n}\n\ntextarea {\n resize: vertical;\n}\n\ninput::placeholder, textarea::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\n\nbutton, [role=\"button\"] {\n cursor: pointer;\n}\n\n:disabled {\n cursor: default;\n}\n\nimg, svg, video, canvas, audio, iframe, embed, object {\n vertical-align: middle;\n display: block;\n}\n\nimg, video {\n max-width: 100%;\n height: auto;\n}\n\n[hidden]:where(:not([hidden=\"until-found\"])) {\n display: none;\n}\n\n.rf-pointer-events-none {\n pointer-events: none;\n}\n\n.rf-pointer-events-auto {\n pointer-events: auto;\n}\n\n.rf-visible {\n visibility: visible;\n}\n\n.rf-invisible {\n visibility: hidden;\n}\n\n.rf-fixed {\n position: fixed;\n}\n\n.rf-absolute {\n position: absolute;\n}\n\n.rf-relative {\n position: relative;\n}\n\n.-rf-left-6 {\n left: -1.5rem;\n}\n\n.-rf-top-2 {\n top: -.5rem;\n}\n\n.-rf-top-4 {\n top: -1rem;\n}\n\n.-rf-top-6 {\n top: -1.5rem;\n}\n\n.-rf-top-\\[1\\.15rem\\] {\n top: -1.15rem;\n}\n\n.rf-bottom-0 {\n bottom: 0;\n}\n\n.rf-bottom-1 {\n bottom: .25rem;\n}\n\n.rf-bottom-1\\/4 {\n bottom: 25%;\n}\n\n.rf-bottom-10 {\n bottom: 2.5rem;\n}\n\n.rf-bottom-2 {\n bottom: .5rem;\n}\n\n.rf-bottom-4 {\n bottom: 1rem;\n}\n\n.rf-bottom-8 {\n bottom: 2rem;\n}\n\n.rf-bottom-\\[calc\\(100\\%\\+2rem\\)\\] {\n bottom: calc(100% + 2rem);\n}\n\n.rf-left-0 {\n left: 0;\n}\n\n.rf-left-1 {\n left: .25rem;\n}\n\n.rf-left-1\\/2 {\n left: 50%;\n}\n\n.rf-left-12 {\n left: 3rem;\n}\n\n.rf-left-2 {\n left: .5rem;\n}\n\n.rf-left-4 {\n left: 1rem;\n}\n\n.rf-left-8 {\n left: 2rem;\n}\n\n.rf-left-\\[calc\\(100\\%\\+1rem\\)\\] {\n left: calc(100% + 1rem);\n}\n\n.rf-left-\\[calc\\(50\\%-3rem\\)\\] {\n left: calc(50% - 3rem);\n}\n\n.rf-right-0 {\n right: 0;\n}\n\n.rf-right-1 {\n right: .25rem;\n}\n\n.rf-right-10 {\n right: 2.5rem;\n}\n\n.rf-right-12 {\n right: 3rem;\n}\n\n.rf-right-2 {\n right: .5rem;\n}\n\n.rf-right-3 {\n right: .75rem;\n}\n\n.rf-right-4 {\n right: 1rem;\n}\n\n.rf-right-6 {\n right: 1.5rem;\n}\n\n.rf-right-8 {\n right: 2rem;\n}\n\n.rf-right-9 {\n right: 2.25rem;\n}\n\n.rf-right-\\[calc\\(100\\%\\+1rem\\)\\] {\n right: calc(100% + 1rem);\n}\n\n.rf-top-0 {\n top: 0;\n}\n\n.rf-top-1 {\n top: .25rem;\n}\n\n.rf-top-1\\/2 {\n top: 50%;\n}\n\n.rf-top-1\\/3 {\n top: 33.3333%;\n}\n\n.rf-top-110 {\n top: 110%;\n}\n\n.rf-top-2 {\n top: .5rem;\n}\n\n.rf-top-4 {\n top: 1rem;\n}\n\n.rf-top-8 {\n top: 2rem;\n}\n\n.rf-top-\\[0\\.125rem\\] {\n top: .125rem;\n}\n\n.rf-top-\\[calc\\(100\\%\\+1rem\\)\\] {\n top: calc(100% + 1rem);\n}\n\n.rf-top-\\[calc\\(50\\%-3rem\\)\\] {\n top: calc(50% - 3rem);\n}\n\n.rf-z-\\[10\\] {\n z-index: 10;\n}\n\n.rf-z-\\[15\\] {\n z-index: 15;\n}\n\n.rf-z-\\[1\\] {\n z-index: 1;\n}\n\n.rf-z-\\[20\\] {\n z-index: 20;\n}\n\n.rf-z-\\[25\\] {\n z-index: 25;\n}\n\n.rf-z-\\[2\\] {\n z-index: 2;\n}\n\n.rf-z-\\[5\\] {\n z-index: 5;\n}\n\n.rf-z-agent {\n z-index: 1;\n}\n\n.rf-z-background {\n z-index: 0;\n}\n\n.rf-z-chatbot {\n z-index: 10;\n}\n\n.rf-z-detailedPOI {\n z-index: 31;\n}\n\n.rf-z-dropdown {\n z-index: 30;\n}\n\n.rf-z-exitwidget {\n z-index: 55;\n}\n\n.rf-z-list {\n z-index: 30;\n}\n\n.rf-z-menu {\n z-index: 40;\n}\n\n.rf-z-modal {\n z-index: 50;\n}\n\n.rf-z-overlay {\n z-index: 40;\n}\n\n.rf-z-ui {\n z-index: 20;\n}\n\n.rf-z-util {\n z-index: 2;\n}\n\n.rf-col-span-2 {\n grid-column: span 2 / span 2;\n}\n\n.rf-col-span-3 {\n grid-column: span 3 / span 3;\n}\n\n.rf-col-span-4 {\n grid-column: span 4 / span 4;\n}\n\n.rf-col-span-full {\n grid-column: 1 / -1;\n}\n\n.rf-col-start-1 {\n grid-column-start: 1;\n}\n\n.rf-col-start-3 {\n grid-column-start: 3;\n}\n\n.rf-col-start-4 {\n grid-column-start: 4;\n}\n\n.rf-col-start-5 {\n grid-column-start: 5;\n}\n\n.rf-col-end-13 {\n grid-column-end: 13;\n}\n\n.rf-col-end-2 {\n grid-column-end: 2;\n}\n\n.rf-col-end-9 {\n grid-column-end: 9;\n}\n\n.rf-row-span-1 {\n grid-row: span 1 / span 1;\n}\n\n.rf-row-span-2 {\n grid-row: span 2 / span 2;\n}\n\n.rf-row-span-full {\n grid-row: 1 / -1;\n}\n\n.rf-row-start-1 {\n grid-row-start: 1;\n}\n\n.rf-row-start-12 {\n grid-row-start: 12;\n}\n\n.rf-row-end-13 {\n grid-row-end: 13;\n}\n\n.rf-row-end-3 {\n grid-row-end: 3;\n}\n\n.rf-float-right {\n float: right;\n}\n\n.rf-m-0 {\n margin: 0;\n}\n\n.rf-m-4 {\n margin: 1rem;\n}\n\n.rf-m-auto {\n margin: auto;\n}\n\n.-rf-mx-6 {\n margin-left: -1.5rem;\n margin-right: -1.5rem;\n}\n\n.-rf-mx-8 {\n margin-left: -2rem;\n margin-right: -2rem;\n}\n\n.rf-mx-0 {\n margin-left: 0;\n margin-right: 0;\n}\n\n.rf-mx-2 {\n margin-left: .5rem;\n margin-right: .5rem;\n}\n\n.rf-mx-3 {\n margin-left: .75rem;\n margin-right: .75rem;\n}\n\n.rf-mx-4 {\n margin-left: 1rem;\n margin-right: 1rem;\n}\n\n.rf-mx-8 {\n margin-left: 2rem;\n margin-right: 2rem;\n}\n\n.rf-mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n\n.rf-my-1 {\n margin-top: .25rem;\n margin-bottom: .25rem;\n}\n\n.rf-my-2 {\n margin-top: .5rem;\n margin-bottom: .5rem;\n}\n\n.rf-my-4 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n}\n\n.rf-my-auto {\n margin-top: auto;\n margin-bottom: auto;\n}\n\n.-rf-mb-4 {\n margin-bottom: -1rem;\n}\n\n.rf-mb-0 {\n margin-bottom: 0;\n}\n\n.rf-mb-1 {\n margin-bottom: .25rem;\n}\n\n.rf-mb-12 {\n margin-bottom: 3rem;\n}\n\n.rf-mb-16 {\n margin-bottom: 4rem;\n}\n\n.rf-mb-2 {\n margin-bottom: .5rem;\n}\n\n.rf-mb-26 {\n margin-bottom: 6.5rem;\n}\n\n.rf-mb-28 {\n margin-bottom: 7rem;\n}\n\n.rf-mb-3 {\n margin-bottom: .75rem;\n}\n\n.rf-mb-30 {\n margin-bottom: 7.5rem;\n}\n\n.rf-mb-4 {\n margin-bottom: 1rem;\n}\n\n.rf-mb-5 {\n margin-bottom: 1.25rem;\n}\n\n.rf-mb-6 {\n margin-bottom: 1.5rem;\n}\n\n.rf-mb-8 {\n margin-bottom: 2rem;\n}\n\n.rf-ml-1 {\n margin-left: .25rem;\n}\n\n.rf-ml-2 {\n margin-left: .5rem;\n}\n\n.rf-ml-4 {\n margin-left: 1rem;\n}\n\n.rf-ml-6 {\n margin-left: 1.5rem;\n}\n\n.rf-mr-1 {\n margin-right: .25rem;\n}\n\n.rf-mr-2 {\n margin-right: .5rem;\n}\n\n.rf-mr-3 {\n margin-right: .75rem;\n}\n\n.rf-mr-4 {\n margin-right: 1rem;\n}\n\n.rf-mr-5 {\n margin-right: 1.25rem;\n}\n\n.rf-mt-1 {\n margin-top: .25rem;\n}\n\n.rf-mt-10 {\n margin-top: 2.5rem;\n}\n\n.rf-mt-2 {\n margin-top: .5rem;\n}\n\n.rf-mt-4 {\n margin-top: 1rem;\n}\n\n.rf-mt-5 {\n margin-top: 1.25rem;\n}\n\n.rf-mt-8 {\n margin-top: 2rem;\n}\n\n.rf-mt-\\[0\\.2rem\\] {\n margin-top: .2rem;\n}\n\n.rf-mt-auto {\n margin-top: auto;\n}\n\n.rf-box-border {\n box-sizing: border-box;\n}\n\n.rf-line-clamp-1 {\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-2 {\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-inline {\n display: inline;\n}\n\n.rf-flex {\n display: flex;\n}\n\n.rf-grid {\n display: grid;\n}\n\n.rf-hidden {\n display: none;\n}\n\n.rf-aspect-\\[4\\/3\\] {\n aspect-ratio: 4 / 3;\n}\n\n.rf-aspect-square {\n aspect-ratio: 1;\n}\n\n.rf-aspect-video {\n aspect-ratio: 16 / 9;\n}\n\n.rf-h-0 {\n height: 0;\n}\n\n.rf-h-1\\/2 {\n height: 50%;\n}\n\n.rf-h-1\\/3 {\n height: 33.3333%;\n}\n\n.rf-h-10 {\n height: 2.5rem;\n}\n\n.rf-h-12 {\n height: 3rem;\n}\n\n.rf-h-14 {\n height: 3.5rem;\n}\n\n.rf-h-16 {\n height: 4rem;\n}\n\n.rf-h-18 {\n height: 4.5rem;\n}\n\n.rf-h-2 {\n height: .5rem;\n}\n\n.rf-h-2\\/3 {\n height: 66.6667%;\n}\n\n.rf-h-2\\/5 {\n height: 40%;\n}\n\n.rf-h-24 {\n height: 6rem;\n}\n\n.rf-h-3 {\n height: .75rem;\n}\n\n.rf-h-3\\/10 {\n height: 30%;\n}\n\n.rf-h-32 {\n height: 8rem;\n}\n\n.rf-h-36 {\n height: 9rem;\n}\n\n.rf-h-4 {\n height: 1rem;\n}\n\n.rf-h-48 {\n height: 12rem;\n}\n\n.rf-h-5 {\n height: 1.25rem;\n}\n\n.rf-h-6 {\n height: 1.5rem;\n}\n\n.rf-h-7 {\n height: 1.75rem;\n}\n\n.rf-h-8 {\n height: 2rem;\n}\n\n.rf-h-9 {\n height: 2.25rem;\n}\n\n.rf-h-\\[0\\.875rem\\] {\n height: .875rem;\n}\n\n.rf-h-\\[1\\.25rem\\] {\n height: 1.25rem;\n}\n\n.rf-h-\\[35\\%\\] {\n height: 35%;\n}\n\n.rf-h-\\[50\\%\\] {\n height: 50%;\n}\n\n.rf-h-\\[calc\\(50vw-3rem\\)\\] {\n height: calc(50vw - 3rem);\n}\n\n.rf-h-fit {\n height: fit-content;\n}\n\n.rf-h-full {\n height: 100%;\n}\n\n.rf-h-max {\n height: max-content;\n}\n\n.rf-h-screen {\n height: 100vh;\n}\n\n.rf-max-h-12 {\n max-height: 3rem;\n}\n\n.rf-max-h-16 {\n max-height: 4rem;\n}\n\n.rf-max-h-20 {\n max-height: 5rem;\n}\n\n.rf-max-h-28 {\n max-height: 7rem;\n}\n\n.rf-max-h-4\\/5 {\n max-height: 80%;\n}\n\n.rf-max-h-48 {\n max-height: 12rem;\n}\n\n.rf-max-h-6 {\n max-height: 1.5rem;\n}\n\n.rf-max-h-8 {\n max-height: 2rem;\n}\n\n.rf-max-h-full {\n max-height: 100%;\n}\n\n.rf-max-h-qrcode {\n max-height: 120px;\n}\n\n.rf-max-h-qrcodelarge {\n max-height: 200px;\n}\n\n.rf-max-h-screen {\n max-height: 100vh;\n}\n\n.rf-min-h-12 {\n min-height: 3rem;\n}\n\n.rf-min-h-14 {\n min-height: 3.5rem;\n}\n\n.rf-min-h-16 {\n min-height: 4rem;\n}\n\n.rf-min-h-2\\/5 {\n min-height: 40%;\n}\n\n.rf-min-h-6 {\n min-height: 1.5rem;\n}\n\n.rf-min-h-8 {\n min-height: 2rem;\n}\n\n.rf-min-h-9 {\n min-height: 2.25rem;\n}\n\n.rf-min-h-full {\n min-height: 100%;\n}\n\n.rf-min-h-inherit {\n min-height: inherit;\n}\n\n.rf-w-0 {\n width: 0;\n}\n\n.rf-w-1\\/2 {\n width: 50%;\n}\n\n.rf-w-1\\/3 {\n width: 33.3333%;\n}\n\n.rf-w-1\\/4 {\n width: 25%;\n}\n\n.rf-w-10 {\n width: 2.5rem;\n}\n\n.rf-w-12 {\n width: 3rem;\n}\n\n.rf-w-16 {\n width: 4rem;\n}\n\n.rf-w-18 {\n width: 4.5rem;\n}\n\n.rf-w-2 {\n width: .5rem;\n}\n\n.rf-w-2\\/3 {\n width: 66.6667%;\n}\n\n.rf-w-20 {\n width: 5rem;\n}\n\n.rf-w-24 {\n width: 6rem;\n}\n\n.rf-w-3 {\n width: .75rem;\n}\n\n.rf-w-3\\/20 {\n width: 15%;\n}\n\n.rf-w-3\\/4 {\n width: 75%;\n}\n\n.rf-w-3\\/5 {\n width: 60%;\n}\n\n.rf-w-32 {\n width: 8rem;\n}\n\n.rf-w-36 {\n width: 9rem;\n}\n\n.rf-w-4 {\n width: 1rem;\n}\n\n.rf-w-48 {\n width: 12rem;\n}\n\n.rf-w-5 {\n width: 1.25rem;\n}\n\n.rf-w-6 {\n width: 1.5rem;\n}\n\n.rf-w-7 {\n width: 1.75rem;\n}\n\n.rf-w-8 {\n width: 2rem;\n}\n\n.rf-w-9 {\n width: 2.25rem;\n}\n\n.rf-w-\\[45\\%\\] {\n width: 45%;\n}\n\n.rf-w-\\[90\\%\\] {\n width: 90%;\n}\n\n.rf-w-\\[calc\\(100\\%-3rem\\)\\] {\n width: calc(100% - 3rem);\n}\n\n.rf-w-fit {\n width: fit-content;\n}\n\n.rf-w-full {\n width: 100%;\n}\n\n.rf-w-max {\n width: max-content;\n}\n\n.rf-w-screen {\n width: 100vw;\n}\n\n.rf-min-w-12 {\n min-width: 3rem;\n}\n\n.rf-min-w-24 {\n min-width: 6rem;\n}\n\n.rf-min-w-3\\/20 {\n min-width: 15%;\n}\n\n.rf-min-w-6 {\n min-width: 1.5rem;\n}\n\n.rf-min-w-7 {\n min-width: 1.75rem;\n}\n\n.rf-min-w-\\[45\\%\\] {\n min-width: 45%;\n}\n\n.rf-min-w-full {\n min-width: 100%;\n}\n\n.rf-max-w-1\\/2 {\n max-width: 50%;\n}\n\n.rf-max-w-16 {\n max-width: 4rem;\n}\n\n.rf-max-w-3\\/20 {\n max-width: 15%;\n}\n\n.rf-max-w-6 {\n max-width: 1.5rem;\n}\n\n.rf-max-w-7\\/10 {\n max-width: 70%;\n}\n\n.rf-max-w-\\[100vw\\] {\n max-width: 100vw;\n}\n\n.rf-max-w-\\[45\\%\\] {\n max-width: 45%;\n}\n\n.rf-max-w-\\[500px\\] {\n max-width: 500px;\n}\n\n.rf-max-w-\\[75\\%\\] {\n max-width: 75%;\n}\n\n.rf-max-w-\\[calc\\(100\\%-2rem\\)\\] {\n max-width: calc(100% - 2rem);\n}\n\n.rf-max-w-full {\n max-width: 100%;\n}\n\n.rf-max-w-none {\n max-width: none;\n}\n\n.rf-flex-1 {\n flex: 1;\n}\n\n.rf-flex-\\[0_0_40\\%\\] {\n flex: 0 0 40%;\n}\n\n.rf-flex-\\[2_1_0\\%\\] {\n flex: 2;\n}\n\n.rf-flex-\\[4_1_0\\%\\] {\n flex: 4;\n}\n\n.rf-border-collapse {\n border-collapse: collapse;\n}\n\n.rf-origin-center {\n transform-origin: center;\n}\n\n.-rf-translate-x-1\\/2 {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.-rf-translate-y-1\\/2 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.-rf-translate-y-full {\n --tw-translate-y: -100%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf--translate-x-1\\/2 {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-translate-x-1 {\n --tw-translate-x: .25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-translate-x-5 {\n --tw-translate-x: 1.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-rotate-0 {\n --tw-rotate: 0deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-rotate-180 {\n --tw-rotate: 180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-scale-0 {\n --tw-scale-x: 0;\n --tw-scale-y: 0;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n@keyframes rf-blink {\n 0%, 100% {\n opacity: .2;\n }\n\n 50% {\n opacity: 1;\n }\n}\n\n.rf-animate-blink {\n animation: 1.4s infinite both rf-blink;\n}\n\n@keyframes rf-fadeIn {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n.rf-animate-fadeIn {\n animation: .5s .2s backwards rf-fadeIn;\n}\n\n@keyframes rf-hScroll {\n 0% {\n transform: translateX(0);\n }\n\n 100% {\n transform: translateX(calc(-100% - 2rem));\n }\n}\n\n.rf-animate-hScroll {\n animation: 20s linear infinite rf-hScroll;\n}\n\n@keyframes rf-loader {\n 0% {\n box-shadow: 0 1.5rem 0 -1.5rem var(--rf-color-loader-animation);\n }\n\n 40% {\n box-shadow: 0 1.5rem 0 -.3rem var(--rf-color-loader-animation);\n }\n\n 80% {\n box-shadow: 0 1.5rem 0 -1.5rem var(--rf-color-loader-animation);\n }\n\n 100% {\n box-shadow: 0 1.5rem 0 -1.5rem var(--rf-color-loader-animation);\n }\n}\n\n.rf-animate-loader {\n animation: 1.8s ease-in-out -.16s infinite both rf-loader;\n}\n\n.rf-animate-loaderFadeIn {\n animation: 2s rf-fadeIn;\n}\n\n@keyframes rf-fadeOut {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n }\n}\n\n.rf-animate-loaderFadeOut {\n animation: 1s rf-fadeOut;\n}\n\n@keyframes rf-loaderMedium {\n 0% {\n box-shadow: 0 .75rem 0 -.75rem var(--rf-color-loader-animation);\n }\n\n 40% {\n box-shadow: 0 .75rem 0 -.25rem var(--rf-color-loader-animation);\n }\n\n 80% {\n box-shadow: 0 .75rem 0 -.75rem var(--rf-color-loader-animation);\n }\n\n 100% {\n box-shadow: 0 .75rem 0 -.75rem var(--rf-color-loader-animation);\n }\n}\n\n.rf-animate-loaderMedium {\n animation: 1.8s ease-in-out -.16s infinite both rf-loaderMedium;\n}\n\n@keyframes rf-loaderMini {\n 0% {\n box-shadow: 0 .5rem 0 -.5rem var(--rf-color-loader-animation);\n }\n\n 40% {\n box-shadow: 0 .5rem 0 -.1rem var(--rf-color-loader-animation);\n }\n\n 80% {\n box-shadow: 0 .5rem 0 -.5rem var(--rf-color-loader-animation);\n }\n\n 100% {\n box-shadow: 0 .5rem 0 -.5rem var(--rf-color-loader-animation);\n }\n}\n\n.rf-animate-loaderMini {\n animation: 1.8s ease-in-out -.16s infinite both rf-loaderMini;\n}\n\n@keyframes rf-slideBottom {\n 0% {\n opacity: 0;\n transform: translateX(0)translateY(20px);\n }\n\n 100% {\n opacity: 1;\n transform: translateX(0)translateY(0);\n }\n}\n\n.rf-animate-slideBottom {\n animation: .5s .2s backwards rf-slideBottom;\n}\n\n@keyframes rf-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n.rf-animate-spin {\n animation: 1s linear infinite rf-spin;\n}\n\n.rf-cursor-pointer {\n cursor: pointer;\n}\n\n.rf-select-none {\n user-select: none;\n}\n\n.rf-resize-none {\n resize: none;\n}\n\n.rf-scroll-pb-4 {\n scroll-padding-bottom: 1rem;\n}\n\n.rf-grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n}\n\n.rf-grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n\n.rf-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n\n.rf-grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n\n.rf-grid-cols-6 {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n}\n\n.rf-grid-cols-7 {\n grid-template-columns: repeat(7, minmax(0, 1fr));\n}\n\n.rf-grid-cols-8 {\n grid-template-columns: repeat(8, minmax(0, 1fr));\n}\n\n.rf-grid-cols-\\[repeat\\(2\\,30\\%\\)\\] {\n grid-template-columns: repeat(2, 30%);\n}\n\n.rf-grid-cols-\\[repeat\\(2\\,45\\%\\)\\] {\n grid-template-columns: repeat(2, 45%);\n}\n\n.rf-grid-cols-\\[repeat\\(3\\,31\\%\\)\\] {\n grid-template-columns: repeat(3, 31%);\n}\n\n.rf-grid-cols-headerContainer {\n grid-template-columns: 5rem 1rem 1fr 1fr;\n}\n\n.rf-grid-cols-printingPreview {\n grid-template-columns: minmax(0, 1fr) 3rem;\n}\n\n.rf-grid-cols-routes {\n grid-template-columns: repeat(3, max-content);\n}\n\n.rf-grid-rows-1 {\n grid-template-rows: repeat(1, minmax(0, 1fr));\n}\n\n.rf-grid-rows-2 {\n grid-template-rows: repeat(2, minmax(0, 1fr));\n}\n\n.rf-grid-rows-3 {\n grid-template-rows: repeat(3, minmax(0, 1fr));\n}\n\n.rf-grid-rows-4 {\n grid-template-rows: repeat(4, minmax(0, 1fr));\n}\n\n.rf-grid-rows-5 {\n grid-template-rows: repeat(5, minmax(0, 1fr));\n}\n\n.rf-grid-rows-container {\n grid-template-rows: repeat(12, minmax(0, 1fr));\n}\n\n.rf-grid-rows-headerContainer {\n grid-template-rows: repeat(2, minmax(0, 1fr));\n}\n\n.rf-flex-row {\n flex-direction: row;\n}\n\n.rf-flex-col {\n flex-direction: column;\n}\n\n.rf-flex-col-reverse {\n flex-direction: column-reverse;\n}\n\n.rf-flex-wrap {\n flex-wrap: wrap;\n}\n\n.rf-flex-nowrap {\n flex-wrap: nowrap;\n}\n\n.rf-content-around {\n align-content: space-around;\n}\n\n.rf-items-start {\n align-items: flex-start;\n}\n\n.rf-items-end {\n align-items: flex-end;\n}\n\n.rf-items-center {\n align-items: center;\n}\n\n.rf-justify-start {\n justify-content: flex-start;\n}\n\n.rf-justify-end {\n justify-content: flex-end;\n}\n\n.rf-justify-center {\n justify-content: center;\n}\n\n.rf-justify-between {\n justify-content: space-between;\n}\n\n.rf-justify-around {\n justify-content: space-around;\n}\n\n.rf-justify-evenly {\n justify-content: space-evenly;\n}\n\n.rf-gap-1 {\n gap: .25rem;\n}\n\n.rf-gap-12 {\n gap: 3rem;\n}\n\n.rf-gap-2 {\n gap: .5rem;\n}\n\n.rf-gap-3 {\n gap: .75rem;\n}\n\n.rf-gap-4 {\n gap: 1rem;\n}\n\n.rf-gap-5 {\n gap: 1.25rem;\n}\n\n.rf-gap-6 {\n gap: 1.5rem;\n}\n\n.rf-gap-8 {\n gap: 2rem;\n}\n\n.rf-gap-9 {\n gap: 2.25rem;\n}\n\n.rf-gap-\\[10\\%\\] {\n gap: 10%;\n}\n\n.rf-gap-x-\\[3\\.5\\%\\] {\n column-gap: 3.5%;\n}\n\n.rf-divide-x > :not([hidden]) ~ :not([hidden]) {\n --tw-divide-x-reverse: 0;\n border-right-width: calc(1px * var(--tw-divide-x-reverse));\n border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));\n}\n\n.rf-self-auto {\n align-self: auto;\n}\n\n.rf-self-start {\n align-self: flex-start;\n}\n\n.rf-self-end {\n align-self: flex-end;\n}\n\n.rf-self-center {\n align-self: center;\n}\n\n.rf-justify-self-start {\n justify-self: start;\n}\n\n.rf-justify-self-end {\n justify-self: end;\n}\n\n.rf-justify-self-center {\n justify-self: center;\n}\n\n.rf-overflow-hidden {\n overflow: hidden;\n}\n\n.rf-overflow-clip {\n overflow: clip;\n}\n\n.rf-overflow-y-auto {\n overflow-y: auto;\n}\n\n.rf-overflow-x-hidden {\n overflow-x: hidden;\n}\n\n.rf-overflow-y-hidden {\n overflow-y: hidden;\n}\n\n.rf-overflow-y-clip {\n overflow-y: clip;\n}\n\n.rf-overflow-x-visible {\n overflow-x: visible;\n}\n\n.rf-overflow-y-visible {\n overflow-y: visible;\n}\n\n.rf-overflow-x-scroll {\n overflow-x: scroll;\n}\n\n.rf-overflow-y-scroll {\n overflow-y: scroll;\n}\n\n.rf-truncate {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.rf-whitespace-nowrap {\n white-space: nowrap;\n}\n\n.rf-whitespace-break-spaces {\n white-space: break-spaces;\n}\n\n.rf-rounded {\n border-radius: .3125rem;\n}\n\n.rf-rounded-6 {\n border-radius: 1.5rem;\n}\n\n.rf-rounded-8 {\n border-radius: 2rem;\n}\n\n.rf-rounded-\\[20px\\] {\n border-radius: 20px;\n}\n\n.rf-rounded-half {\n border-radius: 50%;\n}\n\n.rf-rounded-lg {\n border-radius: .5rem;\n}\n\n.rf-rounded-max {\n border-radius: 100%;\n}\n\n.rf-rounded-b {\n border-bottom-right-radius: .3125rem;\n border-bottom-left-radius: .3125rem;\n}\n\n.rf-rounded-b-4 {\n border-bottom-right-radius: 1rem;\n border-bottom-left-radius: 1rem;\n}\n\n.rf-rounded-b-lg {\n border-bottom-right-radius: .5rem;\n border-bottom-left-radius: .5rem;\n}\n\n.rf-rounded-l-lg {\n border-top-left-radius: .5rem;\n border-bottom-left-radius: .5rem;\n}\n\n.rf-rounded-t-lg {\n border-top-left-radius: .5rem;\n border-top-right-radius: .5rem;\n}\n\n.rf-rounded-tl-4 {\n border-top-left-radius: 1rem;\n}\n\n.rf-rounded-tr-4 {\n border-top-right-radius: 1rem;\n}\n\n.rf-border {\n border-width: 1px;\n}\n\n.rf-border-0 {\n border-width: 0;\n}\n\n.rf-border-2 {\n border-width: 2px;\n}\n\n.rf-border-y {\n border-top-width: 1px;\n border-bottom-width: 1px;\n}\n\n.rf-border-b {\n border-bottom-width: 1px;\n}\n\n.rf-border-b-2 {\n border-bottom-width: 2px;\n}\n\n.rf-border-l {\n border-left-width: 1px;\n}\n\n.rf-border-r {\n border-right-width: 1px;\n}\n\n.rf-border-t {\n border-top-width: 1px;\n}\n\n.rf-border-t-0 {\n border-top-width: 0;\n}\n\n.rf-border-none {\n border-style: none;\n}\n\n.rf-border-\\[\\#00000029\\] {\n border-color: #00000029;\n}\n\n.rf-border-\\[\\#1999B1\\] {\n --tw-border-opacity: 1;\n border-color: rgb(25 153 177 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-\\[\\#325981\\] {\n --tw-border-opacity: 1;\n border-color: rgb(50 89 129 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-\\[\\#707070\\] {\n --tw-border-opacity: 1;\n border-color: rgb(112 112 112 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-\\[\\#8B8888\\] {\n --tw-border-opacity: 1;\n border-color: rgb(139 136 136 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-\\[\\#9FA2AA\\] {\n --tw-border-opacity: 1;\n border-color: rgb(159 162 170 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-\\[\\#C7C6C6\\] {\n --tw-border-opacity: 1;\n border-color: rgb(199 198 198 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-\\[\\#F0F0F0\\] {\n --tw-border-opacity: 1;\n border-color: rgb(240 240 240 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-black {\n border-color: var(--rf-color-black);\n}\n\n.rf-border-cardButtonBorderDefault {\n border-color: var(--rf-color-cardButtonBorderDefault);\n}\n\n.rf-border-cardButtonBorderHover {\n border-color: var(--rf-color-cardButtonBorderHover);\n}\n\n.rf-border-cardFrameBorder {\n border-color: var(--rf-color-cardFrameBorder);\n}\n\n.rf-border-formInputButtonBorderDefault {\n border-color: var(--rf-color-formInputButtonBorderDefault);\n}\n\n.rf-border-formInputButtonBorderHover {\n border-color: var(--rf-color-formInputButtonBorderHover);\n}\n\n.rf-border-formInputRadioCheckboxCheckedBorder {\n border-color: var(--rf-color-formInputRadioCheckboxCheckedBorder);\n}\n\n.rf-border-formInputRadioCheckboxUncheckedBorder {\n border-color: var(--rf-color-formInputRadioCheckboxUncheckedBorder);\n}\n\n.rf-border-gray {\n --tw-border-opacity: 1;\n border-color: rgb(128 128 128 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-lightgray {\n --tw-border-opacity: 1;\n border-color: rgb(129 129 129 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-menuBorder {\n --tw-border-opacity: 1;\n border-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-primary {\n border-color: var(--rf-color-primary);\n}\n\n.rf-border-secondary {\n border-color: var(--rf-color-secondary);\n}\n\n.rf-border-templateCheckboxBorder {\n --tw-border-opacity: 1;\n border-color: rgb(112 112 112 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-textBoxBorder {\n --tw-border-opacity: 1;\n border-color: rgb(190 190 190 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-textModePanelBackgroundBot {\n border-color: var(--rf-color-textModePanelBackgroundBot);\n}\n\n.rf-border-textModePanelBackgroundUser {\n border-color: var(--rf-color-textModePanelBackgroundUser);\n}\n\n.rf-border-trueblack {\n --tw-border-opacity: 1;\n border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-truewhite {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-x-primary {\n border-left-color: var(--rf-color-primary);\n border-right-color: var(--rf-color-primary);\n}\n\n.rf-border-y-menuBorder {\n --tw-border-opacity: 1;\n border-top-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n border-bottom-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-b-\\[\\#C4C5C8\\] {\n --tw-border-opacity: 1;\n border-bottom-color: rgb(196 197 200 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-b-black {\n border-bottom-color: var(--rf-color-black);\n}\n\n.rf-border-b-menuBorder {\n --tw-border-opacity: 1;\n border-bottom-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-b-silver {\n --tw-border-opacity: 1;\n border-bottom-color: rgb(192 192 192 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-b-transparent {\n border-bottom-color: #0000;\n}\n\n.rf-border-l-menuBorder {\n --tw-border-opacity: 1;\n border-left-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-r-\\[\\#8B8888\\] {\n --tw-border-opacity: 1;\n border-right-color: rgb(139 136 136 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-r-silver {\n --tw-border-opacity: 1;\n border-right-color: rgb(192 192 192 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-t-\\[\\#8B8888\\] {\n --tw-border-opacity: 1;\n border-top-color: rgb(139 136 136 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-t-\\[\\#CBC9C9\\] {\n --tw-border-opacity: 1;\n border-top-color: rgb(203 201 201 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-t-menuBorder {\n --tw-border-opacity: 1;\n border-top-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n}\n\n.rf-bg-\\[\\#00000050\\] {\n background-color: #00000050;\n}\n\n.rf-bg-\\[\\#000000B3\\] {\n background-color: #000000b3;\n}\n\n.rf-bg-\\[\\#121212F2\\] {\n background-color: #121212f2;\n}\n\n.rf-bg-\\[\\#1999B1\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(25 153 177 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-\\[\\#325981\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(50 89 129 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-\\[\\#CDE5FE\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(205 229 254 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-\\[\\#F0F0F0\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(240 240 240 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-\\[\\#F8F8F8\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(248 248 248 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-black {\n background-color: var(--rf-color-black);\n}\n\n.rf-bg-blue-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-cardButtonBackgroundDefault {\n background-color: var(--rf-color-cardButtonBackgroundDefault);\n}\n\n.rf-bg-cardButtonBackgroundHover {\n background-color: var(--rf-color-cardButtonBackgroundHover);\n}\n\n.rf-bg-cardFrameBackground {\n background-color: var(--rf-color-cardFrameBackground);\n}\n\n.rf-bg-formInputButtonBackgroundDefault {\n background-color: var(--rf-color-formInputButtonBackgroundDefault);\n}\n\n.rf-bg-formInputButtonBackgroundHover {\n background-color: var(--rf-color-formInputButtonBackgroundHover);\n}\n\n.rf-bg-formInputRadioCheckboxUncheckedBackground {\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n}\n\n.rf-bg-gray {\n --tw-bg-opacity: 1;\n background-color: rgb(128 128 128 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-primary {\n background-color: var(--rf-color-primary);\n}\n\n.rf-bg-red-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-secondary {\n background-color: var(--rf-color-secondary);\n}\n\n.rf-bg-silver {\n --tw-bg-opacity: 1;\n background-color: rgb(192 192 192 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-templateBackground {\n --tw-bg-opacity: 1;\n background-color: rgb(241 241 241 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-templateEmptyCard {\n --tw-bg-opacity: 1;\n background-color: rgb(232 231 231 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-textModePanelBackgroundBot {\n background-color: var(--rf-color-textModePanelBackgroundBot);\n}\n\n.rf-bg-textModePanelBackgroundUser {\n background-color: var(--rf-color-textModePanelBackgroundUser);\n}\n\n.rf-bg-transparent {\n background-color: #0000;\n}\n\n.rf-bg-truewhite {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-vocalModeSubtitlesBackground {\n background-color: var(--rf-color-vocalModeSubtitlesBackground);\n}\n\n.rf-bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(247 243 246 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-opacity-30 {\n --tw-bg-opacity: .3;\n}\n\n.rf-bg-opacity-50 {\n --tw-bg-opacity: .5;\n}\n\n.rf-bg-opacity-80 {\n --tw-bg-opacity: .8;\n}\n\n.rf-object-cover {\n object-fit: cover;\n}\n\n.rf-p-0 {\n padding: 0;\n}\n\n.rf-p-1 {\n padding: .25rem;\n}\n\n.rf-p-2 {\n padding: .5rem;\n}\n\n.rf-p-3 {\n padding: .75rem;\n}\n\n.rf-p-4 {\n padding: 1rem;\n}\n\n.rf-p-\\[25px\\] {\n padding: 25px;\n}\n\n.rf-p-\\[7px_12px\\] {\n padding: 7px 12px;\n}\n\n.rf-px-1 {\n padding-left: .25rem;\n padding-right: .25rem;\n}\n\n.rf-px-16 {\n padding-left: 4rem;\n padding-right: 4rem;\n}\n\n.rf-px-2 {\n padding-left: .5rem;\n padding-right: .5rem;\n}\n\n.rf-px-3 {\n padding-left: .75rem;\n padding-right: .75rem;\n}\n\n.rf-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n.rf-px-48 {\n padding-left: 12rem;\n padding-right: 12rem;\n}\n\n.rf-px-5, .rf-px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n\n.rf-px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n}\n\n.rf-py-0 {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n.rf-py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n.rf-py-12 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n}\n\n.rf-py-16 {\n padding-top: 4rem;\n padding-bottom: 4rem;\n}\n\n.rf-py-2 {\n padding-top: .5rem;\n padding-bottom: .5rem;\n}\n\n.rf-py-3 {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n.rf-py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n.rf-py-6 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n}\n\n.rf-py-8 {\n padding-top: 2rem;\n padding-bottom: 2rem;\n}\n\n.rf-pb-10 {\n padding-bottom: 2.5rem;\n}\n\n.rf-pb-12 {\n padding-bottom: 3rem;\n}\n\n.rf-pb-14 {\n padding-bottom: 3.5rem;\n}\n\n.rf-pb-2 {\n padding-bottom: .5rem;\n}\n\n.rf-pb-24 {\n padding-bottom: 6rem;\n}\n\n.rf-pb-3 {\n padding-bottom: .75rem;\n}\n\n.rf-pb-4 {\n padding-bottom: 1rem;\n}\n\n.rf-pb-5, .rf-pb-6 {\n padding-bottom: 1.5rem;\n}\n\n.rf-pb-8 {\n padding-bottom: 2rem;\n}\n\n.rf-pb-\\[15vh\\] {\n padding-bottom: 15vh;\n}\n\n.rf-pl-0 {\n padding-left: 0;\n}\n\n.rf-pl-1 {\n padding-left: .25rem;\n}\n\n.rf-pl-2 {\n padding-left: .5rem;\n}\n\n.rf-pl-4 {\n padding-left: 1rem;\n}\n\n.rf-pl-6 {\n padding-left: 1.5rem;\n}\n\n.rf-pl-8 {\n padding-left: 2rem;\n}\n\n.rf-pr-1 {\n padding-right: .25rem;\n}\n\n.rf-pr-2 {\n padding-right: .5rem;\n}\n\n.rf-pr-4 {\n padding-right: 1rem;\n}\n\n.rf-pr-6 {\n padding-right: 1.5rem;\n}\n\n.rf-pt-1 {\n padding-top: .25rem;\n}\n\n.rf-pt-11\\/20 {\n padding-top: 55%;\n}\n\n.rf-pt-12 {\n padding-top: 3rem;\n}\n\n.rf-pt-14 {\n padding-top: 3.5rem;\n}\n\n.rf-pt-2 {\n padding-top: .5rem;\n}\n\n.rf-pt-24 {\n padding-top: 6rem;\n}\n\n.rf-pt-3 {\n padding-top: .75rem;\n}\n\n.rf-pt-4 {\n padding-top: 1rem;\n}\n\n.rf-pt-40 {\n padding-top: 10rem;\n}\n\n.rf-pt-6 {\n padding-top: 1.5rem;\n}\n\n.rf-pt-8 {\n padding-top: 2rem;\n}\n\n.rf-pt-\\[25vh\\] {\n padding-top: 25vh;\n}\n\n.rf-pt-\\[26vh\\] {\n padding-top: 26vh;\n}\n\n.rf-text-left {\n text-align: left;\n}\n\n.rf-text-center {\n text-align: center;\n}\n\n.rf-text-right {\n text-align: right;\n}\n\n.rf-text-justify {\n text-align: justify;\n}\n\n.rf-font-default {\n font-family: Calibri, sans-serif;\n}\n\n.rf-text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n.rf-text-3xl {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n.rf-text-4xl {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n.rf-text-5xl {\n font-size: 3rem;\n line-height: 1;\n}\n\n.rf-text-6xl {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n.rf-text-7xl {\n font-size: 4.5rem;\n line-height: 1;\n}\n\n.rf-text-8xl {\n font-size: 6rem;\n line-height: 1;\n}\n\n.rf-text-\\[0\\.5rem\\] {\n font-size: .5rem;\n}\n\n.rf-text-arabic {\n font-size: 1.125rem;\n line-height: 1.15rem;\n}\n\n.rf-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n.rf-text-basecustom {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n.rf-text-lgcustom {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n.rf-text-sm {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n.rf-text-sm\\/4 {\n font-size: .875rem;\n line-height: 1rem;\n}\n\n.rf-text-xl {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n\n.rf-text-xs {\n font-size: .75rem;\n line-height: 1rem;\n}\n\n.rf-text-xsl {\n font-size: .7rem;\n line-height: 1rem;\n}\n\n.rf-text-xsm {\n font-size: .6rem;\n}\n\n.rf-font-bold {\n font-weight: 600;\n}\n\n.rf-font-light {\n font-weight: 200;\n}\n\n.rf-font-medium {\n font-weight: 300;\n}\n\n.rf-font-semibold {\n font-weight: 400;\n}\n\n.rf-uppercase {\n text-transform: uppercase;\n}\n\n.rf-capitalize {\n text-transform: capitalize;\n}\n\n.rf-normal-case {\n text-transform: none;\n}\n\n.rf-italic {\n font-style: italic;\n}\n\n.rf-leading-4 {\n line-height: 1rem;\n}\n\n.rf-text-\\[\\#1999B1\\] {\n --tw-text-opacity: 1;\n color: rgb(25 153 177 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-\\[\\#325981\\] {\n --tw-text-opacity: 1;\n color: rgb(50 89 129 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-\\[\\#575F6B\\] {\n --tw-text-opacity: 1;\n color: rgb(87 95 107 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-\\[\\#9A9A9A\\] {\n --tw-text-opacity: 1;\n color: rgb(154 154 154 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-\\[\\#A4A7AF\\] {\n --tw-text-opacity: 1;\n color: rgb(164 167 175 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-black {\n color: var(--rf-color-black);\n}\n\n.rf-text-cardButtonTextDefault {\n color: var(--rf-color-cardButtonTextDefault);\n}\n\n.rf-text-cardFrameText {\n color: var(--rf-color-cardFrameText);\n}\n\n.rf-text-formInputButtonTextDefault {\n color: var(--rf-color-formInputButtonTextDefault);\n}\n\n.rf-text-formInputButtonTextHover {\n color: var(--rf-color-formInputButtonTextHover);\n}\n\n.rf-text-formInputRadioCheckboxUncheckedBackground {\n color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n}\n\n.rf-text-formInputTextDefault {\n color: var(--rf-color-formInputTextDefault);\n}\n\n.rf-text-gray {\n --tw-text-opacity: 1;\n color: rgb(128 128 128 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-lightgray {\n --tw-text-opacity: 1;\n color: rgb(129 129 129 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-primary {\n color: var(--rf-color-primary);\n}\n\n.rf-text-secondary {\n color: var(--rf-color-secondary);\n}\n\n.rf-text-textModePanelConversationBot {\n color: var(--rf-color-textModePanelConversationBot);\n}\n\n.rf-text-textModePanelConversationUser {\n color: var(--rf-color-textModePanelConversationUser);\n}\n\n.rf-text-trueblack {\n --tw-text-opacity: 1;\n color: rgb(0 0 0 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-truewhite {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-vocalModeSubtitlesText {\n color: var(--rf-color-vocalModeSubtitlesText);\n}\n\n.rf-text-white {\n --tw-text-opacity: 1;\n color: rgb(247 243 246 / var(--tw-text-opacity, 1));\n}\n\n.rf-underline {\n text-decoration-line: underline;\n}\n\n.rf-shadow-\\[-3px_-3px_10px_\\#00000099\\] {\n --tw-shadow: -3px -3px 10px #0009;\n --tw-shadow-colored: -3px -3px 10px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_0_15px_0_silver\\] {\n --tw-shadow: 0 0 15px 0 silver;\n --tw-shadow-colored: 0 0 15px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_0_20px_1px_\\#A4A7AF80\\] {\n --tw-shadow: 0 0 20px 1px #a4a7af80;\n --tw-shadow-colored: 0 0 20px 1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_0_3px_6px_\\#00000029\\] {\n --tw-shadow: 0 0 3px 6px #00000029;\n --tw-shadow-colored: 0 0 3px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_3px_6px_\\#00000029\\] {\n --tw-shadow: 0 3px 6px #00000029;\n --tw-shadow-colored: 0 3px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_3px_6px_\\#606267\\] {\n --tw-shadow: 0 3px 6px #606267;\n --tw-shadow-colored: 0 3px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_6px_6px_\\#00000029\\] {\n --tw-shadow: 0 6px 6px #00000029;\n --tw-shadow-colored: 0 6px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[20px_3px_20px_\\#00000029\\] {\n --tw-shadow: 20px 3px 20px #00000029;\n --tw-shadow-colored: 20px 3px 20px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[3px_3px_16px_\\#00000029\\] {\n --tw-shadow: 3px 3px 16px #00000029;\n --tw-shadow-colored: 3px 3px 16px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[3px_3px_6px_\\#00000029\\] {\n --tw-shadow: 3px 3px 6px #00000029;\n --tw-shadow-colored: 3px 3px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[inset_0_0_6px_\\#0000003B\\] {\n --tw-shadow: inset 0 0 6px #0000003b;\n --tw-shadow-colored: inset 0 0 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[inset_0_12px_12px_-12px_\\#00000029\\,inset_0_-12px_12px_-12px_\\#00000029\\] {\n --tw-shadow: inset 0 12px 12px -12px #00000029, inset 0 -12px 12px -12px #00000029;\n --tw-shadow-colored: inset 0 12px 12px -12px var(--tw-shadow-color), inset 0 -12px 12px -12px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-outline-none {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.rf-blur-background {\n --tw-blur: blur(var(--rf-blur-background));\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n.rf-filter {\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n.rf-transition-all {\n transition-property: all;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.rf-transition-transform {\n transition-property: transform;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.rf-text-shadow-black {\n text-shadow: 2px 0 5px #000, -2px 0 5px #000, 0 2px 5px #000, 0 -2px 5px #000;\n}\n\n.rf-capitalize-first:first-letter {\n text-transform: uppercase;\n}\n\nol {\n padding-left: 2rem;\n list-style-type: decimal;\n}\n\nul {\n padding-left: 2rem;\n list-style-type: disc;\n}\n\n#retorik-container.rf-portrait:not(.rf-large) .ac-image {\n max-width: 100px;\n}\n\n.rf-glass-background, #retorik-container.portrait .portrait\\:rf-glass-background {\n background-color: var(--rf-color-black);\n --tw-bg-opacity: .62;\n --tw-backdrop-blur: blur(8px);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n\n.rf-loader-bouncing-bot {\n aspect-ratio: 2;\n --_g: no-repeat radial-gradient(circle closest-side, var(--rf-color-textModePanelConversationBot) 90%, transparent);\n background: var(--_g) 0% 50%, var(--_g) 50% 50%, var(--_g) 100% 50%;\n background-size: 33.3333% 50%;\n}\n\n@keyframes rf-loaderBouncing {\n 20% {\n background-position: 0 0, 50%, 100%;\n }\n\n 40% {\n background-position: 0 100%, 50% 0, 100%;\n }\n\n 60% {\n background-position: 0%, 50% 100%, 100% 0;\n }\n\n 80% {\n background-position: 0%, 50%, 100% 100%;\n }\n}\n\n.rf-loader-bouncing-bot {\n animation: 1s linear infinite rf-loaderBouncing;\n}\n\n.rf-loader-bouncing-white {\n aspect-ratio: 2;\n --_g: no-repeat radial-gradient(circle closest-side, #fff 90%, transparent);\n background: var(--_g) 0% 50%, var(--_g) 50% 50%, var(--_g) 100% 50%;\n background-size: 33.3333% 50%;\n animation: 1s linear infinite rf-loaderBouncing;\n}\n\n@keyframes rf-loaderPulsation {\n 0% {\n transform: scale3d(1, 1, 1);\n }\n\n 50% {\n transform: scale3d(1.1, 1.1, 1);\n }\n\n 100% {\n transform: scale3d(1, 1, 1);\n }\n}\n\n.rf-loader-pulsation {\n animation: 2s cubic-bezier(.65, 0, .34, 1) infinite rf-loaderPulsation;\n}\n\n.rf-loader-pulsation:before {\n content: \"\";\n background-color: var(--rf-color-secondary);\n z-index: -1;\n border-radius: 50%;\n width: 100%;\n height: 100%;\n position: absolute;\n}\n\n@keyframes rf-loaderRipple {\n 0% {\n opacity: 1;\n transform: scale3d(.75, .75, 1);\n }\n\n 100% {\n opacity: 0;\n transform: scale3d(1.5, 1.5, 1);\n }\n}\n\n.rf-loader-pulsation:before {\n animation: 2.4s cubic-bezier(.65, 0, .34, 1) .4s infinite rf-loaderRipple;\n}\n\n.rf-loader-pulsation:after {\n content: \"\";\n background-color: var(--rf-color-secondary);\n z-index: -1;\n border-radius: 50%;\n width: 100%;\n height: 100%;\n animation: 2.4s cubic-bezier(.65, 0, .34, 1) infinite rf-loaderRipple;\n position: absolute;\n}\n\n.rf-loader:before {\n content: \"\";\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n animation: 1.8s ease-in-out -.32s infinite both rf-loader;\n display: block;\n position: absolute;\n right: 1.5rem;\n}\n\n.rf-loader:after {\n content: \"\";\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n animation: 1.8s ease-in-out infinite both rf-loader;\n display: block;\n position: absolute;\n left: 1.5rem;\n}\n\n.rf-loader-medium:before {\n content: \"\";\n border-radius: 50%;\n width: 1rem;\n height: 1rem;\n animation: 1.8s ease-in-out -.32s infinite both rf-loaderMedium;\n display: block;\n position: absolute;\n right: 1rem;\n}\n\n.rf-loader-medium:after {\n content: \"\";\n border-radius: 50%;\n width: 1rem;\n height: 1rem;\n animation: 1.8s ease-in-out infinite both rf-loaderMedium;\n display: block;\n position: absolute;\n left: 1rem;\n}\n\n.rf-loader-mini:before {\n content: \"\";\n border-radius: 50%;\n width: .5rem;\n height: .5rem;\n animation: 1.8s ease-in-out -.32s infinite both rf-loaderMini;\n display: block;\n position: absolute;\n right: .5rem;\n}\n\n.rf-loader-mini:after {\n content: \"\";\n border-radius: 50%;\n width: .5rem;\n height: .5rem;\n animation: 1.8s ease-in-out infinite both rf-loaderMini;\n display: block;\n position: absolute;\n left: .5rem;\n}\n\n.rf-loader-microphone:before, .rf-loader-microphone:after {\n content: \"\";\n --tw-border-opacity: 1;\n border: 6px solid #0000;\n border-top-color: rgb(128 128 128 / var(--tw-border-opacity, 1));\n border-radius: 100%;\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.rf-loader-microphone:before {\n z-index: 2;\n animation: 1s linear infinite rf-spin;\n}\n\n.rf-loader-microphone:after {\n --tw-border-opacity: 1;\n border-color: rgb(204 204 204 / var(--tw-border-opacity, 1));\n}\n\n.rf-loader-microphone-primary:before, .rf-loader-microphone-primary:after {\n content: \"\";\n border: 6px solid #0000;\n border-top-color: var(--rf-color-primary);\n border-radius: 100%;\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.rf-loader-microphone-primary:before {\n z-index: 2;\n animation: 1s linear infinite rf-spin;\n}\n\n.rf-loader-microphone-primary:after {\n --tw-border-opacity: 1;\n border-color: rgb(204 204 204 / var(--tw-border-opacity, 1));\n}\n\n.rf-loader-microphone-secondary:before, .rf-loader-microphone-secondary:after {\n content: \"\";\n border: 6px solid #0000;\n border-top-color: var(--rf-color-secondary);\n border-radius: 100%;\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.rf-loader-microphone-secondary:before {\n z-index: 2;\n animation: 1s linear infinite rf-spin;\n}\n\n.rf-loader-microphone-secondary:after {\n --tw-border-opacity: 1;\n border-color: rgb(204 204 204 / var(--tw-border-opacity, 1));\n}\n\n.rf-loader-counter {\n border-width: 8px;\n border-color: var(--rf-color-primary);\n border-radius: 50%;\n position: relative;\n}\n\n@keyframes rf-loaderCounter {\n 0% {\n clip-path: polygon(50% 50%, 0 0, 0 0, 0 0, 0 0, 0 0);\n }\n\n 25% {\n clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0);\n }\n\n 50% {\n clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 100% 100%, 100% 100%);\n }\n\n 75% {\n clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 100%);\n }\n\n 100% {\n clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 0);\n }\n}\n\n.rf-loader-counter:before {\n border-width: 10px;\n border-color: var(--rf-color-cardFrameBackground);\n content: \"\";\n animation: rf-loaderCounter;\n animation-duration: var(--duration);\n border-radius: 50%;\n animation-timing-function: linear;\n position: absolute;\n inset: -9px;\n transform: rotate(45deg);\n}\n\n.rf-touch-action-none {\n touch-action: none;\n}\n\n.rf-unselectable {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-touch-callout: none;\n}\n\n.rf-title-extralarge-bold-size-auto {\n font-size: 2.25rem;\n font-weight: 600;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large .rf-title-extralarge-bold-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-extralarge-bold-size-auto {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n.rf-title-extralarge-size-auto {\n font-size: 2.25rem;\n font-weight: 400;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large .rf-title-extralarge-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-extralarge-size-auto {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n.rf-title-large-size-auto {\n font-size: 1.5rem;\n font-weight: 400;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-title-large-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-large-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n.rf-title-large-bold-size-auto {\n font-size: 1.875rem;\n font-weight: 600;\n line-height: 2.25rem;\n}\n\n#retorik-container.rf-large .rf-title-large-bold-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-large-bold-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n.rf-title-size-auto {\n font-size: 1.5rem;\n font-weight: 400;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-title-size-auto {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n.rf-title-bold-size-auto {\n font-size: 1.5rem;\n font-weight: 600;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-title-bold-size-auto {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-bold-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n.rf-subtitle-size-auto {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-subtitle-size-auto {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-subtitle-size-auto {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n.rf-text-extralarge-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large .rf-text-extralarge-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-text-extralarge-size-auto {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n.rf-text-verylarge-size-auto {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-text-verylarge-size-auto {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-text-verylarge-size-auto {\n font-size: 4.5rem;\n line-height: 1;\n}\n\n.rf-text-large-size-auto {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-text-large-size-auto {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-text-large-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n.rf-text-medium-size-auto {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large .rf-text-medium-size-auto {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n.rf-text-size-auto {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-text-size-auto {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-text-size-auto {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n.rf-text-small-size-auto {\n font-size: .875rem;\n line-height: 1rem;\n}\n\n#retorik-container.rf-large .rf-text-small-size-auto {\n font-size: 1rem;\n line-height: 1.1rem;\n}\n\n.rf-text-extra-small-size-auto {\n font-size: .6rem;\n line-height: .75rem;\n}\n\n#retorik-container.rf-large .rf-text-extra-small-size-auto {\n font-size: .875rem;\n line-height: 1rem;\n}\n\n.rf-small-size-auto {\n font-size: .6rem;\n}\n\n#retorik-container.rf-large .rf-small-size-auto {\n font-size: .75rem;\n line-height: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-small-size-auto {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n.rf-line-clamp-unknown {\n hyphens: auto;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-1 {\n hyphens: auto;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-2 {\n hyphens: auto;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-3 {\n hyphens: auto;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-4 {\n hyphens: auto;\n -webkit-line-clamp: 4;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-5 {\n hyphens: auto;\n -webkit-line-clamp: 5;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-6 {\n hyphens: auto;\n -webkit-line-clamp: 6;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-7 {\n hyphens: auto;\n -webkit-line-clamp: 7;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-8 {\n hyphens: auto;\n -webkit-line-clamp: 8;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-9 {\n hyphens: auto;\n -webkit-line-clamp: 9;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-10 {\n hyphens: auto;\n -webkit-line-clamp: 10;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-overflow-wrap {\n overflow-wrap: anywhere;\n}\n\n.rf-height-fill-available {\n height: stretch;\n}\n\n.rf-width-fill-available {\n width: stretch;\n}\n\n.rf-animation-delay-2 {\n animation-delay: .2s;\n}\n\n.rf-animation-delay-4 {\n animation-delay: .4s;\n}\n\n.rf-scrollbar-thin {\n scrollbar-width: thin;\n scrollbar-color: var(--rf-color-secondary) transparent;\n}\n\n.rf-scrollbar-thin::-webkit-scrollbar {\n width: .2rem;\n height: .2rem;\n margin: .25rem 0;\n}\n\n.rf-scrollbar-thin::-webkit-scrollbar-thumb {\n background-color: var(--rf-color-secondary);\n border-radius: .5rem;\n}\n\n.rf-scrollbar-x-custom::-webkit-scrollbar {\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n border-radius: 2rem;\n height: .5rem;\n}\n\n.rf-scrollbar-x-custom::-webkit-scrollbar-thumb {\n background-color: var(--rf-color-primary);\n border-radius: 2rem;\n}\n\n.rf-scrollbar-hidden {\n scrollbar-width: none;\n}\n\n.rf-scrollbar-hidden::-webkit-scrollbar {\n display: none;\n}\n\n.rf-opacity-gradient-b {\n -webkit-mask-image: linear-gradient(#000 50%, #0000 100%);\n}\n\n.rf-opacity-gradient-b-thin {\n -webkit-mask-image: linear-gradient(#797676 84%, #0000 100%);\n}\n\n.rf-opacity-gradient-l {\n -webkit-mask-image: linear-gradient(to left, #000 75%, gray 80%, #0000 85%);\n}\n\n.rf-opacity-gradient-l-thin {\n -webkit-mask-image: linear-gradient(to left, #000 90%, gray 95%, #0000 100%);\n}\n\n.rf-opacity-gradient-r {\n -webkit-mask-image: linear-gradient(to right, #000 75%, gray 80%, #0000 85%);\n}\n\n.rf-opacity-gradient-r-thin {\n -webkit-mask-image: linear-gradient(to right, #000 90%, gray 95%, #0000 100%);\n}\n\n.rf-opacity-gradient-h {\n -webkit-mask-image: linear-gradient(to right, #0000 0%, 6%, #000, 94%, #0000 100%);\n}\n\n.rf-card-button {\n border-width: 1px;\n border-color: var(--rf-color-cardButtonBorderDefault);\n background-color: var(--rf-color-cardButtonBackgroundDefault);\n color: var(--rf-color-cardButtonTextDefault);\n border-radius: .3125rem;\n padding: .25rem .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-card-button {\n padding: .5rem 1rem;\n}\n\n.rf-card-button:hover {\n cursor: pointer;\n border-color: var(--rf-color-cardButtonBorderHover);\n background-color: var(--rf-color-cardButtonBackgroundHover);\n color: var(--rf-color-cardButtonTextHover);\n}\n\n.rf-card-button-clicked {\n background-color: var(--rf-color-cardButtonBackgroundDefault);\n border-width: 1px;\n border-color: #0000;\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-clicked {\n padding-top: .5rem;\n padding-bottom: .5rem;\n}\n\n.rf-card-button-positive {\n border-width: 1px;\n border-color: var(--rf-color-cardFrameBackground);\n background-color: var(--rf-color-cardButtonTextDefault);\n color: var(--rf-color-cardFrameBackground);\n border-radius: .3125rem;\n padding: .25rem .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-positive {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button-positive {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-card-button-positive {\n padding: .5rem 1rem;\n}\n\n.rf-card-button-positive:hover {\n cursor: pointer;\n border-color: var(--rf-color-cardButtonTextDefault);\n background-color: var(--rf-color-cardFrameBackground);\n color: var(--rf-color-cardButtonTextDefault);\n}\n\n.rf-card-button-destructive {\n --tw-border-opacity: 1;\n border-width: 1px;\n border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));\n --tw-bg-opacity: 1;\n background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n border-radius: .3125rem;\n padding: .25rem .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-destructive {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button-destructive {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-card-button-destructive {\n padding: .5rem 1rem;\n}\n\n.rf-card-button-destructive:hover {\n cursor: pointer;\n --tw-border-opacity: 1;\n border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n --tw-text-opacity: 1;\n color: rgb(220 38 38 / var(--tw-text-opacity, 1));\n}\n\n.rf-card-button-secondary {\n border-width: 1px;\n border-color: var(--rf-color-secondary);\n color: var(--rf-color-secondary);\n background-color: #0000;\n border-radius: .3125rem;\n padding: .25rem .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-secondary {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button-secondary {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-card-button-secondary {\n padding: .5rem 1rem;\n}\n\n.rf-card-button-secondary:hover {\n cursor: pointer;\n border-color: var(--rf-color-secondary);\n background-color: var(--rf-color-secondary);\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n\n.rf-card-button-discover {\n border-width: 1px;\n border-color: var(--rf-color-cardButtonDiscoverBorderDefault);\n background-color: var(--rf-color-cardButtonDiscoverBackgroundDefault);\n color: var(--rf-color-cardButtonDiscoverTextDefault);\n border-radius: .3125rem;\n padding: .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-discover {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n.rf-card-button-discover:hover {\n cursor: pointer;\n border-color: var(--rf-color-cardButtonDiscoverBorderHover);\n background-color: var(--rf-color-cardButtonDiscoverBackgroundHover);\n color: var(--rf-color-cardButtonDiscoverTextHover);\n}\n\n.rf-card-button-history {\n cursor: default;\n border-width: 1px;\n border-color: var(--rf-color-cardButtonBorderDefault);\n background-color: var(--rf-color-cardButtonBackgroundDefault);\n color: var(--rf-color-cardButtonTextDefault);\n border-radius: .3125rem;\n padding: .25rem .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-history {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button-history {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-card-button-history {\n padding: .5rem 1rem;\n}\n\n.rf-card-button-mini, .rf-card-button-mini-selected, .rf-card-button-mini-disabled {\n background-color: var(--rf-color-cardFrameBackground);\n border-width: 1px;\n border-radius: .3125rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-mini, #retorik-container.rf-large .rf-card-button-mini-selected, #retorik-container.rf-large .rf-card-button-mini-disabled {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button-mini, #retorik-container.rf-large.rf-portrait .rf-card-button-mini-selected, #retorik-container.rf-large.rf-portrait .rf-card-button-mini-disabled {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n.rf-card-button-mini {\n border-color: var(--rf-color-cardButtonBorderDefault);\n background-color: var(--rf-color-cardFrameBackground);\n color: var(--rf-color-cardButtonTextDefault);\n}\n\n.rf-card-button-mini:hover {\n cursor: pointer;\n border-color: var(--rf-color-cardButtonBorderHover);\n background-color: var(--rf-color-cardFrameBackground);\n color: var(--rf-color-cardButtonTextHover);\n}\n\n.rf-card-button-mini-selected {\n border-color: var(--rf-color-cardFrameBackground);\n background-color: var(--rf-color-cardButtonBorderDefault);\n color: var(--rf-color-cardFrameBackground);\n}\n\n.lf-player-container {\n align-items: flex-end;\n width: 100%;\n height: 100%;\n display: flex;\n overflow: hidden;\n}\n\n.rf-input-label {\n text-overflow: ellipsis;\n color: var(--rf-color-formInputTextDefault);\n margin-top: .1rem;\n margin-left: .75rem;\n overflow-x: hidden;\n}\n\n#retorik-container.rf-large .rf-input-label {\n margin-top: .25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-input-label {\n margin-top: .2rem;\n}\n\n.rf-radio-custom {\n -webkit-appearance: none;\n appearance: none;\n border-width: 2px;\n border-color: var(--rf-color-formInputRadioCheckboxUncheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n border-radius: 50%;\n place-content: center;\n width: 1.5rem;\n min-width: 1.5rem;\n height: 1.5rem;\n margin: 0;\n display: grid;\n}\n\n.rf-radio-custom:checked {\n border-color: var(--rf-color-formInputRadioCheckboxCheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxCheckedBackground);\n}\n\n#retorik-container.rf-large .rf-radio-custom {\n width: 1.75rem;\n min-width: 1.75rem;\n height: 1.75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-radio-custom {\n width: 2rem;\n min-width: 2rem;\n height: 2rem;\n}\n\n.rf-radio-custom:before {\n content: \"\";\n --tw-scale-x: 0;\n --tw-scale-y: 0;\n width: .5rem;\n height: .5rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n background-color: var(--rf-color-formInputRadioCheckboxCheckedItem);\n border-radius: 50%;\n transition-property: all;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n#retorik-container.rf-large .rf-radio-custom:before {\n width: .75rem;\n height: .75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-radio-custom:before {\n width: 1rem;\n height: 1rem;\n}\n\n.rf-radio-custom:checked:before {\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-input-hidden {\n -webkit-appearance: none;\n appearance: none;\n margin: 0;\n}\n\n.rf-checkbox-custom {\n -webkit-appearance: none;\n appearance: none;\n border-width: 2px;\n border-color: var(--rf-color-formInputRadioCheckboxUncheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n border-radius: .3125rem;\n place-content: center;\n width: 1.5rem;\n min-width: 1.5rem;\n height: 1.5rem;\n margin: 0;\n display: grid;\n}\n\n#retorik-container.rf-large .rf-checkbox-custom {\n width: 1.75rem;\n min-width: 1.75rem;\n height: 1.75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-checkbox-custom {\n width: 2rem;\n min-width: 2rem;\n height: 2rem;\n}\n\n.rf-checkbox-custom:checked {\n border-color: var(--rf-color-formInputRadioCheckboxCheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxCheckedBackground);\n}\n\n.rf-toggle-custom {\n -webkit-appearance: none;\n appearance: none;\n background-color: var(--rf-color-black);\n border-radius: 1.5rem;\n width: 3rem;\n min-width: 3rem;\n height: 1.5rem;\n margin: 0;\n position: relative;\n}\n\n.rf-toggle-custom:checked {\n background-color: var(--rf-color-primary);\n}\n\n#retorik-container.rf-large .rf-toggle-custom {\n border-radius: 1.75rem;\n width: 3.5rem;\n min-width: 3.5rem;\n height: 1.75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-toggle-custom {\n border-radius: 2rem;\n width: 4rem;\n min-width: 4rem;\n height: 2rem;\n}\n\n.rf-toggle-custom:before {\n content: \"\";\n --tw-translate-x: 0px;\n width: 1rem;\n height: 1rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n border-radius: 50%;\n transition-property: all;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n position: absolute;\n top: .25rem;\n left: .25rem;\n}\n\n#retorik-container.rf-large .rf-toggle-custom:before {\n width: 1.25rem;\n height: 1.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-toggle-custom:before {\n width: 1.5rem;\n height: 1.5rem;\n}\n\n.rf-toggle-custom:checked:before {\n --tw-translate-x: 1.5rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n#retorik-container.rf-large .rf-toggle-custom:checked:before {\n --tw-translate-x: 1.75rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n#retorik-container.rf-large.rf-portrait .rf-toggle-custom:checked:before {\n --tw-translate-x: 2rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-select-custom {\n -webkit-appearance: none;\n appearance: none;\n border-width: 2px;\n border-color: var(--rf-color-formInputRadioCheckboxUncheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n border-radius: .3125rem;\n margin: 0;\n padding: 1rem;\n}\n\n.rf-select-custom:hover {\n cursor: pointer;\n}\n\n.rf-select-custom:focus-visible {\n border-color: var(--rf-color-formInputRadioCheckboxCheckedBorder);\n}\n\n.rf-slider-custom {\n -webkit-appearance: none;\n -moz-appearance: none;\n outline-offset: 2px;\n border-radius: .5rem;\n outline: 2px solid #0000;\n width: 100%;\n height: .25rem;\n display: block;\n position: relative;\n}\n\n.rf-slider-custom::-webkit-slider-runnable-track {\n -webkit-appearance: none;\n}\n\n.rf-slider-custom::-moz-track {\n -moz-appearance: none;\n}\n\n.rf-slider-custom::-ms-track {\n appearance: none;\n}\n\n.rf-slider-custom::-webkit-slider-thumb {\n -webkit-appearance: none;\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n border-style: none;\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n margin-top: -.2rem;\n}\n\n.rf-slider-custom::-webkit-slider-thumb:hover {\n cursor: pointer;\n}\n\n.rf-slider-custom::-moz-range-thumb {\n -webkit-appearance: none;\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n border-style: none;\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n margin-top: -.2rem;\n}\n\n.rf-slider-custom::-moz-range-thumb:hover {\n cursor: pointer;\n}\n\n.rf-slider-custom::-ms-thumb {\n appearance: none;\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n border-style: none;\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n margin-top: -.2rem;\n}\n\n.rf-slider-custom::-ms-thumb:hover {\n cursor: pointer;\n}\n\n.rf-likert-custom {\n cursor: pointer;\n outline-offset: 2px;\n -webkit-text-stroke-width: 1px;\n -webkit-text-stroke-color: white;\n background-color: #0000;\n border-style: none;\n outline: 2px solid #0000;\n}\n\n.svgButtonMenu > svg * {\n fill: var(--fill);\n}\n\n.webchat__css-custom-properties {\n width: 100%;\n height: 100%;\n}\n\n.placeholder\\:rf-text-black::placeholder {\n color: var(--rf-color-black);\n}\n\n.placeholder\\:rf-opacity-100::placeholder {\n opacity: 1;\n}\n\n.hover\\:rf-cursor-pointer:hover {\n cursor: pointer;\n}\n\n.hover\\:rf-border-truewhite:hover {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));\n}\n\n.hover\\:rf-bg-\\[\\#1999B1\\]:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(25 153 177 / var(--tw-bg-opacity, 1));\n}\n\n.hover\\:rf-bg-formInputRadioCheckboxCheckedBackground:hover {\n background-color: var(--rf-color-formInputRadioCheckboxCheckedBackground);\n}\n\n.hover\\:rf-bg-transparent:hover {\n background-color: #0000;\n}\n\n.hover\\:rf-bg-truewhite:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n}\n\n.hover\\:rf-text-\\[\\#1999B1\\]:hover {\n --tw-text-opacity: 1;\n color: rgb(25 153 177 / var(--tw-text-opacity, 1));\n}\n\n.hover\\:rf-text-\\[\\#325981\\]:hover {\n --tw-text-opacity: 1;\n color: rgb(50 89 129 / var(--tw-text-opacity, 1));\n}\n\n.hover\\:rf-text-formInputRadioCheckboxCheckedItem:hover {\n color: var(--rf-color-formInputRadioCheckboxCheckedItem);\n}\n\n.hover\\:rf-text-truewhite:hover {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n\n.hover\\:rf-shadow-\\[inset_0_0_12px_\\#00000029\\]:hover {\n --tw-shadow: inset 0 0 12px #00000029;\n --tw-shadow-colored: inset 0 0 12px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-col-span-full {\n grid-column: 1 / -1;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-col-start-1 {\n grid-column-start: 1;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-row-end-13 {\n grid-row-end: 13;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-w-5\\/6 {\n width: 83.3333%;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-w-9\\/10 {\n width: 90%;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-w-full {\n width: 100%;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-flex-col {\n flex-direction: column;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-items-center {\n align-items: center;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-overflow-x-auto {\n overflow-x: auto;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-border-r-0 {\n border-right-width: 0;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-absolute {\n position: absolute;\n}\n\n#retorik-container.rf-large .large\\:rf-left-4 {\n left: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-top-8 {\n top: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-m-8 {\n margin: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-my-0 {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-my-3 {\n margin-top: .75rem;\n margin-bottom: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mb-0 {\n margin-bottom: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-mb-4 {\n margin-bottom: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mb-6 {\n margin-bottom: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-ml-0 {\n margin-left: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-ml-4 {\n margin-left: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-ml-8 {\n margin-left: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mr-3 {\n margin-right: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mr-30 {\n margin-right: 7.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mt-0 {\n margin-top: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-mt-20 {\n margin-top: 5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mt-3 {\n margin-top: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mt-\\[20vh\\] {\n margin-top: 20vh;\n}\n\n#retorik-container.rf-large .large\\:rf-block {\n display: block;\n}\n\n#retorik-container.rf-large .large\\:rf-flex {\n display: flex;\n}\n\n#retorik-container.rf-large .large\\:rf-hidden {\n display: none;\n}\n\n#retorik-container.rf-large .large\\:rf-aspect-video {\n aspect-ratio: 16 / 9;\n}\n\n#retorik-container.rf-large .large\\:rf-h-10 {\n height: 2.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-16 {\n height: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-20 {\n height: 5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-3\\/5 {\n height: 60%;\n}\n\n#retorik-container.rf-large .large\\:rf-h-4 {\n height: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-5 {\n height: 1.25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-6 {\n height: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-8 {\n height: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-\\[1\\.3rem\\] {\n height: 1.3rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-\\[60vh\\] {\n height: 60vh;\n}\n\n#retorik-container.rf-large .large\\:rf-h-auto {\n height: auto;\n}\n\n#retorik-container.rf-large .large\\:rf-h-full {\n height: 100%;\n}\n\n#retorik-container.rf-large .large\\:rf-max-h-28 {\n max-height: 7rem;\n}\n\n#retorik-container.rf-large .large\\:rf-max-h-\\[2\\.3rem\\] {\n max-height: 2.3rem;\n}\n\n#retorik-container.rf-large .large\\:rf-min-h-\\[2\\.3rem\\] {\n min-height: 2.3rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-1\\/8 {\n width: 12.5%;\n}\n\n#retorik-container.rf-large .large\\:rf-w-14 {\n width: 3.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-16 {\n width: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-4 {\n width: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-5 {\n width: 1.25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-6 {\n width: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-8 {\n width: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-fit {\n width: fit-content;\n}\n\n#retorik-container.rf-large .large\\:rf-w-full {\n width: 100%;\n}\n\n#retorik-container.rf-large .large\\:rf-min-w-1\\/2 {\n min-width: 50%;\n}\n\n#retorik-container.rf-large .large\\:rf-min-w-1\\/8 {\n min-width: 12.5%;\n}\n\n#retorik-container.rf-large .large\\:rf-min-w-16 {\n min-width: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-min-w-8 {\n min-width: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-max-w-1\\/8 {\n max-width: 12.5%;\n}\n\n#retorik-container.rf-large .large\\:rf-max-w-\\[12rem\\] {\n max-width: 12rem;\n}\n\n#retorik-container.rf-large .large\\:rf-max-w-full {\n max-width: 100%;\n}\n\n#retorik-container.rf-large .large\\:rf-grid-cols-5 {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n}\n\n#retorik-container.rf-large .large\\:rf-flex-row {\n flex-direction: row;\n}\n\n#retorik-container.rf-large .large\\:rf-flex-col {\n flex-direction: column;\n}\n\n#retorik-container.rf-large .large\\:rf-items-baseline {\n align-items: baseline;\n}\n\n#retorik-container.rf-large .large\\:rf-justify-start {\n justify-content: flex-start;\n}\n\n#retorik-container.rf-large .large\\:rf-gap-1 {\n gap: .25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-gap-3 {\n gap: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-gap-4 {\n gap: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-gap-6 {\n gap: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-overflow-y-scroll {\n overflow-y: scroll;\n}\n\n#retorik-container.rf-large .large\\:rf-border-t-0 {\n border-top-width: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-bg-truewhite {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n}\n\n#retorik-container.rf-large .large\\:rf-p-4 {\n padding: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-p-\\[25px\\] {\n padding: 25px;\n}\n\n#retorik-container.rf-large .large\\:rf-p-min1 {\n padding: .1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-px-0 {\n padding-left: 0;\n padding-right: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-px-16 {\n padding-left: 4rem;\n padding-right: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-px-5, #retorik-container.rf-large .large\\:rf-px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-py-0 {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-py-2 {\n padding-top: .5rem;\n padding-bottom: .5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-py-3 {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pb-16 {\n padding-bottom: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pl-12 {\n padding-left: 3rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pl-4 {\n padding-left: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pr-12 {\n padding-right: 3rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pr-4 {\n padding-right: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pt-16 {\n padding-top: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-text-5xl {\n font-size: 3rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large .large\\:rf-text-6xl {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large .large\\:rf-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-text-basecustom {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large .large\\:rf-text-sm {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-uppercase {\n text-transform: uppercase;\n}\n\n#retorik-container.rf-tactile .tactile\\:rf-h-4 {\n height: 1rem;\n}\n\n#retorik-container.rf-tactile .tactile\\:rf-h-6 {\n height: 1.5rem;\n}\n\n#retorik-container.rf-tactile .tactile\\:rf-w-6 {\n width: 1.5rem;\n}\n\n#retorik-container.rf-tactile .tactile\\:rf-pt-1\\/5 {\n padding-top: 20%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-absolute {\n position: absolute;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-left-4 {\n left: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-right-9 {\n right: 2.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-top-4 {\n top: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-col-start-1 {\n grid-column-start: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-col-start-2 {\n grid-column-start: 2;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-col-end-8 {\n grid-column-end: 8;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-ml-1\\/5 {\n margin-left: 20%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-mr-1\\/5 {\n margin-right: 20%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-mt-4 {\n margin-top: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-mt-\\[20vh\\] {\n margin-top: 20vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-mt-\\[25vh\\] {\n margin-top: 25vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-block {\n display: block;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-hidden {\n display: none;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-1\\/2 {\n height: 50%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-14 {\n height: 3.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-24 {\n height: 6rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-5 {\n height: 1.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-6 {\n height: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-\\[50vh\\] {\n height: 50vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-h-11\\/12 {\n max-height: 91.67%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-h-36 {\n max-height: 9rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-h-\\[18vh\\] {\n max-height: 18vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-h-\\[30vh\\] {\n max-height: 30vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-min-h-10 {\n min-height: 2.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-1\\/2 {\n width: 50%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-14 {\n width: 3.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-16 {\n width: 4rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-24 {\n width: 6rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-3\\/5 {\n width: 60%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-6 {\n width: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-full {\n width: 100%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-min-w-14 {\n min-width: 3.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-min-w-24 {\n min-width: 6rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-min-w-3\\/5 {\n min-width: 60%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-w-2\\/3 {\n max-width: 66.67%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-w-\\[45\\%\\] {\n max-width: 45%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-w-\\[60\\%\\] {\n max-width: 60%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-flex-row {\n flex-direction: row;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-flex-col {\n flex-direction: column;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-justify-center {\n justify-content: center;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-gap-4 {\n gap: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-gap-6 {\n gap: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-self-start {\n align-self: flex-start;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-border-t {\n border-top-width: 1px;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-border-t-menuBorder {\n --tw-border-opacity: 1;\n border-top-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-py-5 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pl-0 {\n padding-left: 0;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pt-48 {\n padding-top: 12rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pt-8 {\n padding-top: 2rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pt-\\[16\\.67\\%\\] {\n padding-top: 16.67%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pt-\\[20vh\\] {\n padding-top: 20vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-text-basecustomuppercase {\n font-size: 1rem;\n line-height: 1.1rem;\n}\n\n#retorik-container.rf-large.rf-tactile .large-tactile\\:rf-mt-0 {\n margin-top: 0;\n}\n\n#retorik-container.rf-large.rf-tactile .large-tactile\\:rf-flex {\n display: flex;\n}\n\n#retorik-container.rf-large.rf-tactile .large-tactile\\:rf-hidden {\n display: none;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-col-start-3 {\n grid-column-start: 3;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-col-start-4 {\n grid-column-start: 4;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:-rf-mt-4 {\n margin-top: -1rem;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-ml-1\\/5 {\n margin-left: 20%;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-mr-40 {\n margin-right: 10rem;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-h-full {\n height: 100%;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-w-\\[48\\%\\] {\n width: 48%;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-w-\\[calc\\(80\\%-10rem\\)\\] {\n width: calc(80% - 10rem);\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-min-w-\\[48\\%\\] {\n min-width: 48%;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-max-w-\\[calc\\(\\(80\\%-10rem\\)\\*0\\.75\\)\\] {\n max-width: calc(60% - 7.5rem);\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:-rf-translate-x-1\\/4 {\n --tw-translate-x: -25%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-flex-col-reverse {\n flex-direction: column-reverse;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-items-start {\n align-items: flex-start;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-justify-start {\n justify-content: flex-start;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-justify-center {\n justify-content: center;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-self-end {\n align-self: flex-end;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-justify-self-start {\n justify-self: start;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-pb-2 {\n padding-bottom: .5rem;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-pl-1\\/5 {\n padding-left: 20%;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-pl-\\[calc\\(50\\%-2\\.5rem\\)\\] {\n padding-left: calc(50% - 2.5rem);\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-pr-40 {\n padding-right: 10rem;\n}\n\n#retorik-container.rf-mobile .mobile\\:rf-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n#retorik-container.rf-tablet .tablet\\:rf-w-28 {\n width: 7rem;\n}\n\n#retorik-container.rf-tablet .tablet\\:rf-pl-12 {\n padding-left: 3rem;\n}\n\n#retorik-container.rf-tablet .tablet\\:rf-pr-24 {\n padding-right: 6rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-h-10 {\n height: 2.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-h-20 {\n height: 5rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-min-h-20 {\n min-height: 5rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-w-40 {\n width: 10rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-p-5 {\n padding: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-pl-32 {\n padding-left: 8rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-pr-56 {\n padding-right: 14rem;\n}\n\n.ltr\\:rf-left-1:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n left: .25rem;\n}\n\n.ltr\\:rf-col-start-1:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n grid-column-start: 1;\n}\n\n.ltr\\:rf-ml-4:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n margin-left: 1rem;\n}\n\n.ltr\\:rf-self-end:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n align-self: flex-end;\n}\n\n.ltr\\:rf-pr-2:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n padding-right: .5rem;\n}\n\n.ltr\\:rf-text-left:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n text-align: left;\n}\n\n.ltr\\:rf-text-right:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n text-align: right;\n}\n\n.rtl\\:rf-right-1:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n right: .25rem;\n}\n\n.rtl\\:rf-col-end-1:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n grid-column-end: 1;\n}\n\n.rtl\\:rf-mr-4:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n margin-right: 1rem;\n}\n\n.rtl\\:rf-self-start:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n align-self: flex-start;\n}\n\n.rtl\\:rf-pl-2:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n padding-left: .5rem;\n}\n\n.rtl\\:rf-text-left:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n text-align: left;\n}\n\n.rtl\\:rf-text-right:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n text-align: right;\n}\n";
|
|
19290
19268
|
|
|
19291
19269
|
|
|
19292
19270
|
var $70dd93cce82a6912$exports = {};
|
|
@@ -20909,7 +20887,7 @@ const $742ec75d795207eb$var$Checkbox = ({ id: id, choices: choices, split: split
|
|
|
20909
20887
|
setChosen(tempChosen);
|
|
20910
20888
|
}
|
|
20911
20889
|
};
|
|
20912
|
-
return display
|
|
20890
|
+
return (display === null || display === void 0 ? void 0 : display.length) ? split ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
|
|
20913
20891
|
className: "rf-w-full rf-mt-4 rf-flex rf-flex-row rf-text-size-auto rf-text-white",
|
|
20914
20892
|
children: [
|
|
20915
20893
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
@@ -22166,7 +22144,7 @@ const $ca0c07c153e8e8ae$var$ActionButton = ({ text: text, fullWidth: fullWidth,
|
|
|
22166
22144
|
className: "rf-relative rf-text-center rf-mx-8 rf-mt-2 rf-italic",
|
|
22167
22145
|
children: [
|
|
22168
22146
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $318SX.default), {
|
|
22169
|
-
className:
|
|
22147
|
+
className: `rf-absolute rf-top-[0.125rem] ${isRTL ? 'rf-right-6' : '-rf-left-6'} rf-h-4`
|
|
22170
22148
|
}),
|
|
22171
22149
|
(0, $b5mHp.getTextToDisplayOnLink)({
|
|
22172
22150
|
translation: translation,
|
|
@@ -22216,7 +22194,7 @@ const $ca0c07c153e8e8ae$var$ActionButton = ({ text: text, fullWidth: fullWidth,
|
|
|
22216
22194
|
})
|
|
22217
22195
|
}),
|
|
22218
22196
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
22219
|
-
className:
|
|
22197
|
+
className: `${isRTL ? 'rf-mr-4' : 'rf-ml-4'}`,
|
|
22220
22198
|
children: (0, $9JtA7.capitalizeFirstLetter)(text, locale)
|
|
22221
22199
|
})
|
|
22222
22200
|
]
|
|
@@ -22224,7 +22202,7 @@ const $ca0c07c153e8e8ae$var$ActionButton = ({ text: text, fullWidth: fullWidth,
|
|
|
22224
22202
|
className: `rf-relative ${currentSubView !== (0, $7WHA7.CurrentSubView).history ? clicked ? 'rf-card-button-clicked' : adaptiveStyle === (0, $dWhh5$adaptivecards.ActionStyle).Positive ? 'rf-card-button-positive' : adaptiveStyle === (0, $dWhh5$adaptivecards.ActionStyle).Destructive ? 'rf-card-button-destructive' : 'rf-card-button' : 'rf-card-button-history'} rf-mt-2 ${fullWidth ? 'rf-text-center' : 'rf-text-left'} ${style}`,
|
|
22225
22203
|
onClick: handleClick,
|
|
22226
22204
|
children: clicked && !urlToOpen ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
22227
|
-
className: `rf-w-full rf-h-[1.25rem] large:rf-h-[1.3rem] rf-flex rf-justify-center rf-items-center ${fullWidth ? '' : '
|
|
22205
|
+
className: `rf-w-full rf-h-[1.25rem] large:rf-h-[1.3rem] rf-flex rf-justify-center rf-items-center ${fullWidth ? '' : isRTL ? 'rf-pr-6 large:rf-pr-12' : 'rf-pl-6 large:rf-pl-12'}`,
|
|
22228
22206
|
style: {
|
|
22229
22207
|
...animationColor
|
|
22230
22208
|
},
|
|
@@ -22521,7 +22499,6 @@ const $85d8b0d1ec40dae5$export$6108075486421829 = ()=>{
|
|
|
22521
22499
|
|
|
22522
22500
|
|
|
22523
22501
|
|
|
22524
|
-
|
|
22525
22502
|
var $6EkQS = parcelRequire("6EkQS");
|
|
22526
22503
|
|
|
22527
22504
|
var $6QoTL = parcelRequire("6QoTL");
|
|
@@ -22530,6 +22507,8 @@ var $e53vj = parcelRequire("e53vj");
|
|
|
22530
22507
|
|
|
22531
22508
|
var $7sZDv = parcelRequire("7sZDv");
|
|
22532
22509
|
|
|
22510
|
+
var $7WHA7 = parcelRequire("7WHA7");
|
|
22511
|
+
|
|
22533
22512
|
var $93cl9 = parcelRequire("93cl9");
|
|
22534
22513
|
const $6be7f5aa73e32bf5$var$TelemetryContextDefaultValues = {
|
|
22535
22514
|
enabled: true,
|
|
@@ -22543,19 +22522,41 @@ function $6be7f5aa73e32bf5$export$a15d15518a3ec33d() {
|
|
|
22543
22522
|
}
|
|
22544
22523
|
function $6be7f5aa73e32bf5$export$bb3ea6dd2428edb6({ enabled: enabled, children: children }) {
|
|
22545
22524
|
const userId = (0, $6QoTL.useDirectlineStore)((state)=>state.userId);
|
|
22525
|
+
const conversationId = (0, $e53vj.useActivityStore)((state)=>state.conversationId);
|
|
22546
22526
|
const addressData = (0, $6EkQS.useRetorikStore)((state)=>state.addressData);
|
|
22547
22527
|
const lastActivity = (0, $e53vj.useActivityStore)((state)=>state.lastActivity);
|
|
22548
22528
|
const botStreamingActivities = (0, $e53vj.useActivityStore)((state)=>state.botStreamingActivities);
|
|
22549
|
-
const
|
|
22529
|
+
const lastUserActivityRef = (0, $dWhh5$react.useRef)(null);
|
|
22550
22530
|
const tracer = (0, $dWhh5$react.useMemo)(()=>{
|
|
22551
|
-
if (enabled && userId) {
|
|
22531
|
+
if (enabled && userId && conversationId) {
|
|
22552
22532
|
const exporter = new (0, $dWhh5$opentelemetryexportertraceotlphttp.OTLPTraceExporter)({
|
|
22553
22533
|
url: (0, $7sZDv.telemetryAddress),
|
|
22554
22534
|
headers: {},
|
|
22555
22535
|
concurrencyLimit: 1
|
|
22556
22536
|
});
|
|
22537
|
+
let serviceNamespace = '';
|
|
22538
|
+
switch(addressData.prefix){
|
|
22539
|
+
case 'dev':
|
|
22540
|
+
serviceNamespace = 'retorik-dev';
|
|
22541
|
+
break;
|
|
22542
|
+
case 'staging':
|
|
22543
|
+
case 'preview':
|
|
22544
|
+
serviceNamespace = 'retorik-preview';
|
|
22545
|
+
break;
|
|
22546
|
+
case 'experimental':
|
|
22547
|
+
serviceNamespace = 'retorik-experimental';
|
|
22548
|
+
break;
|
|
22549
|
+
default:
|
|
22550
|
+
serviceNamespace = 'retorik-prod';
|
|
22551
|
+
break;
|
|
22552
|
+
}
|
|
22553
|
+
// Create resource with custom parameters used globally in uptrace
|
|
22557
22554
|
const resource = (0, $dWhh5$opentelemetryresources.defaultResource)().merge((0, $dWhh5$opentelemetryresources.resourceFromAttributes)({
|
|
22558
|
-
[(0, $dWhh5$opentelemetrysemanticconventions.ATTR_SERVICE_NAME)]: 'retorik-framework'
|
|
22555
|
+
[(0, $dWhh5$opentelemetrysemanticconventions.ATTR_SERVICE_NAME)]: 'retorik-framework',
|
|
22556
|
+
['davi.retorik.activity.conversation.id']: conversationId,
|
|
22557
|
+
['service_namespace']: serviceNamespace,
|
|
22558
|
+
['retorik_framework_version']: (0, $93cl9.version),
|
|
22559
|
+
['user_id']: userId
|
|
22559
22560
|
}));
|
|
22560
22561
|
const processor = new (0, $dWhh5$opentelemetrysdktraceweb.BatchSpanProcessor)(exporter);
|
|
22561
22562
|
const provider = new (0, $dWhh5$opentelemetrysdktraceweb.WebTracerProvider)({
|
|
@@ -22568,28 +22569,8 @@ function $6be7f5aa73e32bf5$export$bb3ea6dd2428edb6({ enabled: enabled, children:
|
|
|
22568
22569
|
// Add common attributes to each span for better tracing
|
|
22569
22570
|
(0, $dWhh5$opentelemetryinstrumentation.registerInstrumentations)({
|
|
22570
22571
|
instrumentations: [
|
|
22571
|
-
new (0, $dWhh5$opentelemetryinstrumentationfetch.FetchInstrumentation)(
|
|
22572
|
-
|
|
22573
|
-
...getCommonAttributes(),
|
|
22574
|
-
user_id: userId
|
|
22575
|
-
})
|
|
22576
|
-
}),
|
|
22577
|
-
new (0, $dWhh5$opentelemetryinstrumentationdocumentload.DocumentLoadInstrumentation)({
|
|
22578
|
-
applyCustomAttributesOnSpan: {
|
|
22579
|
-
documentLoad: (span)=>span.setAttributes({
|
|
22580
|
-
...getCommonAttributes(),
|
|
22581
|
-
user_id: userId
|
|
22582
|
-
}),
|
|
22583
|
-
documentFetch: (span)=>span.setAttributes({
|
|
22584
|
-
...getCommonAttributes(),
|
|
22585
|
-
user_id: userId
|
|
22586
|
-
}),
|
|
22587
|
-
resourceFetch: (span)=>span.setAttributes({
|
|
22588
|
-
...getCommonAttributes(),
|
|
22589
|
-
user_id: userId
|
|
22590
|
-
})
|
|
22591
|
-
}
|
|
22592
|
-
})
|
|
22572
|
+
new (0, $dWhh5$opentelemetryinstrumentationfetch.FetchInstrumentation)(),
|
|
22573
|
+
new (0, $dWhh5$opentelemetryinstrumentationdocumentload.DocumentLoadInstrumentation)()
|
|
22593
22574
|
]
|
|
22594
22575
|
});
|
|
22595
22576
|
return (0, ($parcel$interopDefault($dWhh5$opentelemetryapi))).trace.getTracer('retorik-framework');
|
|
@@ -22597,7 +22578,10 @@ function $6be7f5aa73e32bf5$export$bb3ea6dd2428edb6({ enabled: enabled, children:
|
|
|
22597
22578
|
return undefined;
|
|
22598
22579
|
}, [
|
|
22599
22580
|
enabled,
|
|
22600
|
-
userId
|
|
22581
|
+
userId,
|
|
22582
|
+
conversationId,
|
|
22583
|
+
addressData,
|
|
22584
|
+
(0, $93cl9.version)
|
|
22601
22585
|
]);
|
|
22602
22586
|
(0, $dWhh5$react.useEffect)(()=>{
|
|
22603
22587
|
if (lastActivity) lastActivity.from.role === 'user' ? handleUserActivity(lastActivity) : handleBotActivity(lastActivity);
|
|
@@ -22605,52 +22589,56 @@ function $6be7f5aa73e32bf5$export$bb3ea6dd2428edb6({ enabled: enabled, children:
|
|
|
22605
22589
|
lastActivity
|
|
22606
22590
|
]);
|
|
22607
22591
|
(0, $dWhh5$react.useEffect)(()=>{
|
|
22608
|
-
if (
|
|
22609
|
-
const temp = botStreamingActivities.get(
|
|
22592
|
+
if (lastUserActivityRef.current) {
|
|
22593
|
+
const temp = botStreamingActivities.get(lastUserActivityRef.current.id);
|
|
22610
22594
|
(temp === null || temp === void 0 ? void 0 : temp.length) === 1 && handleBotActivity(temp[0]);
|
|
22611
22595
|
}
|
|
22612
22596
|
}, [
|
|
22613
|
-
botStreamingActivities
|
|
22614
|
-
lastUserActivityData
|
|
22597
|
+
botStreamingActivities
|
|
22615
22598
|
]);
|
|
22616
|
-
const getCommonAttributes = ()=>{
|
|
22617
|
-
let tenant = '';
|
|
22618
|
-
if (addressData.tenant) tenant = addressData.prefix ? `${addressData.tenant} (${addressData.prefix})` : addressData.tenant;
|
|
22619
|
-
return {
|
|
22620
|
-
tenant: tenant,
|
|
22621
|
-
current_URL: window.location.toString(),
|
|
22622
|
-
os: `${0, $dWhh5$reactdevicedetect.osName} ${0, $dWhh5$reactdevicedetect.osVersion}`,
|
|
22623
|
-
browser: `${0, $dWhh5$reactdevicedetect.browserName} ${0, $dWhh5$reactdevicedetect.browserVersion}`,
|
|
22624
|
-
retorik_framework_version: (0, $93cl9.version)
|
|
22625
|
-
};
|
|
22626
|
-
};
|
|
22627
22599
|
const handleUserActivity = (activity)=>{
|
|
22628
22600
|
// Only handle message activites and event activities waiting for an answer, nothing for typing ones
|
|
22629
22601
|
if (activity.type === 'message' || activity.type === 'event' && !(0, $7sZDv.nonResponseInducingEvents).find((eventName)=>{
|
|
22630
22602
|
var _activity_name;
|
|
22631
22603
|
return (_activity_name = activity.name) === null || _activity_name === void 0 ? void 0 : _activity_name.toLowerCase().includes(eventName);
|
|
22632
|
-
}))
|
|
22604
|
+
})) lastUserActivityRef.current = {
|
|
22633
22605
|
id: activity.id,
|
|
22634
22606
|
time: Date.now()
|
|
22635
|
-
}
|
|
22607
|
+
};
|
|
22636
22608
|
};
|
|
22637
22609
|
const handleBotActivity = (activity)=>{
|
|
22638
22610
|
var _activity_name, _activity_label;
|
|
22639
22611
|
// Do nothing for bring-up messages and non-streaming events
|
|
22640
|
-
if (
|
|
22641
|
-
sendTrace(
|
|
22642
|
-
|
|
22612
|
+
if (lastUserActivityRef.current && (activity.type === 'message' || ((_activity_name = activity.name) === null || _activity_name === void 0 ? void 0 : _activity_name.toLocaleLowerCase()) === 'davi.streammessageactivity') && ((_activity_label = activity.label) === null || _activity_label === void 0 ? void 0 : _activity_label.toLowerCase()) !== 'davi.bringupmessage' && activity.replyToId === lastUserActivityRef.current.id) {
|
|
22613
|
+
sendTrace((0, $7WHA7.TraceType).message, {
|
|
22614
|
+
activityId: activity.id,
|
|
22615
|
+
userActivity: lastUserActivityRef.current
|
|
22616
|
+
});
|
|
22617
|
+
lastUserActivityRef.current = null;
|
|
22643
22618
|
}
|
|
22644
22619
|
};
|
|
22645
|
-
const sendTrace = (
|
|
22646
|
-
if (tracer) {
|
|
22647
|
-
const
|
|
22648
|
-
|
|
22649
|
-
}
|
|
22620
|
+
const sendTrace = (type, data)=>{
|
|
22621
|
+
if (tracer && type) {
|
|
22622
|
+
const parameters = (data === null || data === void 0 ? void 0 : data.activityId) ? {
|
|
22623
|
+
'davi.retorik.activity.id': data.activityId
|
|
22624
|
+
} : {};
|
|
22625
|
+
let startTime = 0;
|
|
22626
|
+
switch(type){
|
|
22627
|
+
case (0, $7WHA7.TraceType).message:
|
|
22628
|
+
if (data === null || data === void 0 ? void 0 : data.userActivity) startTime = data === null || data === void 0 ? void 0 : data.userActivity.time;
|
|
22629
|
+
break;
|
|
22630
|
+
case (0, $7WHA7.TraceType).utteranceStart:
|
|
22631
|
+
case (0, $7WHA7.TraceType).utteranceEnd:
|
|
22632
|
+
parameters.text = data === null || data === void 0 ? void 0 : data.text;
|
|
22633
|
+
break;
|
|
22634
|
+
}
|
|
22635
|
+
const span = tracer.startSpan(type, startTime ? {
|
|
22636
|
+
startTime: startTime
|
|
22637
|
+
} : undefined);
|
|
22650
22638
|
span.setStatus({
|
|
22651
22639
|
code: (0, $dWhh5$opentelemetryapi.SpanStatusCode).OK
|
|
22652
22640
|
});
|
|
22653
|
-
span.setAttributes(
|
|
22641
|
+
span.setAttributes(parameters);
|
|
22654
22642
|
span.end();
|
|
22655
22643
|
}
|
|
22656
22644
|
};
|
|
@@ -22662,24 +22650,21 @@ function $6be7f5aa73e32bf5$export$bb3ea6dd2428edb6({ enabled: enabled, children:
|
|
|
22662
22650
|
code: (0, $dWhh5$opentelemetryapi.SpanStatusCode).ERROR,
|
|
22663
22651
|
message: `${error.message}`
|
|
22664
22652
|
});
|
|
22665
|
-
span.setAttributes(getCommonAttributes());
|
|
22666
22653
|
span.end();
|
|
22667
22654
|
}
|
|
22668
22655
|
};
|
|
22669
22656
|
const value = (0, $dWhh5$react.useMemo)(()=>({
|
|
22670
22657
|
enabled: enabled,
|
|
22671
22658
|
tracer: tracer,
|
|
22672
|
-
|
|
22673
|
-
|
|
22659
|
+
sendTrace: sendTrace,
|
|
22660
|
+
sendErrorTrace: sendErrorTrace
|
|
22674
22661
|
}), [
|
|
22675
22662
|
enabled,
|
|
22676
22663
|
tracer
|
|
22677
22664
|
]);
|
|
22678
|
-
return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)(
|
|
22679
|
-
|
|
22680
|
-
|
|
22681
|
-
children: children
|
|
22682
|
-
})
|
|
22665
|
+
return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)($6be7f5aa73e32bf5$export$7b6b7bc4acb29126.Provider, {
|
|
22666
|
+
value: value,
|
|
22667
|
+
children: children
|
|
22683
22668
|
});
|
|
22684
22669
|
}
|
|
22685
22670
|
|
|
@@ -23667,7 +23652,7 @@ const $21be82c8ba5b2ec0$var$UserRequest = ()=>{
|
|
|
23667
23652
|
]);
|
|
23668
23653
|
return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
|
|
23669
23654
|
id: "retorik-userRequest",
|
|
23670
|
-
className: `rf-relative rf-z-util rf-h-full rf-w-3/5 landscape-retorik:rf-w-[calc(80%-10rem)] landscape-retorik:
|
|
23655
|
+
className: `rf-relative rf-z-util rf-h-full rf-w-3/5 landscape-retorik:rf-w-[calc(80%-10rem)] landscape-retorik:rf-ml-1/5 rf-py-4 large-vertical:rf-py-5 rf-flex rf-flex-col rf-justify-self-center rf-justify-end landscape-retorik:rf-justify-self-start
|
|
23671
23656
|
${mode === (0, $7WHA7.Mode).text && 'landscape-retorik:rf-justify-start'}
|
|
23672
23657
|
${mediumLandscape ? 'landscape-retorik:rf-col-start-3' : 'landscape-retorik:rf-col-start-4'} large-vertical:rf-col-start-1 rf-col-span-full rf-text-size-auto rf-text-trueblack`,
|
|
23673
23658
|
style: {
|
|
@@ -23743,7 +23728,7 @@ const $6af0aee9119363c4$var$UserRequest = ()=>{
|
|
|
23743
23728
|
]);
|
|
23744
23729
|
return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
23745
23730
|
id: "retorik-userRequest",
|
|
23746
|
-
className: `rf-relative rf-z-[5] rf-h-full rf-w-3/5 landscape-retorik:rf-w-[calc(80%-10rem)] landscape-retorik:
|
|
23731
|
+
className: `rf-relative rf-z-[5] rf-h-full rf-w-3/5 landscape-retorik:rf-w-[calc(80%-10rem)] landscape-retorik:rf-ml-1/5 rf-flex rf-flex-col rf-justify-self-center rf-justify-end landscape-retorik:rf-justify-self-start landscape-retorik:rf-justify-start
|
|
23747
23732
|
${mediumLandscape ? 'landscape-retorik:rf-col-start-3' : 'landscape-retorik:rf-col-start-4'} large-vertical:rf-col-start-1 rf-col-span-full rf-text-size-auto rf-text-trueblack`,
|
|
23748
23733
|
style: {
|
|
23749
23734
|
gridRow: `${gridRowStart} / span ${gridRowSpan}`,
|
|
@@ -24058,17 +24043,25 @@ var $5f568a67e3f1c45c$export$2e2bcd8739ae039 = $5f568a67e3f1c45c$var$BotResponse
|
|
|
24058
24043
|
|
|
24059
24044
|
|
|
24060
24045
|
|
|
24046
|
+
|
|
24047
|
+
var $6EkQS = parcelRequire("6EkQS");
|
|
24061
24048
|
parcelRequire("60kUR");
|
|
24062
24049
|
var $6tJr6 = parcelRequire("6tJr6");
|
|
24063
24050
|
const $190fac2b3b90e52b$var$RetorikLogo = ()=>{
|
|
24064
|
-
|
|
24065
|
-
|
|
24051
|
+
const isUsedOnBorne = (0, $6EkQS.useRetorikStore)((state)=>state.configuration.isUsedOnBorne);
|
|
24052
|
+
return isUsedOnBorne ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
24053
|
+
className: "rf-hidden large:rf-block rf-relative rf-z-[1] ltr:rf-col-start-1 rtl:rf-col-end-1 rf-col-span-full rf-row-start-12 rf-row-span-1 ltr:rf-self-end rtl:rf-self-start rf-justify-self-start",
|
|
24054
|
+
children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $6tJr6.default), {
|
|
24055
|
+
className: "ltr:rf-ml-4 rtl:rf-mr-4 rf-mb-4 rf-h-14"
|
|
24056
|
+
})
|
|
24057
|
+
}) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("a", {
|
|
24058
|
+
href: "https://davi.ai",
|
|
24066
24059
|
title: "Retorik by Davi",
|
|
24067
24060
|
target: "_blank",
|
|
24068
24061
|
rel: "noreferrer",
|
|
24069
|
-
className: "rf-hidden large:rf-block rf-relative rf-z-[1]
|
|
24062
|
+
className: "rf-hidden large:rf-block rf-relative rf-z-[1] rf-col-start-1 rf-col-span-full rf-row-start-12 rf-row-span-1 rf-self-end rf-justify-self-start",
|
|
24070
24063
|
children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $6tJr6.default), {
|
|
24071
|
-
className: "
|
|
24064
|
+
className: "rf-ml-4 rf-mb-4 rf-h-14"
|
|
24072
24065
|
})
|
|
24073
24066
|
});
|
|
24074
24067
|
};
|
|
@@ -24331,8 +24324,6 @@ var $6EkQS = parcelRequire("6EkQS");
|
|
|
24331
24324
|
|
|
24332
24325
|
var $e53vj = parcelRequire("e53vj");
|
|
24333
24326
|
|
|
24334
|
-
var $jgaO0 = parcelRequire("jgaO0");
|
|
24335
|
-
|
|
24336
24327
|
|
|
24337
24328
|
var $pFs7y = parcelRequire("pFs7y");
|
|
24338
24329
|
|
|
@@ -24344,6 +24335,8 @@ var $eXl5q = parcelRequire("eXl5q");
|
|
|
24344
24335
|
|
|
24345
24336
|
var $kUiCn = parcelRequire("kUiCn");
|
|
24346
24337
|
|
|
24338
|
+
var $6Q0mk = parcelRequire("6Q0mk");
|
|
24339
|
+
|
|
24347
24340
|
var $7WHA7 = parcelRequire("7WHA7");
|
|
24348
24341
|
|
|
24349
24342
|
var $lr5yz = parcelRequire("lr5yz");
|
|
@@ -24351,6 +24344,7 @@ const $2fc1133047fd6846$var$interval = 45;
|
|
|
24351
24344
|
const $2fc1133047fd6846$var$splitRegex = new RegExp(/<[^<>]+>/g);
|
|
24352
24345
|
const $2fc1133047fd6846$var$TextBubble = ({ from: from, id: id, text: text, htmlText: htmlText, showWaitingDots: showWaitingDots, isWaitingDots: isWaitingDots, triggerScroll: triggerScroll, onEnded: onEnded, canBeEnded: canBeEnded, isEnded: isEnded })=>{
|
|
24353
24346
|
const isMobile = (0, $kUiCn.useViewStore)((state)=>state.isMobile);
|
|
24347
|
+
const isRTL = (0, $6Q0mk.useLocaleStore)((state)=>state.isRTL);
|
|
24354
24348
|
const [currentHtmlText, setCurrentHtmlText] = (0, $dWhh5$react.useState)('');
|
|
24355
24349
|
const [ended, setEnded] = (0, $dWhh5$react.useState)(isEnded);
|
|
24356
24350
|
const intervalRef = (0, $dWhh5$react.useRef)(null);
|
|
@@ -24421,7 +24415,8 @@ const $2fc1133047fd6846$var$TextBubble = ({ from: from, id: id, text: text, html
|
|
|
24421
24415
|
};
|
|
24422
24416
|
return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
24423
24417
|
id: from === (0, $7WHA7.TextFrom).user ? `retorik-userQuestion-${id}` : `retorik-botResponse-${id}`,
|
|
24424
|
-
|
|
24418
|
+
dir: isRTL ? 'rtl' : 'ltr',
|
|
24419
|
+
className: `rf-w-fit rf-min-h-9 large-vertical:rf-min-h-10 rf-px-4 rf-py-2 rf-max-w-[75%] landscape-retorik:rf-max-w-[calc((80%-10rem)*0.75)] large-vertical:rf-max-w-[45%] ${isMobile && 'rf-mx-4'} ${isRTL ? from === (0, $7WHA7.TextFrom).bot ? 'landscape-retorik:rf-mr-40 large-vertical:rf-mr-1/5 rf-self-end rf-text-textModePanelConversationBot rf-bg-textModePanelBackgroundBot rf-border rf-border-textModePanelBackgroundBot rf-rounded-tl-4' : 'landscape-retorik:rf-ml-1/5 large-vertical:rf-ml-1/5 rf-text-textModePanelConversationUser rf-bg-textModePanelBackgroundUser rf-border rf-border-textModePanelBackgroundUser rf-rounded-tr-4' : from === (0, $7WHA7.TextFrom).user ? 'landscape-retorik:rf-mr-40 large-vertical:rf-mr-1/5 rf-self-end rf-text-textModePanelConversationUser rf-bg-textModePanelBackgroundUser rf-border rf-border-textModePanelBackgroundUser rf-rounded-tl-4' : 'landscape-retorik:rf-ml-1/5 large-vertical:rf-ml-1/5 rf-text-textModePanelConversationBot rf-bg-textModePanelBackgroundBot rf-border rf-border-textModePanelBackgroundBot rf-rounded-tr-4'} rf-rounded-b-4 rf-animate-slideBottom rf-flex rf-flex-col rf-text-size-auto rf-shadow-[0_3px_6px_#00000029]`,
|
|
24425
24420
|
children: isWaitingDots ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
24426
24421
|
className: "rf-w-8 rf-loader-bouncing-bot"
|
|
24427
24422
|
}) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)((0, ($parcel$interopDefault($dWhh5$react))).Fragment, {
|
|
@@ -24449,8 +24444,6 @@ const $a2a195f52aaf1332$var$DisplayStandard = ({ currentQuestionId: currentQuest
|
|
|
24449
24444
|
const endedActivities = (0, $e53vj.useActivityStore)((state)=>state.endedActivities);
|
|
24450
24445
|
const watermark = (0, $e53vj.useActivityStore)((state)=>state.watermark);
|
|
24451
24446
|
const forceMobileView = (0, $6EkQS.useRetorikStore)((state)=>state.configuration.forceMobileView);
|
|
24452
|
-
const cancel = (0, $jgaO0.useSpeechStore)((state)=>state.cancel);
|
|
24453
|
-
const addEndedActivity = (0, $e53vj.useActivityStore)((state)=>state.actions.addEndedActivity);
|
|
24454
24447
|
const [displayData, setDisplayData] = (0, $dWhh5$react.useState)([]);
|
|
24455
24448
|
const [currentDisplayDataIndex, setCurrentDisplayDataIndex] = (0, $dWhh5$react.useState)(0);
|
|
24456
24449
|
const [ended, setEnded] = (0, $dWhh5$react.useState)(!activities.length || endedActivities.includes((_activities_ = activities[activities.length - 1]) === null || _activities_ === void 0 ? void 0 : _activities_.id));
|
|
@@ -24466,7 +24459,7 @@ const $a2a195f52aaf1332$var$DisplayStandard = ({ currentQuestionId: currentQuest
|
|
|
24466
24459
|
]);
|
|
24467
24460
|
(0, $dWhh5$react.useEffect)(()=>{
|
|
24468
24461
|
if (isWaitingForResponse) {
|
|
24469
|
-
// Create temporary activity with the id of the
|
|
24462
|
+
// Create temporary activity with the id of the next one to prevent re-renders, in order to display waiting dots
|
|
24470
24463
|
const nextActivityId = `${currentQuestionId.slice(0, currentQuestionId.length - watermark.toString().length)}${watermark.toString()}`;
|
|
24471
24464
|
const tempActivity = {
|
|
24472
24465
|
id: nextActivityId,
|
|
@@ -24481,36 +24474,14 @@ const $a2a195f52aaf1332$var$DisplayStandard = ({ currentQuestionId: currentQuest
|
|
|
24481
24474
|
activity: tempActivity,
|
|
24482
24475
|
type: (0, $7WHA7.DisplayDataTypes).text,
|
|
24483
24476
|
isWaitingDots: true,
|
|
24484
|
-
canBeEnded: true
|
|
24477
|
+
canBeEnded: true,
|
|
24478
|
+
isEnded: false
|
|
24485
24479
|
}
|
|
24486
24480
|
]);
|
|
24487
24481
|
}
|
|
24488
24482
|
}, [
|
|
24489
24483
|
isWaitingForResponse
|
|
24490
24484
|
]);
|
|
24491
|
-
(0, $dWhh5$react.useEffect)(()=>{
|
|
24492
|
-
if (cancel) {
|
|
24493
|
-
activities.forEach((activity)=>{
|
|
24494
|
-
addEndedActivity(activity.id);
|
|
24495
|
-
});
|
|
24496
|
-
displayData.forEach((data)=>{
|
|
24497
|
-
addEndedActivity(data.activity.id);
|
|
24498
|
-
});
|
|
24499
|
-
}
|
|
24500
|
-
}, [
|
|
24501
|
-
cancel
|
|
24502
|
-
]);
|
|
24503
|
-
(0, $dWhh5$react.useEffect)(()=>{
|
|
24504
|
-
// End all current activities on component unmount
|
|
24505
|
-
return ()=>{
|
|
24506
|
-
activitiesRef.current.forEach((activity)=>{
|
|
24507
|
-
addEndedActivity(activity.id);
|
|
24508
|
-
});
|
|
24509
|
-
displayDataRef.current.forEach((data)=>{
|
|
24510
|
-
addEndedActivity(data.activity.id);
|
|
24511
|
-
});
|
|
24512
|
-
};
|
|
24513
|
-
}, []);
|
|
24514
24485
|
(0, $dWhh5$react.useEffect)(()=>{
|
|
24515
24486
|
activitiesRef.current = [
|
|
24516
24487
|
...activities
|
|
@@ -24523,7 +24494,7 @@ const $a2a195f52aaf1332$var$DisplayStandard = ({ currentQuestionId: currentQuest
|
|
|
24523
24494
|
activities.forEach((activity, index)=>{
|
|
24524
24495
|
var _activity_attachments, _activity_name, _activity_value;
|
|
24525
24496
|
let splitTextDataToAdd = [];
|
|
24526
|
-
// Check the attachments, special case if this is the message activity after streaming : show attachments if the first streaming
|
|
24497
|
+
// Check the attachments, special case if this is the message activity after streaming : show attachments if the first streaming activity didn't have any
|
|
24527
24498
|
let attachments = [];
|
|
24528
24499
|
if ((_activity_attachments = activity.attachments) === null || _activity_attachments === void 0 ? void 0 : _activity_attachments.length) {
|
|
24529
24500
|
var _activity_name1, _activity_value1;
|
|
@@ -24533,14 +24504,16 @@ const $a2a195f52aaf1332$var$DisplayStandard = ({ currentQuestionId: currentQuest
|
|
|
24533
24504
|
{
|
|
24534
24505
|
type: (0, $7WHA7.DisplayDataTypes).attachment,
|
|
24535
24506
|
activity: activity,
|
|
24536
|
-
canBeEnded: true
|
|
24507
|
+
canBeEnded: true,
|
|
24508
|
+
isEnded: true
|
|
24537
24509
|
}
|
|
24538
24510
|
];
|
|
24539
24511
|
} else if (!(((_activity_value1 = activity.value) === null || _activity_value1 === void 0 ? void 0 : _activity_value1.streamingCount) && streamingActivityHasAttachment) && !(0, $1a0bdae30bc87d45$export$7c55936a30618336)(activity)) attachments = [
|
|
24540
24512
|
{
|
|
24541
24513
|
type: (0, $7WHA7.DisplayDataTypes).attachment,
|
|
24542
24514
|
activity: activity,
|
|
24543
|
-
canBeEnded: true
|
|
24515
|
+
canBeEnded: true,
|
|
24516
|
+
isEnded: true
|
|
24544
24517
|
}
|
|
24545
24518
|
];
|
|
24546
24519
|
}
|
|
@@ -24559,14 +24532,20 @@ const $a2a195f52aaf1332$var$DisplayStandard = ({ currentQuestionId: currentQuest
|
|
|
24559
24532
|
...currentFirstStreamingActivity,
|
|
24560
24533
|
htmlText: (0, $pFs7y.processMarkdownAndSpeechMarkdown)(streamingTexts.join(''), false).htmlText
|
|
24561
24534
|
},
|
|
24562
|
-
canBeEnded: false
|
|
24535
|
+
canBeEnded: false,
|
|
24536
|
+
isEnded: false
|
|
24563
24537
|
}
|
|
24564
24538
|
];
|
|
24565
24539
|
}
|
|
24566
24540
|
} else if ((_activity_value = activity.value) === null || _activity_value === void 0 ? void 0 : _activity_value.streamingCount) {
|
|
24567
24541
|
if (tempDisplayData.length) {
|
|
24568
24542
|
const lastStreamingIndex = tempDisplayData.findLastIndex((d)=>d.type === (0, $7WHA7.DisplayDataTypes).text);
|
|
24569
|
-
lastStreamingIndex !== -1
|
|
24543
|
+
if (lastStreamingIndex !== -1) {
|
|
24544
|
+
// Set canBeEnded for the previous streaming
|
|
24545
|
+
tempDisplayData[lastStreamingIndex].canBeEnded = true;
|
|
24546
|
+
// Set previous streaming ended if this activity is ended in speech synthesis
|
|
24547
|
+
tempDisplayData[lastStreamingIndex].isEnded = endedActivities.includes(activity.id);
|
|
24548
|
+
}
|
|
24570
24549
|
}
|
|
24571
24550
|
// Reset streaming data if the message containing all streaming data is received
|
|
24572
24551
|
currentFirstStreamingActivity = undefined;
|
|
@@ -24581,7 +24560,8 @@ const $a2a195f52aaf1332$var$DisplayStandard = ({ currentQuestionId: currentQuest
|
|
|
24581
24560
|
{
|
|
24582
24561
|
type: (0, $7WHA7.DisplayDataTypes).text,
|
|
24583
24562
|
activity: activity,
|
|
24584
|
-
canBeEnded: true
|
|
24563
|
+
canBeEnded: true,
|
|
24564
|
+
isEnded: endedActivities.includes(activity.id)
|
|
24585
24565
|
}
|
|
24586
24566
|
];
|
|
24587
24567
|
}
|
|
@@ -24603,7 +24583,8 @@ const $a2a195f52aaf1332$var$DisplayStandard = ({ currentQuestionId: currentQuest
|
|
|
24603
24583
|
}
|
|
24604
24584
|
}, [
|
|
24605
24585
|
currentQuestionId,
|
|
24606
|
-
activities.length
|
|
24586
|
+
activities.length,
|
|
24587
|
+
endedActivities
|
|
24607
24588
|
]);
|
|
24608
24589
|
(0, $dWhh5$react.useEffect)(()=>{
|
|
24609
24590
|
displayDataRef.current = [
|
|
@@ -24626,8 +24607,6 @@ const $a2a195f52aaf1332$var$DisplayStandard = ({ currentQuestionId: currentQuest
|
|
|
24626
24607
|
ended
|
|
24627
24608
|
]);
|
|
24628
24609
|
const handleEnded = ()=>{
|
|
24629
|
-
var _displayData_currentDisplayDataIndex_activity, _displayData_currentDisplayDataIndex;
|
|
24630
|
-
addEndedActivity((_displayData_currentDisplayDataIndex = displayData[currentDisplayDataIndex]) === null || _displayData_currentDisplayDataIndex === void 0 ? void 0 : (_displayData_currentDisplayDataIndex_activity = _displayData_currentDisplayDataIndex.activity) === null || _displayData_currentDisplayDataIndex_activity === void 0 ? void 0 : _displayData_currentDisplayDataIndex_activity.id);
|
|
24631
24610
|
setCurrentDisplayDataIndex((current)=>current + 1);
|
|
24632
24611
|
!ended && triggerScroll();
|
|
24633
24612
|
};
|
|
@@ -24649,7 +24628,7 @@ const $a2a195f52aaf1332$var$DisplayStandard = ({ currentQuestionId: currentQuest
|
|
|
24649
24628
|
triggerScroll: triggerScroll,
|
|
24650
24629
|
onEnded: handleEnded,
|
|
24651
24630
|
canBeEnded: data.canBeEnded,
|
|
24652
|
-
isEnded: data.
|
|
24631
|
+
isEnded: data.isEnded,
|
|
24653
24632
|
isWaitingDots: data.isWaitingDots
|
|
24654
24633
|
}, `${data.activity.id}-${key}`);
|
|
24655
24634
|
}
|
|
@@ -24817,7 +24796,7 @@ const $7df5d708684c32ba$var$ConversationPanelMobile = ({ activities: activities,
|
|
|
24817
24796
|
direction: scrollButtonDirection,
|
|
24818
24797
|
display: scrollButtonDisplay && open,
|
|
24819
24798
|
scrollHandler: scrollHandler,
|
|
24820
|
-
className: "rf-absolute rf-z-ui rf-bottom-8
|
|
24799
|
+
className: "rf-absolute rf-z-ui rf-bottom-8 rf-right-6 rf-w-9 rf-h-9 rf-cursor-pointer rf-bg-[#00000050] rf-p-[7px_12px] rf-rounded-[20px] rf-flex"
|
|
24821
24800
|
}),
|
|
24822
24801
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
24823
24802
|
className: "rf-h-max rf-w-full rf-py-4 rf-flex rf-flex-col rf-gap-3",
|
|
@@ -25120,6 +25099,8 @@ var $7eio0 = parcelRequire("7eio0");
|
|
|
25120
25099
|
|
|
25121
25100
|
var $6EkQS = parcelRequire("6EkQS");
|
|
25122
25101
|
|
|
25102
|
+
var $6Q0mk = parcelRequire("6Q0mk");
|
|
25103
|
+
|
|
25123
25104
|
var $7WHA7 = parcelRequire("7WHA7");
|
|
25124
25105
|
parcelRequire("7v7LH");
|
|
25125
25106
|
var $a6hpb = parcelRequire("a6hpb");
|
|
@@ -25210,7 +25191,7 @@ const $3a6f407e42297873$var$Remote = ()=>{
|
|
|
25210
25191
|
const configuration = (0, $6EkQS.useRetorikStore)((state)=>state.configuration);
|
|
25211
25192
|
return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
|
|
25212
25193
|
id: "retorik-framework-remote",
|
|
25213
|
-
className: "rf-relative rf-w-full rf-pt-3 rf-pb-4 rf-flex rf-flex-col rf-items-center
|
|
25194
|
+
className: "rf-relative rf-w-full rf-pt-3 rf-pb-4 rf-flex rf-flex-col rf-items-center rf-rounded-l-lg rf-shadow-[0_3px_6px_#606267]",
|
|
25214
25195
|
style: {
|
|
25215
25196
|
background: 'linear-gradient(#F8F8FC, #EDEEF3)'
|
|
25216
25197
|
},
|
|
@@ -25239,6 +25220,7 @@ const $81e653c6b570247f$var$RemoteContainer = ({ hideMenu: hideMenu = false })=>
|
|
|
25239
25220
|
const top = (0, $4yOCX.default)();
|
|
25240
25221
|
const menu = (0, $6EkQS.useRetorikStore)((state)=>state.configuration.menu);
|
|
25241
25222
|
const dashboardOpened = (0, $7eio0.useUtilsStore)((state)=>state.dashboardOpened);
|
|
25223
|
+
const isRTL = (0, $6Q0mk.useLocaleStore)((state)=>state.isRTL);
|
|
25242
25224
|
const { setCurrentSubView: setCurrentSubView, setDashboardOpened: setDashboardOpened, setClickedOnUI: setClickedOnUI } = (0, $7eio0.useUtilsStore)((state)=>state.actions);
|
|
25243
25225
|
/**
|
|
25244
25226
|
* On call :
|
|
@@ -25257,7 +25239,7 @@ const $81e653c6b570247f$var$RemoteContainer = ({ hideMenu: hideMenu = false })=>
|
|
|
25257
25239
|
return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)((0, ($parcel$interopDefault($dWhh5$react))).Fragment, {
|
|
25258
25240
|
children: [
|
|
25259
25241
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
|
|
25260
|
-
className:
|
|
25242
|
+
className: `rf-absolute rf-z-ui rf-hidden large:rf-flex rf-flex-col rf-items-center rf-justify-start rf-w-24 rf-right-0 ${isRTL ? 'rf-text-arabic' : 'rf-text-xsm'} rf-text-trueblack`,
|
|
25261
25243
|
style: {
|
|
25262
25244
|
top: top
|
|
25263
25245
|
},
|
|
@@ -25842,8 +25824,7 @@ const $3b4c49538547c1bc$var$WarningBeforeNewsView = ()=>{
|
|
|
25842
25824
|
const sendEvent = (0, $6QoTL.useDirectlineStore)((state)=>state.actions.sendEvent);
|
|
25843
25825
|
const [waiting, setWaiting] = (0, $dWhh5$react.useState)(true);
|
|
25844
25826
|
const handleClick = (goHome)=>{
|
|
25845
|
-
sendEvent('Davi.CloseWindow', null);
|
|
25846
|
-
sendEvent('Davi.CloseWindowNewsSoundActivated', null);
|
|
25827
|
+
sendEvent('Davi.CloseWindow', null, ()=>sendEvent('Davi.CloseWindowNewsSoundActivated', null));
|
|
25847
25828
|
goHome ? setRoute((0, $7WHA7.Routes).Home) : setWaiting(false);
|
|
25848
25829
|
};
|
|
25849
25830
|
return waiting ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
|
|
@@ -25852,7 +25833,7 @@ const $3b4c49538547c1bc$var$WarningBeforeNewsView = ()=>{
|
|
|
25852
25833
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $hqoZC.default), {
|
|
25853
25834
|
title: translation.common.back,
|
|
25854
25835
|
handleBack: ()=>handleClick(true),
|
|
25855
|
-
className: "rf-absolute rf-top-4
|
|
25836
|
+
className: "rf-absolute rf-top-4 rf-left-4 rf-text-size-auto"
|
|
25856
25837
|
}),
|
|
25857
25838
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("p", {
|
|
25858
25839
|
className: "rf-px-4 rf-text-center",
|
|
@@ -25919,8 +25900,6 @@ var $6EkQS = parcelRequire("6EkQS");
|
|
|
25919
25900
|
|
|
25920
25901
|
var $7eio0 = parcelRequire("7eio0");
|
|
25921
25902
|
|
|
25922
|
-
var $6Q0mk = parcelRequire("6Q0mk");
|
|
25923
|
-
|
|
25924
25903
|
var $9CCS6 = parcelRequire("9CCS6");
|
|
25925
25904
|
|
|
25926
25905
|
var $hLdi9 = parcelRequire("hLdi9");
|
|
@@ -25952,7 +25931,6 @@ var $9ccee10030bde87b$export$2e2bcd8739ae039 = $9ccee10030bde87b$var$ModalFullsc
|
|
|
25952
25931
|
|
|
25953
25932
|
|
|
25954
25933
|
const $9242b50f1c1199a7$var$Container = ({ fullSize: fullSize, width: width, height: height, children: children, parent: parent })=>{
|
|
25955
|
-
const isRTL = (0, $6Q0mk.useLocaleStore)((state)=>state.isRTL);
|
|
25956
25934
|
const themeColors = (0, $kUiCn.useViewStore)((state)=>state.themeColors);
|
|
25957
25935
|
const currentDeviceType = (0, $kUiCn.useViewStore)((state)=>state.currentDeviceType);
|
|
25958
25936
|
const isTactile = (0, $kUiCn.useViewStore)((state)=>state.isTactile);
|
|
@@ -26122,8 +26100,7 @@ const $9242b50f1c1199a7$var$Container = ({ fullSize: fullSize, width: width, hei
|
|
|
26122
26100
|
id: "retorik-container",
|
|
26123
26101
|
ref: container,
|
|
26124
26102
|
tabIndex: -1,
|
|
26125
|
-
|
|
26126
|
-
className: `rf-relative ${fullSize ? 'rf-w-screen rf-h-screen' : 'rf-w-full rf-h-full'} rf-max-w-screen rf-max-h-screen rf-grid rf-grid-cols-8 rf-grid-rows-container rf-bg-transparent rf-text-trueblack rf-font-default ${portrait} ${large} ${mobile} ${tablet} ${isTactile && 'rf-tactile'} ${isRTL ? 'rf-rtl' : 'rf-ltr'} rf-overflow-hidden rf-animate-loaderFadeIn`,
|
|
26103
|
+
className: `rf-relative ${fullSize ? 'rf-w-screen rf-h-screen' : 'rf-w-full rf-h-full'} rf-max-w-screen rf-max-h-screen rf-grid rf-grid-cols-8 rf-grid-rows-container rf-bg-transparent rf-text-trueblack rf-font-default ${portrait} ${large} ${mobile} ${tablet} ${isTactile && 'rf-tactile'} rf-overflow-hidden rf-animate-loaderFadeIn`,
|
|
26127
26104
|
style: {
|
|
26128
26105
|
...widthStyle,
|
|
26129
26106
|
...heightStyle,
|
|
@@ -26214,30 +26191,8 @@ var $6EkQS = parcelRequire("6EkQS");
|
|
|
26214
26191
|
|
|
26215
26192
|
var $6QoTL = parcelRequire("6QoTL");
|
|
26216
26193
|
|
|
26217
|
-
var $7WHA7 = parcelRequire("7WHA7");
|
|
26218
|
-
/* Return codes:
|
|
26219
|
-
0 => do nothing
|
|
26220
|
-
1 => add to queue
|
|
26221
|
-
2 => stop current activity + change to the one tested
|
|
26222
|
-
*/ const $549323f244f4782c$var$checkLastbotActivity = (lastbotActivity, currentPlaying, currentReplyToId, queuedActivities, endedActivities)=>{
|
|
26223
|
-
// Check if the activity is the one currently being played
|
|
26224
|
-
if (lastbotActivity.id === currentPlaying.id) return 0;
|
|
26225
|
-
// Check if the activity has already been ended
|
|
26226
|
-
if (endedActivities.includes(lastbotActivity.id)) return 0;
|
|
26227
|
-
// Check if the activity has the same replyToId than the one currently being played
|
|
26228
|
-
if (lastbotActivity.replyToId === currentReplyToId) {
|
|
26229
|
-
// Check if the activity is already in the queue
|
|
26230
|
-
let count = 0;
|
|
26231
|
-
if (queuedActivities.length > 0) queuedActivities.forEach((activity)=>{
|
|
26232
|
-
if (activity.id === lastbotActivity.id) count++;
|
|
26233
|
-
});
|
|
26234
|
-
if (count === 0) return 1;
|
|
26235
|
-
else return 0;
|
|
26236
|
-
} else return 2;
|
|
26237
|
-
};
|
|
26238
|
-
var $549323f244f4782c$export$2e2bcd8739ae039 = $549323f244f4782c$var$checkLastbotActivity;
|
|
26239
|
-
|
|
26240
26194
|
|
|
26195
|
+
var $7WHA7 = parcelRequire("7WHA7");
|
|
26241
26196
|
|
|
26242
26197
|
|
|
26243
26198
|
|
|
@@ -26832,7 +26787,8 @@ const $d31b268c3b702355$var$RetorikSpeech = ({ ponyfill: ponyfill, onEnd: onEnd,
|
|
|
26832
26787
|
const microphoneCloseAudioRef = (0, $dWhh5$react.useRef)(null);
|
|
26833
26788
|
const [DBReady, setDBReady] = (0, $dWhh5$react.useState)(false);
|
|
26834
26789
|
const [playingBlob, setPlayingBlob] = (0, $dWhh5$react.useState)(false);
|
|
26835
|
-
const
|
|
26790
|
+
const nextUtteranceDataRef = (0, $dWhh5$react.useRef)(null);
|
|
26791
|
+
const nextUtteranceTextRef = (0, $dWhh5$react.useRef)(null);
|
|
26836
26792
|
const nextUtteranceBoundariesRef = (0, $dWhh5$react.useRef)([]);
|
|
26837
26793
|
const nextUtteranceVisemesRef = (0, $dWhh5$react.useRef)([]);
|
|
26838
26794
|
const emptyTextUtteranceRef = (0, $dWhh5$react.useRef)(null);
|
|
@@ -26847,7 +26803,7 @@ const $d31b268c3b702355$var$RetorikSpeech = ({ ponyfill: ponyfill, onEnd: onEnd,
|
|
|
26847
26803
|
if (appAvailable || loaderClosed) {
|
|
26848
26804
|
var _audioRef_current;
|
|
26849
26805
|
// Cancel synthesis if using synthesizer
|
|
26850
|
-
if (!playingBlob) ponyfill
|
|
26806
|
+
if (!playingBlob) ponyfill.speechSynthesis.cancel();
|
|
26851
26807
|
resetNextUtteranceData();
|
|
26852
26808
|
if (audioRef.current && !((_audioRef_current = audioRef.current) === null || _audioRef_current === void 0 ? void 0 : _audioRef_current.paused)) {
|
|
26853
26809
|
audioRef.current.pause();
|
|
@@ -26857,7 +26813,7 @@ const $d31b268c3b702355$var$RetorikSpeech = ({ ponyfill: ponyfill, onEnd: onEnd,
|
|
|
26857
26813
|
};
|
|
26858
26814
|
const attachEvents = (tempUtterance, isMainUtterance)=>{
|
|
26859
26815
|
tempUtterance.onerror = (event)=>{
|
|
26860
|
-
isMainUtterance ? handleError(event) :
|
|
26816
|
+
isMainUtterance ? handleError(event) : nextUtteranceDataRef.current = null;
|
|
26861
26817
|
};
|
|
26862
26818
|
tempUtterance.onsynthesiscompleted = ()=>{
|
|
26863
26819
|
const endBoundary = {
|
|
@@ -26908,7 +26864,6 @@ const $d31b268c3b702355$var$RetorikSpeech = ({ ponyfill: ponyfill, onEnd: onEnd,
|
|
|
26908
26864
|
};
|
|
26909
26865
|
tempUtterance.onviseme = (event)=>{
|
|
26910
26866
|
if (isMainUtterance) {
|
|
26911
|
-
// Do nothing ATM
|
|
26912
26867
|
// Update the boundaryData state with the new data.
|
|
26913
26868
|
addViseme(event);
|
|
26914
26869
|
const tempVisemes = (visemeRef === null || visemeRef === void 0 ? void 0 : visemeRef.current) || [];
|
|
@@ -26924,29 +26879,34 @@ const $d31b268c3b702355$var$RetorikSpeech = ({ ponyfill: ponyfill, onEnd: onEnd,
|
|
|
26924
26879
|
return tempUtterance;
|
|
26925
26880
|
};
|
|
26926
26881
|
const processNextData = (data)=>{
|
|
26927
|
-
|
|
26928
|
-
|
|
26929
|
-
|
|
26930
|
-
|
|
26931
|
-
|
|
26882
|
+
nextUtteranceDataRef.current = (data === null || data === void 0 ? void 0 : data.byteLength) && nextUtteranceTextRef.current ? {
|
|
26883
|
+
text: nextUtteranceTextRef.current,
|
|
26884
|
+
data: {
|
|
26885
|
+
speechData: data,
|
|
26886
|
+
boundaries: nextUtteranceBoundariesRef.current,
|
|
26887
|
+
visemes: nextUtteranceVisemesRef.current
|
|
26888
|
+
}
|
|
26889
|
+
} : null;
|
|
26932
26890
|
// Reset boundary / viseme data
|
|
26933
26891
|
resetNextUtteranceData(true);
|
|
26934
26892
|
};
|
|
26935
26893
|
const resetNextUtteranceData = (keepArrayBufferData)=>{
|
|
26936
|
-
!keepArrayBufferData &&
|
|
26894
|
+
!keepArrayBufferData && (nextUtteranceDataRef.current = null);
|
|
26895
|
+
nextUtteranceTextRef.current = null;
|
|
26937
26896
|
nextUtteranceBoundariesRef.current = [];
|
|
26938
26897
|
nextUtteranceVisemesRef.current = [];
|
|
26939
26898
|
};
|
|
26940
26899
|
(0, $dWhh5$react.useEffect)(()=>{
|
|
26941
26900
|
if (utterance) {
|
|
26942
26901
|
if (utterance.text) {
|
|
26943
|
-
if (
|
|
26944
|
-
|
|
26945
|
-
|
|
26946
|
-
|
|
26947
|
-
|
|
26948
|
-
|
|
26949
|
-
|
|
26902
|
+
if (audioRef === null || audioRef === void 0 ? void 0 : audioRef.current) {
|
|
26903
|
+
var _nextUtteranceDataRef_current;
|
|
26904
|
+
if (((_nextUtteranceDataRef_current = nextUtteranceDataRef.current) === null || _nextUtteranceDataRef_current === void 0 ? void 0 : _nextUtteranceDataRef_current.text) === utterance.text && nextUtteranceDataRef.current.data) {
|
|
26905
|
+
boundaryRef.current = nextUtteranceDataRef.current.data.boundaries;
|
|
26906
|
+
setBoundaryData(nextUtteranceDataRef.current.data.boundaries);
|
|
26907
|
+
setVisemeData(nextUtteranceDataRef.current.data.visemes);
|
|
26908
|
+
processData(nextUtteranceDataRef.current.data.speechData, true);
|
|
26909
|
+
} else // Play utterance whether by asking for a speech synthesis, or by retrieving data from indexedDB
|
|
26950
26910
|
playUtterance(attachEvents(utterance, true));
|
|
26951
26911
|
} else stopCurrentPlaying();
|
|
26952
26912
|
} else handleEmptyTextUtterance();
|
|
@@ -26955,8 +26915,10 @@ const $d31b268c3b702355$var$RetorikSpeech = ({ ponyfill: ponyfill, onEnd: onEnd,
|
|
|
26955
26915
|
utterance
|
|
26956
26916
|
]);
|
|
26957
26917
|
(0, $dWhh5$react.useEffect)(()=>{
|
|
26958
|
-
|
|
26918
|
+
// If there are data in nextUtteranceTextRef, this means the previous synthesis data retrieval is not finished, so we don't begin a new one
|
|
26919
|
+
if ((nextUtterance === null || nextUtterance === void 0 ? void 0 : nextUtterance.text) && !nextUtteranceTextRef.current) {
|
|
26959
26920
|
const tempUtterance = attachEvents(nextUtterance);
|
|
26921
|
+
nextUtteranceTextRef.current = nextUtterance.text;
|
|
26960
26922
|
ponyfill.speechSynthesis.synthesizeAndGetArrayData(tempUtterance, processNextData);
|
|
26961
26923
|
} else resetNextUtteranceData();
|
|
26962
26924
|
}, [
|
|
@@ -26964,14 +26926,14 @@ const $d31b268c3b702355$var$RetorikSpeech = ({ ponyfill: ponyfill, onEnd: onEnd,
|
|
|
26964
26926
|
]);
|
|
26965
26927
|
const playUtterance = async (utt)=>{
|
|
26966
26928
|
if (DBReady && enableSpeechCaching !== false && utt) {
|
|
26967
|
-
const dataFromIndexedDB = await $d31b268c3b702355$var$DBManager.getSpeechData(`${locale}.${voice === null || voice === void 0 ? void 0 : voice.name}.${utt.text.replace($d31b268c3b702355$var$tagsRemoverRegex, '')
|
|
26929
|
+
const dataFromIndexedDB = await $d31b268c3b702355$var$DBManager.getSpeechData(`${locale}.${voice === null || voice === void 0 ? void 0 : voice.name}.${utt.text.replace($d31b268c3b702355$var$tagsRemoverRegex, '')}`);
|
|
26968
26930
|
if (dataFromIndexedDB) {
|
|
26969
26931
|
boundaryRef.current = dataFromIndexedDB.boundaries;
|
|
26970
26932
|
setBoundaryData(dataFromIndexedDB.boundaries);
|
|
26971
26933
|
setVisemeData(dataFromIndexedDB.visemes || []);
|
|
26972
26934
|
processData(dataFromIndexedDB.value, true);
|
|
26973
|
-
} else ponyfill
|
|
26974
|
-
} else ponyfill
|
|
26935
|
+
} else ponyfill.speechSynthesis.synthesizeAndGetArrayData(utt, processData);
|
|
26936
|
+
} else ponyfill.speechSynthesis.synthesizeAndGetArrayData(utt, processData);
|
|
26975
26937
|
};
|
|
26976
26938
|
const processData = (data, alreadyExistsInDB)=>{
|
|
26977
26939
|
if (data === null || data === void 0 ? void 0 : data.byteLength) {
|
|
@@ -26981,7 +26943,7 @@ const $d31b268c3b702355$var$RetorikSpeech = ({ ponyfill: ponyfill, onEnd: onEnd,
|
|
|
26981
26943
|
type: 'audio/mp3'
|
|
26982
26944
|
});
|
|
26983
26945
|
enableSpeechCaching !== false && !alreadyExistsInDB && DBReady && (boundaryRef === null || boundaryRef === void 0 ? void 0 : boundaryRef.current) && utterance && $d31b268c3b702355$var$DBManager.addSpeechData({
|
|
26984
|
-
id: `${locale}.${voice === null || voice === void 0 ? void 0 : voice.name}.${utterance.text.replace($d31b268c3b702355$var$tagsRemoverRegex, '')
|
|
26946
|
+
id: `${locale}.${voice === null || voice === void 0 ? void 0 : voice.name}.${utterance.text.replace($d31b268c3b702355$var$tagsRemoverRegex, '')}`,
|
|
26985
26947
|
value: data,
|
|
26986
26948
|
boundaries: boundaryRef.current,
|
|
26987
26949
|
visemes: visemeRef.current || []
|
|
@@ -27006,13 +26968,13 @@ const $d31b268c3b702355$var$RetorikSpeech = ({ ponyfill: ponyfill, onEnd: onEnd,
|
|
|
27006
26968
|
};
|
|
27007
26969
|
const handleEnd = ()=>{
|
|
27008
26970
|
if (appAvailable || loaderClosed) {
|
|
27009
|
-
onEnd
|
|
26971
|
+
onEnd === null || onEnd === void 0 ? void 0 : onEnd();
|
|
27010
26972
|
resetData();
|
|
27011
26973
|
} else setLoaderClosed(true);
|
|
27012
26974
|
};
|
|
27013
26975
|
const handleError = (error)=>{
|
|
27014
|
-
console.log('
|
|
27015
|
-
onError
|
|
26976
|
+
console.log('Retorik Framework > speech synthesis error ', error);
|
|
26977
|
+
onError === null || onError === void 0 ? void 0 : onError();
|
|
27016
26978
|
resetData();
|
|
27017
26979
|
};
|
|
27018
26980
|
const handleEmptyTextUtterance = ()=>{
|
|
@@ -27027,7 +26989,7 @@ const $d31b268c3b702355$var$RetorikSpeech = ({ ponyfill: ponyfill, onEnd: onEnd,
|
|
|
27027
26989
|
* - play 1 second muted sound to prime audio output
|
|
27028
26990
|
* - MANDATORY FOR SAFARI IN VOCAL MODE
|
|
27029
26991
|
*/ const primeRetorikSpeech = ()=>{
|
|
27030
|
-
if (
|
|
26992
|
+
if (audioRef.current) {
|
|
27031
26993
|
audioRef.current.play().catch((e)=>console.warn(e));
|
|
27032
26994
|
(speechRecognitionAudioRef === null || speechRecognitionAudioRef === void 0 ? void 0 : speechRecognitionAudioRef.current) && speechRecognitionAudioRef.current.play().catch((e)=>console.warn(e));
|
|
27033
26995
|
// Send animation start event to secure animation not playing on safari if permissions are not sufficient
|
|
@@ -27038,13 +27000,6 @@ const $d31b268c3b702355$var$RetorikSpeech = ({ ponyfill: ponyfill, onEnd: onEnd,
|
|
|
27038
27000
|
* Play sound on speech recognition activation if it isn't disabled in configuration
|
|
27039
27001
|
*/ (0, $dWhh5$react.useEffect)(()=>{
|
|
27040
27002
|
var _speechRecognitionAudioRef_current;
|
|
27041
|
-
// if (
|
|
27042
|
-
// !!speechRecognitionOptions?.enableActivationSound &&
|
|
27043
|
-
// activeRecognitionState === RecognitionState.Listening
|
|
27044
|
-
// ) {
|
|
27045
|
-
// speechRecognitionAudioRef?.current &&
|
|
27046
|
-
// speechRecognitionAudioRef.current.play().catch((e) => console.warn(e))
|
|
27047
|
-
// }
|
|
27048
27003
|
if (useOldRemote) {
|
|
27049
27004
|
if (!!(speechRecognitionOptions === null || speechRecognitionOptions === void 0 ? void 0 : speechRecognitionOptions.enableActivationSound) && activeRecognitionState === (0, $7WHA7.RecognitionState).Listening) speechRecognitionAudioRef === null || speechRecognitionAudioRef === void 0 ? void 0 : (_speechRecognitionAudioRef_current = speechRecognitionAudioRef.current) === null || _speechRecognitionAudioRef_current === void 0 ? void 0 : _speechRecognitionAudioRef_current.play().catch((e)=>console.warn(e));
|
|
27050
27005
|
} else if (!!(speechRecognitionOptions === null || speechRecognitionOptions === void 0 ? void 0 : speechRecognitionOptions.enableActivationSound)) switch(activeRecognitionState){
|
|
@@ -27103,11 +27058,7 @@ var $d31b268c3b702355$export$2e2bcd8739ae039 = $d31b268c3b702355$var$RetorikSpee
|
|
|
27103
27058
|
|
|
27104
27059
|
const $ad561f5c61e38c20$var$SynthesisManager = ({ ponyfill: ponyfill, isRetorikNews: isRetorikNews })=>{
|
|
27105
27060
|
const cancel = (0, $jgaO0.useSpeechStore)((state)=>state.cancel);
|
|
27106
|
-
const streamingReplyToId = (0, $jgaO0.useSpeechStore)((state)=>state.streamingReplyToId);
|
|
27107
27061
|
const streamingQueue = (0, $jgaO0.useSpeechStore)((state)=>state.streamingQueue);
|
|
27108
|
-
const currentPlaying = (0, $jgaO0.useSpeechStore)((state)=>state.currentPlaying);
|
|
27109
|
-
const currentReplyToId = (0, $jgaO0.useSpeechStore)((state)=>state.currentReplyToId);
|
|
27110
|
-
const endedActivities = (0, $jgaO0.useSpeechStore)((state)=>state.endedActivities);
|
|
27111
27062
|
const voice = (0, $jgaO0.useSpeechStore)((state)=>state.voice);
|
|
27112
27063
|
const customVoice = (0, $jgaO0.useSpeechStore)((state)=>state.customVoice);
|
|
27113
27064
|
const activeRecognitionState = (0, $jgaO0.useSpeechStore)((state)=>state.activeRecognitionState);
|
|
@@ -27120,24 +27071,18 @@ const $ad561f5c61e38c20$var$SynthesisManager = ({ ponyfill: ponyfill, isRetorikN
|
|
|
27120
27071
|
const appAvailable = (0, $6EkQS.useRetorikStore)((state)=>state.appAvailable);
|
|
27121
27072
|
const preventExpectedInputHint = (0, $6EkQS.useRetorikStore)((state)=>state.configuration.preventExpectedInputHint);
|
|
27122
27073
|
const speechSynthesisOptions = (0, $6EkQS.useRetorikStore)((state)=>state.configuration.speechSynthesisOptions);
|
|
27123
|
-
const currentNewsActivity = (0, $7eio0.useUtilsStore)((state)=>state.currentNewsActivity);
|
|
27124
|
-
const lastBotActivity = (0, $e53vj.useActivityStore)((state)=>state.lastBotMessageActivity);
|
|
27125
27074
|
const checkReplacementLocale = (0, $6Q0mk.useLocaleStore)((state)=>state.actions.checkReplacementLocale);
|
|
27126
27075
|
const setRetorikNewsEnded = (0, $7eio0.useUtilsStore)((state)=>state.actions.setRetorikNewsEnded);
|
|
27127
|
-
const { resetCancelCurrentUtterance: resetCancelCurrentUtterance, setSpeaking: setSpeaking,
|
|
27076
|
+
const { setCurrentOrLastPlayedActivity: setCurrentOrLastPlayedActivity, resetCancelCurrentUtterance: resetCancelCurrentUtterance, setSpeaking: setSpeaking, setBoundaryData: setBoundaryData, removeFirstFromStreamingQueue: removeFirstFromStreamingQueue, killCurrentStreaming: killCurrentStreaming, askPermission: askPermission, toggleMicrophone: toggleMicrophone } = (0, $jgaO0.useSpeechStore)((state)=>state.actions);
|
|
27128
27077
|
const addEndedActivity = (0, $e53vj.useActivityStore)((state)=>state.actions.addEndedActivity);
|
|
27129
27078
|
const dispatchMarkActivity = (0, $6QoTL.useDirectlineStore)((state)=>state.actions.dispatchMarkActivity);
|
|
27079
|
+
const sendTrace = (0, $6be7f5aa73e32bf5$export$a15d15518a3ec33d)().sendTrace;
|
|
27130
27080
|
const [utterance, setUtterance] = (0, $dWhh5$react.useState)(null);
|
|
27131
27081
|
const [nextUtterance, setNextUtterance] = (0, $dWhh5$react.useState)(null);
|
|
27132
|
-
const cancelRef = (0, $dWhh5$react.useRef)(false);
|
|
27133
|
-
const isSpeaking = (0, $dWhh5$react.useRef)(false);
|
|
27134
27082
|
const isNewsViewRef = (0, $dWhh5$react.useRef)(!!isRetorikNews);
|
|
27135
27083
|
const lastListTextPlayedRef = (0, $dWhh5$react.useRef)('');
|
|
27136
|
-
const
|
|
27084
|
+
const streamingQueueRef = (0, $dWhh5$react.useRef)([]);
|
|
27137
27085
|
const currentActivityRef = (0, $dWhh5$react.useRef)(null);
|
|
27138
|
-
const currentPlayingRef = (0, $dWhh5$react.useRef)(null);
|
|
27139
|
-
const tempCurrentStreamingRef = (0, $dWhh5$react.useRef)(null);
|
|
27140
|
-
const streamingRelatedMessageRef = (0, $dWhh5$react.useRef)(null);
|
|
27141
27086
|
/**
|
|
27142
27087
|
* Check activity locale in case of voice change during the speech, to keep the language defined in activity
|
|
27143
27088
|
* instead of switching languages between answers that are written in the same language
|
|
@@ -27164,17 +27109,21 @@ const $ad561f5c61e38c20$var$SynthesisManager = ({ ponyfill: ponyfill, isRetorikN
|
|
|
27164
27109
|
return (0, $285c8810199513ef$export$f969af62bba9a48b)(params, speechSynthesisOptions === null || speechSynthesisOptions === void 0 ? void 0 : speechSynthesisOptions.sayAs);
|
|
27165
27110
|
};
|
|
27166
27111
|
const resetData = ()=>{
|
|
27167
|
-
|
|
27168
|
-
|
|
27169
|
-
|
|
27170
|
-
|
|
27171
|
-
|
|
27112
|
+
var // Set all activities currently in the queue as ended
|
|
27113
|
+
_streamingQueueRef_current;
|
|
27114
|
+
(_streamingQueueRef_current = streamingQueueRef.current) === null || _streamingQueueRef_current === void 0 ? void 0 : _streamingQueueRef_current.forEach((activity)=>{
|
|
27115
|
+
addEndedActivity(activity.id);
|
|
27116
|
+
});
|
|
27117
|
+
streamingQueueRef.current = [];
|
|
27118
|
+
killCurrentStreaming();
|
|
27119
|
+
currentActivityRef.current = null;
|
|
27172
27120
|
setUtterance(null);
|
|
27173
27121
|
setNextUtterance(null);
|
|
27174
27122
|
resetCancelCurrentUtterance();
|
|
27123
|
+
setSpeaking(false);
|
|
27124
|
+
setBoundaryData([]);
|
|
27175
27125
|
};
|
|
27176
|
-
const checkReplacementLocaleAndGetUtterance = (activity, checkReplacement = true
|
|
27177
|
-
setCurrent && (currentActivityRef.current = activity);
|
|
27126
|
+
const checkReplacementLocaleAndGetUtterance = (activity, checkReplacement = true)=>{
|
|
27178
27127
|
const replacementLocale = checkReplacement ? checkReplacementLocale(activity.locale || locale) : locale;
|
|
27179
27128
|
const params = {
|
|
27180
27129
|
activity: activity,
|
|
@@ -27183,176 +27132,39 @@ const $ad561f5c61e38c20$var$SynthesisManager = ({ ponyfill: ponyfill, isRetorikN
|
|
|
27183
27132
|
};
|
|
27184
27133
|
return checkActivityAndCreateUtterance(params);
|
|
27185
27134
|
};
|
|
27186
|
-
|
|
27135
|
+
/**
|
|
27136
|
+
* Check if the microphone can be opened automatically
|
|
27137
|
+
*/ const checkDictateState = ()=>{
|
|
27187
27138
|
if (!preventExpectedInputHint && mode === (0, $7WHA7.Mode).vocal && activeRecognitionState === (0, $7WHA7.RecognitionState).Closed) {
|
|
27188
27139
|
if (!isMicrophoneAllowed) askPermission();
|
|
27189
27140
|
else toggleMicrophone(true);
|
|
27190
27141
|
}
|
|
27191
27142
|
};
|
|
27192
|
-
(0, $dWhh5$react.useEffect)(()=>{
|
|
27193
|
-
if (isNewsViewRef.current) {
|
|
27194
|
-
if (currentNewsActivity) {
|
|
27195
|
-
setUtterance(checkReplacementLocaleAndGetUtterance(currentNewsActivity));
|
|
27196
|
-
isSpeaking.current = true;
|
|
27197
|
-
} else {
|
|
27198
|
-
setUtterance(null);
|
|
27199
|
-
isSpeaking.current = false;
|
|
27200
|
-
}
|
|
27201
|
-
}
|
|
27202
|
-
}, [
|
|
27203
|
-
currentNewsActivity,
|
|
27204
|
-
ponyfill
|
|
27205
|
-
]);
|
|
27206
27143
|
/**
|
|
27207
|
-
* On
|
|
27208
|
-
* - when we toggle from a view to another, we reset the data related to speech
|
|
27144
|
+
* On route change, reset all data and check if we are on the news view
|
|
27209
27145
|
*/ (0, $dWhh5$react.useEffect)(()=>{
|
|
27210
|
-
setSpeaking(false);
|
|
27211
|
-
setBoundaryData([]);
|
|
27212
|
-
const ended = [
|
|
27213
|
-
...endedActivities
|
|
27214
|
-
];
|
|
27215
|
-
if (currentPlaying) {
|
|
27216
|
-
// Add played activity id to context's endedActivities
|
|
27217
|
-
ended.length > 10 && ended.splice(0, 1);
|
|
27218
|
-
if (currentPlaying.id) {
|
|
27219
|
-
ended.push(currentPlaying.id);
|
|
27220
|
-
addEndedActivity(currentPlaying.id);
|
|
27221
|
-
}
|
|
27222
|
-
setEndedActivities(ended);
|
|
27223
|
-
}
|
|
27224
|
-
setCurrentPlaying(undefined);
|
|
27225
27146
|
resetData();
|
|
27226
27147
|
if (!isRetorikNews) isNewsViewRef.current = route === (0, $7WHA7.Routes).News;
|
|
27227
27148
|
}, [
|
|
27228
27149
|
route
|
|
27229
27150
|
]);
|
|
27230
27151
|
/**
|
|
27231
|
-
* On
|
|
27232
|
-
* - appAvailable is set to true after the user interacted with the loader and every needed element is loaded
|
|
27233
|
-
* - no utterance is created while appAvailable isn't true
|
|
27234
|
-
* - if during the waiting time, some activities were queued, when appAvailable comes to true, let's begin creating the utterances and playing them
|
|
27152
|
+
* On cancel call, reset all data and kill current streaming
|
|
27235
27153
|
*/ (0, $dWhh5$react.useEffect)(()=>{
|
|
27236
|
-
|
|
27237
|
-
if (appAvailable && ((_queuedActivitiesRef_current = queuedActivitiesRef.current) === null || _queuedActivitiesRef_current === void 0 ? void 0 : _queuedActivitiesRef_current.length)) {
|
|
27238
|
-
setUtterance(checkReplacementLocaleAndGetUtterance(queuedActivitiesRef.current[0]));
|
|
27239
|
-
queuedActivitiesRef.current.splice(0, 1);
|
|
27240
|
-
isSpeaking.current = true;
|
|
27241
|
-
}
|
|
27242
|
-
}, [
|
|
27243
|
-
appAvailable
|
|
27244
|
-
]);
|
|
27245
|
-
/**
|
|
27246
|
-
* On speechCancelStore's cancel state change :
|
|
27247
|
-
* - if there is currently no utterance being played, reset cancel state to false
|
|
27248
|
-
* - if an utterance is being played, set it to null to stop playing and prevent data in queue from being played
|
|
27249
|
-
* - setting an utterance to null will trigger the handleUtteranceEnded method automatically
|
|
27250
|
-
*/ (0, $dWhh5$react.useEffect)(()=>{
|
|
27251
|
-
cancelRef.current = cancel;
|
|
27252
|
-
if (cancel) {
|
|
27253
|
-
utterance ? setUtterance(null) : resetCancelCurrentUtterance();
|
|
27254
|
-
isSpeaking.current = false;
|
|
27255
|
-
setNextUtterance(null);
|
|
27256
|
-
killCurrentStreaming();
|
|
27257
|
-
}
|
|
27154
|
+
cancel && resetData();
|
|
27258
27155
|
}, [
|
|
27259
27156
|
cancel
|
|
27260
27157
|
]);
|
|
27261
27158
|
/**
|
|
27262
|
-
*
|
|
27263
|
-
* - if the activity doesn't have a replyToId value, put it in the queue (used for reminder process)
|
|
27264
|
-
* - if the app is not available yet, put the activity in the queue if it is not yet inside
|
|
27265
|
-
* - NB: an activity can be received once from the directline, but can be found several times in the activities in the botframework
|
|
27266
|
-
* this is because it is processed multiple times if there is something to speak (channelDate empty, then channelData with {speak: true})
|
|
27267
|
-
* - if an utterance is being played, process the new one (do nothing / put it in the queue / stop the current one and play the new one)
|
|
27268
|
-
* - if an utterance has to be created, create it and set the utterance state
|
|
27159
|
+
* Play external speech immediately but don't add it to the history
|
|
27269
27160
|
*/ (0, $dWhh5$react.useEffect)(()=>{
|
|
27270
|
-
if (voice && (lastBotActivity === null || lastBotActivity === void 0 ? void 0 : lastBotActivity.id)) {
|
|
27271
|
-
let createNewUtterance = false;
|
|
27272
|
-
if (!lastBotActivity.replyToId) {
|
|
27273
|
-
var _queuedActivitiesRef_current;
|
|
27274
|
-
if (isNewsViewRef.current) ;
|
|
27275
|
-
else if (currentPlaying || ((_queuedActivitiesRef_current = queuedActivitiesRef.current) === null || _queuedActivitiesRef_current === void 0 ? void 0 : _queuedActivitiesRef_current.length)) queuedActivitiesRef.current = [
|
|
27276
|
-
...queuedActivitiesRef.current,
|
|
27277
|
-
lastBotActivity
|
|
27278
|
-
];
|
|
27279
|
-
else if (endedActivities.length === 0 || endedActivities[endedActivities.length - 1] !== lastBotActivity.id) createNewUtterance = true;
|
|
27280
|
-
} else if (lastBotActivity.replyToId === streamingReplyToId) {
|
|
27281
|
-
var _lastBotActivity_value;
|
|
27282
|
-
if ((_lastBotActivity_value = lastBotActivity.value) === null || _lastBotActivity_value === void 0 ? void 0 : _lastBotActivity_value.streamingId) {
|
|
27283
|
-
setCurrentPlaying(lastBotActivity);
|
|
27284
|
-
currentPlayingRef.current = lastBotActivity;
|
|
27285
|
-
// Keep the message related to playing streaming activities to deal with when streaming is ended
|
|
27286
|
-
streamingRelatedMessageRef.current = lastBotActivity;
|
|
27287
|
-
} else queuedActivitiesRef.current = [
|
|
27288
|
-
...queuedActivitiesRef.current,
|
|
27289
|
-
lastBotActivity
|
|
27290
|
-
];
|
|
27291
|
-
} else if (!appAvailable) {
|
|
27292
|
-
if (!currentReplyToId) {
|
|
27293
|
-
setCurrentReplyToId(lastBotActivity.replyToId);
|
|
27294
|
-
queuedActivitiesRef.current = [
|
|
27295
|
-
lastBotActivity
|
|
27296
|
-
];
|
|
27297
|
-
} else {
|
|
27298
|
-
var _queuedActivitiesRef_current1;
|
|
27299
|
-
if (currentReplyToId === lastBotActivity.replyToId) {
|
|
27300
|
-
if (!((_queuedActivitiesRef_current1 = queuedActivitiesRef.current) === null || _queuedActivitiesRef_current1 === void 0 ? void 0 : _queuedActivitiesRef_current1.find((act)=>act.id === lastBotActivity.id))) queuedActivitiesRef.current = [
|
|
27301
|
-
...queuedActivitiesRef.current,
|
|
27302
|
-
lastBotActivity
|
|
27303
|
-
];
|
|
27304
|
-
} else {
|
|
27305
|
-
setCurrentReplyToId(lastBotActivity.replyToId);
|
|
27306
|
-
queuedActivitiesRef.current = [
|
|
27307
|
-
lastBotActivity
|
|
27308
|
-
];
|
|
27309
|
-
}
|
|
27310
|
-
}
|
|
27311
|
-
} else if (currentActivityRef === null || currentActivityRef === void 0 ? void 0 : currentActivityRef.current) switch((0, $549323f244f4782c$export$2e2bcd8739ae039)(lastBotActivity, currentActivityRef.current, currentReplyToId, queuedActivitiesRef.current, endedActivities)){
|
|
27312
|
-
case 0:
|
|
27313
|
-
break;
|
|
27314
|
-
case 1:
|
|
27315
|
-
// Add the activity to the queue
|
|
27316
|
-
queuedActivitiesRef.current.push(lastBotActivity);
|
|
27317
|
-
break;
|
|
27318
|
-
case 2:
|
|
27319
|
-
// Stop current activity and play the new one
|
|
27320
|
-
queuedActivitiesRef.current = [];
|
|
27321
|
-
createNewUtterance = true;
|
|
27322
|
-
break;
|
|
27323
|
-
}
|
|
27324
|
-
else createNewUtterance = !endedActivities.includes(lastBotActivity.id);
|
|
27325
|
-
if (createNewUtterance) {
|
|
27326
|
-
setCurrentReplyToId(lastBotActivity.replyToId || 'customReplyToIdIfNotPresent');
|
|
27327
|
-
setUtterance(checkReplacementLocaleAndGetUtterance(lastBotActivity));
|
|
27328
|
-
isSpeaking.current = true;
|
|
27329
|
-
}
|
|
27330
|
-
}
|
|
27331
|
-
}, [
|
|
27332
|
-
lastBotActivity,
|
|
27333
|
-
ponyfill,
|
|
27334
|
-
voice
|
|
27335
|
-
]);
|
|
27336
|
-
(0, $dWhh5$react.useEffect)(()=>{
|
|
27337
|
-
if (streamingReplyToId && streamingQueue.length) {
|
|
27338
|
-
setUtterance(checkReplacementLocaleAndGetUtterance(streamingQueue[0], false, false));
|
|
27339
|
-
isSpeaking.current = true;
|
|
27340
|
-
setCurrentPlaying(undefined);
|
|
27341
|
-
currentPlayingRef.current = null;
|
|
27342
|
-
currentActivityRef.current = null;
|
|
27343
|
-
tempCurrentStreamingRef.current = streamingQueue[0].text || null;
|
|
27344
|
-
removeFirstFromStreamingQueue();
|
|
27345
|
-
}
|
|
27346
|
-
}, [
|
|
27347
|
-
streamingReplyToId
|
|
27348
|
-
]);
|
|
27349
|
-
(0, $dWhh5$react.useEffect)(()=>{
|
|
27350
27161
|
if (externalTextToSpeech) {
|
|
27351
|
-
|
|
27162
|
+
const activity = {
|
|
27352
27163
|
speak: externalTextToSpeech,
|
|
27353
27164
|
locale: locale
|
|
27354
|
-
}
|
|
27355
|
-
|
|
27165
|
+
};
|
|
27166
|
+
currentActivityRef.current = activity;
|
|
27167
|
+
setUtterance(checkReplacementLocaleAndGetUtterance(activity, false));
|
|
27356
27168
|
}
|
|
27357
27169
|
}, [
|
|
27358
27170
|
externalTextToSpeech
|
|
@@ -27362,93 +27174,88 @@ const $ad561f5c61e38c20$var$SynthesisManager = ({ ponyfill: ponyfill, isRetorikN
|
|
|
27362
27174
|
document.dispatchEvent(speechEvent);
|
|
27363
27175
|
};
|
|
27364
27176
|
/**
|
|
27365
|
-
*
|
|
27366
|
-
* - set speaking state to true
|
|
27367
|
-
* - clear timerref timeout
|
|
27368
|
-
* - set currentPlaying and currentReplyToId states after a small delay to prevent make sure that the display will happen after the speech has begun
|
|
27177
|
+
* Called when utterance's "start" event is fired
|
|
27369
27178
|
*/ const handleUtteranceStart = ()=>{
|
|
27179
|
+
var _currentActivityRef_current, _currentActivityRef_current1, _currentActivityRef_current2, _streamingQueueRef_current__value;
|
|
27180
|
+
sendTrace((0, $7WHA7.TraceType).utteranceStart, {
|
|
27181
|
+
activityId: (_currentActivityRef_current = currentActivityRef.current) === null || _currentActivityRef_current === void 0 ? void 0 : _currentActivityRef_current.id,
|
|
27182
|
+
text: ((_currentActivityRef_current1 = currentActivityRef.current) === null || _currentActivityRef_current1 === void 0 ? void 0 : _currentActivityRef_current1.speak) || ((_currentActivityRef_current2 = currentActivityRef.current) === null || _currentActivityRef_current2 === void 0 ? void 0 : _currentActivityRef_current2.text)
|
|
27183
|
+
});
|
|
27370
27184
|
setSpeaking(true);
|
|
27371
27185
|
if (!isNewsViewRef.current && (currentActivityRef === null || currentActivityRef === void 0 ? void 0 : currentActivityRef.current)) {
|
|
27372
|
-
|
|
27373
|
-
currentPlayingRef.current = currentActivityRef.current;
|
|
27186
|
+
setCurrentOrLastPlayedActivity(currentActivityRef.current);
|
|
27374
27187
|
currentActivityRef.current.id && dispatchMarkActivity(currentActivityRef.current.id, true);
|
|
27375
27188
|
}
|
|
27376
27189
|
dispatchSpeechEvent(true);
|
|
27377
27190
|
// Set next utterance to prepare synthesis data in order to improve fluidity
|
|
27378
|
-
if (
|
|
27379
|
-
const
|
|
27380
|
-
|
|
27381
|
-
const tempUtterance = checkReplacementLocaleAndGetUtterance(streamingQueue[0], false, false);
|
|
27382
|
-
tempUtterance.text !== (nextUtterance === null || nextUtterance === void 0 ? void 0 : nextUtterance.text) ? setNextUtterance(tempUtterance) : setNextUtterance(null);
|
|
27383
|
-
} else setNextUtterance(null);
|
|
27191
|
+
if (streamingQueueRef.current.length && !((_streamingQueueRef_current__value = streamingQueueRef.current[0].value) === null || _streamingQueueRef_current__value === void 0 ? void 0 : _streamingQueueRef_current__value.streamingCount)) {
|
|
27192
|
+
const utt = checkReplacementLocaleAndGetUtterance(streamingQueueRef.current[0], false);
|
|
27193
|
+
setNextUtterance((current)=>utt.text === (current === null || current === void 0 ? void 0 : current.text) ? null : utt);
|
|
27384
27194
|
} else setNextUtterance(null);
|
|
27385
|
-
setCurrentStreaming(tempCurrentStreamingRef === null || tempCurrentStreamingRef === void 0 ? void 0 : tempCurrentStreamingRef.current);
|
|
27386
27195
|
};
|
|
27387
|
-
|
|
27196
|
+
/**
|
|
27197
|
+
* Called when utterance's "end" event is fired
|
|
27198
|
+
*/ const handleUtteranceEnd = ()=>{
|
|
27199
|
+
var _currentActivityRef_current;
|
|
27200
|
+
sendTrace((0, $7WHA7.TraceType).utteranceEnd, {
|
|
27201
|
+
activityId: (_currentActivityRef_current = currentActivityRef.current) === null || _currentActivityRef_current === void 0 ? void 0 : _currentActivityRef_current.id
|
|
27202
|
+
});
|
|
27388
27203
|
setSpeaking(false);
|
|
27389
27204
|
dispatchSpeechEvent(false);
|
|
27390
|
-
if (isNewsViewRef.current)
|
|
27391
|
-
|
|
27392
|
-
|
|
27205
|
+
if (isNewsViewRef.current) {
|
|
27206
|
+
setRetorikNewsEnded(true);
|
|
27207
|
+
currentActivityRef.current = null;
|
|
27208
|
+
} else handleEnded();
|
|
27393
27209
|
};
|
|
27394
|
-
|
|
27395
|
-
|
|
27396
|
-
|
|
27397
|
-
|
|
27398
|
-
|
|
27399
|
-
|
|
27400
|
-
*/ const handleEnded = ()=>{
|
|
27401
|
-
let futureUtterance = null;
|
|
27402
|
-
if (currentPlayingRef === null || currentPlayingRef === void 0 ? void 0 : currentPlayingRef.current) // Add played activity id to context's endedActivities
|
|
27403
|
-
{
|
|
27404
|
-
if (currentPlayingRef.current.id) {
|
|
27405
|
-
addEndedActivity(currentPlayingRef.current.id);
|
|
27406
|
-
dispatchMarkActivity(currentPlayingRef.current.id, false);
|
|
27407
|
-
}
|
|
27210
|
+
const handleEnded = ()=>{
|
|
27211
|
+
var _currentActivityRef_current, _streamingQueueRef_current;
|
|
27212
|
+
// Add played activity id to context's endedActivities
|
|
27213
|
+
if ((_currentActivityRef_current = currentActivityRef.current) === null || _currentActivityRef_current === void 0 ? void 0 : _currentActivityRef_current.id) {
|
|
27214
|
+
addEndedActivity(currentActivityRef.current.id);
|
|
27215
|
+
dispatchMarkActivity(currentActivityRef.current.id, false);
|
|
27408
27216
|
}
|
|
27409
|
-
|
|
27410
|
-
|
|
27411
|
-
|
|
27412
|
-
|
|
27413
|
-
|
|
27414
|
-
|
|
27415
|
-
|
|
27416
|
-
|
|
27417
|
-
|
|
27418
|
-
|
|
27419
|
-
|
|
27420
|
-
|
|
27421
|
-
|
|
27422
|
-
|
|
27423
|
-
|
|
27217
|
+
if ((_streamingQueueRef_current = streamingQueueRef.current) === null || _streamingQueueRef_current === void 0 ? void 0 : _streamingQueueRef_current.length) {
|
|
27218
|
+
var _streamingQueueRef_current__value;
|
|
27219
|
+
// Check if this is the message sent after streaming activities
|
|
27220
|
+
if ((_streamingQueueRef_current__value = streamingQueueRef.current[0].value) === null || _streamingQueueRef_current__value === void 0 ? void 0 : _streamingQueueRef_current__value.streamingCount) {
|
|
27221
|
+
var _streamingQueueRef_current1;
|
|
27222
|
+
addEndedActivity(streamingQueueRef.current[0].id);
|
|
27223
|
+
// If there is another activity after this message, play it. If not, let's check if the microphone should be opened
|
|
27224
|
+
if (((_streamingQueueRef_current1 = streamingQueueRef.current) === null || _streamingQueueRef_current1 === void 0 ? void 0 : _streamingQueueRef_current1.length) > 1) {
|
|
27225
|
+
const utt = checkReplacementLocaleAndGetUtterance(streamingQueueRef.current[1]);
|
|
27226
|
+
currentActivityRef.current = streamingQueueRef.current[1];
|
|
27227
|
+
setUtterance(utt);
|
|
27228
|
+
removeFirstFromStreamingQueue(true);
|
|
27229
|
+
} else {
|
|
27230
|
+
streamingQueueRef.current[0].inputHint === 'expectingInput' && checkDictateState();
|
|
27231
|
+
currentActivityRef.current = null;
|
|
27232
|
+
setUtterance(null);
|
|
27233
|
+
setNextUtterance(null);
|
|
27234
|
+
removeFirstFromStreamingQueue();
|
|
27424
27235
|
}
|
|
27425
|
-
} else
|
|
27426
|
-
|
|
27427
|
-
|
|
27428
|
-
|
|
27429
|
-
|
|
27430
|
-
}
|
|
27236
|
+
} else {
|
|
27237
|
+
const utt = checkReplacementLocaleAndGetUtterance(streamingQueueRef.current[0]);
|
|
27238
|
+
currentActivityRef.current = streamingQueueRef.current[0];
|
|
27239
|
+
setUtterance(utt);
|
|
27240
|
+
removeFirstFromStreamingQueue();
|
|
27241
|
+
}
|
|
27242
|
+
} else {
|
|
27243
|
+
var _currentActivityRef_current1;
|
|
27244
|
+
((_currentActivityRef_current1 = currentActivityRef.current) === null || _currentActivityRef_current1 === void 0 ? void 0 : _currentActivityRef_current1.inputHint) === 'expectingInput' && checkDictateState();
|
|
27245
|
+
currentActivityRef.current = null;
|
|
27246
|
+
setUtterance(null);
|
|
27247
|
+
setNextUtterance(null);
|
|
27431
27248
|
}
|
|
27432
|
-
currentPlayingRef.current = null;
|
|
27433
|
-
setUtterance(futureUtterance);
|
|
27434
|
-
isSpeaking.current = !!futureUtterance;
|
|
27435
27249
|
};
|
|
27436
27250
|
/**
|
|
27437
|
-
*
|
|
27251
|
+
* Wait for app loading and voice selection to begin playing speech
|
|
27438
27252
|
*/ (0, $dWhh5$react.useEffect)(()=>{
|
|
27439
|
-
|
|
27440
|
-
|
|
27441
|
-
|
|
27442
|
-
if (streamingQueue.length) {
|
|
27443
|
-
futureUtterance = checkReplacementLocaleAndGetUtterance(streamingQueue[0], false, false);
|
|
27444
|
-
tempCurrentStreamingRef.current = streamingQueue[0].text || null;
|
|
27445
|
-
removeFirstFromStreamingQueue();
|
|
27446
|
-
}
|
|
27447
|
-
currentPlayingRef.current = null;
|
|
27448
|
-
setUtterance(futureUtterance);
|
|
27449
|
-
isSpeaking.current = !!futureUtterance;
|
|
27450
|
-
}
|
|
27253
|
+
// Set ref from the state to use in events
|
|
27254
|
+
streamingQueueRef.current = streamingQueue;
|
|
27255
|
+
if (appAvailable && voice && streamingQueue.length && !currentActivityRef.current) handleEnded();
|
|
27451
27256
|
}, [
|
|
27257
|
+
appAvailable,
|
|
27258
|
+
voice,
|
|
27452
27259
|
streamingQueue
|
|
27453
27260
|
]);
|
|
27454
27261
|
return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $d31b268c3b702355$export$2e2bcd8739ae039), {
|
|
@@ -27966,8 +27773,7 @@ const $4b02e31a53a4d2e7$var$typingTimer = 2000;
|
|
|
27966
27773
|
const $4b02e31a53a4d2e7$var$SendTypingIndicator = ({ isRetorikNews: isRetorikNews })=>{
|
|
27967
27774
|
const speaking = (0, $jgaO0.useSpeechStore)((state)=>state.speaking);
|
|
27968
27775
|
const streamingQueue = (0, $jgaO0.useSpeechStore)((state)=>state.streamingQueue);
|
|
27969
|
-
const
|
|
27970
|
-
const lastRecognitionInterim = (0, $jgaO0.useSpeechStore)((state)=>state.lastRecognitionInterim);
|
|
27776
|
+
const activeRecognitionState = (0, $jgaO0.useSpeechStore)((state)=>state.activeRecognitionState);
|
|
27971
27777
|
const route = (0, $kUiCn.useViewStore)((state)=>state.route);
|
|
27972
27778
|
const loaderClosed = (0, $6EkQS.useRetorikStore)((state)=>state.loaderClosed);
|
|
27973
27779
|
const appAvailable = (0, $6EkQS.useRetorikStore)((state)=>state.appAvailable);
|
|
@@ -27980,17 +27786,24 @@ const $4b02e31a53a4d2e7$var$SendTypingIndicator = ({ isRetorikNews: isRetorikNew
|
|
|
27980
27786
|
const sendTyping = (0, $6QoTL.useDirectlineStore)((state)=>state.actions.sendTyping);
|
|
27981
27787
|
const dataRef = (0, $dWhh5$react.useRef)(false);
|
|
27982
27788
|
(0, $dWhh5$react.useEffect)(()=>{
|
|
27789
|
+
// Don't send typing activity when we are receiving streaming events
|
|
27790
|
+
const isReceivingStreamingData = !!streamingQueue.length && !!streamingQueue.find((activity)=>{
|
|
27791
|
+
var _activity_name;
|
|
27792
|
+
return ((_activity_name = activity.name) === null || _activity_name === void 0 ? void 0 : _activity_name.toLowerCase()) === 'davi.streammessageactivity';
|
|
27793
|
+
}) && !streamingQueue.find((activity)=>{
|
|
27794
|
+
var _activity_value;
|
|
27795
|
+
return (_activity_value = activity.value) === null || _activity_value === void 0 ? void 0 : _activity_value.streamingCount;
|
|
27796
|
+
});
|
|
27983
27797
|
dataRef.current = !isWaitingForResponse && // Don't send typing activity when we are receiving streaming events
|
|
27984
|
-
!
|
|
27798
|
+
!isReceivingStreamingData && (!loaderClosed || activeRecognitionState !== (0, $7WHA7.RecognitionState).Closed || userIsTyping || userIsSwiping || speaking || currentSubView !== (0, $7WHA7.CurrentSubView).none || route === (0, $7WHA7.Routes).News || retorikEvent === (0, $7WHA7.RetorikEvent).DetailViewOpen || listStatus === (0, $7WHA7.ListStatus).opened);
|
|
27985
27799
|
}, [
|
|
27986
27800
|
appAvailable,
|
|
27987
27801
|
loaderClosed,
|
|
27988
|
-
|
|
27802
|
+
activeRecognitionState,
|
|
27989
27803
|
userIsTyping,
|
|
27990
27804
|
userIsSwiping,
|
|
27991
27805
|
speaking,
|
|
27992
27806
|
streamingQueue,
|
|
27993
|
-
streamingQueueFullLength,
|
|
27994
27807
|
currentSubView,
|
|
27995
27808
|
route,
|
|
27996
27809
|
retorikEvent,
|
|
@@ -28277,7 +28090,7 @@ const $8f73b7a6f73661a7$var$ChatbotAndSubtitlesContainer = ({ centered: centered
|
|
|
28277
28090
|
children: [
|
|
28278
28091
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
|
|
28279
28092
|
id: "retorik-animation-container",
|
|
28280
|
-
className: `rf-relative rf-z-agent rf-col-start-1 rf-col-end-9 ${!centered && 'landscape-retorik
|
|
28093
|
+
className: `rf-relative rf-z-agent rf-col-start-1 rf-col-end-9 ${!centered && 'landscape-retorik:-rf-translate-x-1/4'} rf-row-span-full rf-self-end rf-h-full`,
|
|
28281
28094
|
style: {
|
|
28282
28095
|
visibility: visible ? 'visible' : 'hidden',
|
|
28283
28096
|
gridRow: `${gridRowStart} / span ${gridRowSpan}`
|
|
@@ -28762,7 +28575,6 @@ var $6FBQK = parcelRequire("6FBQK");
|
|
|
28762
28575
|
|
|
28763
28576
|
const $5f80e5f73a172bb5$var$LayoutHandler = (props)=>{
|
|
28764
28577
|
var _props_widgetConfig, _props_widgetConfig_button, _props_widgetConfig1, _props_widgetConfig_button_text, _props_widgetConfig_button1, _props_widgetConfig2, _props_widgetConfig_button_background, _props_widgetConfig_button2, _props_widgetConfig3, _props_widgetConfig_button_border, _props_widgetConfig_button3, _props_widgetConfig4, _props_widgetConfig_button_border1, _props_widgetConfig_button4, _props_widgetConfig5, _props_widgetConfig_button_border2, _props_widgetConfig_button5, _props_widgetConfig6, _props_widgetConfig_button_position, _props_widgetConfig_button6, _props_widgetConfig7, _props_widgetConfig_button_position1, _props_widgetConfig_button7, _props_widgetConfig8, _props_widgetConfig_button_position2, _props_widgetConfig_button8, _props_widgetConfig9, _props_widgetConfig_button_position3, _props_widgetConfig_button9, _props_widgetConfig10, _props_widgetConfig_button_position4, _props_widgetConfig_button10, _props_widgetConfig11, _props_widgetConfig_button_position5, _props_widgetConfig_button11, _props_widgetConfig12, _props_widgetConfig_button_position6, _props_widgetConfig_button12, _props_widgetConfig13, _props_widgetConfig_button_position7, _props_widgetConfig_button13, _props_widgetConfig14, _props_widgetConfig_button_position8, _props_widgetConfig_button14, _props_widgetConfig15, _props_widgetConfig_button_position9, _props_widgetConfig_button15, _props_widgetConfig16, _props_widgetConfig_button_position10, _props_widgetConfig_button16, _props_widgetConfig17, _props_widgetConfig_button_position11, _props_widgetConfig_button17, _props_widgetConfig18, _props_widgetConfig_button_image, _props_widgetConfig_button18, _props_widgetConfig19, _props_widgetConfig_button_image1, _props_widgetConfig_button19, _props_widgetConfig20, _props_widgetConfig_button20, _props_widgetConfig21, _props_widgetConfig_button21, _props_widgetConfig22, _props_widgetConfig_button_text1, _props_widgetConfig_button22, _props_widgetConfig23, _props_widgetConfig_button_text2, _props_widgetConfig_button23, _props_widgetConfig24, _props_widgetConfig_button_image2, _props_widgetConfig_button24, _props_widgetConfig25, _props_widgetConfig_button_image3, _props_widgetConfig_button25, _props_widgetConfig26, _props_widgetConfig_button26, _props_widgetConfig27, _props_widgetConfig_button27, _props_widgetConfig28;
|
|
28765
|
-
const isRTL = (0, $6Q0mk.useLocaleStore)((state)=>state.isRTL);
|
|
28766
28578
|
const translation = (0, $6Q0mk.useLocaleStore)((state)=>state.currentTranslations);
|
|
28767
28579
|
const currentLayout = (0, $6EkQS.useRetorikStore)((state)=>state.currentLayout);
|
|
28768
28580
|
const displayChangeLayoutButton = (0, $6EkQS.useRetorikStore)((state)=>state.configuration).allowSwitchLayout;
|
|
@@ -28870,7 +28682,6 @@ const $5f80e5f73a172bb5$var$LayoutHandler = (props)=>{
|
|
|
28870
28682
|
]
|
|
28871
28683
|
}),
|
|
28872
28684
|
loaded && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
|
|
28873
|
-
dir: isRTL ? 'rtl' : 'ltr',
|
|
28874
28685
|
className: `${currentLayout === (0, $7WHA7.ContainerParent).widget ? 'rf-fixed rf-pt-8 rf-height-fill-available rf-transition-all rf-overflow-hidden rf-max-w-[100vw]' : ''}`,
|
|
28875
28686
|
style: currentLayout === (0, $7WHA7.ContainerParent).widget ? {
|
|
28876
28687
|
...frameStyle,
|
|
@@ -28894,7 +28705,7 @@ const $5f80e5f73a172bb5$var$LayoutHandler = (props)=>{
|
|
|
28894
28705
|
/*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("button", {
|
|
28895
28706
|
onClick: toggleWidget,
|
|
28896
28707
|
"aria-label": "Close",
|
|
28897
|
-
className: "rf-absolute rf-z-exitwidget rf-flex
|
|
28708
|
+
className: "rf-absolute rf-z-exitwidget rf-flex rf-right-0 rf-top-0 rf-p-1 rf-bg-truewhite rf-border rf-border-trueblack rf-rounded-lg",
|
|
28898
28709
|
children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $6FBQK.default), {
|
|
28899
28710
|
className: "rf-h-4 rf-w-4",
|
|
28900
28711
|
color: "#000000"
|