@davi-ai/retorik-framework 3.2.5 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AttachmentDetail.0a576bf3.js → AttachmentDetail.37a709af.js} +160 -174
- package/dist/AttachmentDetail.37a709af.js.map +1 -0
- package/dist/{AttachmentDetail.c4286a45.js → AttachmentDetail.53ba969a.js} +159 -173
- package/dist/AttachmentDetail.53ba969a.js.map +1 -0
- package/dist/{CustomView.913a9f32.js → CustomView.9930c671.js} +16 -20
- package/dist/CustomView.9930c671.js.map +1 -0
- package/dist/{CustomView.edf84de1.js → CustomView.bf84bdf3.js} +16 -20
- package/dist/CustomView.bf84bdf3.js.map +1 -0
- package/dist/{Emergency.0cf005ce.js → Emergency.1e63c85f.js} +38 -30
- package/dist/Emergency.1e63c85f.js.map +1 -0
- package/dist/{Emergency.897ee3c7.js → Emergency.89b4d9ed.js} +37 -29
- package/dist/Emergency.89b4d9ed.js.map +1 -0
- package/dist/{FullScreenImage.9a9b978e.js → FullScreenImage.17df27bf.js} +11 -18
- package/dist/FullScreenImage.17df27bf.js.map +1 -0
- package/dist/{FullScreenImage.1fe27198.js → FullScreenImage.99e19e10.js} +11 -18
- package/dist/FullScreenImage.99e19e10.js.map +1 -0
- package/dist/{HistoryList.4c303dc6.js → HistoryList.3b4b1ffb.js} +35 -36
- package/dist/HistoryList.3b4b1ffb.js.map +1 -0
- package/dist/{HistoryList.03a56119.js → HistoryList.e5c01f21.js} +35 -36
- package/dist/HistoryList.e5c01f21.js.map +1 -0
- package/dist/LanguageChoice.1d866cfa.js +119 -0
- package/dist/LanguageChoice.1d866cfa.js.map +1 -0
- package/dist/LanguageChoice.cce361a3.js +128 -0
- package/dist/LanguageChoice.cce361a3.js.map +1 -0
- package/dist/{LittleWeatherContainer.07937cf3.js → LittleWeatherContainer.7e41105e.js} +3 -3
- package/dist/LittleWeatherContainer.7e41105e.js.map +1 -0
- package/dist/{LittleWeatherContainer.d27a6b8a.js → LittleWeatherContainer.ee087e22.js} +3 -3
- package/dist/LittleWeatherContainer.ee087e22.js.map +1 -0
- package/dist/MapContainer.14c28128.js +117 -0
- package/dist/MapContainer.14c28128.js.map +1 -0
- package/dist/MapContainer.f22ad81f.js +104 -0
- package/dist/MapContainer.f22ad81f.js.map +1 -0
- package/dist/{NewsContainer.a91d9131.js → NewsContainer.c0a24775.js} +84 -88
- package/dist/NewsContainer.c0a24775.js.map +1 -0
- package/dist/{NewsContainer.f0d2ee9c.js → NewsContainer.c3331d80.js} +79 -83
- package/dist/NewsContainer.c3331d80.js.map +1 -0
- package/dist/PrintingPreview.5351c733.js +147 -0
- package/dist/PrintingPreview.5351c733.js.map +1 -0
- package/dist/PrintingPreview.6d70355b.js +138 -0
- package/dist/PrintingPreview.6d70355b.js.map +1 -0
- package/dist/{SpiritEngineWrapper.1d8db53d.js → SpiritEngineWrapper.21ea10d4.js} +8 -7
- package/dist/SpiritEngineWrapper.21ea10d4.js.map +1 -0
- package/dist/{SpiritEngineWrapper.27e9c120.js → SpiritEngineWrapper.39627300.js} +8 -7
- package/dist/SpiritEngineWrapper.39627300.js.map +1 -0
- package/dist/{ThreeJsWrapper.09c689b8.js → ThreeJsWrapper.8f15a85b.js} +13 -16
- package/dist/ThreeJsWrapper.8f15a85b.js.map +1 -0
- package/dist/{ThreeJsWrapper.7918143f.js → ThreeJsWrapper.a46ee0e9.js} +13 -16
- package/dist/ThreeJsWrapper.a46ee0e9.js.map +1 -0
- package/dist/VeilleManager.443b366e.js +569 -0
- package/dist/VeilleManager.443b366e.js.map +1 -0
- package/dist/VeilleManager.d8bde1ee.js +550 -0
- package/dist/VeilleManager.d8bde1ee.js.map +1 -0
- package/dist/{Weather.99917b66.js → Weather.bb414852.js} +73 -117
- package/dist/Weather.bb414852.js.map +1 -0
- package/dist/{Weather.cf58823d.js → Weather.ced9b467.js} +70 -115
- package/dist/Weather.ced9b467.js.map +1 -0
- package/dist/index.d.ts +401 -366
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +47604 -19604
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +43539 -15580
- package/dist/index.modern.js.map +1 -1
- package/package.json +10 -10
- package/README.md +0 -6
- package/dist/AttachmentDetail.0a576bf3.js.map +0 -1
- package/dist/AttachmentDetail.c4286a45.js.map +0 -1
- package/dist/CustomView.913a9f32.js.map +0 -1
- package/dist/CustomView.edf84de1.js.map +0 -1
- package/dist/Emergency.0cf005ce.js.map +0 -1
- package/dist/Emergency.897ee3c7.js.map +0 -1
- package/dist/FullScreenImage.1fe27198.js.map +0 -1
- package/dist/FullScreenImage.9a9b978e.js.map +0 -1
- package/dist/HistoryList.03a56119.js.map +0 -1
- package/dist/HistoryList.4c303dc6.js.map +0 -1
- package/dist/LanguageChoice.623ee802.js +0 -113
- package/dist/LanguageChoice.623ee802.js.map +0 -1
- package/dist/LanguageChoice.ff0cd04c.js +0 -122
- package/dist/LanguageChoice.ff0cd04c.js.map +0 -1
- package/dist/LittleWeatherContainer.07937cf3.js.map +0 -1
- package/dist/LittleWeatherContainer.d27a6b8a.js.map +0 -1
- package/dist/NewsContainer.a91d9131.js.map +0 -1
- package/dist/NewsContainer.f0d2ee9c.js.map +0 -1
- package/dist/SpiritEngineWrapper.1d8db53d.js.map +0 -1
- package/dist/SpiritEngineWrapper.27e9c120.js.map +0 -1
- package/dist/ThreeJsWrapper.09c689b8.js.map +0 -1
- package/dist/ThreeJsWrapper.7918143f.js.map +0 -1
- package/dist/Weather.99917b66.js.map +0 -1
- package/dist/Weather.cf58823d.js.map +0 -1
|
@@ -0,0 +1,569 @@
|
|
|
1
|
+
var $ehKZo$reactjsxruntime = require("react/jsx-runtime");
|
|
2
|
+
var $ehKZo$react = require("react");
|
|
3
|
+
var $ehKZo$reactspringweb = require("@react-spring/web");
|
|
4
|
+
var $ehKZo$reactredux = require("react-redux");
|
|
5
|
+
var $ehKZo$mediapipetasksvision = require("@mediapipe/tasks-vision");
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
function $parcel$interopDefault(a) {
|
|
9
|
+
return a && a.__esModule ? a.default : a;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function $parcel$defineInteropFlag(a) {
|
|
13
|
+
Object.defineProperty(a, '__esModule', {value: true, configurable: true});
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function $parcel$export(e, n, v, s) {
|
|
17
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
var $parcel$global =
|
|
21
|
+
typeof globalThis !== 'undefined'
|
|
22
|
+
? globalThis
|
|
23
|
+
: typeof self !== 'undefined'
|
|
24
|
+
? self
|
|
25
|
+
: typeof window !== 'undefined'
|
|
26
|
+
? window
|
|
27
|
+
: typeof global !== 'undefined'
|
|
28
|
+
? global
|
|
29
|
+
: {};
|
|
30
|
+
var parcelRequire = $parcel$global["parcelRequirea39d"];
|
|
31
|
+
var parcelRegister = parcelRequire.register;
|
|
32
|
+
parcelRegister("jtgpJ", function(module, exports) {
|
|
33
|
+
|
|
34
|
+
$parcel$defineInteropFlag(module.exports);
|
|
35
|
+
|
|
36
|
+
$parcel$export(module.exports, "default", () => $167bfc94e5487988$export$2e2bcd8739ae039);
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
var $kpW3P = parcelRequire("kpW3P");
|
|
43
|
+
|
|
44
|
+
var $7WHA7 = parcelRequire("7WHA7");
|
|
45
|
+
|
|
46
|
+
var $2sSL9 = parcelRequire("2sSL9");
|
|
47
|
+
|
|
48
|
+
var $kL6vX = parcelRequire("kL6vX");
|
|
49
|
+
|
|
50
|
+
var $8sMtK = parcelRequire("8sMtK");
|
|
51
|
+
|
|
52
|
+
var $8KeRZ = parcelRequire("8KeRZ");
|
|
53
|
+
|
|
54
|
+
var $9x9Q9 = parcelRequire("9x9Q9");
|
|
55
|
+
|
|
56
|
+
var $G07Rs = parcelRequire("G07Rs");
|
|
57
|
+
const $167bfc94e5487988$var$springDuration = 500;
|
|
58
|
+
const $167bfc94e5487988$var$veilleRelatedRoutes = [
|
|
59
|
+
(0, $7WHA7.Routes).EmptyVeille,
|
|
60
|
+
(0, $7WHA7.Routes).NewsInVeille,
|
|
61
|
+
(0, $7WHA7.Routes).ScreenSaver,
|
|
62
|
+
(0, $7WHA7.Routes).SlideShow
|
|
63
|
+
];
|
|
64
|
+
const $167bfc94e5487988$var$VeilleManager = ()=>{
|
|
65
|
+
var _veilleConfiguration_views_screenSaver, _veilleConfiguration_views, _veilleConfiguration_views_screenSaver1, _veilleConfiguration_views1, _veilleConfiguration_views_slideShow, _veilleConfiguration_views2, _veilleConfiguration_views_slideShow1, _veilleConfiguration_views3;
|
|
66
|
+
const dispatch = (0, $ehKZo$reactredux.useDispatch)();
|
|
67
|
+
const addressData = (0, $ehKZo$reactredux.useSelector)((state)=>state.retorikReducer.addressData);
|
|
68
|
+
const loaderClosed = (0, $ehKZo$reactredux.useSelector)((state)=>state.retorikReducer.loaderClosed);
|
|
69
|
+
const appAvailable = (0, $ehKZo$reactredux.useSelector)((state)=>state.retorikReducer.appAvailable);
|
|
70
|
+
const route = (0, $ehKZo$reactredux.useSelector)((state)=>state.viewReducer.route);
|
|
71
|
+
const veilleConfiguration = (0, $ehKZo$reactredux.useSelector)((state)=>state.viewReducer.veilleConfiguration);
|
|
72
|
+
const muted = (0, $ehKZo$reactredux.useSelector)((state)=>state.speechReducer.muted);
|
|
73
|
+
const typingCount = (0, $ehKZo$reactredux.useSelector)((state)=>state.directlineReducer.typingCount);
|
|
74
|
+
const [veilleLaunched, setVeilleLaunched] = (0, $ehKZo$react.useState)(false);
|
|
75
|
+
const [loop, setLoop] = (0, $ehKZo$react.useState)(false);
|
|
76
|
+
const veilleDataRef = (0, $ehKZo$react.useRef)(veilleConfiguration);
|
|
77
|
+
const availableItemsToDisplayRef = (0, $ehKZo$react.useRef)([]);
|
|
78
|
+
const currentItemDisplayedRef = (0, $ehKZo$react.useRef)(0);
|
|
79
|
+
const timerRef = (0, $ehKZo$react.useRef)(null);
|
|
80
|
+
const fadeTimerRef = (0, $ehKZo$react.useRef)(null);
|
|
81
|
+
const oldMutedRef = (0, $ehKZo$react.useRef)(muted);
|
|
82
|
+
const [spring, api] = (0, $ehKZo$reactspringweb.useSpring)(()=>({
|
|
83
|
+
from: {
|
|
84
|
+
opacity: 0
|
|
85
|
+
}
|
|
86
|
+
}));
|
|
87
|
+
(0, $ehKZo$react.useEffect)(()=>{
|
|
88
|
+
veilleLaunched && api.start({
|
|
89
|
+
from: {
|
|
90
|
+
opacity: 0
|
|
91
|
+
},
|
|
92
|
+
to: {
|
|
93
|
+
opacity: 1
|
|
94
|
+
},
|
|
95
|
+
config: {
|
|
96
|
+
duration: $167bfc94e5487988$var$springDuration
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
}, [
|
|
100
|
+
veilleLaunched
|
|
101
|
+
]);
|
|
102
|
+
const handleClose = ()=>{
|
|
103
|
+
api.start({
|
|
104
|
+
from: {
|
|
105
|
+
opacity: 1
|
|
106
|
+
},
|
|
107
|
+
to: {
|
|
108
|
+
opacity: 0
|
|
109
|
+
},
|
|
110
|
+
config: {
|
|
111
|
+
duration: $167bfc94e5487988$var$springDuration
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
(fadeTimerRef === null || fadeTimerRef === void 0 ? void 0 : fadeTimerRef.current) && clearTimeout(fadeTimerRef.current);
|
|
115
|
+
fadeTimerRef.current = setTimeout(()=>{
|
|
116
|
+
// Switch back the muted state (it could have not been changed but for security let's set it)
|
|
117
|
+
dispatch((0, $kpW3P.storeActions).speech.setMuted(oldMutedRef.current));
|
|
118
|
+
// Get back to home view
|
|
119
|
+
dispatch((0, $kpW3P.storeActions).view.setRoute((0, $7WHA7.Routes).Home));
|
|
120
|
+
}, $167bfc94e5487988$var$springDuration);
|
|
121
|
+
};
|
|
122
|
+
const launchVeille = async ()=>{
|
|
123
|
+
var // Set muted state to true if it is demanded in the configuration
|
|
124
|
+
_veilleDataRef_current_views_news, _veilleDataRef_current_views;
|
|
125
|
+
// Kill current directline if needed, and create a new one if the news are included in the veille
|
|
126
|
+
if (veilleDataRef.current.killConversationOnLaunch) {
|
|
127
|
+
var _veilleDataRef_current_views_news1, _veilleDataRef_current_views1;
|
|
128
|
+
await dispatch((0, $kpW3P.storeActions).directline.endConversation());
|
|
129
|
+
((_veilleDataRef_current_views1 = veilleDataRef.current.views) === null || _veilleDataRef_current_views1 === void 0 ? void 0 : (_veilleDataRef_current_views_news1 = _veilleDataRef_current_views1.news) === null || _veilleDataRef_current_views_news1 === void 0 ? void 0 : _veilleDataRef_current_views_news1.enabled) && dispatch((0, $kpW3P.storeActions).directline.recreateDirectline({
|
|
130
|
+
addressData: addressData,
|
|
131
|
+
userId: `veille_${Date.now()}`,
|
|
132
|
+
skipWelcome: true
|
|
133
|
+
}));
|
|
134
|
+
}
|
|
135
|
+
((_veilleDataRef_current_views = veilleDataRef.current.views) === null || _veilleDataRef_current_views === void 0 ? void 0 : (_veilleDataRef_current_views_news = _veilleDataRef_current_views.news) === null || _veilleDataRef_current_views_news === void 0 ? void 0 : _veilleDataRef_current_views_news.muted) && dispatch((0, $kpW3P.storeActions).speech.setMuted(true));
|
|
136
|
+
setVeilleLaunched(true);
|
|
137
|
+
dispatch((0, $kpW3P.storeActions).view.setRoute(availableItemsToDisplayRef.current.length ? availableItemsToDisplayRef.current[0] : (0, $7WHA7.Routes).EmptyVeille));
|
|
138
|
+
};
|
|
139
|
+
const refreshTimer = ()=>{
|
|
140
|
+
timerRef.current && clearTimeout(timerRef.current);
|
|
141
|
+
timerRef.current = setTimeout(()=>{
|
|
142
|
+
launchVeille();
|
|
143
|
+
}, (veilleDataRef.current.delayBeforeLaunchInSeconds || 120) * 1000);
|
|
144
|
+
};
|
|
145
|
+
const exitVeille = (firstTime)=>{
|
|
146
|
+
var _veilleDataRef_current;
|
|
147
|
+
// Recreate directline if needed
|
|
148
|
+
if (!firstTime && ((_veilleDataRef_current = veilleDataRef.current) === null || _veilleDataRef_current === void 0 ? void 0 : _veilleDataRef_current.killConversationOnLaunch)) {
|
|
149
|
+
var // Reset directline if a new one has already been recreated for the news inside the veille
|
|
150
|
+
_veilleDataRef_current_views_news, _veilleDataRef_current_views;
|
|
151
|
+
((_veilleDataRef_current_views = veilleDataRef.current.views) === null || _veilleDataRef_current_views === void 0 ? void 0 : (_veilleDataRef_current_views_news = _veilleDataRef_current_views.news) === null || _veilleDataRef_current_views_news === void 0 ? void 0 : _veilleDataRef_current_views_news.enabled) && dispatch((0, $kpW3P.storeActions).directline.endConversation());
|
|
152
|
+
dispatch((0, $kpW3P.storeActions).directline.recreateDirectline({
|
|
153
|
+
addressData: addressData
|
|
154
|
+
}));
|
|
155
|
+
}
|
|
156
|
+
setVeilleLaunched(false);
|
|
157
|
+
// Set back the current item's index to 0 and clear the timeout
|
|
158
|
+
currentItemDisplayedRef.current = 0;
|
|
159
|
+
timerRef.current && clearTimeout(timerRef.current);
|
|
160
|
+
// Launch the timer for veille opening
|
|
161
|
+
refreshTimer();
|
|
162
|
+
// Get back to home view if we came here to close the veille
|
|
163
|
+
!firstTime && handleClose();
|
|
164
|
+
};
|
|
165
|
+
const switchComponent = ()=>{
|
|
166
|
+
if (availableItemsToDisplayRef.current.length > currentItemDisplayedRef.current + 1) {
|
|
167
|
+
currentItemDisplayedRef.current++;
|
|
168
|
+
dispatch((0, $kpW3P.storeActions).view.setRoute(availableItemsToDisplayRef.current[currentItemDisplayedRef.current]));
|
|
169
|
+
} else {
|
|
170
|
+
currentItemDisplayedRef.current = 0;
|
|
171
|
+
dispatch((0, $kpW3P.storeActions).view.setRoute(availableItemsToDisplayRef.current[0]));
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
(0, $ehKZo$react.useEffect)(()=>{
|
|
175
|
+
veilleDataRef.current = veilleConfiguration;
|
|
176
|
+
if (appAvailable || loaderClosed) {
|
|
177
|
+
var _veilleConfiguration_views_screenSaver, _veilleConfiguration_views, _veilleConfiguration_views_news, _veilleConfiguration_views1, _veilleConfiguration_views_slideShow, _veilleConfiguration_views2;
|
|
178
|
+
const tempViewArray = [];
|
|
179
|
+
((_veilleConfiguration_views = veilleConfiguration.views) === null || _veilleConfiguration_views === void 0 ? void 0 : (_veilleConfiguration_views_screenSaver = _veilleConfiguration_views.screenSaver) === null || _veilleConfiguration_views_screenSaver === void 0 ? void 0 : _veilleConfiguration_views_screenSaver.enabled) && tempViewArray.push((0, $7WHA7.Routes).ScreenSaver);
|
|
180
|
+
((_veilleConfiguration_views1 = veilleConfiguration.views) === null || _veilleConfiguration_views1 === void 0 ? void 0 : (_veilleConfiguration_views_news = _veilleConfiguration_views1.news) === null || _veilleConfiguration_views_news === void 0 ? void 0 : _veilleConfiguration_views_news.enabled) && tempViewArray.push((0, $7WHA7.Routes).NewsInVeille);
|
|
181
|
+
((_veilleConfiguration_views2 = veilleConfiguration.views) === null || _veilleConfiguration_views2 === void 0 ? void 0 : (_veilleConfiguration_views_slideShow = _veilleConfiguration_views2.slideShow) === null || _veilleConfiguration_views_slideShow === void 0 ? void 0 : _veilleConfiguration_views_slideShow.enabled) && tempViewArray.push((0, $7WHA7.Routes).SlideShow);
|
|
182
|
+
// Set loop if there is only 1 item to display
|
|
183
|
+
setLoop(tempViewArray.length === 1);
|
|
184
|
+
availableItemsToDisplayRef.current = tempViewArray;
|
|
185
|
+
exitVeille(true);
|
|
186
|
+
}
|
|
187
|
+
}, [
|
|
188
|
+
veilleConfiguration,
|
|
189
|
+
appAvailable,
|
|
190
|
+
loaderClosed
|
|
191
|
+
]);
|
|
192
|
+
/**
|
|
193
|
+
* Refresh the timer of the veille on each typing activity emitted
|
|
194
|
+
*/ (0, $ehKZo$react.useEffect)(()=>{
|
|
195
|
+
!veilleLaunched && refreshTimer();
|
|
196
|
+
}, [
|
|
197
|
+
typingCount,
|
|
198
|
+
veilleLaunched
|
|
199
|
+
]);
|
|
200
|
+
(0, $ehKZo$react.useEffect)(()=>{
|
|
201
|
+
return ()=>{
|
|
202
|
+
timerRef.current && clearTimeout(timerRef.current);
|
|
203
|
+
(fadeTimerRef === null || fadeTimerRef === void 0 ? void 0 : fadeTimerRef.current) && clearTimeout(fadeTimerRef.current);
|
|
204
|
+
// Switch back the muted state (it could have not been changed but for security let's set it)
|
|
205
|
+
dispatch((0, $kpW3P.storeActions).speech.setMuted(oldMutedRef.current));
|
|
206
|
+
};
|
|
207
|
+
}, []);
|
|
208
|
+
return /*#__PURE__*/ (0, $ehKZo$reactjsxruntime.jsxs)((0, ($parcel$interopDefault($ehKZo$react))).Fragment, {
|
|
209
|
+
children: [
|
|
210
|
+
/*#__PURE__*/ (0, $ehKZo$reactjsxruntime.jsxs)((0, $ehKZo$reactspringweb.animated).div, {
|
|
211
|
+
id: "retorik-framework-veille-manager",
|
|
212
|
+
className: "rf-relative rf-col-start-1 rf-col-span-full rf-row-start-1 rf-row-span-full rf-grid-cols-8 rf-grid-rows-12",
|
|
213
|
+
style: {
|
|
214
|
+
display: $167bfc94e5487988$var$veilleRelatedRoutes.includes(route) ? 'grid' : 'none',
|
|
215
|
+
...spring
|
|
216
|
+
},
|
|
217
|
+
children: [
|
|
218
|
+
/*#__PURE__*/ (0, $ehKZo$reactjsxruntime.jsx)((0, $kL6vX.default), {}),
|
|
219
|
+
veilleConfiguration.autoExitFromWebcam && veilleLaunched && /*#__PURE__*/ (0, $ehKZo$reactjsxruntime.jsx)((0, $8sMtK.default), {
|
|
220
|
+
detectionThreshold: 0.95,
|
|
221
|
+
onFaceDetected: ()=>exitVeille()
|
|
222
|
+
}),
|
|
223
|
+
route === (0, $7WHA7.Routes).EmptyVeille && /*#__PURE__*/ (0, $ehKZo$reactjsxruntime.jsx)((0, $8KeRZ.default), {}),
|
|
224
|
+
route === (0, $7WHA7.Routes).NewsInVeille && /*#__PURE__*/ (0, $ehKZo$reactjsxruntime.jsx)((0, $2sSL9.default), {
|
|
225
|
+
hideMenu: true,
|
|
226
|
+
isRetorikNews: true,
|
|
227
|
+
handleEndedWithoutloop: switchComponent,
|
|
228
|
+
loop: loop,
|
|
229
|
+
fromVeille: true
|
|
230
|
+
}),
|
|
231
|
+
route === (0, $7WHA7.Routes).ScreenSaver && /*#__PURE__*/ (0, $ehKZo$reactjsxruntime.jsx)((0, $9x9Q9.default), {
|
|
232
|
+
url: (_veilleConfiguration_views = veilleConfiguration.views) === null || _veilleConfiguration_views === void 0 ? void 0 : (_veilleConfiguration_views_screenSaver = _veilleConfiguration_views.screenSaver) === null || _veilleConfiguration_views_screenSaver === void 0 ? void 0 : _veilleConfiguration_views_screenSaver.url,
|
|
233
|
+
timer: (_veilleConfiguration_views1 = veilleConfiguration.views) === null || _veilleConfiguration_views1 === void 0 ? void 0 : (_veilleConfiguration_views_screenSaver1 = _veilleConfiguration_views1.screenSaver) === null || _veilleConfiguration_views_screenSaver1 === void 0 ? void 0 : _veilleConfiguration_views_screenSaver1.timerBeforeSwitchInSeconds,
|
|
234
|
+
loop: loop,
|
|
235
|
+
springDuration: $167bfc94e5487988$var$springDuration,
|
|
236
|
+
switchComponent: switchComponent
|
|
237
|
+
}),
|
|
238
|
+
route === (0, $7WHA7.Routes).SlideShow && /*#__PURE__*/ (0, $ehKZo$reactjsxruntime.jsx)((0, $G07Rs.default), {
|
|
239
|
+
urls: (_veilleConfiguration_views2 = veilleConfiguration.views) === null || _veilleConfiguration_views2 === void 0 ? void 0 : (_veilleConfiguration_views_slideShow = _veilleConfiguration_views2.slideShow) === null || _veilleConfiguration_views_slideShow === void 0 ? void 0 : _veilleConfiguration_views_slideShow.urls,
|
|
240
|
+
timer: (_veilleConfiguration_views3 = veilleConfiguration.views) === null || _veilleConfiguration_views3 === void 0 ? void 0 : (_veilleConfiguration_views_slideShow1 = _veilleConfiguration_views3.slideShow) === null || _veilleConfiguration_views_slideShow1 === void 0 ? void 0 : _veilleConfiguration_views_slideShow1.timerBeforeSwitchInSeconds,
|
|
241
|
+
loop: loop,
|
|
242
|
+
springDuration: $167bfc94e5487988$var$springDuration,
|
|
243
|
+
switchComponent: switchComponent
|
|
244
|
+
})
|
|
245
|
+
]
|
|
246
|
+
}),
|
|
247
|
+
veilleLaunched && /*#__PURE__*/ (0, $ehKZo$reactjsxruntime.jsx)("div", {
|
|
248
|
+
className: "rf-z-overlay rf-col-start-1 rf-col-span-full rf-row-start-1 rf-row-span-full rf-bg-transparent rf-cursor-pointer",
|
|
249
|
+
onClick: ()=>exitVeille()
|
|
250
|
+
})
|
|
251
|
+
]
|
|
252
|
+
});
|
|
253
|
+
};
|
|
254
|
+
var $167bfc94e5487988$export$2e2bcd8739ae039 = $167bfc94e5487988$var$VeilleManager;
|
|
255
|
+
|
|
256
|
+
});
|
|
257
|
+
parcelRegister("kL6vX", function(module, exports) {
|
|
258
|
+
|
|
259
|
+
$parcel$export(module.exports, "default", () => $42bad5eabafac04e$export$2e2bcd8739ae039);
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
var $58ljk = parcelRequire("58ljk");
|
|
265
|
+
|
|
266
|
+
var $69ngO = parcelRequire("69ngO");
|
|
267
|
+
const $42bad5eabafac04e$var$CallToAction = ()=>{
|
|
268
|
+
const themeColors = (0, $ehKZo$reactredux.useSelector)((state)=>state.viewReducer.themeColors);
|
|
269
|
+
const [colorWithTransparency] = (0, $ehKZo$react.useState)((0, $58ljk.getColorWithTransparency)(themeColors.primary, 0.5));
|
|
270
|
+
return /*#__PURE__*/ (0, $ehKZo$reactjsxruntime.jsxs)("div", {
|
|
271
|
+
className: "rf-absolute rf-z-ui rf-bottom-0 rf-right-0 rf-w-80 rf-h-80 rf-grid rf-grid-cols-1 rf-grid-rows-1 rf-justify-end rf-justify-items-end rf-content-end rf-items-end rf-text-center rf-overflow-hidden rf-z-10",
|
|
272
|
+
children: [
|
|
273
|
+
/*#__PURE__*/ (0, $ehKZo$reactjsxruntime.jsx)("div", {
|
|
274
|
+
className: "rf-relative rf-col-start-1 rf-col-end-2 rf-row-start-1 rf-row-end-2 rf-w-48 rf-h-36 rf-rotate-45 rf-translate-y-8",
|
|
275
|
+
style: {
|
|
276
|
+
backgroundColor: colorWithTransparency
|
|
277
|
+
}
|
|
278
|
+
}),
|
|
279
|
+
/*#__PURE__*/ (0, $ehKZo$reactjsxruntime.jsxs)("div", {
|
|
280
|
+
className: "rf-relative rf-col-start-1 rf-col-end-2 rf-row-start-1 rf-row-end-2 rf-w-50 rf-h-32 rf-flex rf-flex-col rf-gap-2 rf-justify-center rf-items-center rf-text-white",
|
|
281
|
+
children: [
|
|
282
|
+
/*#__PURE__*/ (0, $ehKZo$reactjsxruntime.jsx)((0, $69ngO.default), {}),
|
|
283
|
+
/*#__PURE__*/ (0, $ehKZo$reactjsxruntime.jsx)("p", {
|
|
284
|
+
className: "rf-mx-4",
|
|
285
|
+
children: "Click on screen to start"
|
|
286
|
+
})
|
|
287
|
+
]
|
|
288
|
+
})
|
|
289
|
+
]
|
|
290
|
+
});
|
|
291
|
+
};
|
|
292
|
+
var $42bad5eabafac04e$export$2e2bcd8739ae039 = $42bad5eabafac04e$var$CallToAction;
|
|
293
|
+
|
|
294
|
+
});
|
|
295
|
+
parcelRegister("69ngO", function(module, exports) {
|
|
296
|
+
|
|
297
|
+
$parcel$export(module.exports, "default", () => $82350bf4cc1b081d$export$2e2bcd8739ae039);
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
const $82350bf4cc1b081d$var$TouchIcon = ({ className: className, color: color })=>{
|
|
301
|
+
return /*#__PURE__*/ (0, $ehKZo$reactjsxruntime.jsx)("svg", {
|
|
302
|
+
viewBox: "0 0 48 67",
|
|
303
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
304
|
+
stroke: color || 'currentColor',
|
|
305
|
+
fill: color || 'currentColor',
|
|
306
|
+
className: className || 'rf-h-12 rf-w-12',
|
|
307
|
+
children: /*#__PURE__*/ (0, $ehKZo$reactjsxruntime.jsx)("path", {
|
|
308
|
+
d: "m41 24c-1.7 0-3.2 0.65-4.4 1.7-1.2-1.1-2.7-1.7-4.4-1.7-1.7 0-3.2 0.65-4.4 1.7-0.48-0.44-1-0.8-1.6-1.1 2.1-2.6 3.4-6 3.4-9.5 2.8e-4 -8.3-6.7-15-15-15-8.3 0-15 6.7-15 15 0 5.8 3.3 11 8.4 13v18c0 11 8.9 20 20 20 11 0 20-8.9 20-20v-16c0-3.6-2.9-6.6-6.6-6.6zm-37-8.8c0-5.9 4.8-11 11-11 5.9 0 11 4.8 11 11 0 3.4-1.6 6.5-4.1 8.5v-8.5c0-3.6-2.9-6.6-6.6-6.6-3.6 0-6.6 2.9-6.6 6.6v8.5c-2.6-2-4.1-5.1-4.1-8.5zm39 32c0 8.5-6.9 15-15 15-8.5 0-15-6.9-15-15v-20c4e-3 -0.072 4e-3 -0.14 0-0.22v-12c0-1.2 1-2.3 2.3-2.3 1.2 0 2.3 1 2.3 2.3v20c0 1.2 0.96 2.1 2.1 2.1 1.2 0 2.1-0.96 2.1-2.1v-4.7c0-1.2 1-2.3 2.3-2.3s2.3 1 2.3 2.3v4.7c0 1.2 0.96 2.1 2.1 2.1 1.2 0 2.1-0.96 2.1-2.1v-4.7c0-1.2 1-2.3 2.3-2.3 1.2 0 2.3 1 2.3 2.3v4.7c0 1.2 0.96 2.1 2.1 2.1s2.1-0.96 2.1-2.1v-4.7c0-1.2 1-2.3 2.3-2.3 1.2 0 2.3 1 2.3 2.3v16z",
|
|
309
|
+
strokeWidth: ".29"
|
|
310
|
+
})
|
|
311
|
+
});
|
|
312
|
+
};
|
|
313
|
+
var $82350bf4cc1b081d$export$2e2bcd8739ae039 = $82350bf4cc1b081d$var$TouchIcon;
|
|
314
|
+
|
|
315
|
+
});
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
parcelRegister("8sMtK", function(module, exports) {
|
|
319
|
+
|
|
320
|
+
$parcel$export(module.exports, "default", () => $8d9a75d3aaaf531b$export$2e2bcd8739ae039);
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
const $8d9a75d3aaaf531b$var$runningMode = 'VIDEO';
|
|
326
|
+
let $8d9a75d3aaaf531b$var$lastVideoTime = -1;
|
|
327
|
+
const $8d9a75d3aaaf531b$var$constraints = {
|
|
328
|
+
video: true,
|
|
329
|
+
facingMode: 'user'
|
|
330
|
+
};
|
|
331
|
+
const $8d9a75d3aaaf531b$var$FaceDetector = ({ detectionThreshold: detectionThreshold, onFaceDetected: onFaceDetected })=>{
|
|
332
|
+
const currentWidth = (0, $ehKZo$reactredux.useSelector)((state)=>state.viewReducer.currentWidth);
|
|
333
|
+
const currentHeight = (0, $ehKZo$reactredux.useSelector)((state)=>state.viewReducer.currentHeight);
|
|
334
|
+
const [faceDetector, setFaceDetector] = (0, $ehKZo$react.useState)();
|
|
335
|
+
const videoRef = (0, $ehKZo$react.useRef)(null);
|
|
336
|
+
(0, $ehKZo$react.useEffect)(()=>{
|
|
337
|
+
const createfaceDetector = async ()=>{
|
|
338
|
+
const vision = await (0, $ehKZo$mediapipetasksvision.FilesetResolver).forVisionTasks('https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.0/wasm');
|
|
339
|
+
const newFaceDetector = await (0, $ehKZo$mediapipetasksvision.FaceDetector).createFromOptions(vision, {
|
|
340
|
+
baseOptions: {
|
|
341
|
+
modelAssetPath: `https://storage.googleapis.com/mediapipe-models/face_detector/blaze_face_short_range/float16/1/blaze_face_short_range.tflite`,
|
|
342
|
+
delegate: 'GPU'
|
|
343
|
+
},
|
|
344
|
+
runningMode: $8d9a75d3aaaf531b$var$runningMode
|
|
345
|
+
});
|
|
346
|
+
newFaceDetector && setFaceDetector(newFaceDetector);
|
|
347
|
+
};
|
|
348
|
+
const initializefaceDetector = async ()=>{
|
|
349
|
+
navigator.mediaDevices.getUserMedia($8d9a75d3aaaf531b$var$constraints).then(()=>{
|
|
350
|
+
createfaceDetector();
|
|
351
|
+
}).catch((error)=>console.warn('Retorik Framework > an error occured when trying to use the webcam : ', error));
|
|
352
|
+
};
|
|
353
|
+
initializefaceDetector();
|
|
354
|
+
}, []);
|
|
355
|
+
const predictWebcam = async ()=>{
|
|
356
|
+
if (faceDetector && videoRef.current) {
|
|
357
|
+
let startTimeMs = performance.now();
|
|
358
|
+
// Detect faces using detectForVideo
|
|
359
|
+
if (videoRef.current.currentTime !== $8d9a75d3aaaf531b$var$lastVideoTime) {
|
|
360
|
+
$8d9a75d3aaaf531b$var$lastVideoTime = videoRef.current.currentTime;
|
|
361
|
+
const detections = faceDetector.detectForVideo(videoRef.current, startTimeMs).detections;
|
|
362
|
+
if (detections.length) {
|
|
363
|
+
const score = detections[0].categories[0].score;
|
|
364
|
+
score > detectionThreshold && onFaceDetected(detections, videoRef.current.videoWidth, videoRef.current.videoHeight);
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
// Call this function again to keep predicting when the browser is ready
|
|
369
|
+
window.requestAnimationFrame(predictWebcam);
|
|
370
|
+
};
|
|
371
|
+
(0, $ehKZo$react.useEffect)(()=>{
|
|
372
|
+
if (faceDetector && videoRef.current) // Activate the webcam stream.
|
|
373
|
+
navigator.mediaDevices.getUserMedia($8d9a75d3aaaf531b$var$constraints).then((stream)=>{
|
|
374
|
+
if (videoRef.current) {
|
|
375
|
+
videoRef.current.srcObject = stream;
|
|
376
|
+
videoRef.current.addEventListener('loadeddata', predictWebcam);
|
|
377
|
+
}
|
|
378
|
+
}).catch((err)=>{
|
|
379
|
+
console.error(err);
|
|
380
|
+
});
|
|
381
|
+
}, [
|
|
382
|
+
faceDetector
|
|
383
|
+
]);
|
|
384
|
+
return /*#__PURE__*/ (0, $ehKZo$reactjsxruntime.jsx)("div", {
|
|
385
|
+
id: "retorik-framework-face-detector",
|
|
386
|
+
className: "rf-absolute rf-top-0 rf-left-0 rf-invisible",
|
|
387
|
+
children: /*#__PURE__*/ (0, $ehKZo$reactjsxruntime.jsx)("video", {
|
|
388
|
+
ref: videoRef,
|
|
389
|
+
src: "",
|
|
390
|
+
autoPlay: true,
|
|
391
|
+
style: {
|
|
392
|
+
width: currentWidth > currentHeight ? currentWidth : undefined,
|
|
393
|
+
height: currentHeight > currentWidth ? currentHeight : undefined,
|
|
394
|
+
aspectRatio: currentWidth / currentHeight
|
|
395
|
+
}
|
|
396
|
+
})
|
|
397
|
+
});
|
|
398
|
+
};
|
|
399
|
+
var $8d9a75d3aaaf531b$export$2e2bcd8739ae039 = $8d9a75d3aaaf531b$var$FaceDetector;
|
|
400
|
+
|
|
401
|
+
});
|
|
402
|
+
|
|
403
|
+
parcelRegister("8KeRZ", function(module, exports) {
|
|
404
|
+
|
|
405
|
+
$parcel$export(module.exports, "default", () => $dadec6c8a2c8bf97$export$2e2bcd8739ae039);
|
|
406
|
+
|
|
407
|
+
|
|
408
|
+
const $dadec6c8a2c8bf97$var$EmptyVeille = ()=>{
|
|
409
|
+
return /*#__PURE__*/ (0, $ehKZo$reactjsxruntime.jsx)("div", {
|
|
410
|
+
className: "rf-col-start-1 rf-col-span-full rf-row-start-1 rf-row-span-full rf-bg-black rf-flex rf-justify-center rf-items-center",
|
|
411
|
+
children: /*#__PURE__*/ (0, $ehKZo$reactjsxruntime.jsx)("div", {
|
|
412
|
+
className: "rf-uppercase rf-font-bold rf-text-3xl rf-text-white rf-animate-pulse",
|
|
413
|
+
children: "click or tap on the screen..."
|
|
414
|
+
})
|
|
415
|
+
});
|
|
416
|
+
};
|
|
417
|
+
var $dadec6c8a2c8bf97$export$2e2bcd8739ae039 = $dadec6c8a2c8bf97$var$EmptyVeille;
|
|
418
|
+
|
|
419
|
+
});
|
|
420
|
+
|
|
421
|
+
parcelRegister("9x9Q9", function(module, exports) {
|
|
422
|
+
|
|
423
|
+
$parcel$export(module.exports, "default", () => $c7d28215eed5d4a7$export$2e2bcd8739ae039);
|
|
424
|
+
|
|
425
|
+
|
|
426
|
+
|
|
427
|
+
const $c7d28215eed5d4a7$var$ScreenSaver = ({ url: url, timer: timer, loop: loop, springDuration: springDuration, switchComponent: switchComponent })=>{
|
|
428
|
+
const timerRef = (0, $ehKZo$react.useRef)(null);
|
|
429
|
+
const fadeTimerRef = (0, $ehKZo$react.useRef)(null);
|
|
430
|
+
const [spring, api] = (0, $ehKZo$reactspringweb.useSpring)(()=>({
|
|
431
|
+
from: {
|
|
432
|
+
opacity: 0
|
|
433
|
+
}
|
|
434
|
+
}));
|
|
435
|
+
(0, $ehKZo$react.useEffect)(()=>{
|
|
436
|
+
api.start({
|
|
437
|
+
from: {
|
|
438
|
+
opacity: 0
|
|
439
|
+
},
|
|
440
|
+
to: {
|
|
441
|
+
opacity: 1
|
|
442
|
+
},
|
|
443
|
+
config: {
|
|
444
|
+
duration: springDuration
|
|
445
|
+
}
|
|
446
|
+
});
|
|
447
|
+
}, []);
|
|
448
|
+
const handleClose = ()=>{
|
|
449
|
+
api.start({
|
|
450
|
+
from: {
|
|
451
|
+
opacity: 1
|
|
452
|
+
},
|
|
453
|
+
to: {
|
|
454
|
+
opacity: 0
|
|
455
|
+
},
|
|
456
|
+
config: {
|
|
457
|
+
duration: springDuration
|
|
458
|
+
}
|
|
459
|
+
});
|
|
460
|
+
(fadeTimerRef === null || fadeTimerRef === void 0 ? void 0 : fadeTimerRef.current) && clearTimeout(fadeTimerRef.current);
|
|
461
|
+
fadeTimerRef.current = setTimeout(()=>{
|
|
462
|
+
// Get back to home view
|
|
463
|
+
switchComponent();
|
|
464
|
+
}, springDuration);
|
|
465
|
+
};
|
|
466
|
+
(0, $ehKZo$react.useEffect)(()=>{
|
|
467
|
+
if (!loop) timerRef.current = setTimeout(()=>{
|
|
468
|
+
handleClose();
|
|
469
|
+
}, (timer || 8) * 1000 - springDuration);
|
|
470
|
+
return ()=>{
|
|
471
|
+
timerRef.current && clearTimeout(timerRef.current);
|
|
472
|
+
fadeTimerRef.current && clearTimeout(fadeTimerRef.current);
|
|
473
|
+
};
|
|
474
|
+
}, []);
|
|
475
|
+
return /*#__PURE__*/ (0, $ehKZo$reactjsxruntime.jsx)((0, $ehKZo$reactspringweb.animated).div, {
|
|
476
|
+
className: "rf-col-start-1 rf-col-span-full rf-row-start-1 rf-row-span-full",
|
|
477
|
+
style: {
|
|
478
|
+
backgroundImage: `url(${url})`,
|
|
479
|
+
backgroundPosition: 'center',
|
|
480
|
+
backgroundRepeat: 'no-repeat',
|
|
481
|
+
backgroundSize: 'cover',
|
|
482
|
+
...spring
|
|
483
|
+
}
|
|
484
|
+
});
|
|
485
|
+
};
|
|
486
|
+
var $c7d28215eed5d4a7$export$2e2bcd8739ae039 = $c7d28215eed5d4a7$var$ScreenSaver;
|
|
487
|
+
|
|
488
|
+
});
|
|
489
|
+
|
|
490
|
+
parcelRegister("G07Rs", function(module, exports) {
|
|
491
|
+
|
|
492
|
+
$parcel$export(module.exports, "default", () => $a2463c3887d0d0a1$export$2e2bcd8739ae039);
|
|
493
|
+
|
|
494
|
+
|
|
495
|
+
|
|
496
|
+
const $a2463c3887d0d0a1$var$SlideShow = ({ urls: urls, timer: timer, loop: loop, springDuration: springDuration, switchComponent: switchComponent })=>{
|
|
497
|
+
const [currentIndex, setCurrentIndex] = (0, $ehKZo$react.useState)(0);
|
|
498
|
+
const timerRef = (0, $ehKZo$react.useRef)(null);
|
|
499
|
+
const fadeTimerRef = (0, $ehKZo$react.useRef)(null);
|
|
500
|
+
const [spring, api] = (0, $ehKZo$reactspringweb.useSpring)(()=>({
|
|
501
|
+
from: {
|
|
502
|
+
opacity: 0
|
|
503
|
+
}
|
|
504
|
+
}));
|
|
505
|
+
(0, $ehKZo$react.useEffect)(()=>{
|
|
506
|
+
api.start({
|
|
507
|
+
from: {
|
|
508
|
+
opacity: 0
|
|
509
|
+
},
|
|
510
|
+
to: {
|
|
511
|
+
opacity: 1
|
|
512
|
+
},
|
|
513
|
+
config: {
|
|
514
|
+
duration: springDuration
|
|
515
|
+
}
|
|
516
|
+
});
|
|
517
|
+
}, []);
|
|
518
|
+
const handleClose = ()=>{
|
|
519
|
+
api.start({
|
|
520
|
+
from: {
|
|
521
|
+
opacity: 1
|
|
522
|
+
},
|
|
523
|
+
to: {
|
|
524
|
+
opacity: 0
|
|
525
|
+
},
|
|
526
|
+
config: {
|
|
527
|
+
duration: springDuration
|
|
528
|
+
}
|
|
529
|
+
});
|
|
530
|
+
(fadeTimerRef === null || fadeTimerRef === void 0 ? void 0 : fadeTimerRef.current) && clearTimeout(fadeTimerRef.current);
|
|
531
|
+
fadeTimerRef.current = setTimeout(()=>{
|
|
532
|
+
// Get back to home view
|
|
533
|
+
switchComponent();
|
|
534
|
+
}, springDuration);
|
|
535
|
+
};
|
|
536
|
+
(0, $ehKZo$react.useEffect)(()=>{
|
|
537
|
+
(timerRef === null || timerRef === void 0 ? void 0 : timerRef.current) && clearTimeout(timerRef.current);
|
|
538
|
+
if (urls === null || urls === void 0 ? void 0 : urls.length) timerRef.current = setTimeout(()=>{
|
|
539
|
+
currentIndex === urls.length - 1 ? loop ? setCurrentIndex(0) : handleClose() : setCurrentIndex(currentIndex + 1);
|
|
540
|
+
}, (timer || 5) * 1000);
|
|
541
|
+
else switchComponent();
|
|
542
|
+
}, [
|
|
543
|
+
currentIndex
|
|
544
|
+
]);
|
|
545
|
+
(0, $ehKZo$react.useEffect)(()=>{
|
|
546
|
+
return ()=>{
|
|
547
|
+
(timerRef === null || timerRef === void 0 ? void 0 : timerRef.current) && clearTimeout(timerRef.current);
|
|
548
|
+
(fadeTimerRef === null || fadeTimerRef === void 0 ? void 0 : fadeTimerRef.current) && clearTimeout(fadeTimerRef.current);
|
|
549
|
+
};
|
|
550
|
+
}, []);
|
|
551
|
+
return /*#__PURE__*/ (0, $ehKZo$reactjsxruntime.jsx)((0, $ehKZo$reactspringweb.animated).div, {
|
|
552
|
+
className: "rf-col-start-1 rf-col-span-full rf-row-start-1 rf-row-span-full rf-flex rf-justify-center rf-items-center rf-bg-black",
|
|
553
|
+
style: {
|
|
554
|
+
...spring
|
|
555
|
+
},
|
|
556
|
+
children: /*#__PURE__*/ (0, $ehKZo$reactjsxruntime.jsx)("img", {
|
|
557
|
+
className: `${window.innerHeight > window.innerWidth ? 'rf-w-full' : 'rf-h-full'}`,
|
|
558
|
+
src: (urls === null || urls === void 0 ? void 0 : urls[currentIndex]) || '',
|
|
559
|
+
alt: "slideshow"
|
|
560
|
+
})
|
|
561
|
+
});
|
|
562
|
+
};
|
|
563
|
+
var $a2463c3887d0d0a1$export$2e2bcd8739ae039 = $a2463c3887d0d0a1$var$SlideShow;
|
|
564
|
+
|
|
565
|
+
});
|
|
566
|
+
|
|
567
|
+
|
|
568
|
+
|
|
569
|
+
//# sourceMappingURL=VeilleManager.443b366e.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"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","sources":["src/components/Veille/VeilleManager.tsx","src/components/Veille/CallToAction.tsx","src/components/Icons/Miscellaneous/TouchIcon.tsx","src/components/Veille/FaceDetector.tsx","src/components/Veille/EmptyVeille.tsx","src/components/Veille/ScreenSaver.tsx","src/components/Veille/SlideShow.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react'\r\nimport { useSpring, animated } from '@react-spring/web'\r\nimport { useSelector, useDispatch } from 'react-redux'\r\nimport { RootState, storeActions } from '../../store'\r\n\r\nimport { Routes } from '../../models/enums'\r\nimport type { VeilleConfiguration } from '../../models/types'\r\n\r\nimport NewsView from '../Views/NewsView'\r\nimport CallToAction from './CallToAction'\r\nimport FaceDetector from './FaceDetector'\r\nimport EmptyVeille from './EmptyVeille'\r\nimport ScreenSaver from './ScreenSaver'\r\nimport SlideShow from './SlideShow'\r\n\r\nconst springDuration = 500\r\nconst veilleRelatedRoutes = [Routes.EmptyVeille, Routes.NewsInVeille, Routes.ScreenSaver, Routes.SlideShow]\r\n\r\nconst VeilleManager = () => {\r\n const dispatch = useDispatch()\r\n const addressData = useSelector((state: RootState) => state.retorikReducer.addressData)\r\n const loaderClosed = useSelector((state: RootState) => state.retorikReducer.loaderClosed)\r\n const appAvailable = useSelector((state: RootState) => state.retorikReducer.appAvailable)\r\n const route = useSelector((state: RootState) => state.viewReducer.route)\r\n const veilleConfiguration = useSelector((state: RootState) => state.viewReducer.veilleConfiguration)\r\n const muted = useSelector((state: RootState) => state.speechReducer.muted)\r\n const typingCount = useSelector((state: RootState) => state.directlineReducer.typingCount)\r\n\r\n const [veilleLaunched, setVeilleLaunched] = useState<boolean>(false)\r\n const [loop, setLoop] = useState<boolean>(false)\r\n const veilleDataRef = useRef<VeilleConfiguration>(veilleConfiguration)\r\n const availableItemsToDisplayRef = useRef<Array<Routes>>([])\r\n const currentItemDisplayedRef = useRef<number>(0)\r\n const timerRef = useRef<NodeJS.Timer | null>(null)\r\n const fadeTimerRef = useRef<NodeJS.Timer | null>(null)\r\n const oldMutedRef = useRef<boolean>(muted)\r\n\r\n const [spring, api] = useSpring(() => ({\r\n from: {\r\n opacity: 0\r\n }\r\n }))\r\n\r\n useEffect(() => {\r\n veilleLaunched &&\r\n api.start({\r\n from: {\r\n opacity: 0\r\n },\r\n to: {\r\n opacity: 1\r\n },\r\n config: {\r\n duration: springDuration\r\n }\r\n })\r\n }, [veilleLaunched])\r\n\r\n const handleClose = (): void => {\r\n api.start({\r\n from: {\r\n opacity: 1\r\n },\r\n to: {\r\n opacity: 0\r\n },\r\n config: {\r\n duration: springDuration\r\n }\r\n })\r\n\r\n fadeTimerRef?.current && clearTimeout(fadeTimerRef.current)\r\n fadeTimerRef.current = setTimeout(() => {\r\n // Switch back the muted state (it could have not been changed but for security let's set it)\r\n dispatch(storeActions.speech.setMuted(oldMutedRef.current))\r\n // Get back to home view\r\n dispatch(storeActions.view.setRoute(Routes.Home))\r\n }, springDuration)\r\n }\r\n\r\n const launchVeille = async (): Promise<void> => {\r\n // Kill current directline if needed, and create a new one if the news are included in the veille\r\n if (veilleDataRef.current.killConversationOnLaunch) {\r\n await dispatch(storeActions.directline.endConversation())\r\n veilleDataRef.current.views?.news?.enabled && dispatch(storeActions.directline.recreateDirectline({ addressData: addressData, userId: `veille_${Date.now()}`, skipWelcome: true }))\r\n }\r\n // Set muted state to true if it is demanded in the configuration\r\n veilleDataRef.current.views?.news?.muted && dispatch(storeActions.speech.setMuted(true))\r\n setVeilleLaunched(true)\r\n dispatch(storeActions.view.setRoute(availableItemsToDisplayRef.current.length ? availableItemsToDisplayRef.current[0] : Routes.EmptyVeille))\r\n }\r\n\r\n const refreshTimer = (): void => {\r\n timerRef.current && clearTimeout(timerRef.current)\r\n timerRef.current = setTimeout(() => {\r\n launchVeille()\r\n }, (veilleDataRef.current.delayBeforeLaunchInSeconds || 120) * 1000)\r\n }\r\n\r\n const exitVeille = (firstTime?: boolean): void => {\r\n // Recreate directline if needed\r\n if (!firstTime && veilleDataRef.current?.killConversationOnLaunch) {\r\n // Reset directline if a new one has already been recreated for the news inside the veille\r\n veilleDataRef.current.views?.news?.enabled && dispatch(storeActions.directline.endConversation())\r\n dispatch(storeActions.directline.recreateDirectline({ addressData: addressData }))\r\n }\r\n\r\n setVeilleLaunched(false)\r\n // Set back the current item's index to 0 and clear the timeout\r\n currentItemDisplayedRef.current = 0\r\n timerRef.current && clearTimeout(timerRef.current)\r\n // Launch the timer for veille opening\r\n refreshTimer()\r\n\r\n // Get back to home view if we came here to close the veille\r\n !firstTime && handleClose()\r\n }\r\n\r\n const switchComponent = (): void => {\r\n if (availableItemsToDisplayRef.current.length > currentItemDisplayedRef.current + 1) {\r\n currentItemDisplayedRef.current++\r\n dispatch(storeActions.view.setRoute(availableItemsToDisplayRef.current[currentItemDisplayedRef.current]))\r\n } else {\r\n currentItemDisplayedRef.current = 0\r\n dispatch(storeActions.view.setRoute(availableItemsToDisplayRef.current[0]))\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n veilleDataRef.current = veilleConfiguration\r\n if (appAvailable || loaderClosed) {\r\n const tempViewArray: Array<Routes> = []\r\n veilleConfiguration.views?.screenSaver?.enabled && tempViewArray.push(Routes.ScreenSaver)\r\n veilleConfiguration.views?.news?.enabled && tempViewArray.push(Routes.NewsInVeille)\r\n veilleConfiguration.views?.slideShow?.enabled && tempViewArray.push(Routes.SlideShow)\r\n // Set loop if there is only 1 item to display\r\n setLoop(tempViewArray.length === 1)\r\n availableItemsToDisplayRef.current = tempViewArray\r\n\r\n exitVeille(true)\r\n }\r\n }, [veilleConfiguration, appAvailable, loaderClosed])\r\n\r\n /**\r\n * Refresh the timer of the veille on each typing activity emitted\r\n */\r\n useEffect(() => {\r\n !veilleLaunched && refreshTimer()\r\n }, [typingCount, veilleLaunched])\r\n\r\n useEffect(() => {\r\n return () => {\r\n timerRef.current && clearTimeout(timerRef.current)\r\n fadeTimerRef?.current && clearTimeout(fadeTimerRef.current)\r\n // Switch back the muted state (it could have not been changed but for security let's set it)\r\n dispatch(storeActions.speech.setMuted(oldMutedRef.current))\r\n }\r\n }, [])\r\n\r\n return (\r\n <React.Fragment>\r\n <animated.div\r\n id='retorik-framework-veille-manager'\r\n className='rf-relative rf-col-start-1 rf-col-span-full rf-row-start-1 rf-row-span-full rf-grid-cols-8 rf-grid-rows-12'\r\n style={{\r\n display: veilleRelatedRoutes.includes(route) ? 'grid' : 'none',\r\n ...spring\r\n }}\r\n >\r\n <CallToAction />\r\n {veilleConfiguration.autoExitFromWebcam && veilleLaunched && <FaceDetector detectionThreshold={0.95} onFaceDetected={() => exitVeille()} />}\r\n\r\n {route === Routes.EmptyVeille && <EmptyVeille />}\r\n {route === Routes.NewsInVeille && <NewsView hideMenu={true} isRetorikNews={true} handleEndedWithoutloop={switchComponent} loop={loop} fromVeille={true} />}\r\n {route === Routes.ScreenSaver && (\r\n <ScreenSaver\r\n url={veilleConfiguration.views?.screenSaver?.url}\r\n timer={veilleConfiguration.views?.screenSaver?.timerBeforeSwitchInSeconds}\r\n loop={loop}\r\n springDuration={springDuration}\r\n switchComponent={switchComponent}\r\n />\r\n )}\r\n {route === Routes.SlideShow && (\r\n <SlideShow\r\n urls={veilleConfiguration.views?.slideShow?.urls}\r\n timer={veilleConfiguration.views?.slideShow?.timerBeforeSwitchInSeconds}\r\n loop={loop}\r\n springDuration={springDuration}\r\n switchComponent={switchComponent}\r\n />\r\n )}\r\n </animated.div>\r\n\r\n {/* Overlay to exit the veille */}\r\n {veilleLaunched && <div className='rf-z-overlay rf-col-start-1 rf-col-span-full rf-row-start-1 rf-row-span-full rf-bg-transparent rf-cursor-pointer' onClick={() => exitVeille()} />}\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default VeilleManager\r\n","import React, { useState } from 'react'\r\nimport { useSelector } from 'react-redux'\r\nimport { RootState } from '../../store'\r\nimport { getColorWithTransparency } from '../../utils/colorUtils'\r\nimport TouchIcon from '../Icons/Miscellaneous/TouchIcon'\r\n\r\nconst CallToAction = (): JSX.Element => {\r\n const themeColors = useSelector((state: RootState) => state.viewReducer.themeColors)\r\n const [colorWithTransparency] = useState<string>(getColorWithTransparency(themeColors.primary, 0.5))\r\n\r\n return (\r\n <div className='rf-absolute rf-z-ui rf-bottom-0 rf-right-0 rf-w-80 rf-h-80 rf-grid rf-grid-cols-1 rf-grid-rows-1 rf-justify-end rf-justify-items-end rf-content-end rf-items-end rf-text-center rf-overflow-hidden rf-z-10'>\r\n <div className='rf-relative rf-col-start-1 rf-col-end-2 rf-row-start-1 rf-row-end-2 rf-w-48 rf-h-36 rf-rotate-45 rf-translate-y-8' style={{ backgroundColor: colorWithTransparency }}></div>\r\n <div className='rf-relative rf-col-start-1 rf-col-end-2 rf-row-start-1 rf-row-end-2 rf-w-50 rf-h-32 rf-flex rf-flex-col rf-gap-2 rf-justify-center rf-items-center rf-text-white'>\r\n <TouchIcon />\r\n <p className='rf-mx-4'>Click on screen to start</p>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default CallToAction\r\n","import React from \"react\";\r\nimport type { IconDefaultProps } from '../../../models/types'\r\n\r\nconst TouchIcon = ({ className, color }: IconDefaultProps) => {\r\n return (\r\n <svg\r\n viewBox=\"0 0 48 67\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n stroke={color || 'currentColor'}\r\n fill={color || 'currentColor'}\r\n className={className || 'rf-h-12 rf-w-12'}\r\n >\r\n <path\r\n d=\"m41 24c-1.7 0-3.2 0.65-4.4 1.7-1.2-1.1-2.7-1.7-4.4-1.7-1.7 0-3.2 0.65-4.4 1.7-0.48-0.44-1-0.8-1.6-1.1 2.1-2.6 3.4-6 3.4-9.5 2.8e-4 -8.3-6.7-15-15-15-8.3 0-15 6.7-15 15 0 5.8 3.3 11 8.4 13v18c0 11 8.9 20 20 20 11 0 20-8.9 20-20v-16c0-3.6-2.9-6.6-6.6-6.6zm-37-8.8c0-5.9 4.8-11 11-11 5.9 0 11 4.8 11 11 0 3.4-1.6 6.5-4.1 8.5v-8.5c0-3.6-2.9-6.6-6.6-6.6-3.6 0-6.6 2.9-6.6 6.6v8.5c-2.6-2-4.1-5.1-4.1-8.5zm39 32c0 8.5-6.9 15-15 15-8.5 0-15-6.9-15-15v-20c4e-3 -0.072 4e-3 -0.14 0-0.22v-12c0-1.2 1-2.3 2.3-2.3 1.2 0 2.3 1 2.3 2.3v20c0 1.2 0.96 2.1 2.1 2.1 1.2 0 2.1-0.96 2.1-2.1v-4.7c0-1.2 1-2.3 2.3-2.3s2.3 1 2.3 2.3v4.7c0 1.2 0.96 2.1 2.1 2.1 1.2 0 2.1-0.96 2.1-2.1v-4.7c0-1.2 1-2.3 2.3-2.3 1.2 0 2.3 1 2.3 2.3v4.7c0 1.2 0.96 2.1 2.1 2.1s2.1-0.96 2.1-2.1v-4.7c0-1.2 1-2.3 2.3-2.3 1.2 0 2.3 1 2.3 2.3v16z\"\r\n strokeWidth=\".29\"\r\n />\r\n </svg>\r\n );\r\n};\r\n\r\nexport default TouchIcon;\r\n","import React, { useEffect, useState, useRef } from 'react'\r\nimport { FaceDetector as MediapipeFaceDetector, FilesetResolver, Detection } from '@mediapipe/tasks-vision'\r\nimport { useSelector } from 'react-redux'\r\nimport { RootState } from '../../store'\r\n\r\ninterface FaceDetectorProps {\r\n detectionThreshold: number\r\n onFaceDetected: (detections?: Array<Detection>, imageWidth?: number, imageHeight?: number) => void\r\n}\r\n\r\nconst runningMode = 'VIDEO'\r\nlet lastVideoTime = -1\r\nconst constraints = {\r\n video: true,\r\n facingMode: 'user'\r\n}\r\n\r\nconst FaceDetector = ({ detectionThreshold, onFaceDetected }: FaceDetectorProps): JSX.Element => {\r\n const currentWidth = useSelector((state: RootState) => state.viewReducer.currentWidth)\r\n const currentHeight = useSelector((state: RootState) => state.viewReducer.currentHeight)\r\n const [faceDetector, setFaceDetector] = useState<MediapipeFaceDetector | undefined>()\r\n const videoRef = useRef<HTMLVideoElement>(null)\r\n\r\n useEffect(() => {\r\n const createfaceDetector = async () => {\r\n const vision = await FilesetResolver.forVisionTasks('https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.0/wasm')\r\n const newFaceDetector = await MediapipeFaceDetector.createFromOptions(vision, {\r\n baseOptions: {\r\n modelAssetPath: `https://storage.googleapis.com/mediapipe-models/face_detector/blaze_face_short_range/float16/1/blaze_face_short_range.tflite`,\r\n delegate: 'GPU'\r\n },\r\n runningMode: runningMode\r\n })\r\n\r\n newFaceDetector && setFaceDetector(newFaceDetector)\r\n }\r\n\r\n const initializefaceDetector = async () => {\r\n navigator.mediaDevices\r\n .getUserMedia(constraints)\r\n .then(() => {\r\n createfaceDetector()\r\n })\r\n .catch((error) => console.warn('Retorik Framework > an error occured when trying to use the webcam : ', error))\r\n }\r\n\r\n initializefaceDetector()\r\n }, [])\r\n\r\n const predictWebcam = async () => {\r\n if (faceDetector && videoRef.current) {\r\n let startTimeMs = performance.now()\r\n\r\n // Detect faces using detectForVideo\r\n if (videoRef.current.currentTime !== lastVideoTime) {\r\n lastVideoTime = videoRef.current.currentTime\r\n const detections = faceDetector.detectForVideo(videoRef.current, startTimeMs).detections\r\n\r\n if (detections.length) {\r\n const score = detections[0].categories[0].score\r\n score > detectionThreshold && onFaceDetected(detections, videoRef.current.videoWidth, videoRef.current.videoHeight)\r\n }\r\n }\r\n }\r\n\r\n // Call this function again to keep predicting when the browser is ready\r\n window.requestAnimationFrame(predictWebcam)\r\n }\r\n\r\n useEffect(() => {\r\n if (faceDetector && videoRef.current) {\r\n // Activate the webcam stream.\r\n navigator.mediaDevices\r\n .getUserMedia(constraints)\r\n .then((stream) => {\r\n if (videoRef.current) {\r\n videoRef.current.srcObject = stream\r\n videoRef.current.addEventListener('loadeddata', predictWebcam)\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err)\r\n })\r\n }\r\n }, [faceDetector])\r\n\r\n return (\r\n <div id='retorik-framework-face-detector' className='rf-absolute rf-top-0 rf-left-0 rf-invisible'>\r\n <video\r\n ref={videoRef}\r\n src=''\r\n autoPlay\r\n style={{\r\n width: currentWidth > currentHeight ? currentWidth : undefined,\r\n height: currentHeight > currentWidth ? currentHeight : undefined,\r\n aspectRatio: currentWidth / currentHeight\r\n }}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nexport default FaceDetector\r\n","import React from 'react'\r\n\r\nconst EmptyVeille = () => {\r\n return (\r\n <div className='rf-col-start-1 rf-col-span-full rf-row-start-1 rf-row-span-full rf-bg-black rf-flex rf-justify-center rf-items-center'>\r\n <div className='rf-uppercase rf-font-bold rf-text-3xl rf-text-white rf-animate-pulse'>click or tap on the screen...</div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default EmptyVeille\r\n","import React, { useEffect, useRef } from 'react'\r\nimport { useSpring, animated } from '@react-spring/web'\r\n\r\ninterface ScreenSaverProps {\r\n url?: string\r\n timer?: number\r\n loop?: boolean\r\n springDuration: number\r\n switchComponent: () => void\r\n}\r\n\r\nconst ScreenSaver = ({ url, timer, loop, springDuration, switchComponent }: ScreenSaverProps) => {\r\n const timerRef = useRef<NodeJS.Timer | null>(null)\r\n const fadeTimerRef = useRef<NodeJS.Timer | null>(null)\r\n\r\n const [spring, api] = useSpring(() => ({\r\n from: {\r\n opacity: 0\r\n }\r\n }))\r\n\r\n useEffect(() => {\r\n api.start({\r\n from: {\r\n opacity: 0\r\n },\r\n to: {\r\n opacity: 1\r\n },\r\n config: {\r\n duration: springDuration\r\n }\r\n })\r\n }, [])\r\n\r\n const handleClose = (): void => {\r\n api.start({\r\n from: {\r\n opacity: 1\r\n },\r\n to: {\r\n opacity: 0\r\n },\r\n config: {\r\n duration: springDuration\r\n }\r\n })\r\n\r\n fadeTimerRef?.current && clearTimeout(fadeTimerRef.current)\r\n fadeTimerRef.current = setTimeout(() => {\r\n // Get back to home view\r\n switchComponent()\r\n }, springDuration)\r\n }\r\n\r\n useEffect(() => {\r\n if (!loop) {\r\n timerRef.current = setTimeout(() => {\r\n handleClose()\r\n }, (timer || 8) * 1000 - springDuration)\r\n }\r\n\r\n return () => {\r\n timerRef.current && clearTimeout(timerRef.current)\r\n fadeTimerRef.current && clearTimeout(fadeTimerRef.current)\r\n }\r\n }, [])\r\n\r\n return (\r\n <animated.div\r\n className='rf-col-start-1 rf-col-span-full rf-row-start-1 rf-row-span-full'\r\n style={{\r\n backgroundImage: `url(${url})`,\r\n backgroundPosition: 'center',\r\n backgroundRepeat: 'no-repeat',\r\n backgroundSize: 'cover',\r\n ...spring\r\n }}\r\n />\r\n )\r\n}\r\n\r\nexport default ScreenSaver\r\n","import React, { useEffect, useState, useRef } from 'react'\r\nimport { useSpring, animated } from '@react-spring/web'\r\n\r\ninterface SlideShowProps {\r\n urls?: Array<string>\r\n timer?: number\r\n loop?: boolean\r\n springDuration: number\r\n switchComponent: () => void\r\n}\r\n\r\nconst SlideShow = ({ urls, timer, loop, springDuration, switchComponent }: SlideShowProps) => {\r\n const [currentIndex, setCurrentIndex] = useState<number>(0)\r\n const timerRef = useRef<NodeJS.Timer | null>(null)\r\n const fadeTimerRef = useRef<NodeJS.Timer | null>(null)\r\n\r\n const [spring, api] = useSpring(() => ({\r\n from: {\r\n opacity: 0\r\n }\r\n }))\r\n\r\n useEffect(() => {\r\n api.start({\r\n from: {\r\n opacity: 0\r\n },\r\n to: {\r\n opacity: 1\r\n },\r\n config: {\r\n duration: springDuration\r\n }\r\n })\r\n }, [])\r\n\r\n const handleClose = (): void => {\r\n api.start({\r\n from: {\r\n opacity: 1\r\n },\r\n to: {\r\n opacity: 0\r\n },\r\n config: {\r\n duration: springDuration\r\n }\r\n })\r\n\r\n fadeTimerRef?.current && clearTimeout(fadeTimerRef.current)\r\n fadeTimerRef.current = setTimeout(() => {\r\n // Get back to home view\r\n switchComponent()\r\n }, springDuration)\r\n }\r\n\r\n useEffect(() => {\r\n timerRef?.current && clearTimeout(timerRef.current)\r\n if (urls?.length) {\r\n timerRef.current = setTimeout(() => {\r\n currentIndex === urls.length - 1 ? (loop ? setCurrentIndex(0) : handleClose()) : setCurrentIndex(currentIndex + 1)\r\n }, (timer || 5) * 1000)\r\n } else {\r\n switchComponent()\r\n }\r\n }, [currentIndex])\r\n\r\n useEffect(() => {\r\n return () => {\r\n timerRef?.current && clearTimeout(timerRef.current)\r\n fadeTimerRef?.current && clearTimeout(fadeTimerRef.current)\r\n }\r\n }, [])\r\n\r\n return (\r\n <animated.div className='rf-col-start-1 rf-col-span-full rf-row-start-1 rf-row-span-full rf-flex rf-justify-center rf-items-center rf-bg-black' style={{ ...spring }}>\r\n <img className={`${window.innerHeight > window.innerWidth ? 'rf-w-full' : 'rf-h-full'}`} src={urls?.[currentIndex] || ''} alt='slideshow' />\r\n </animated.div>\r\n )\r\n}\r\n\r\nexport default SlideShow\r\n"],"names":[],"version":3,"file":"VeilleManager.443b366e.js.map","sourceRoot":"../"}
|