@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,138 @@
|
|
|
1
|
+
import {jsxs as $khn83$jsxs, jsx as $khn83$jsx} from "react/jsx-runtime";
|
|
2
|
+
import {useState as $khn83$useState} from "react";
|
|
3
|
+
import {pdfjs as $khn83$pdfjs, Document as $khn83$Document, Page as $khn83$Page} from "react-pdf";
|
|
4
|
+
import * as $khn83$pdfjsdistbuildpdfworkerjs from "pdfjs-dist/build/pdf.worker.js";
|
|
5
|
+
import {useDispatch as $khn83$useDispatch, useSelector as $khn83$useSelector} from "react-redux";
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
function $parcel$defineInteropFlag(a) {
|
|
9
|
+
Object.defineProperty(a, '__esModule', {value: true, configurable: true});
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function $parcel$export(e, n, v, s) {
|
|
13
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
var $parcel$global = globalThis;
|
|
17
|
+
var parcelRequire = $parcel$global["parcelRequirea39d"];
|
|
18
|
+
var parcelRegister = parcelRequire.register;
|
|
19
|
+
parcelRegister("ldRRB", function(module, exports) {
|
|
20
|
+
|
|
21
|
+
$parcel$defineInteropFlag(module.exports);
|
|
22
|
+
|
|
23
|
+
$parcel$export(module.exports, "default", () => $86f0aba9c8073327$export$2e2bcd8739ae039);
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
var $8ItUL = parcelRequire("8ItUL");
|
|
31
|
+
|
|
32
|
+
var $ahoAn = parcelRequire("ahoAn");
|
|
33
|
+
|
|
34
|
+
var $SZcIF = parcelRequire("SZcIF");
|
|
35
|
+
|
|
36
|
+
var $ipfK3 = parcelRequire("ipfK3");
|
|
37
|
+
// Configure react-pdf worker
|
|
38
|
+
(0, $khn83$pdfjs).GlobalWorkerOptions.workerSrc = $khn83$pdfjsdistbuildpdfworkerjs;
|
|
39
|
+
const $86f0aba9c8073327$var$PrintingPreview = ({ url: url, printingAllowed: printingAllowed })=>{
|
|
40
|
+
const dispatch = (0, $khn83$useDispatch)();
|
|
41
|
+
const translation = (0, $khn83$useSelector)((state)=>state.localeReducer.currentTranslations);
|
|
42
|
+
const printingCallback = (0, $khn83$useSelector)((state)=>state.utilsReducer.printingCallback);
|
|
43
|
+
const [documentLoaded, setDocumentLoaded] = (0, $khn83$useState)(false);
|
|
44
|
+
const [numberOfPages, setNumberOfPages] = (0, $khn83$useState)(0);
|
|
45
|
+
const [pageNumber, setPageNumber] = (0, $khn83$useState)(1);
|
|
46
|
+
const onDocumentLoadSuccess = ({ numPages: numPages })=>{
|
|
47
|
+
setNumberOfPages(numPages);
|
|
48
|
+
setDocumentLoaded(true);
|
|
49
|
+
};
|
|
50
|
+
const handleClick = ()=>{
|
|
51
|
+
printingCallback?.(url);
|
|
52
|
+
handleClose();
|
|
53
|
+
};
|
|
54
|
+
const handleClose = ()=>{
|
|
55
|
+
dispatch((0, $8ItUL.storeActions).utils.setModalFullscreenContent(null));
|
|
56
|
+
};
|
|
57
|
+
const changePage = (index)=>{
|
|
58
|
+
setPageNumber((current)=>current + index);
|
|
59
|
+
};
|
|
60
|
+
return /*#__PURE__*/ (0, $khn83$jsxs)("div", {
|
|
61
|
+
className: "rf-h-full large-vertical:rf-mt-[20vh] large-vertical:rf-h-1/2 rf-max-w-1/2 large-vertical:rf-max-w-[60%] rf-py-4 rf-flex rf-flex-col rf-gap-4",
|
|
62
|
+
style: {
|
|
63
|
+
visibility: documentLoaded ? 'visible' : 'hidden'
|
|
64
|
+
},
|
|
65
|
+
children: [
|
|
66
|
+
/*#__PURE__*/ (0, $khn83$jsxs)("div", {
|
|
67
|
+
className: "rf-grid rf-grid-cols-printingPreview rf-min-h-12 rf-h-12",
|
|
68
|
+
children: [
|
|
69
|
+
printingAllowed ? /*#__PURE__*/ (0, $khn83$jsxs)("button", {
|
|
70
|
+
className: "rf-px-4 rf-py-1 rf-h-full rf-justify-self-center rf-flex rf-flex-row rf-items-center rf-gap-2 rf-font-bold rf-text-sm rf-rounded-lg rf-bg-truewhite",
|
|
71
|
+
onClick: handleClick,
|
|
72
|
+
children: [
|
|
73
|
+
/*#__PURE__*/ (0, $khn83$jsx)((0, $ahoAn.PrintIcon), {}),
|
|
74
|
+
translation.common.print
|
|
75
|
+
]
|
|
76
|
+
}) : /*#__PURE__*/ (0, $khn83$jsx)("div", {
|
|
77
|
+
children: '\u2800'
|
|
78
|
+
}),
|
|
79
|
+
/*#__PURE__*/ (0, $khn83$jsx)("button", {
|
|
80
|
+
className: "rf-h-full rf-w-12 rf-justify-self-end rf-flex rf-justify-center rf-items-center rf-rounded-lg rf-bg-truewhite",
|
|
81
|
+
onClick: handleClose,
|
|
82
|
+
children: /*#__PURE__*/ (0, $khn83$jsx)((0, $SZcIF.CloseIcon), {})
|
|
83
|
+
})
|
|
84
|
+
]
|
|
85
|
+
}),
|
|
86
|
+
/*#__PURE__*/ (0, $khn83$jsxs)("div", {
|
|
87
|
+
className: "rf-relative rf-w-full rf-flex rf-flex-col rf-rounded-lg rf-overflow-y-scroll rf-scrollbar-thin",
|
|
88
|
+
children: [
|
|
89
|
+
numberOfPages > 1 && /*#__PURE__*/ (0, $khn83$jsxs)("div", {
|
|
90
|
+
className: "rf-w-full rf-px-4 rf-pt-3 rf-pb-2 rf-flex rf-flex-row rf-justify-between rf-items-center rf-bg-truewhite",
|
|
91
|
+
children: [
|
|
92
|
+
/*#__PURE__*/ (0, $khn83$jsx)("button", {
|
|
93
|
+
className: `${pageNumber <= 1 ? 'rf-invisible' : 'rf-visible'}`,
|
|
94
|
+
onClick: ()=>changePage(-1),
|
|
95
|
+
children: /*#__PURE__*/ (0, $khn83$jsx)((0, $ipfK3.ChevronLeftIcon), {
|
|
96
|
+
className: "rf-h-4",
|
|
97
|
+
color: "#000"
|
|
98
|
+
})
|
|
99
|
+
}),
|
|
100
|
+
/*#__PURE__*/ (0, $khn83$jsxs)("p", {
|
|
101
|
+
className: "rf-text-xl",
|
|
102
|
+
children: [
|
|
103
|
+
pageNumber,
|
|
104
|
+
" / ",
|
|
105
|
+
numberOfPages
|
|
106
|
+
]
|
|
107
|
+
}),
|
|
108
|
+
/*#__PURE__*/ (0, $khn83$jsx)("button", {
|
|
109
|
+
className: `${pageNumber >= numberOfPages ? 'rf-invisible' : 'rf-visible'}`,
|
|
110
|
+
onClick: ()=>changePage(1),
|
|
111
|
+
children: /*#__PURE__*/ (0, $khn83$jsx)((0, $ipfK3.ChevronRightIcon), {
|
|
112
|
+
className: "rf-h-4",
|
|
113
|
+
color: "#000"
|
|
114
|
+
})
|
|
115
|
+
})
|
|
116
|
+
]
|
|
117
|
+
}),
|
|
118
|
+
/*#__PURE__*/ (0, $khn83$jsx)((0, $khn83$Document), {
|
|
119
|
+
file: url,
|
|
120
|
+
onLoadSuccess: onDocumentLoadSuccess,
|
|
121
|
+
onLoadError: handleClose,
|
|
122
|
+
children: /*#__PURE__*/ (0, $khn83$jsx)((0, $khn83$Page), {
|
|
123
|
+
pageNumber: pageNumber,
|
|
124
|
+
renderAnnotationLayer: false,
|
|
125
|
+
renderTextLayer: false
|
|
126
|
+
})
|
|
127
|
+
})
|
|
128
|
+
]
|
|
129
|
+
})
|
|
130
|
+
]
|
|
131
|
+
});
|
|
132
|
+
};
|
|
133
|
+
var $86f0aba9c8073327$export$2e2bcd8739ae039 = $86f0aba9c8073327$var$PrintingPreview;
|
|
134
|
+
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
//# sourceMappingURL=PrintingPreview.6d70355b.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,6BAA6B;AAC7B,CAAA,GAAA,YAAI,EAAE,mBAAmB,CAAC,SAAS,GAAG;AAOtC,MAAM,wCAAkB,CAAC,OAAE,GAAG,mBAAE,eAAe,EAAwB;IACrE,MAAM,WAAW,CAAA,GAAA,kBAAU;IAC3B,MAAM,cAAc,CAAA,GAAA,kBAAU,EAAE,CAAC,QAAqB,MAAM,aAAa,CAAC,mBAAmB;IAC7F,MAAM,mBAAmB,CAAA,GAAA,kBAAU,EAAE,CAAC,QAAqB,MAAM,YAAY,CAAC,gBAAgB;IAC9F,MAAM,CAAC,gBAAgB,kBAAkB,GAAG,CAAA,GAAA,eAAO,EAAW;IAC9D,MAAM,CAAC,eAAe,iBAAiB,GAAG,CAAA,GAAA,eAAO,EAAU;IAC3D,MAAM,CAAC,YAAY,cAAc,GAAG,CAAA,GAAA,eAAO,EAAU;IAErD,MAAM,wBAAwB,CAAC,YAAE,QAAQ,EAAwB;QAC/D,iBAAiB;QACjB,kBAAkB;IACpB;IAEA,MAAM,cAAc;QAClB,mBAAmB;QACnB;IACF;IAEA,MAAM,cAAc;QAClB,SAAS,CAAA,GAAA,mBAAW,EAAE,KAAK,CAAC,yBAAyB,CAAC;IACxD;IAEA,MAAM,aAAa,CAAC;QAClB,cAAc,CAAC,UAAY,UAAU;IACvC;IAEA,qBACE,iBAAC;QACC,WAAU;QACV,OAAO;YACL,YAAY,iBAAiB,YAAY;QAC3C;;0BAGA,iBAAC;gBAAI,WAAU;;oBACZ,gCACC,iBAAC;wBAAO,WAAU;wBAAsJ,SAAS;;0CAC/K,gBAAC,CAAA,GAAA,gBAAQ;4BACR,YAAY,MAAM,CAAC,KAAK;;uCAG3B,gBAAC;kCAAK;;kCAER,gBAAC;wBAAO,WAAU;wBAAgH,SAAS;kCACzI,cAAA,gBAAC,CAAA,GAAA,gBAAQ;;;;0BAKb,iBAAC;gBAAI,WAAU;;oBAEZ,gBAAgB,mBACf,iBAAC;wBAAI,WAAU;;0CACb,gBAAC;gCAAO,WAAW,GAAG,cAAc,IAAI,iBAAiB,cAAc;gCAAE,SAAS,IAAM,WAAW;0CACjG,cAAA,gBAAC,CAAA,GAAA,sBAAc;oCAAE,WAAU;oCAAS,OAAM;;;0CAE5C,iBAAC;gCAAE,WAAU;;oCACV;oCAAW;oCAAI;;;0CAElB,gBAAC;gCAAO,WAAW,GAAG,cAAc,gBAAgB,iBAAiB,cAAc;gCAAE,SAAS,IAAM,WAAW;0CAC7G,cAAA,gBAAC,CAAA,GAAA,uBAAe;oCAAE,WAAU;oCAAS,OAAM;;;;;kCAMjD,gBAAC,CAAA,GAAA,eAAO;wBAAE,MAAM;wBAAK,eAAe;wBAAuB,aAAa;kCACtE,cAAA,gBAAC,CAAA,GAAA,WAAG;4BAAE,YAAY;4BAAY,uBAAuB;4BAAO,iBAAiB;;;;;;;AAKvF;IAEA,2CAAe","sources":["src/components/Attachments/PrintingPreview.tsx"],"sourcesContent":["import React, { useState } from 'react'\r\nimport { pdfjs, Document, Page } from 'react-pdf'\r\nimport * as pdfJsWorker from 'pdfjs-dist/build/pdf.worker.js'\r\nimport { useSelector, useDispatch } from 'react-redux'\r\nimport { RootState, storeActions } from '../../store'\r\nimport { PrintIcon } from '../Icons/DetailedPOIIcons'\r\nimport { CloseIcon } from '../Icons/Miscellaneous'\r\nimport { ChevronLeftIcon, ChevronRightIcon } from '../Icons/ChevronIcons'\r\n\r\n// Configure react-pdf worker\r\npdfjs.GlobalWorkerOptions.workerSrc = pdfJsWorker\r\n\r\ninterface PrintingPreviewProps {\r\n url: string\r\n printingAllowed?: boolean\r\n}\r\n\r\nconst PrintingPreview = ({ url, printingAllowed }: PrintingPreviewProps): JSX.Element => {\r\n const dispatch = useDispatch()\r\n const translation = useSelector((state: RootState) => state.localeReducer.currentTranslations)\r\n const printingCallback = useSelector((state: RootState) => state.utilsReducer.printingCallback)\r\n const [documentLoaded, setDocumentLoaded] = useState<boolean>(false)\r\n const [numberOfPages, setNumberOfPages] = useState<number>(0)\r\n const [pageNumber, setPageNumber] = useState<number>(1)\r\n\r\n const onDocumentLoadSuccess = ({ numPages }: { numPages: number }): void => {\r\n setNumberOfPages(numPages)\r\n setDocumentLoaded(true)\r\n }\r\n\r\n const handleClick = (): void => {\r\n printingCallback?.(url)\r\n handleClose()\r\n }\r\n\r\n const handleClose = (): void => {\r\n dispatch(storeActions.utils.setModalFullscreenContent(null))\r\n }\r\n\r\n const changePage = (index: number): void => {\r\n setPageNumber((current) => current + index)\r\n }\r\n\r\n return (\r\n <div\r\n className='rf-h-full large-vertical:rf-mt-[20vh] large-vertical:rf-h-1/2 rf-max-w-1/2 large-vertical:rf-max-w-[60%] rf-py-4 rf-flex rf-flex-col rf-gap-4'\r\n style={{\r\n visibility: documentLoaded ? 'visible' : 'hidden'\r\n }}\r\n >\r\n {/* Upper part */}\r\n <div className='rf-grid rf-grid-cols-printingPreview rf-min-h-12 rf-h-12'>\r\n {printingAllowed ? (\r\n <button className='rf-px-4 rf-py-1 rf-h-full rf-justify-self-center rf-flex rf-flex-row rf-items-center rf-gap-2 rf-font-bold rf-text-sm rf-rounded-lg rf-bg-truewhite' onClick={handleClick}>\r\n <PrintIcon />\r\n {translation.common.print}\r\n </button>\r\n ) : (\r\n <div>{'\\u2800'}</div>\r\n )}\r\n <button className='rf-h-full rf-w-12 rf-justify-self-end rf-flex rf-justify-center rf-items-center rf-rounded-lg rf-bg-truewhite' onClick={handleClose}>\r\n <CloseIcon />\r\n </button>\r\n </div>\r\n\r\n {/* Document preview */}\r\n <div className='rf-relative rf-w-full rf-flex rf-flex-col rf-rounded-lg rf-overflow-y-scroll rf-scrollbar-thin'>\r\n {/* Number of pages + navigation between pages */}\r\n {numberOfPages > 1 && (\r\n <div className='rf-w-full rf-px-4 rf-pt-3 rf-pb-2 rf-flex rf-flex-row rf-justify-between rf-items-center rf-bg-truewhite'>\r\n <button className={`${pageNumber <= 1 ? 'rf-invisible' : 'rf-visible'}`} onClick={() => changePage(-1)}>\r\n <ChevronLeftIcon className='rf-h-4' color='#000' />\r\n </button>\r\n <p className='rf-text-xl'>\r\n {pageNumber} / {numberOfPages}\r\n </p>\r\n <button className={`${pageNumber >= numberOfPages ? 'rf-invisible' : 'rf-visible'}`} onClick={() => changePage(1)}>\r\n <ChevronRightIcon className='rf-h-4' color='#000' />\r\n </button>\r\n </div>\r\n )}\r\n\r\n {/* Pdf preview */}\r\n <Document file={url} onLoadSuccess={onDocumentLoadSuccess} onLoadError={handleClose}>\r\n <Page pageNumber={pageNumber} renderAnnotationLayer={false} renderTextLayer={false} />\r\n </Document>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default PrintingPreview\r\n"],"names":[],"version":3,"file":"PrintingPreview.6d70355b.js.map"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {jsx as $1JmLi$jsx} from "react/jsx-runtime";
|
|
2
2
|
import {useState as $1JmLi$useState, useEffect as $1JmLi$useEffect} from "react";
|
|
3
3
|
import $1JmLi$daviaibodyenginesprite from "@davi-ai/body-engine-sprite";
|
|
4
|
+
import {useDispatch as $1JmLi$useDispatch, useSelector as $1JmLi$useSelector} from "react-redux";
|
|
4
5
|
|
|
5
6
|
|
|
6
7
|
function $parcel$defineInteropFlag(a) {
|
|
@@ -23,16 +24,17 @@ $parcel$export(module.exports, "default", () => $4af6e295a1fc632c$export$2e2bcd8
|
|
|
23
24
|
|
|
24
25
|
|
|
25
26
|
|
|
26
|
-
|
|
27
|
+
|
|
28
|
+
var $8ItUL = parcelRequire("8ItUL");
|
|
27
29
|
|
|
28
30
|
var $4l14W = parcelRequire("4l14W");
|
|
29
31
|
const $4af6e295a1fc632c$var$SpiritEngineWrapper = ({ agentData: agentData, isSpeaking: isSpeaking, height: height, size: size })=>{
|
|
32
|
+
const dispatch = (0, $1JmLi$useDispatch)();
|
|
30
33
|
const lastAnimationQueue = (0, $4l14W.default)();
|
|
31
|
-
const setCharacterLoaded = (0, $1Qww3.useViewStore)((state)=>state.actions.setCharacterLoaded);
|
|
32
34
|
const [animationQueue, setAnimationQueue] = (0, $1JmLi$useState)([]);
|
|
33
35
|
(0, $1JmLi$useEffect)(()=>{
|
|
34
36
|
// With spirit engine, set the character as loaded once the component is mounted
|
|
35
|
-
setCharacterLoaded(true);
|
|
37
|
+
dispatch((0, $8ItUL.storeActions).view.setCharacterLoaded(true));
|
|
36
38
|
}, []);
|
|
37
39
|
(0, $1JmLi$useEffect)(()=>{
|
|
38
40
|
lastAnimationQueue && setAnimationQueue(lastAnimationQueue);
|
|
@@ -57,15 +59,14 @@ parcelRegister("4l14W", function(module, exports) {
|
|
|
57
59
|
$parcel$export(module.exports, "default", () => $9073d738dd637f53$export$2e2bcd8739ae039);
|
|
58
60
|
|
|
59
61
|
|
|
60
|
-
var $9GPj7 = parcelRequire("9GPj7");
|
|
61
62
|
function $9073d738dd637f53$export$2e2bcd8739ae039() {
|
|
62
|
-
const lastBotActivity = (0, $
|
|
63
|
+
const lastBotActivity = (0, $1JmLi$useSelector)((state)=>state.activityReducer.lastBotActivity);
|
|
63
64
|
const [animationQueue, setAnimationQueue] = (0, $1JmLi$useState)();
|
|
64
65
|
const handleEvent = (e)=>{
|
|
65
66
|
e.detail && setAnimationQueue(e.detail.queue);
|
|
66
67
|
};
|
|
67
68
|
(0, $1JmLi$useEffect)(()=>{
|
|
68
|
-
document.addEventListener('sendPlayAnimationEvent', handleEvent);
|
|
69
|
+
document.addEventListener('sendPlayAnimationEvent', (event)=>handleEvent(event));
|
|
69
70
|
}, []);
|
|
70
71
|
(0, $1JmLi$useEffect)(()=>{
|
|
71
72
|
lastBotActivity?.meta?.queue?.length && setAnimationQueue(lastBotActivity.meta.queue);
|
|
@@ -79,4 +80,4 @@ function $9073d738dd637f53$export$2e2bcd8739ae039() {
|
|
|
79
80
|
|
|
80
81
|
|
|
81
82
|
|
|
82
|
-
//# sourceMappingURL=SpiritEngineWrapper.
|
|
83
|
+
//# sourceMappingURL=SpiritEngineWrapper.21ea10d4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,MAAM,4CAAsB,CAAC,aAAE,SAAS,cAAE,UAAU,UAAE,MAAM,QAAE,IAAI,EAA4B;IAC5F,MAAM,WAAW,CAAA,GAAA,kBAAU;IAC3B,MAAM,qBAAqB,CAAA,GAAA,cAAgB;IAC3C,MAAM,CAAC,gBAAgB,kBAAkB,GAAG,CAAA,GAAA,eAAO,EAAiB,EAAE;IAEtE,CAAA,GAAA,gBAAQ,EAAE;QACR,gFAAgF;QAChF,SAAS,CAAA,GAAA,mBAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC;IAChD,GAAG,EAAE;IAEL,CAAA,GAAA,gBAAQ,EAAE;QACR,sBAAsB,kBAAkB;IAC1C,GAAG;QAAC;KAAmB;IAEvB,qBAAO,gBAAC,CAAA,GAAA,6BAAc;QAAE,SAAQ;QAAU,WAAW;QAAW,QAAQ;QAAQ,MAAM;QAAM,OAAO;QAAY,gBAAgB;QAAgB,mBAAmB;;AACpK;IAEA,2CAAe;;;;;;;;AC5BA;IACb,MAAM,kBAA+C,CAAA,GAAA,kBAAU,EAAE,CAAC,QAAqB,MAAM,eAAe,CAAC,eAAe;IAC5H,MAAM,CAAC,gBAAgB,kBAAkB,GAAG,CAAA,GAAA,eAAO;IAEnD,MAAM,cAAc,CAAC;QACnB,EAAE,MAAM,IAAI,kBAAkB,EAAE,MAAM,CAAC,KAAK;IAC9C;IAEA,CAAA,GAAA,gBAAQ,EAAE;QACR,SAAS,gBAAgB,CAAC,0BAA2B,CAAC,QAAuB,YAAY;IAC3F,GAAG,EAAE;IAEL,CAAA,GAAA,gBAAQ,EAAE;QACR,iBAAiB,MAAM,OAAO,UAAU,kBAAkB,gBAAgB,IAAI,CAAC,KAAK;IACtF,GAAG;QAAC;KAAgB;IAEpB,OAAO;AACT","sources":["src/components/ChatbotAndSubtitles/SpiritEngineWrapper.tsx","src/hooks/useAnimationQueue.ts"],"sourcesContent":["import React, { useEffect, useState } from 'react'\r\nimport ChatbotProvider from '@davi-ai/body-engine-sprite'\r\nimport { useDispatch } from 'react-redux'\r\nimport { storeActions } from '../../store'\r\nimport useAnimationQueue from '../../hooks/useAnimationQueue'\r\nimport { AgentData } from '../../models/types'\r\n\r\ntype SpiritEngineWrapperAgentData = Exclude<AgentData, null>\r\n\r\ninterface SpiritEngineWrapperProps {\r\n agentData: SpiritEngineWrapperAgentData\r\n isSpeaking: boolean\r\n height?: number | string\r\n size?: number | string\r\n}\r\n\r\nconst SpiritEngineWrapper = ({ agentData, isSpeaking, height, size }: SpiritEngineWrapperProps): JSX.Element => {\r\n const dispatch = useDispatch()\r\n const lastAnimationQueue = useAnimationQueue()\r\n const [animationQueue, setAnimationQueue] = useState<Array<string>>([])\r\n\r\n useEffect(() => {\r\n // With spirit engine, set the character as loaded once the component is mounted\r\n dispatch(storeActions.view.setCharacterLoaded(true))\r\n }, [])\r\n\r\n useEffect(() => {\r\n lastAnimationQueue && setAnimationQueue(lastAnimationQueue)\r\n }, [lastAnimationQueue])\r\n\r\n return <ChatbotProvider licence='licence' agentData={agentData} height={height} size={size} speak={isSpeaking} animationQueue={animationQueue} setAnimationQueue={setAnimationQueue} />\r\n}\r\n\r\nexport default SpiritEngineWrapper\r\n","import { useEffect, useState } from 'react'\r\nimport { useSelector } from 'react-redux'\r\nimport { RootState } from '../store'\r\nimport type { RetorikActivity } from '../models/activityTypes'\r\n\r\nexport default function useAnimationQueue(): Array<string> | undefined {\r\n const lastBotActivity: RetorikActivity | undefined = useSelector((state: RootState) => state.activityReducer.lastBotActivity)\r\n const [animationQueue, setAnimationQueue] = useState<Array<string>>()\r\n\r\n const handleEvent = (e: CustomEvent): void => {\r\n e.detail && setAnimationQueue(e.detail.queue)\r\n }\r\n\r\n useEffect(() => {\r\n document.addEventListener('sendPlayAnimationEvent', ((event: CustomEvent) => handleEvent(event)) as EventListener)\r\n }, [])\r\n\r\n useEffect(() => {\r\n lastBotActivity?.meta?.queue?.length && setAnimationQueue(lastBotActivity.meta.queue)\r\n }, [lastBotActivity])\r\n\r\n return animationQueue\r\n}\r\n"],"names":[],"version":3,"file":"SpiritEngineWrapper.21ea10d4.js.map"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
var $euNyu$reactjsxruntime = require("react/jsx-runtime");
|
|
2
2
|
var $euNyu$react = require("react");
|
|
3
3
|
var $euNyu$daviaibodyenginesprite = require("@davi-ai/body-engine-sprite");
|
|
4
|
+
var $euNyu$reactredux = require("react-redux");
|
|
4
5
|
|
|
5
6
|
|
|
6
7
|
function $parcel$interopDefault(a) {
|
|
@@ -36,16 +37,17 @@ $parcel$export(module.exports, "default", () => $6a51e30b393d0aa4$export$2e2bcd8
|
|
|
36
37
|
|
|
37
38
|
|
|
38
39
|
|
|
39
|
-
|
|
40
|
+
|
|
41
|
+
var $kpW3P = parcelRequire("kpW3P");
|
|
40
42
|
|
|
41
43
|
var $lIFSp = parcelRequire("lIFSp");
|
|
42
44
|
const $6a51e30b393d0aa4$var$SpiritEngineWrapper = ({ agentData: agentData, isSpeaking: isSpeaking, height: height, size: size })=>{
|
|
45
|
+
const dispatch = (0, $euNyu$reactredux.useDispatch)();
|
|
43
46
|
const lastAnimationQueue = (0, $lIFSp.default)();
|
|
44
|
-
const setCharacterLoaded = (0, $kUiCn.useViewStore)((state)=>state.actions.setCharacterLoaded);
|
|
45
47
|
const [animationQueue, setAnimationQueue] = (0, $euNyu$react.useState)([]);
|
|
46
48
|
(0, $euNyu$react.useEffect)(()=>{
|
|
47
49
|
// With spirit engine, set the character as loaded once the component is mounted
|
|
48
|
-
setCharacterLoaded(true);
|
|
50
|
+
dispatch((0, $kpW3P.storeActions).view.setCharacterLoaded(true));
|
|
49
51
|
}, []);
|
|
50
52
|
(0, $euNyu$react.useEffect)(()=>{
|
|
51
53
|
lastAnimationQueue && setAnimationQueue(lastAnimationQueue);
|
|
@@ -70,15 +72,14 @@ parcelRegister("lIFSp", function(module, exports) {
|
|
|
70
72
|
$parcel$export(module.exports, "default", () => $dc57edc579c17634$export$2e2bcd8739ae039);
|
|
71
73
|
|
|
72
74
|
|
|
73
|
-
var $e53vj = parcelRequire("e53vj");
|
|
74
75
|
function $dc57edc579c17634$export$2e2bcd8739ae039() {
|
|
75
|
-
const lastBotActivity = (0, $
|
|
76
|
+
const lastBotActivity = (0, $euNyu$reactredux.useSelector)((state)=>state.activityReducer.lastBotActivity);
|
|
76
77
|
const [animationQueue, setAnimationQueue] = (0, $euNyu$react.useState)();
|
|
77
78
|
const handleEvent = (e)=>{
|
|
78
79
|
e.detail && setAnimationQueue(e.detail.queue);
|
|
79
80
|
};
|
|
80
81
|
(0, $euNyu$react.useEffect)(()=>{
|
|
81
|
-
document.addEventListener('sendPlayAnimationEvent', handleEvent);
|
|
82
|
+
document.addEventListener('sendPlayAnimationEvent', (event)=>handleEvent(event));
|
|
82
83
|
}, []);
|
|
83
84
|
(0, $euNyu$react.useEffect)(()=>{
|
|
84
85
|
var _lastBotActivity_meta_queue, _lastBotActivity_meta;
|
|
@@ -93,4 +94,4 @@ function $dc57edc579c17634$export$2e2bcd8739ae039() {
|
|
|
93
94
|
|
|
94
95
|
|
|
95
96
|
|
|
96
|
-
//# sourceMappingURL=SpiritEngineWrapper.
|
|
97
|
+
//# sourceMappingURL=SpiritEngineWrapper.39627300.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,MAAM,4CAAsB,CAAC,aAAE,SAAS,cAAE,UAAU,UAAE,MAAM,QAAE,IAAI,EAA4B;IAC5F,MAAM,WAAW,CAAA,GAAA,6BAAU;IAC3B,MAAM,qBAAqB,CAAA,GAAA,cAAgB;IAC3C,MAAM,CAAC,gBAAgB,kBAAkB,GAAG,CAAA,GAAA,qBAAO,EAAiB,EAAE;IAEtE,CAAA,GAAA,sBAAQ,EAAE;QACR,gFAAgF;QAChF,SAAS,CAAA,GAAA,mBAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC;IAChD,GAAG,EAAE;IAEL,CAAA,GAAA,sBAAQ,EAAE;QACR,sBAAsB,kBAAkB;IAC1C,GAAG;QAAC;KAAmB;IAEvB,qBAAO,gCAAC,CAAA,GAAA,uDAAc;QAAE,SAAQ;QAAU,WAAW;QAAW,QAAQ;QAAQ,MAAM;QAAM,OAAO;QAAY,gBAAgB;QAAgB,mBAAmB;;AACpK;IAEA,2CAAe;;;;;;;;AC5BA;IACb,MAAM,kBAA+C,CAAA,GAAA,6BAAU,EAAE,CAAC,QAAqB,MAAM,eAAe,CAAC,eAAe;IAC5H,MAAM,CAAC,gBAAgB,kBAAkB,GAAG,CAAA,GAAA,qBAAO;IAEnD,MAAM,cAAc,CAAC;QACnB,EAAE,MAAM,IAAI,kBAAkB,EAAE,MAAM,CAAC,KAAK;IAC9C;IAEA,CAAA,GAAA,sBAAQ,EAAE;QACR,SAAS,gBAAgB,CAAC,0BAA2B,CAAC,QAAuB,YAAY;IAC3F,GAAG,EAAE;IAEL,CAAA,GAAA,sBAAQ,EAAE;YACR,6BAAA;QAAA,CAAA,4BAAA,uCAAA,wBAAA,gBAAiB,IAAI,cAArB,6CAAA,8BAAA,sBAAuB,KAAK,cAA5B,kDAAA,4BAA8B,MAAM,KAAI,kBAAkB,gBAAgB,IAAI,CAAC,KAAK;IACtF,GAAG;QAAC;KAAgB;IAEpB,OAAO;AACT","sources":["src/components/ChatbotAndSubtitles/SpiritEngineWrapper.tsx","src/hooks/useAnimationQueue.ts"],"sourcesContent":["import React, { useEffect, useState } from 'react'\r\nimport ChatbotProvider from '@davi-ai/body-engine-sprite'\r\nimport { useDispatch } from 'react-redux'\r\nimport { storeActions } from '../../store'\r\nimport useAnimationQueue from '../../hooks/useAnimationQueue'\r\nimport { AgentData } from '../../models/types'\r\n\r\ntype SpiritEngineWrapperAgentData = Exclude<AgentData, null>\r\n\r\ninterface SpiritEngineWrapperProps {\r\n agentData: SpiritEngineWrapperAgentData\r\n isSpeaking: boolean\r\n height?: number | string\r\n size?: number | string\r\n}\r\n\r\nconst SpiritEngineWrapper = ({ agentData, isSpeaking, height, size }: SpiritEngineWrapperProps): JSX.Element => {\r\n const dispatch = useDispatch()\r\n const lastAnimationQueue = useAnimationQueue()\r\n const [animationQueue, setAnimationQueue] = useState<Array<string>>([])\r\n\r\n useEffect(() => {\r\n // With spirit engine, set the character as loaded once the component is mounted\r\n dispatch(storeActions.view.setCharacterLoaded(true))\r\n }, [])\r\n\r\n useEffect(() => {\r\n lastAnimationQueue && setAnimationQueue(lastAnimationQueue)\r\n }, [lastAnimationQueue])\r\n\r\n return <ChatbotProvider licence='licence' agentData={agentData} height={height} size={size} speak={isSpeaking} animationQueue={animationQueue} setAnimationQueue={setAnimationQueue} />\r\n}\r\n\r\nexport default SpiritEngineWrapper\r\n","import { useEffect, useState } from 'react'\r\nimport { useSelector } from 'react-redux'\r\nimport { RootState } from '../store'\r\nimport type { RetorikActivity } from '../models/activityTypes'\r\n\r\nexport default function useAnimationQueue(): Array<string> | undefined {\r\n const lastBotActivity: RetorikActivity | undefined = useSelector((state: RootState) => state.activityReducer.lastBotActivity)\r\n const [animationQueue, setAnimationQueue] = useState<Array<string>>()\r\n\r\n const handleEvent = (e: CustomEvent): void => {\r\n e.detail && setAnimationQueue(e.detail.queue)\r\n }\r\n\r\n useEffect(() => {\r\n document.addEventListener('sendPlayAnimationEvent', ((event: CustomEvent) => handleEvent(event)) as EventListener)\r\n }, [])\r\n\r\n useEffect(() => {\r\n lastBotActivity?.meta?.queue?.length && setAnimationQueue(lastBotActivity.meta.queue)\r\n }, [lastBotActivity])\r\n\r\n return animationQueue\r\n}\r\n"],"names":[],"version":3,"file":"SpiritEngineWrapper.39627300.js.map","sourceRoot":"../"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
var $4gYsi$reactjsxruntime = require("react/jsx-runtime");
|
|
2
2
|
var $4gYsi$react = require("react");
|
|
3
3
|
var $4gYsi$daviaireactbodyenginethree = require("@davi-ai/react-bodyengine-three");
|
|
4
|
+
var $4gYsi$reactredux = require("react-redux");
|
|
4
5
|
|
|
5
6
|
|
|
6
7
|
function $parcel$interopDefault(a) {
|
|
@@ -36,26 +37,22 @@ $parcel$export(module.exports, "default", () => $929a5fce6d871a46$export$2e2bcd8
|
|
|
36
37
|
|
|
37
38
|
|
|
38
39
|
|
|
39
|
-
var $jgaO0 = parcelRequire("jgaO0");
|
|
40
40
|
|
|
41
|
-
var $
|
|
42
|
-
|
|
43
|
-
var $kUiCn = parcelRequire("kUiCn");
|
|
41
|
+
var $kpW3P = parcelRequire("kpW3P");
|
|
44
42
|
|
|
45
43
|
var $7WHA7 = parcelRequire("7WHA7");
|
|
46
44
|
|
|
47
45
|
var $gp19G = parcelRequire("gp19G");
|
|
48
46
|
const $929a5fce6d871a46$var$ThreeJsWrapper = ({ agentData: agentData, visible: visible, height: height, size: size, cameraPreset: cameraPreset })=>{
|
|
49
|
-
const
|
|
50
|
-
const gpuData = (0, $
|
|
51
|
-
const speaking = (0, $
|
|
52
|
-
const recognitionState = (0, $
|
|
53
|
-
const lastRecognitionInterim = (0, $
|
|
54
|
-
const singleViseme = (0, $
|
|
55
|
-
const multiVisemes = (0, $
|
|
56
|
-
const streamingQueue = (0, $
|
|
57
|
-
const characterLoaded = (0, $
|
|
58
|
-
const setCharacterLoaded = (0, $kUiCn.useViewStore)((state)=>state.actions.setCharacterLoaded);
|
|
47
|
+
const dispatch = (0, $4gYsi$reactredux.useDispatch)();
|
|
48
|
+
const gpuData = (0, $4gYsi$reactredux.useSelector)((state)=>state.retorikReducer.gpuData);
|
|
49
|
+
const speaking = (0, $4gYsi$reactredux.useSelector)((state)=>state.speechReducer.speaking);
|
|
50
|
+
const recognitionState = (0, $4gYsi$reactredux.useSelector)((state)=>state.speechReducer.activeRecognitionState);
|
|
51
|
+
const lastRecognitionInterim = (0, $4gYsi$reactredux.useSelector)((state)=>state.speechReducer.lastRecognitionInterim);
|
|
52
|
+
const singleViseme = (0, $4gYsi$reactredux.useSelector)((state)=>state.speechReducer.singleVisemeAdded);
|
|
53
|
+
const multiVisemes = (0, $4gYsi$reactredux.useSelector)((state)=>state.speechReducer.multiVisemesAdded);
|
|
54
|
+
const streamingQueue = (0, $4gYsi$reactredux.useSelector)((state)=>state.speechReducer.streamingQueue);
|
|
55
|
+
const characterLoaded = (0, $4gYsi$reactredux.useSelector)((state)=>state.viewReducer.characterLoaded);
|
|
59
56
|
/**
|
|
60
57
|
* Use model's source to get the right loader. Default to avaturn loader
|
|
61
58
|
*/ const type = (0, $4gYsi$react.useMemo)(()=>{
|
|
@@ -116,7 +113,7 @@ const $929a5fce6d871a46$var$ThreeJsWrapper = ({ agentData: agentData, visible: v
|
|
|
116
113
|
type: type,
|
|
117
114
|
animationsUrl: (agentData === null || agentData === void 0 ? void 0 : agentData.animationsUrl) || 'https://cdn.retorik.ai/bodyengine-three/animations/cc4/female/standing/',
|
|
118
115
|
gender: (agentData === null || agentData === void 0 ? void 0 : agentData.gender) === 'male' ? 'male' : 'female',
|
|
119
|
-
onLoadingCompleted: ()=>setCharacterLoaded(true),
|
|
116
|
+
onLoadingCompleted: ()=>dispatch((0, $kpW3P.storeActions).view.setCharacterLoaded(true)),
|
|
120
117
|
camera: (0, $4gYsi$daviaireactbodyenginethree.presets)[cameraPreset || 'default'],
|
|
121
118
|
autoLookAt: true,
|
|
122
119
|
detectGpuData: gpuData,
|
|
@@ -138,4 +135,4 @@ var $929a5fce6d871a46$export$2e2bcd8739ae039 = $929a5fce6d871a46$var$ThreeJsWrap
|
|
|
138
135
|
});
|
|
139
136
|
|
|
140
137
|
|
|
141
|
-
//# sourceMappingURL=ThreeJsWrapper.
|
|
138
|
+
//# sourceMappingURL=ThreeJsWrapper.8f15a85b.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,MAAM,uCAAiB,CAAC,aAAE,SAAS,WAAE,OAAO,UAAE,MAAM,QAAE,IAAI,gBAAE,YAAY,EAAuB;IAC7F,MAAM,WAAW,CAAA,GAAA,6BAAU;IAC3B,MAAM,UAAU,CAAA,GAAA,6BAAU,EAAE,CAAC,QAAqB,MAAM,cAAc,CAAC,OAAO;IAC9E,MAAM,WAAW,CAAA,GAAA,6BAAU,EAAE,CAAC,QAAqB,MAAM,aAAa,CAAC,QAAQ;IAC/E,MAAM,mBAAmB,CAAA,GAAA,6BAAU,EAAE,CAAC,QAAqB,MAAM,aAAa,CAAC,sBAAsB;IACrG,MAAM,yBAAyB,CAAA,GAAA,6BAAU,EAAE,CAAC,QAAqB,MAAM,aAAa,CAAC,sBAAsB;IAC3G,MAAM,eAAe,CAAA,GAAA,6BAAU,EAAE,CAAC,QAAqB,MAAM,aAAa,CAAC,iBAAiB;IAC5F,MAAM,eAAe,CAAA,GAAA,6BAAU,EAAE,CAAC,QAAqB,MAAM,aAAa,CAAC,iBAAiB;IAC5F,MAAM,iBAAiB,CAAA,GAAA,6BAAU,EAAE,CAAC,QAAqB,MAAM,aAAa,CAAC,cAAc;IAC3F,MAAM,kBAAkB,CAAA,GAAA,6BAAU,EAAE,CAAC,QAAqB,MAAM,WAAW,CAAC,eAAe;IAE3F;;GAEC,GACD,MAAM,OAAO,CAAA,GAAA,oBAAM,EAAuB;QACxC,IAAI,UAAU,MAAM,EAClB,OAAQ,UAAU,MAAM,CAAC,WAAW;YAClC,KAAK,CAAA,GAAA,qBAAa,EAAE,SAAS;YAC7B,KAAK,CAAA,GAAA,qBAAa,EAAE,YAAY;gBAC9B,OAAO,CAAA,GAAA,8CAAW,EAAE,SAAS;YAC/B,KAAK,CAAA,GAAA,qBAAa,EAAE,GAAG;YACvB,KAAK,CAAA,GAAA,qBAAa,EAAE,GAAG;gBACrB,OAAO,CAAA,GAAA,8CAAW,EAAE,GAAG;YACzB,KAAK,CAAA,GAAA,qBAAa,EAAE,GAAG;YACvB,KAAK,CAAA,GAAA,qBAAa,EAAE,aAAa;gBAC/B,OAAO,CAAA,GAAA,8CAAW,EAAE,GAAG;YACzB,KAAK,CAAA,GAAA,qBAAa,EAAE,OAAO;YAC3B;gBACE,OAAO,CAAA,GAAA,8CAAW,EAAE,OAAO;QAC/B;QAGF,OAAO,CAAA,GAAA,8CAAW,EAAE,OAAO;IAC7B,GAAG;QAAC;KAAU;IAEd,CAAA,GAAA,sBAAQ,EAAE;QACR,gBAAgB,CAAA,GAAA,2CAAQ,EAAE;IAC5B,GAAG;QAAC;KAAa;IAEjB,CAAA,GAAA,sBAAQ,EAAE;QACR,aAAa,MAAM,IAAI,CAAA,GAAA,4CAAS,EAAE;IACpC,GAAG;QAAC;KAAa;IAEjB,CAAA,GAAA,sBAAQ,EAAE;QACR,IAAI,YAAY,eAAe,MAAM,EACnC,CAAA,GAAA,mDAAgB,EAAE,CAAA,GAAA,gDAAa,EAAE,QAAQ;aACpC,IAAI,qBAAqB,CAAA,GAAA,uBAAe,EAAE,MAAM,EACrD,CAAA,GAAA,mDAAgB,EAAE,CAAA,GAAA,gDAAa,EAAE,IAAI;aAChC,IAAI,wBACT,CAAA,GAAA,mDAAgB,EAAE,CAAA,GAAA,gDAAa,EAAE,SAAS;aAE1C,CAAA,GAAA,mDAAgB,EAAE,CAAA,GAAA,gDAAa,EAAE,OAAO;IAE5C,GAAG;QAAC;QAAU;QAAkB;QAAwB;KAAe;IAEvE,CAAA,GAAA,sBAAQ,EAAE;QACR,CAAC,YAAY,CAAA,GAAA,kDAAe;IAC9B,GAAG;QAAC;KAAS;IAEb,qBACE,iCAAC,CAAA,GAAA,sCAAI,EAAE,QAAQ;;0BACb,gCAAC;gBACC,OAAO;oBACL,QAAQ,QAAQ;oBAChB,YAAY,UAAU;oBACtB,YAAY,mBAAmB,UAAU,YAAY;gBACvD;0BAEC,sBACC,gCAAC,CAAA,GAAA,2CAAQ;oBACP,KAAK,UAAU,GAAG;oBAClB,MAAM;oBACN,eAAe,CAAA,sBAAA,gCAAA,UAAW,aAAa,KAAI;oBAC3C,QAAQ,CAAA,sBAAA,gCAAA,UAAW,MAAM,MAAK,SAAS,SAAS;oBAChD,oBAAoB,IAAM,SAAS,CAAA,GAAA,mBAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC;oBACxE,QAAQ,CAAA,GAAA,yCAAM,CAAC,CAAC,gBAAgB,UAAU;oBAC1C,YAAY;oBACZ,eAAe;oBACf,SAAQ;;;YAIb,CAAC,iCACA,gCAAC;gBAAI,WAAU;0BACb,cAAA,gCAAC;oBAAI,WAAU;8BACb,cAAA,gCAAC,CAAA,GAAA,cAAe;;;;;AAM5B;IAEA,2CAAe","sources":["src/components/ChatbotAndSubtitles/ThreeJsWrapper.tsx"],"sourcesContent":["import React, { useEffect, useMemo } from 'react'\r\nimport { Character, CreationTool, setCharacterState, addViseme, setVisemes, flushLipSyncData, CharacterState, presets } from '@davi-ai/react-bodyengine-three'\r\nimport { useSelector, useDispatch } from 'react-redux'\r\nimport { RootState, storeActions } from '../../store'\r\nimport { RecognitionState, Source3DEngine } from '../../models/enums'\r\nimport MicrophoneLoader from '../Loader/MicrophoneLoader'\r\n\r\ninterface ThreeJsWrapperAgentData {\r\n url: string\r\n animationsUrl?: string\r\n source?: string\r\n gender: 'male' | 'female' | 'other'\r\n}\r\n\r\ninterface ThreeJsWrapperProps {\r\n agentData: ThreeJsWrapperAgentData\r\n visible: boolean\r\n height?: string | number\r\n size?: string | number\r\n cameraPreset?: keyof typeof presets\r\n}\r\n\r\nconst ThreeJsWrapper = ({ agentData, visible, height, size, cameraPreset }: ThreeJsWrapperProps): JSX.Element => {\r\n const dispatch = useDispatch()\r\n const gpuData = useSelector((state: RootState) => state.retorikReducer.gpuData)\r\n const speaking = useSelector((state: RootState) => state.speechReducer.speaking)\r\n const recognitionState = useSelector((state: RootState) => state.speechReducer.activeRecognitionState)\r\n const lastRecognitionInterim = useSelector((state: RootState) => state.speechReducer.lastRecognitionInterim)\r\n const singleViseme = useSelector((state: RootState) => state.speechReducer.singleVisemeAdded)\r\n const multiVisemes = useSelector((state: RootState) => state.speechReducer.multiVisemesAdded)\r\n const streamingQueue = useSelector((state: RootState) => state.speechReducer.streamingQueue)\r\n const characterLoaded = useSelector((state: RootState) => state.viewReducer.characterLoaded)\r\n\r\n /**\r\n * Use model's source to get the right loader. Default to avaturn loader\r\n */\r\n const type = useMemo<CreationTool | null>(() => {\r\n if (agentData.source) {\r\n switch (agentData.source.toLowerCase()) {\r\n case Source3DEngine.avatarsdk:\r\n case Source3DEngine.avatarsdkbis:\r\n return CreationTool.avatarsdk\r\n case Source3DEngine.cc3:\r\n case Source3DEngine.cc4:\r\n return CreationTool.cc3\r\n case Source3DEngine.rpm:\r\n case Source3DEngine.readyplayerme:\r\n return CreationTool.rpm\r\n case Source3DEngine.avaturn:\r\n default:\r\n return CreationTool.avaturn\r\n }\r\n }\r\n\r\n return CreationTool.avaturn\r\n }, [agentData])\r\n\r\n useEffect(() => {\r\n singleViseme && addViseme(singleViseme)\r\n }, [singleViseme])\r\n\r\n useEffect(() => {\r\n multiVisemes.length && setVisemes(multiVisemes)\r\n }, [multiVisemes])\r\n\r\n useEffect(() => {\r\n if (speaking || streamingQueue.length) {\r\n setCharacterState(CharacterState.speaking)\r\n } else if (recognitionState === RecognitionState.Closed) {\r\n setCharacterState(CharacterState.idle)\r\n } else if (lastRecognitionInterim) {\r\n setCharacterState(CharacterState.listening)\r\n } else {\r\n setCharacterState(CharacterState.waiting)\r\n }\r\n }, [speaking, recognitionState, lastRecognitionInterim, streamingQueue])\r\n\r\n useEffect(() => {\r\n !speaking && flushLipSyncData()\r\n }, [speaking])\r\n\r\n return (\r\n <React.Fragment>\r\n <div\r\n style={{\r\n height: size || '100%',\r\n paddingTop: height || 0,\r\n visibility: characterLoaded && visible ? 'visible' : 'hidden'\r\n }}\r\n >\r\n {type && (\r\n <Character\r\n url={agentData.url}\r\n type={type}\r\n animationsUrl={agentData?.animationsUrl || 'https://cdn.retorik.ai/bodyengine-three/animations/cc4/female/standing/'}\r\n gender={agentData?.gender === 'male' ? 'male' : 'female'}\r\n onLoadingCompleted={() => dispatch(storeActions.view.setCharacterLoaded(true))}\r\n camera={presets[cameraPreset || 'default']}\r\n autoLookAt={true}\r\n detectGpuData={gpuData}\r\n license='fake-license'\r\n />\r\n )}\r\n </div>\r\n {!characterLoaded && (\r\n <div className='rf-absolute rf-top-0 rf-left-0 rf-w-full rf-h-full rf-flex rf-justify-center rf-items-center'>\r\n <div className='rf-w-1/4 rf-aspect-square'>\r\n <MicrophoneLoader />\r\n </div>\r\n </div>\r\n )}\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default ThreeJsWrapper\r\n"],"names":[],"version":3,"file":"ThreeJsWrapper.8f15a85b.js.map","sourceRoot":"../"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {jsxs as $313pz$jsxs, jsx as $313pz$jsx} from "react/jsx-runtime";
|
|
2
2
|
import $313pz$react, {useMemo as $313pz$useMemo, useEffect as $313pz$useEffect} from "react";
|
|
3
3
|
import {CreationTool as $313pz$CreationTool, addViseme as $313pz$addViseme, setVisemes as $313pz$setVisemes, setCharacterState as $313pz$setCharacterState, CharacterState as $313pz$CharacterState, flushLipSyncData as $313pz$flushLipSyncData, Character as $313pz$Character, presets as $313pz$presets} from "@davi-ai/react-bodyengine-three";
|
|
4
|
+
import {useDispatch as $313pz$useDispatch, useSelector as $313pz$useSelector} from "react-redux";
|
|
4
5
|
|
|
5
6
|
|
|
6
7
|
function $parcel$defineInteropFlag(a) {
|
|
@@ -23,26 +24,22 @@ $parcel$export(module.exports, "default", () => $22f0b0bb3c6ec1e7$export$2e2bcd8
|
|
|
23
24
|
|
|
24
25
|
|
|
25
26
|
|
|
26
|
-
var $i1rfm = parcelRequire("i1rfm");
|
|
27
27
|
|
|
28
|
-
var $
|
|
29
|
-
|
|
30
|
-
var $1Qww3 = parcelRequire("1Qww3");
|
|
28
|
+
var $8ItUL = parcelRequire("8ItUL");
|
|
31
29
|
|
|
32
30
|
var $4ucVo = parcelRequire("4ucVo");
|
|
33
31
|
|
|
34
32
|
var $7MbNn = parcelRequire("7MbNn");
|
|
35
33
|
const $22f0b0bb3c6ec1e7$var$ThreeJsWrapper = ({ agentData: agentData, visible: visible, height: height, size: size, cameraPreset: cameraPreset })=>{
|
|
36
|
-
const
|
|
37
|
-
const gpuData = (0, $
|
|
38
|
-
const speaking = (0, $
|
|
39
|
-
const recognitionState = (0, $
|
|
40
|
-
const lastRecognitionInterim = (0, $
|
|
41
|
-
const singleViseme = (0, $
|
|
42
|
-
const multiVisemes = (0, $
|
|
43
|
-
const streamingQueue = (0, $
|
|
44
|
-
const characterLoaded = (0, $
|
|
45
|
-
const setCharacterLoaded = (0, $1Qww3.useViewStore)((state)=>state.actions.setCharacterLoaded);
|
|
34
|
+
const dispatch = (0, $313pz$useDispatch)();
|
|
35
|
+
const gpuData = (0, $313pz$useSelector)((state)=>state.retorikReducer.gpuData);
|
|
36
|
+
const speaking = (0, $313pz$useSelector)((state)=>state.speechReducer.speaking);
|
|
37
|
+
const recognitionState = (0, $313pz$useSelector)((state)=>state.speechReducer.activeRecognitionState);
|
|
38
|
+
const lastRecognitionInterim = (0, $313pz$useSelector)((state)=>state.speechReducer.lastRecognitionInterim);
|
|
39
|
+
const singleViseme = (0, $313pz$useSelector)((state)=>state.speechReducer.singleVisemeAdded);
|
|
40
|
+
const multiVisemes = (0, $313pz$useSelector)((state)=>state.speechReducer.multiVisemesAdded);
|
|
41
|
+
const streamingQueue = (0, $313pz$useSelector)((state)=>state.speechReducer.streamingQueue);
|
|
42
|
+
const characterLoaded = (0, $313pz$useSelector)((state)=>state.viewReducer.characterLoaded);
|
|
46
43
|
/**
|
|
47
44
|
* Use model's source to get the right loader. Default to avaturn loader
|
|
48
45
|
*/ const type = (0, $313pz$useMemo)(()=>{
|
|
@@ -103,7 +100,7 @@ const $22f0b0bb3c6ec1e7$var$ThreeJsWrapper = ({ agentData: agentData, visible: v
|
|
|
103
100
|
type: type,
|
|
104
101
|
animationsUrl: agentData?.animationsUrl || 'https://cdn.retorik.ai/bodyengine-three/animations/cc4/female/standing/',
|
|
105
102
|
gender: agentData?.gender === 'male' ? 'male' : 'female',
|
|
106
|
-
onLoadingCompleted: ()=>setCharacterLoaded(true),
|
|
103
|
+
onLoadingCompleted: ()=>dispatch((0, $8ItUL.storeActions).view.setCharacterLoaded(true)),
|
|
107
104
|
camera: (0, $313pz$presets)[cameraPreset || 'default'],
|
|
108
105
|
autoLookAt: true,
|
|
109
106
|
detectGpuData: gpuData,
|
|
@@ -125,4 +122,4 @@ var $22f0b0bb3c6ec1e7$export$2e2bcd8739ae039 = $22f0b0bb3c6ec1e7$var$ThreeJsWrap
|
|
|
125
122
|
});
|
|
126
123
|
|
|
127
124
|
|
|
128
|
-
//# sourceMappingURL=ThreeJsWrapper.
|
|
125
|
+
//# sourceMappingURL=ThreeJsWrapper.a46ee0e9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"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","sources":["src/components/ChatbotAndSubtitles/ThreeJsWrapper.tsx"],"sourcesContent":["import React, { useEffect, useMemo } from 'react'\r\nimport { Character, CreationTool, setCharacterState, addViseme, setVisemes, flushLipSyncData, CharacterState, presets } from '@davi-ai/react-bodyengine-three'\r\nimport { useSelector, useDispatch } from 'react-redux'\r\nimport { RootState, storeActions } from '../../store'\r\nimport { RecognitionState, Source3DEngine } from '../../models/enums'\r\nimport MicrophoneLoader from '../Loader/MicrophoneLoader'\r\n\r\ninterface ThreeJsWrapperAgentData {\r\n url: string\r\n animationsUrl?: string\r\n source?: string\r\n gender: 'male' | 'female' | 'other'\r\n}\r\n\r\ninterface ThreeJsWrapperProps {\r\n agentData: ThreeJsWrapperAgentData\r\n visible: boolean\r\n height?: string | number\r\n size?: string | number\r\n cameraPreset?: keyof typeof presets\r\n}\r\n\r\nconst ThreeJsWrapper = ({ agentData, visible, height, size, cameraPreset }: ThreeJsWrapperProps): JSX.Element => {\r\n const dispatch = useDispatch()\r\n const gpuData = useSelector((state: RootState) => state.retorikReducer.gpuData)\r\n const speaking = useSelector((state: RootState) => state.speechReducer.speaking)\r\n const recognitionState = useSelector((state: RootState) => state.speechReducer.activeRecognitionState)\r\n const lastRecognitionInterim = useSelector((state: RootState) => state.speechReducer.lastRecognitionInterim)\r\n const singleViseme = useSelector((state: RootState) => state.speechReducer.singleVisemeAdded)\r\n const multiVisemes = useSelector((state: RootState) => state.speechReducer.multiVisemesAdded)\r\n const streamingQueue = useSelector((state: RootState) => state.speechReducer.streamingQueue)\r\n const characterLoaded = useSelector((state: RootState) => state.viewReducer.characterLoaded)\r\n\r\n /**\r\n * Use model's source to get the right loader. Default to avaturn loader\r\n */\r\n const type = useMemo<CreationTool | null>(() => {\r\n if (agentData.source) {\r\n switch (agentData.source.toLowerCase()) {\r\n case Source3DEngine.avatarsdk:\r\n case Source3DEngine.avatarsdkbis:\r\n return CreationTool.avatarsdk\r\n case Source3DEngine.cc3:\r\n case Source3DEngine.cc4:\r\n return CreationTool.cc3\r\n case Source3DEngine.rpm:\r\n case Source3DEngine.readyplayerme:\r\n return CreationTool.rpm\r\n case Source3DEngine.avaturn:\r\n default:\r\n return CreationTool.avaturn\r\n }\r\n }\r\n\r\n return CreationTool.avaturn\r\n }, [agentData])\r\n\r\n useEffect(() => {\r\n singleViseme && addViseme(singleViseme)\r\n }, [singleViseme])\r\n\r\n useEffect(() => {\r\n multiVisemes.length && setVisemes(multiVisemes)\r\n }, [multiVisemes])\r\n\r\n useEffect(() => {\r\n if (speaking || streamingQueue.length) {\r\n setCharacterState(CharacterState.speaking)\r\n } else if (recognitionState === RecognitionState.Closed) {\r\n setCharacterState(CharacterState.idle)\r\n } else if (lastRecognitionInterim) {\r\n setCharacterState(CharacterState.listening)\r\n } else {\r\n setCharacterState(CharacterState.waiting)\r\n }\r\n }, [speaking, recognitionState, lastRecognitionInterim, streamingQueue])\r\n\r\n useEffect(() => {\r\n !speaking && flushLipSyncData()\r\n }, [speaking])\r\n\r\n return (\r\n <React.Fragment>\r\n <div\r\n style={{\r\n height: size || '100%',\r\n paddingTop: height || 0,\r\n visibility: characterLoaded && visible ? 'visible' : 'hidden'\r\n }}\r\n >\r\n {type && (\r\n <Character\r\n url={agentData.url}\r\n type={type}\r\n animationsUrl={agentData?.animationsUrl || 'https://cdn.retorik.ai/bodyengine-three/animations/cc4/female/standing/'}\r\n gender={agentData?.gender === 'male' ? 'male' : 'female'}\r\n onLoadingCompleted={() => dispatch(storeActions.view.setCharacterLoaded(true))}\r\n camera={presets[cameraPreset || 'default']}\r\n autoLookAt={true}\r\n detectGpuData={gpuData}\r\n license='fake-license'\r\n />\r\n )}\r\n </div>\r\n {!characterLoaded && (\r\n <div className='rf-absolute rf-top-0 rf-left-0 rf-w-full rf-h-full rf-flex rf-justify-center rf-items-center'>\r\n <div className='rf-w-1/4 rf-aspect-square'>\r\n <MicrophoneLoader />\r\n </div>\r\n </div>\r\n )}\r\n </React.Fragment>\r\n )\r\n}\r\n\r\nexport default ThreeJsWrapper\r\n"],"names":[],"version":3,"file":"ThreeJsWrapper.a46ee0e9.js.map"}
|