@davi-ai/retorik-framework 1.0.14 → 1.0.16
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/index.d.ts +55 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1724 -837
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +1679 -805
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
package/dist/index.modern.js
CHANGED
|
@@ -71,7 +71,7 @@ function $be78c14eded2a1b5$export$2e2bcd8739ae039(RetorikWidget, props, element)
|
|
|
71
71
|
|
|
72
72
|
|
|
73
73
|
var $4e7182a6e3eb35e2$exports = {};
|
|
74
|
-
$4e7182a6e3eb35e2$exports = "*, :before, :after {\n box-sizing: border-box;\n border: 0 solid;\n}\n\n:before, :after {\n --tw-content: \"\";\n}\n\nhtml, :host {\n -webkit-text-size-adjust: 100%;\n -moz-tab-size: 4;\n tab-size: 4;\n font-feature-settings: normal;\n font-variation-settings: normal;\n -webkit-tap-highlight-color: transparent;\n font-family: Calibri, sans-serif;\n line-height: 1.5;\n}\n\nbody {\n line-height: inherit;\n margin: 0;\n}\n\nhr {\n color: inherit;\n border-top-width: 1px;\n height: 0;\n}\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\nh1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\nb, strong {\n font-weight: bolder;\n}\n\ncode, kbd, samp, pre {\n font-feature-settings: normal;\n font-variation-settings: normal;\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;\n font-size: 1em;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub, sup {\n vertical-align: baseline;\n font-size: 75%;\n line-height: 0;\n position: relative;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\ntable {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n}\n\nbutton, input, optgroup, select, textarea {\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n font-family: inherit;\n font-size: 100%;\n font-weight: inherit;\n line-height: inherit;\n color: inherit;\n margin: 0;\n padding: 0;\n}\n\nbutton, select {\n text-transform: none;\n}\n\nbutton, [type=\"button\"], [type=\"reset\"], [type=\"submit\"] {\n -webkit-appearance: button;\n background-color: #0000;\n background-image: none;\n}\n\n:-moz-focusring {\n outline: auto;\n}\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n\nsummary {\n display: list-item;\n}\n\nblockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol, ul, menu {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\ndialog {\n padding: 0;\n}\n\ntextarea {\n resize: vertical;\n}\n\ninput::placeholder, textarea::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\n\nbutton, [role=\"button\"] {\n cursor: pointer;\n}\n\n:disabled {\n cursor: default;\n}\n\nimg, svg, video, canvas, audio, iframe, embed, object {\n vertical-align: middle;\n display: block;\n}\n\nimg, video {\n max-width: 100%;\n height: auto;\n}\n\n[hidden] {\n display: none;\n}\n\n*, :before, :after, ::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: #3b82f680;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n.rf-pointer-events-none {\n pointer-events: none;\n}\n\n.rf-pointer-events-auto {\n pointer-events: auto;\n}\n\n.rf-visible {\n visibility: visible;\n}\n\n.rf-invisible {\n visibility: hidden;\n}\n\n.rf-fixed {\n position: fixed;\n}\n\n.rf-absolute {\n position: absolute;\n}\n\n.rf-relative {\n position: relative;\n}\n\n.-rf-left-6 {\n left: -1.5rem;\n}\n\n.-rf-top-6 {\n top: -1.5rem;\n}\n\n.-rf-top-\\[1\\.15rem\\] {\n top: -1.15rem;\n}\n\n.rf--bottom-2 {\n bottom: -.5rem;\n}\n\n.rf-bottom-0 {\n bottom: 0;\n}\n\n.rf-bottom-1 {\n bottom: .25rem;\n}\n\n.rf-bottom-1\\/4 {\n bottom: 25%;\n}\n\n.rf-bottom-16 {\n bottom: 4rem;\n}\n\n.rf-bottom-2 {\n bottom: .5rem;\n}\n\n.rf-bottom-4 {\n bottom: 1rem;\n}\n\n.rf-bottom-40 {\n bottom: 10rem;\n}\n\n.rf-left-0 {\n left: 0;\n}\n\n.rf-left-1 {\n left: .25rem;\n}\n\n.rf-left-1\\/2 {\n left: 50%;\n}\n\n.rf-left-2 {\n left: .5rem;\n}\n\n.rf-left-4 {\n left: 1rem;\n}\n\n.rf-right-0 {\n right: 0;\n}\n\n.rf-right-1 {\n right: .25rem;\n}\n\n.rf-right-2 {\n right: .5rem;\n}\n\n.rf-right-3 {\n right: .75rem;\n}\n\n.rf-right-4 {\n right: 1rem;\n}\n\n.rf-right-6 {\n right: 1.5rem;\n}\n\n.rf-right-8 {\n right: 2rem;\n}\n\n.rf-top-0 {\n top: 0;\n}\n\n.rf-top-1 {\n top: .25rem;\n}\n\n.rf-top-1\\/2 {\n top: 50%;\n}\n\n.rf-top-1\\/3 {\n top: 33.3333%;\n}\n\n.rf-top-110 {\n top: 110%;\n}\n\n.rf-top-2 {\n top: .5rem;\n}\n\n.rf-top-4 {\n top: 1rem;\n}\n\n.rf-top-\\[0\\.125rem\\] {\n top: .125rem;\n}\n\n.rf-z-background {\n z-index: 0;\n}\n\n.rf-z-chatbot {\n z-index: 10;\n}\n\n.rf-z-detailedPOI {\n z-index: 2;\n}\n\n.rf-z-dropdown {\n z-index: 30;\n}\n\n.rf-z-exitwidget {\n z-index: 55;\n}\n\n.rf-z-menu {\n z-index: 40;\n}\n\n.rf-z-modal {\n z-index: 50;\n}\n\n.rf-z-overlay {\n z-index: 40;\n}\n\n.rf-z-ui {\n z-index: 20;\n}\n\n.rf-z-util {\n z-index: 1;\n}\n\n.rf-col-span-2 {\n grid-column: span 2 / span 2;\n}\n\n.rf-col-span-3 {\n grid-column: span 3 / span 3;\n}\n\n.rf-col-span-6 {\n grid-column: span 6 / span 6;\n}\n\n.rf-col-span-full {\n grid-column: 1 / -1;\n}\n\n.rf-col-start-1 {\n grid-column-start: 1;\n}\n\n.rf-col-start-2 {\n grid-column-start: 2;\n}\n\n.rf-col-start-4 {\n grid-column-start: 4;\n}\n\n.rf-col-start-5 {\n grid-column-start: 5;\n}\n\n.rf-col-end-13 {\n grid-column-end: 13;\n}\n\n.rf-col-end-2 {\n grid-column-end: 2;\n}\n\n.rf-col-end-9 {\n grid-column-end: 9;\n}\n\n.rf-row-span-1 {\n grid-row: span 1 / span 1;\n}\n\n.rf-row-span-2 {\n grid-row: span 2 / span 2;\n}\n\n.rf-row-span-3 {\n grid-row: span 3 / span 3;\n}\n\n.rf-row-span-5 {\n grid-row: span 5 / span 5;\n}\n\n.rf-row-span-6 {\n grid-row: span 6 / span 6;\n}\n\n.rf-row-span-9 {\n grid-row: span 9 / span 9;\n}\n\n.rf-row-span-full {\n grid-row: 1 / -1;\n}\n\n.rf-row-start-1 {\n grid-row-start: 1;\n}\n\n.rf-row-start-12 {\n grid-row-start: 12;\n}\n\n.rf-row-start-2 {\n grid-row-start: 2;\n}\n\n.rf-row-start-3 {\n grid-row-start: 3;\n}\n\n.rf-row-start-4 {\n grid-row-start: 4;\n}\n\n.rf-row-start-6 {\n grid-row-start: 6;\n}\n\n.rf-row-start-9 {\n grid-row-start: 9;\n}\n\n.rf-row-end-13 {\n grid-row-end: 13;\n}\n\n.rf-row-end-2 {\n grid-row-end: 2;\n}\n\n.rf-row-end-3 {\n grid-row-end: 3;\n}\n\n.rf-row-end-4 {\n grid-row-end: 4;\n}\n\n.rf-row-end-5 {\n grid-row-end: 5;\n}\n\n.rf-float-right {\n float: right;\n}\n\n.rf-m-0 {\n margin: 0;\n}\n\n.rf-m-4 {\n margin: 1rem;\n}\n\n.rf-m-auto {\n margin: auto;\n}\n\n.-rf-mx-6 {\n margin-left: -1.5rem;\n margin-right: -1.5rem;\n}\n\n.rf-mx-0 {\n margin-left: 0;\n margin-right: 0;\n}\n\n.rf-mx-2 {\n margin-left: .5rem;\n margin-right: .5rem;\n}\n\n.rf-mx-3 {\n margin-left: .75rem;\n margin-right: .75rem;\n}\n\n.rf-mx-8 {\n margin-left: 2rem;\n margin-right: 2rem;\n}\n\n.rf-mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n\n.rf-my-1 {\n margin-top: .25rem;\n margin-bottom: .25rem;\n}\n\n.rf-my-2 {\n margin-top: .5rem;\n margin-bottom: .5rem;\n}\n\n.rf-my-4 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n}\n\n.rf-my-auto {\n margin-top: auto;\n margin-bottom: auto;\n}\n\n.-rf-mb-4 {\n margin-bottom: -1rem;\n}\n\n.-rf-ml-2 {\n margin-left: -.5rem;\n}\n\n.rf-mb-0 {\n margin-bottom: 0;\n}\n\n.rf-mb-1 {\n margin-bottom: .25rem;\n}\n\n.rf-mb-10 {\n margin-bottom: 2.5rem;\n}\n\n.rf-mb-12 {\n margin-bottom: 3rem;\n}\n\n.rf-mb-16 {\n margin-bottom: 4rem;\n}\n\n.rf-mb-2 {\n margin-bottom: .5rem;\n}\n\n.rf-mb-26 {\n margin-bottom: 6.5rem;\n}\n\n.rf-mb-28 {\n margin-bottom: 7rem;\n}\n\n.rf-mb-3 {\n margin-bottom: .75rem;\n}\n\n.rf-mb-30 {\n margin-bottom: 7.5rem;\n}\n\n.rf-mb-4 {\n margin-bottom: 1rem;\n}\n\n.rf-mb-5 {\n margin-bottom: 1.25rem;\n}\n\n.rf-mb-6 {\n margin-bottom: 1.5rem;\n}\n\n.rf-mb-8 {\n margin-bottom: 2rem;\n}\n\n.rf-ml-1 {\n margin-left: .25rem;\n}\n\n.rf-ml-2 {\n margin-left: .5rem;\n}\n\n.rf-ml-4 {\n margin-left: 1rem;\n}\n\n.rf-ml-6 {\n margin-left: 1.5rem;\n}\n\n.rf-mr-1 {\n margin-right: .25rem;\n}\n\n.rf-mr-2 {\n margin-right: .5rem;\n}\n\n.rf-mr-3 {\n margin-right: .75rem;\n}\n\n.rf-mr-4 {\n margin-right: 1rem;\n}\n\n.rf-mr-5 {\n margin-right: 1.25rem;\n}\n\n.rf-mt-1 {\n margin-top: .25rem;\n}\n\n.rf-mt-10 {\n margin-top: 2.5rem;\n}\n\n.rf-mt-2 {\n margin-top: .5rem;\n}\n\n.rf-mt-4 {\n margin-top: 1rem;\n}\n\n.rf-mt-5 {\n margin-top: 1.25rem;\n}\n\n.rf-mt-8 {\n margin-top: 2rem;\n}\n\n.rf-mt-\\[0\\.2rem\\] {\n margin-top: .2rem;\n}\n\n.rf-mt-auto {\n margin-top: auto;\n}\n\n.rf-line-clamp-1 {\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-2 {\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-inline {\n display: inline;\n}\n\n.rf-flex {\n display: flex;\n}\n\n.rf-grid {\n display: grid;\n}\n\n.rf-hidden {\n display: none;\n}\n\n.rf-aspect-\\[4\\/3\\] {\n aspect-ratio: 4 / 3;\n}\n\n.rf-aspect-square {\n aspect-ratio: 1;\n}\n\n.rf-aspect-video {\n aspect-ratio: 16 / 9;\n}\n\n.rf-h-0 {\n height: 0;\n}\n\n.rf-h-1 {\n height: .25rem;\n}\n\n.rf-h-1\\/2 {\n height: 50%;\n}\n\n.rf-h-1\\/3 {\n height: 33.3333%;\n}\n\n.rf-h-12 {\n height: 3rem;\n}\n\n.rf-h-14 {\n height: 3.5rem;\n}\n\n.rf-h-16 {\n height: 4rem;\n}\n\n.rf-h-18 {\n height: 4.5rem;\n}\n\n.rf-h-2 {\n height: .5rem;\n}\n\n.rf-h-2\\/3 {\n height: 66.6667%;\n}\n\n.rf-h-24 {\n height: 6rem;\n}\n\n.rf-h-3 {\n height: .75rem;\n}\n\n.rf-h-3\\/10 {\n height: 30%;\n}\n\n.rf-h-32 {\n height: 8rem;\n}\n\n.rf-h-36 {\n height: 9rem;\n}\n\n.rf-h-4 {\n height: 1rem;\n}\n\n.rf-h-48 {\n height: 12rem;\n}\n\n.rf-h-5 {\n height: 1.25rem;\n}\n\n.rf-h-6 {\n height: 1.5rem;\n}\n\n.rf-h-7 {\n height: 1.75rem;\n}\n\n.rf-h-8 {\n height: 2rem;\n}\n\n.rf-h-9 {\n height: 2.25rem;\n}\n\n.rf-h-\\[0\\.875rem\\] {\n height: .875rem;\n}\n\n.rf-h-\\[calc\\(50vw-3rem\\)\\] {\n height: calc(50vw - 3rem);\n}\n\n.rf-h-fit {\n height: fit-content;\n}\n\n.rf-h-full {\n height: 100%;\n}\n\n.rf-h-max {\n height: max-content;\n}\n\n.rf-h-screen {\n height: 100vh;\n}\n\n.rf-max-h-12 {\n max-height: 3rem;\n}\n\n.rf-max-h-28 {\n max-height: 7rem;\n}\n\n.rf-max-h-4\\/5 {\n max-height: 80%;\n}\n\n.rf-max-h-48 {\n max-height: 12rem;\n}\n\n.rf-max-h-6 {\n max-height: 1.5rem;\n}\n\n.rf-max-h-full {\n max-height: 100%;\n}\n\n.rf-max-h-qrcode {\n max-height: 120px;\n}\n\n.rf-max-h-screen {\n max-height: 100vh;\n}\n\n.rf-min-h-12 {\n min-height: 3rem;\n}\n\n.rf-min-h-16 {\n min-height: 4rem;\n}\n\n.rf-min-h-2\\/5 {\n min-height: 40%;\n}\n\n.rf-min-h-6 {\n min-height: 1.5rem;\n}\n\n.rf-min-h-full {\n min-height: 100%;\n}\n\n.rf-min-h-inherit {\n min-height: inherit;\n}\n\n.rf-w-0 {\n width: 0;\n}\n\n.rf-w-1\\/2 {\n width: 50%;\n}\n\n.rf-w-1\\/3 {\n width: 33.3333%;\n}\n\n.rf-w-1\\/4 {\n width: 25%;\n}\n\n.rf-w-11\\/12 {\n width: 91.6667%;\n}\n\n.rf-w-12 {\n width: 3rem;\n}\n\n.rf-w-16 {\n width: 4rem;\n}\n\n.rf-w-18 {\n width: 4.5rem;\n}\n\n.rf-w-2 {\n width: .5rem;\n}\n\n.rf-w-2\\/3 {\n width: 66.6667%;\n}\n\n.rf-w-20 {\n width: 5rem;\n}\n\n.rf-w-24 {\n width: 6rem;\n}\n\n.rf-w-3 {\n width: .75rem;\n}\n\n.rf-w-3\\/20 {\n width: 15%;\n}\n\n.rf-w-3\\/5 {\n width: 60%;\n}\n\n.rf-w-32 {\n width: 8rem;\n}\n\n.rf-w-36 {\n width: 9rem;\n}\n\n.rf-w-4 {\n width: 1rem;\n}\n\n.rf-w-4\\/9 {\n width: 45%;\n}\n\n.rf-w-48 {\n width: 12rem;\n}\n\n.rf-w-5 {\n width: 1.25rem;\n}\n\n.rf-w-6 {\n width: 1.5rem;\n}\n\n.rf-w-7 {\n width: 1.75rem;\n}\n\n.rf-w-8 {\n width: 2rem;\n}\n\n.rf-w-9 {\n width: 2.25rem;\n}\n\n.rf-w-\\[45\\%\\] {\n width: 45%;\n}\n\n.rf-w-\\[45ch\\] {\n width: 45ch;\n}\n\n.rf-w-\\[90\\%\\] {\n width: 90%;\n}\n\n.rf-w-\\[calc\\(100\\%-3rem\\)\\] {\n width: calc(100% - 3rem);\n}\n\n.rf-w-fit {\n width: fit-content;\n}\n\n.rf-w-full {\n width: 100%;\n}\n\n.rf-w-max {\n width: max-content;\n}\n\n.rf-w-screen {\n width: 100vw;\n}\n\n.rf-min-w-11\\/12 {\n min-width: 91.7%;\n}\n\n.rf-min-w-12 {\n min-width: 3rem;\n}\n\n.rf-min-w-24 {\n min-width: 6rem;\n}\n\n.rf-min-w-3\\/20 {\n min-width: 15%;\n}\n\n.rf-min-w-6 {\n min-width: 1.5rem;\n}\n\n.rf-min-w-\\[45\\%\\] {\n min-width: 45%;\n}\n\n.rf-min-w-full {\n min-width: 100%;\n}\n\n.rf-max-w-1\\/2 {\n max-width: 50%;\n}\n\n.rf-max-w-16 {\n max-width: 4rem;\n}\n\n.rf-max-w-3\\/20 {\n max-width: 15%;\n}\n\n.rf-max-w-6 {\n max-width: 1.5rem;\n}\n\n.rf-max-w-7\\/10 {\n max-width: 70%;\n}\n\n.rf-max-w-\\[100vw\\] {\n max-width: 100vw;\n}\n\n.rf-max-w-\\[45\\%\\] {\n max-width: 45%;\n}\n\n.rf-max-w-\\[70vw\\] {\n max-width: 70vw;\n}\n\n.rf-max-w-\\[calc\\(100\\%-2rem\\)\\] {\n max-width: calc(100% - 2rem);\n}\n\n.rf-max-w-full {\n max-width: 100%;\n}\n\n.rf-max-w-none {\n max-width: none;\n}\n\n.rf-flex-1 {\n flex: 1;\n}\n\n.rf-flex-\\[0_0_40\\%\\] {\n flex: 0 0 40%;\n}\n\n.rf-flex-\\[2_1_0\\%\\] {\n flex: 2;\n}\n\n.rf-flex-\\[4_1_0\\%\\] {\n flex: 4;\n}\n\n.rf-origin-center {\n transform-origin: center;\n}\n\n.-rf-translate-x-1\\/2 {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.-rf-translate-y-1\\/2 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf--translate-x-1\\/2 {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-translate-x-1 {\n --tw-translate-x: .25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-translate-x-5 {\n --tw-translate-x: 1.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf--rotate-90 {\n --tw-rotate: -90deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-rotate-0 {\n --tw-rotate: 0deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-rotate-180 {\n --tw-rotate: 180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-rotate-90 {\n --tw-rotate: 90deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-scale-0 {\n --tw-scale-x: 0;\n --tw-scale-y: 0;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n@keyframes rf-hScroll {\n 0% {\n transform: translateX(0);\n }\n\n 100% {\n transform: translateX(calc(-100% - 2rem));\n }\n}\n\n.rf-animate-hScroll {\n animation: 20s linear infinite rf-hScroll;\n}\n\n@keyframes rf-loader {\n 0% {\n box-shadow: 0 1.5rem 0 -1.5rem var(--rf-color-loader-animation);\n }\n\n 40% {\n box-shadow: 0 1.5rem 0 -.3rem var(--rf-color-loader-animation);\n }\n\n 80% {\n box-shadow: 0 1.5rem 0 -1.5rem var(--rf-color-loader-animation);\n }\n\n 100% {\n box-shadow: 0 1.5rem 0 -1.5rem var(--rf-color-loader-animation);\n }\n}\n\n.rf-animate-loader {\n animation: 1.8s ease-in-out -.16s infinite both rf-loader;\n}\n\n@keyframes rf-fadeIn {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n.rf-animate-loaderFadeIn {\n animation: 2s rf-fadeIn;\n}\n\n@keyframes rf-fadeOut {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n }\n}\n\n.rf-animate-loaderFadeOut {\n animation: 1s rf-fadeOut;\n}\n\n@keyframes rf-slideBottom {\n 0% {\n opacity: 0;\n transform: translateX(0)translateY(20px);\n }\n\n 100% {\n opacity: 1;\n transform: translateX(0)translateY(0);\n }\n}\n\n.rf-animate-slideBottom {\n animation: .5s .2s backwards rf-slideBottom;\n}\n\n@keyframes rf-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n.rf-animate-spin {\n animation: 1s linear infinite rf-spin;\n}\n\n.rf-cursor-pointer {\n cursor: pointer;\n}\n\n.rf-select-none {\n user-select: none;\n}\n\n.rf-resize-none {\n resize: none;\n}\n\n.rf-scroll-pb-4 {\n scroll-padding-bottom: 1rem;\n}\n\n.rf-grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n}\n\n.rf-grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n\n.rf-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n\n.rf-grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n\n.rf-grid-cols-6 {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n}\n\n.rf-grid-cols-7 {\n grid-template-columns: repeat(7, minmax(0, 1fr));\n}\n\n.rf-grid-cols-8 {\n grid-template-columns: repeat(8, minmax(0, 1fr));\n}\n\n.rf-grid-cols-headerContainer {\n grid-template-columns: 7rem 1fr 1fr 1fr;\n}\n\n.rf-grid-cols-printingPreview {\n grid-template-columns: minmax(0, 1fr) 3rem;\n}\n\n.rf-grid-cols-routes {\n grid-template-columns: repeat(3, max-content);\n}\n\n.rf-grid-rows-1 {\n grid-template-rows: repeat(1, minmax(0, 1fr));\n}\n\n.rf-grid-rows-2 {\n grid-template-rows: repeat(2, minmax(0, 1fr));\n}\n\n.rf-grid-rows-container {\n grid-template-rows: repeat(12, minmax(0, 1fr));\n}\n\n.rf-grid-rows-headerContainer {\n grid-template-rows: repeat(3, minmax(0, 1fr));\n}\n\n.rf-flex-row {\n flex-direction: row;\n}\n\n.rf-flex-col {\n flex-direction: column;\n}\n\n.rf-flex-col-reverse {\n flex-direction: column-reverse;\n}\n\n.rf-flex-wrap {\n flex-wrap: wrap;\n}\n\n.rf-flex-nowrap {\n flex-wrap: nowrap;\n}\n\n.rf-content-around {\n align-content: space-around;\n}\n\n.rf-items-start {\n align-items: flex-start;\n}\n\n.rf-items-end {\n align-items: flex-end;\n}\n\n.rf-items-center {\n align-items: center;\n}\n\n.rf-justify-start {\n justify-content: flex-start;\n}\n\n.rf-justify-end {\n justify-content: flex-end;\n}\n\n.rf-justify-center {\n justify-content: center;\n}\n\n.rf-justify-between {\n justify-content: space-between;\n}\n\n.rf-justify-around {\n justify-content: space-around;\n}\n\n.rf-justify-evenly {\n justify-content: space-evenly;\n}\n\n.rf-gap-1 {\n gap: .25rem;\n}\n\n.rf-gap-12 {\n gap: 3rem;\n}\n\n.rf-gap-2 {\n gap: .5rem;\n}\n\n.rf-gap-3 {\n gap: .75rem;\n}\n\n.rf-gap-4 {\n gap: 1rem;\n}\n\n.rf-gap-5 {\n gap: 1.25rem;\n}\n\n.rf-gap-8 {\n gap: 2rem;\n}\n\n.rf-gap-9 {\n gap: 2.25rem;\n}\n\n.rf-divide-x > :not([hidden]) ~ :not([hidden]) {\n --tw-divide-x-reverse: 0;\n border-right-width: calc(1px * var(--tw-divide-x-reverse));\n border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));\n}\n\n.rf-self-auto {\n align-self: auto;\n}\n\n.rf-self-start {\n align-self: flex-start;\n}\n\n.rf-self-end {\n align-self: flex-end;\n}\n\n.rf-self-center {\n align-self: center;\n}\n\n.rf-justify-self-start {\n justify-self: start;\n}\n\n.rf-justify-self-end {\n justify-self: end;\n}\n\n.rf-justify-self-center {\n justify-self: center;\n}\n\n.rf-overflow-hidden {\n overflow: hidden;\n}\n\n.rf-overflow-clip {\n overflow: clip;\n}\n\n.rf-overflow-x-auto {\n overflow-x: auto;\n}\n\n.rf-overflow-y-auto {\n overflow-y: auto;\n}\n\n.rf-overflow-x-hidden {\n overflow-x: hidden;\n}\n\n.rf-overflow-y-hidden {\n overflow-y: hidden;\n}\n\n.rf-overflow-y-visible {\n overflow-y: visible;\n}\n\n.rf-overflow-x-scroll {\n overflow-x: scroll;\n}\n\n.rf-overflow-y-scroll {\n overflow-y: scroll;\n}\n\n.rf-truncate {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.rf-whitespace-nowrap {\n white-space: nowrap;\n}\n\n.rf-rounded {\n border-radius: .3125rem;\n}\n\n.rf-rounded-6 {\n border-radius: 1.5rem;\n}\n\n.rf-rounded-8 {\n border-radius: 2rem;\n}\n\n.rf-rounded-\\[20px\\] {\n border-radius: 20px;\n}\n\n.rf-rounded-full {\n border-radius: 9999px;\n}\n\n.rf-rounded-half {\n border-radius: 50%;\n}\n\n.rf-rounded-lg {\n border-radius: .5rem;\n}\n\n.rf-rounded-max {\n border-radius: 100%;\n}\n\n.rf-rounded-b {\n border-bottom-right-radius: .3125rem;\n border-bottom-left-radius: .3125rem;\n}\n\n.rf-rounded-l-lg {\n border-top-left-radius: .5rem;\n border-bottom-left-radius: .5rem;\n}\n\n.rf-border {\n border-width: 1px;\n}\n\n.rf-border-0 {\n border-width: 0;\n}\n\n.rf-border-2 {\n border-width: 2px;\n}\n\n.rf-border-y {\n border-top-width: 1px;\n border-bottom-width: 1px;\n}\n\n.rf-border-b {\n border-bottom-width: 1px;\n}\n\n.rf-border-b-2 {\n border-bottom-width: 2px;\n}\n\n.rf-border-l {\n border-left-width: 1px;\n}\n\n.rf-border-r {\n border-right-width: 1px;\n}\n\n.rf-border-t {\n border-top-width: 1px;\n}\n\n.rf-border-t-0 {\n border-top-width: 0;\n}\n\n.rf-border-none {\n border-style: none;\n}\n\n.rf-border-\\[\\#00000029\\] {\n border-color: #00000029;\n}\n\n.rf-border-\\[\\#9FA2AA\\] {\n --tw-border-opacity: 1;\n border-color: rgb(159 162 170 / var(--tw-border-opacity));\n}\n\n.rf-border-\\[\\#C7C6C6\\] {\n --tw-border-opacity: 1;\n border-color: rgb(199 198 198 / var(--tw-border-opacity));\n}\n\n.rf-border-black {\n border-color: var(--rf-color-black);\n}\n\n.rf-border-cardButtonBorderDefault {\n border-color: var(--rf-color-cardButtonBorderDefault);\n}\n\n.rf-border-cardButtonBorderHover {\n border-color: var(--rf-color-cardButtonBorderHover);\n}\n\n.rf-border-cardFrameBorder {\n border-color: var(--rf-color-cardFrameBorder);\n}\n\n.rf-border-formInputButtonBorderDefault {\n border-color: var(--rf-color-formInputButtonBorderDefault);\n}\n\n.rf-border-formInputButtonBorderHover {\n border-color: var(--rf-color-formInputButtonBorderHover);\n}\n\n.rf-border-formInputRadioCheckboxCheckedBorder {\n border-color: var(--rf-color-formInputRadioCheckboxCheckedBorder);\n}\n\n.rf-border-formInputRadioCheckboxUncheckedBorder {\n border-color: var(--rf-color-formInputRadioCheckboxUncheckedBorder);\n}\n\n.rf-border-gray {\n --tw-border-opacity: 1;\n border-color: rgb(128 128 128 / var(--tw-border-opacity));\n}\n\n.rf-border-menuBorder {\n --tw-border-opacity: 1;\n border-color: rgb(224 225 231 / var(--tw-border-opacity));\n}\n\n.rf-border-primary {\n border-color: var(--rf-color-primary);\n}\n\n.rf-border-red-700 {\n --tw-border-opacity: 1;\n border-color: rgb(185 28 28 / var(--tw-border-opacity));\n}\n\n.rf-border-secondary {\n border-color: var(--rf-color-secondary);\n}\n\n.rf-border-templateCheckboxBorder {\n --tw-border-opacity: 1;\n border-color: rgb(112 112 112 / var(--tw-border-opacity));\n}\n\n.rf-border-trueblack {\n --tw-border-opacity: 1;\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\n}\n\n.rf-border-truewhite {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / var(--tw-border-opacity));\n}\n\n.rf-border-x-primary {\n border-left-color: var(--rf-color-primary);\n border-right-color: var(--rf-color-primary);\n}\n\n.rf-border-y-menuBorder {\n --tw-border-opacity: 1;\n border-top-color: rgb(224 225 231 / var(--tw-border-opacity));\n border-bottom-color: rgb(224 225 231 / var(--tw-border-opacity));\n}\n\n.rf-border-b-\\[\\#C4C5C8\\] {\n --tw-border-opacity: 1;\n border-bottom-color: rgb(196 197 200 / var(--tw-border-opacity));\n}\n\n.rf-border-b-black {\n border-bottom-color: var(--rf-color-black);\n}\n\n.rf-border-b-menuBorder {\n --tw-border-opacity: 1;\n border-bottom-color: rgb(224 225 231 / var(--tw-border-opacity));\n}\n\n.rf-border-b-silver {\n --tw-border-opacity: 1;\n border-bottom-color: rgb(192 192 192 / var(--tw-border-opacity));\n}\n\n.rf-border-b-transparent {\n border-bottom-color: #0000;\n}\n\n.rf-border-l-menuBorder {\n --tw-border-opacity: 1;\n border-left-color: rgb(224 225 231 / var(--tw-border-opacity));\n}\n\n.rf-border-r-silver {\n --tw-border-opacity: 1;\n border-right-color: rgb(192 192 192 / var(--tw-border-opacity));\n}\n\n.rf-border-t-\\[\\#CBC9C9\\] {\n --tw-border-opacity: 1;\n border-top-color: rgb(203 201 201 / var(--tw-border-opacity));\n}\n\n.rf-border-t-menuBorder {\n --tw-border-opacity: 1;\n border-top-color: rgb(224 225 231 / var(--tw-border-opacity));\n}\n\n.rf-bg-\\[\\#00000050\\] {\n background-color: #00000050;\n}\n\n.rf-bg-\\[\\#F0F0F0\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(240 240 240 / var(--tw-bg-opacity));\n}\n\n.rf-bg-\\[\\#F8F8F8\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(248 248 248 / var(--tw-bg-opacity));\n}\n\n.rf-bg-black {\n background-color: var(--rf-color-black);\n}\n\n.rf-bg-blue-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity));\n}\n\n.rf-bg-cardButtonBackgroundDefault {\n background-color: var(--rf-color-cardButtonBackgroundDefault);\n}\n\n.rf-bg-cardButtonBackgroundHover {\n background-color: var(--rf-color-cardButtonBackgroundHover);\n}\n\n.rf-bg-cardFrameBackground {\n background-color: var(--rf-color-cardFrameBackground);\n}\n\n.rf-bg-formInputButtonBackgroundDefault {\n background-color: var(--rf-color-formInputButtonBackgroundDefault);\n}\n\n.rf-bg-formInputButtonBackgroundHover {\n background-color: var(--rf-color-formInputButtonBackgroundHover);\n}\n\n.rf-bg-formInputRadioCheckboxUncheckedBackground {\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n}\n\n.rf-bg-gray {\n --tw-bg-opacity: 1;\n background-color: rgb(128 128 128 / var(--tw-bg-opacity));\n}\n\n.rf-bg-primary {\n background-color: var(--rf-color-primary);\n}\n\n.rf-bg-red-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(220 38 38 / var(--tw-bg-opacity));\n}\n\n.rf-bg-secondary {\n background-color: var(--rf-color-secondary);\n}\n\n.rf-bg-silver {\n --tw-bg-opacity: 1;\n background-color: rgb(192 192 192 / var(--tw-bg-opacity));\n}\n\n.rf-bg-templateBackground {\n --tw-bg-opacity: 1;\n background-color: rgb(241 241 241 / var(--tw-bg-opacity));\n}\n\n.rf-bg-templateEmptyCard {\n --tw-bg-opacity: 1;\n background-color: rgb(232 231 231 / var(--tw-bg-opacity));\n}\n\n.rf-bg-textModePanelBackground {\n background-color: var(--rf-color-textModePanelBackground);\n}\n\n.rf-bg-transparent {\n background-color: #0000;\n}\n\n.rf-bg-truewhite {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n\n.rf-bg-vocalModeSubtitlesBackground {\n background-color: var(--rf-color-vocalModeSubtitlesBackground);\n}\n\n.rf-bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(247 243 246 / var(--tw-bg-opacity));\n}\n\n.rf-bg-opacity-30 {\n --tw-bg-opacity: .3;\n}\n\n.rf-bg-opacity-50 {\n --tw-bg-opacity: .5;\n}\n\n.rf-bg-opacity-80 {\n --tw-bg-opacity: .8;\n}\n\n.rf-object-cover {\n object-fit: cover;\n}\n\n.rf-p-0 {\n padding: 0;\n}\n\n.rf-p-1 {\n padding: .25rem;\n}\n\n.rf-p-2 {\n padding: .5rem;\n}\n\n.rf-p-4 {\n padding: 1rem;\n}\n\n.rf-p-6 {\n padding: 1.5rem;\n}\n\n.rf-p-\\[25px\\] {\n padding: 25px;\n}\n\n.rf-p-\\[7px_12px\\] {\n padding: 7px 12px;\n}\n\n.rf-px-1 {\n padding-left: .25rem;\n padding-right: .25rem;\n}\n\n.rf-px-2 {\n padding-left: .5rem;\n padding-right: .5rem;\n}\n\n.rf-px-3 {\n padding-left: .75rem;\n padding-right: .75rem;\n}\n\n.rf-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n.rf-px-5, .rf-px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n\n.rf-px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n}\n\n.rf-py-0 {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n.rf-py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n.rf-py-12 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n}\n\n.rf-py-2 {\n padding-top: .5rem;\n padding-bottom: .5rem;\n}\n\n.rf-py-3 {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n.rf-py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n.rf-py-6 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n}\n\n.rf-pb-10 {\n padding-bottom: 2.5rem;\n}\n\n.rf-pb-12 {\n padding-bottom: 3rem;\n}\n\n.rf-pb-14 {\n padding-bottom: 3.5rem;\n}\n\n.rf-pb-2 {\n padding-bottom: .5rem;\n}\n\n.rf-pb-3 {\n padding-bottom: .75rem;\n}\n\n.rf-pb-4 {\n padding-bottom: 1rem;\n}\n\n.rf-pb-5, .rf-pb-6 {\n padding-bottom: 1.5rem;\n}\n\n.rf-pb-8 {\n padding-bottom: 2rem;\n}\n\n.rf-pb-\\[15vh\\] {\n padding-bottom: 15vh;\n}\n\n.rf-pl-0 {\n padding-left: 0;\n}\n\n.rf-pl-1 {\n padding-left: .25rem;\n}\n\n.rf-pl-2 {\n padding-left: .5rem;\n}\n\n.rf-pl-4 {\n padding-left: 1rem;\n}\n\n.rf-pl-6 {\n padding-left: 1.5rem;\n}\n\n.rf-pr-1 {\n padding-right: .25rem;\n}\n\n.rf-pr-2 {\n padding-right: .5rem;\n}\n\n.rf-pr-4 {\n padding-right: 1rem;\n}\n\n.rf-pt-1 {\n padding-top: .25rem;\n}\n\n.rf-pt-11\\/20 {\n padding-top: 55%;\n}\n\n.rf-pt-12 {\n padding-top: 3rem;\n}\n\n.rf-pt-14 {\n padding-top: 3.5rem;\n}\n\n.rf-pt-2 {\n padding-top: .5rem;\n}\n\n.rf-pt-24 {\n padding-top: 6rem;\n}\n\n.rf-pt-3 {\n padding-top: .75rem;\n}\n\n.rf-pt-4 {\n padding-top: 1rem;\n}\n\n.rf-pt-8 {\n padding-top: 2rem;\n}\n\n.rf-pt-\\[25vh\\] {\n padding-top: 25vh;\n}\n\n.rf-pt-\\[26vh\\] {\n padding-top: 26vh;\n}\n\n.rf-text-left {\n text-align: left;\n}\n\n.rf-text-center {\n text-align: center;\n}\n\n.rf-text-right {\n text-align: right;\n}\n\n.rf-font-default {\n font-family: Calibri, sans-serif;\n}\n\n.rf-text-3xl {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n.rf-text-5xl {\n font-size: 3rem;\n line-height: 1;\n}\n\n.rf-text-7xl {\n font-size: 4.5rem;\n line-height: 1;\n}\n\n.rf-text-8xl {\n font-size: 6rem;\n line-height: 1;\n}\n\n.rf-text-\\[0\\.5rem\\] {\n font-size: .5rem;\n}\n\n.rf-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n.rf-text-basecustom {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n.rf-text-lgcustom {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n.rf-text-sm {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n.rf-text-xl {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n\n.rf-text-xs {\n font-size: .75rem;\n line-height: 1rem;\n}\n\n.rf-text-xsl {\n font-size: .7rem;\n line-height: 1rem;\n}\n\n.rf-text-xsm {\n font-size: .6rem;\n}\n\n.rf-font-bold {\n font-weight: 600;\n}\n\n.rf-font-medium {\n font-weight: 300;\n}\n\n.rf-font-semibold {\n font-weight: 400;\n}\n\n.rf-uppercase {\n text-transform: uppercase;\n}\n\n.rf-capitalize {\n text-transform: capitalize;\n}\n\n.rf-normal-case {\n text-transform: none;\n}\n\n.rf-italic {\n font-style: italic;\n}\n\n.rf-text-\\[\\#575F6B\\] {\n --tw-text-opacity: 1;\n color: rgb(87 95 107 / var(--tw-text-opacity));\n}\n\n.rf-text-\\[\\#9A9A9A\\] {\n --tw-text-opacity: 1;\n color: rgb(154 154 154 / var(--tw-text-opacity));\n}\n\n.rf-text-\\[\\#A4A7AF\\] {\n --tw-text-opacity: 1;\n color: rgb(164 167 175 / var(--tw-text-opacity));\n}\n\n.rf-text-black {\n color: var(--rf-color-black);\n}\n\n.rf-text-cardButtonTextDefault {\n color: var(--rf-color-cardButtonTextDefault);\n}\n\n.rf-text-cardFrameText {\n color: var(--rf-color-cardFrameText);\n}\n\n.rf-text-formInputButtonTextDefault {\n color: var(--rf-color-formInputButtonTextDefault);\n}\n\n.rf-text-formInputButtonTextHover {\n color: var(--rf-color-formInputButtonTextHover);\n}\n\n.rf-text-formInputRadioCheckboxUncheckedBackground {\n color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n}\n\n.rf-text-formInputTextDefault {\n color: var(--rf-color-formInputTextDefault);\n}\n\n.rf-text-gray {\n --tw-text-opacity: 1;\n color: rgb(128 128 128 / var(--tw-text-opacity));\n}\n\n.rf-text-lightgray {\n --tw-text-opacity: 1;\n color: rgb(129 129 129 / var(--tw-text-opacity));\n}\n\n.rf-text-primary {\n color: var(--rf-color-primary);\n}\n\n.rf-text-red-700 {\n --tw-text-opacity: 1;\n color: rgb(185 28 28 / var(--tw-text-opacity));\n}\n\n.rf-text-secondary {\n color: var(--rf-color-secondary);\n}\n\n.rf-text-textModePanelConversationBot {\n color: var(--rf-color-textModePanelConversationBot);\n}\n\n.rf-text-textModePanelConversationUser {\n color: var(--rf-color-textModePanelConversationUser);\n}\n\n.rf-text-trueblack {\n --tw-text-opacity: 1;\n color: rgb(0 0 0 / var(--tw-text-opacity));\n}\n\n.rf-text-truewhite {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n.rf-text-vocalModeSubtitlesText {\n color: var(--rf-color-vocalModeSubtitlesText);\n}\n\n.rf-text-white {\n --tw-text-opacity: 1;\n color: rgb(247 243 246 / var(--tw-text-opacity));\n}\n\n.rf-underline {\n text-decoration-line: underline;\n}\n\n.rf-shadow-\\[0_0_15px_0_silver\\] {\n --tw-shadow: 0 0 15px 0 silver;\n --tw-shadow-colored: 0 0 15px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_0_20px_1px_\\#A4A7AF80\\] {\n --tw-shadow: 0 0 20px 1px #a4a7af80;\n --tw-shadow-colored: 0 0 20px 1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_0_3px_6px_\\#00000029\\] {\n --tw-shadow: 0 0 3px 6px #00000029;\n --tw-shadow-colored: 0 0 3px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_3px_6px_\\#00000029\\] {\n --tw-shadow: 0 3px 6px #00000029;\n --tw-shadow-colored: 0 3px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_3px_6px_\\#606267\\] {\n --tw-shadow: 0 3px 6px #606267;\n --tw-shadow-colored: 0 3px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_3px_6px_rgba\\(0\\,0\\,0\\,0\\.16\\)\\] {\n --tw-shadow: 0 3px 6px #00000029;\n --tw-shadow-colored: 0 3px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_6px_6px_\\#00000029\\] {\n --tw-shadow: 0 6px 6px #00000029;\n --tw-shadow-colored: 0 6px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[20px_3px_20px_\\#00000029\\] {\n --tw-shadow: 20px 3px 20px #00000029;\n --tw-shadow-colored: 20px 3px 20px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[3px_3px_16px_\\#00000029\\] {\n --tw-shadow: 3px 3px 16px #00000029;\n --tw-shadow-colored: 3px 3px 16px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[3px_3px_6px_\\#00000029\\] {\n --tw-shadow: 3px 3px 6px #00000029;\n --tw-shadow-colored: 3px 3px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[inset_0_0_6px_\\#0000003B\\] {\n --tw-shadow: inset 0 0 6px #0000003b;\n --tw-shadow-colored: inset 0 0 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[inset_0_12px_12px_-12px_\\#00000029\\,inset_0_-12px_12px_-12px_\\#00000029\\] {\n --tw-shadow: inset 0 12px 12px -12px #00000029, inset 0 -12px 12px -12px #00000029;\n --tw-shadow-colored: inset 0 12px 12px -12px var(--tw-shadow-color), inset 0 -12px 12px -12px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-card {\n --tw-shadow: 0px 0px 13px 3px #101219;\n --tw-shadow-colored: 0px 0px 13px 3px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-outline-none {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.rf-blur-background {\n --tw-blur: blur(var(--rf-blur-background));\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n.rf-filter {\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n.rf-transition-all {\n transition-property: all;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.rf-transition-transform {\n transition-property: transform;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.rf-text-shadow-black {\n text-shadow: 2px 0 5px #000, -2px 0 5px #000, 0 2px 5px #000, 0 -2px 5px #000;\n}\n\n.rf-capitalize-first:first-letter {\n text-transform: uppercase;\n}\n\nol {\n padding-left: 2rem;\n list-style-type: decimal;\n}\n\nul {\n padding-left: 2rem;\n list-style-type: disc;\n}\n\n#retorik-container.rf-portrait:not(.rf-large) .ac-image {\n max-width: 100px;\n}\n\n.rf-glass-background, #retorik-container.portrait .portrait\\:rf-glass-background {\n background-color: var(--rf-color-black);\n --tw-bg-opacity: .62;\n --tw-backdrop-blur: blur(8px);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n\n.rf-loader:before {\n content: \"\";\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n animation: 1.8s ease-in-out -.32s infinite both rf-loader;\n display: block;\n position: absolute;\n right: 1.5rem;\n}\n\n.rf-loader:after {\n content: \"\";\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n animation: 1.8s ease-in-out infinite both rf-loader;\n display: block;\n position: absolute;\n left: 1.5rem;\n}\n\n.rf-loader-microphone:before, .rf-loader-microphone:after {\n content: \"\";\n --tw-border-opacity: 1;\n border: 6px solid #0000;\n border-top-color: rgb(128 128 128 / var(--tw-border-opacity));\n border-radius: 100%;\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.rf-loader-microphone:before {\n z-index: 1;\n animation: 1s linear infinite rf-spin;\n}\n\n.rf-loader-microphone:after {\n --tw-border-opacity: 1;\n border-color: rgb(204 204 204 / var(--tw-border-opacity));\n}\n\n.rf-touch-action-none {\n touch-action: none;\n}\n\n.rf-unselectable {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-touch-callout: none;\n}\n\n.rf-title-extralarge-bold-size-auto {\n font-size: 2.25rem;\n font-weight: 600;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large .rf-title-extralarge-bold-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-extralarge-bold-size-auto {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n.rf-title-extralarge-size-auto {\n font-size: 2.25rem;\n font-weight: 400;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large .rf-title-extralarge-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-extralarge-size-auto {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n.rf-title-large-size-auto {\n font-size: 1.5rem;\n font-weight: 400;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-title-large-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-large-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n.rf-title-large-bold-size-auto {\n font-size: 1.875rem;\n font-weight: 600;\n line-height: 2.25rem;\n}\n\n#retorik-container.rf-large .rf-title-large-bold-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-large-bold-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n.rf-title-size-auto {\n font-size: 1.5rem;\n font-weight: 400;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-title-size-auto {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n.rf-title-bold-size-auto {\n font-size: 1.5rem;\n font-weight: 600;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-title-bold-size-auto {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-bold-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n.rf-subtitle-size-auto {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-subtitle-size-auto {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-subtitle-size-auto {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n.rf-text-extralarge-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large .rf-text-extralarge-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-text-extralarge-size-auto {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n.rf-text-verylarge-size-auto {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-text-verylarge-size-auto {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-text-verylarge-size-auto {\n font-size: 4.5rem;\n line-height: 1;\n}\n\n.rf-text-large-size-auto {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-text-large-size-auto {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-text-large-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n.rf-text-medium-size-auto {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large .rf-text-medium-size-auto {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n.rf-text-size-auto {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-text-size-auto {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-text-size-auto {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n.rf-small-size-auto {\n font-size: .6rem;\n}\n\n#retorik-container.rf-large .rf-small-size-auto {\n font-size: .75rem;\n line-height: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-small-size-auto {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n.rf-line-clamp-unknown {\n hyphens: auto;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-1 {\n hyphens: auto;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-2 {\n hyphens: auto;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-3 {\n hyphens: auto;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-4 {\n hyphens: auto;\n -webkit-line-clamp: 4;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-5 {\n hyphens: auto;\n -webkit-line-clamp: 5;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-6 {\n hyphens: auto;\n -webkit-line-clamp: 6;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-7 {\n hyphens: auto;\n -webkit-line-clamp: 7;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-8 {\n hyphens: auto;\n -webkit-line-clamp: 8;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-9 {\n hyphens: auto;\n -webkit-line-clamp: 9;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-10 {\n hyphens: auto;\n -webkit-line-clamp: 10;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-height-fill-available {\n height: stretch;\n}\n\n.rf-width-fill-available {\n width: stretch;\n}\n\n.rf-animation-delay-2 {\n animation-delay: .2s;\n}\n\n.rf-animation-delay-4 {\n animation-delay: .4s;\n}\n\n.rf-scrollbar-thin {\n scrollbar-width: thin;\n scrollbar-color: var(--rf-color-secondary) transparent;\n}\n\n.rf-scrollbar-thin::-webkit-scrollbar {\n width: .2rem;\n height: .2rem;\n margin: .25rem 0;\n}\n\n.rf-scrollbar-thin::-webkit-scrollbar-thumb {\n background-color: var(--rf-color-secondary);\n border-radius: .5rem;\n}\n\n.rf-scrollbar-x-custom::-webkit-scrollbar {\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n border-radius: 2rem;\n height: .5rem;\n}\n\n.rf-scrollbar-x-custom::-webkit-scrollbar-thumb {\n background-color: var(--rf-color-primary);\n border-radius: 2rem;\n}\n\n.rf-scrollbar-hidden {\n scrollbar-width: none;\n}\n\n.rf-scrollbar-hidden::-webkit-scrollbar {\n display: none;\n}\n\n.rf-opacity-gradient-b {\n -webkit-mask-image: linear-gradient(#000 50%, #0000 100%);\n}\n\n.rf-opacity-gradient-b-thin {\n -webkit-mask-image: linear-gradient(#797676 84%, #0000 100%);\n}\n\n.rf-opacity-gradient-l {\n -webkit-mask-image: linear-gradient(to left, #000 75%, gray 80%, #0000 85%);\n}\n\n.rf-opacity-gradient-l-thin {\n -webkit-mask-image: linear-gradient(to left, #000 90%, gray 95%, #0000 100%);\n}\n\n.rf-opacity-gradient-h {\n -webkit-mask-image: linear-gradient(to right, #0000 0%, 6%, #000, 94%, #0000 100%);\n}\n\n.rf-card-button {\n border-width: 1px;\n border-color: var(--rf-color-cardButtonBorderDefault);\n background-color: var(--rf-color-cardButtonBackgroundDefault);\n color: var(--rf-color-cardButtonTextDefault);\n border-radius: .3125rem;\n padding: .25rem .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-card-button {\n padding: .5rem 1rem;\n}\n\n.rf-card-button:hover {\n cursor: pointer;\n border-color: var(--rf-color-cardButtonBorderHover);\n background-color: var(--rf-color-cardButtonBackgroundHover);\n color: var(--rf-color-cardButtonTextHover);\n}\n\n.rf-card-button-secondary {\n border-width: 1px;\n border-color: var(--rf-color-secondary);\n color: var(--rf-color-secondary);\n background-color: #0000;\n border-radius: .3125rem;\n padding: .25rem .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-secondary {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button-secondary {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-card-button-secondary {\n padding: .5rem 1rem;\n}\n\n.rf-card-button-secondary:hover {\n cursor: pointer;\n border-color: var(--rf-color-secondary);\n background-color: var(--rf-color-secondary);\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n.rf-card-button-discover {\n border-width: 1px;\n border-color: var(--rf-color-cardButtonDiscoverBorderDefault);\n background-color: var(--rf-color-cardButtonDiscoverBackgroundDefault);\n color: var(--rf-color-cardButtonDiscoverTextDefault);\n border-radius: .3125rem;\n padding: .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-discover {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n.rf-card-button-discover:hover {\n cursor: pointer;\n border-color: var(--rf-color-cardButtonDiscoverBorderHover);\n background-color: var(--rf-color-cardButtonDiscoverBackgroundHover);\n color: var(--rf-color-cardButtonDiscoverTextHover);\n}\n\n.rf-card-button-history {\n cursor: default;\n border-width: 1px;\n border-color: var(--rf-color-cardButtonBorderDefault);\n background-color: var(--rf-color-cardButtonBackgroundDefault);\n color: var(--rf-color-cardButtonTextDefault);\n border-radius: .3125rem;\n padding: .25rem .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-history {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button-history {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-card-button-history {\n padding: .5rem 1rem;\n}\n\n.lf-player-container {\n align-items: flex-end;\n width: 100%;\n height: 100%;\n display: flex;\n overflow: hidden;\n}\n\n.rf-input-label {\n text-overflow: ellipsis;\n color: var(--rf-color-formInputTextDefault);\n margin-top: .1rem;\n margin-left: .75rem;\n overflow-x: hidden;\n}\n\n#retorik-container.rf-large .rf-input-label {\n margin-top: .25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-input-label {\n margin-top: .2rem;\n}\n\n.rf-radio-custom {\n -webkit-appearance: none;\n appearance: none;\n border-width: 2px;\n border-color: var(--rf-color-formInputRadioCheckboxUncheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n border-radius: 50%;\n place-content: center;\n width: 1.5rem;\n min-width: 1.5rem;\n height: 1.5rem;\n margin: 0;\n display: grid;\n}\n\n.rf-radio-custom:checked {\n border-color: var(--rf-color-formInputRadioCheckboxCheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxCheckedBackground);\n}\n\n#retorik-container.rf-large .rf-radio-custom {\n width: 1.75rem;\n min-width: 1.75rem;\n height: 1.75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-radio-custom {\n width: 2rem;\n min-width: 2rem;\n height: 2rem;\n}\n\n.rf-radio-custom:before {\n content: \"\";\n --tw-scale-x: 0;\n --tw-scale-y: 0;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n background-color: var(--rf-color-formInputRadioCheckboxCheckedItem);\n border-radius: 50%;\n width: .5rem;\n height: .5rem;\n transition-property: all;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n#retorik-container.rf-large .rf-radio-custom:before {\n width: .75rem;\n height: .75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-radio-custom:before {\n width: 1rem;\n height: 1rem;\n}\n\n.rf-radio-custom:checked:before {\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-input-hidden {\n -webkit-appearance: none;\n appearance: none;\n margin: 0;\n}\n\n.rf-checkbox-custom {\n -webkit-appearance: none;\n appearance: none;\n border-width: 2px;\n border-color: var(--rf-color-formInputRadioCheckboxUncheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n border-radius: .3125rem;\n place-content: center;\n width: 1.5rem;\n min-width: 1.5rem;\n height: 1.5rem;\n margin: 0;\n display: grid;\n}\n\n#retorik-container.rf-large .rf-checkbox-custom {\n width: 1.75rem;\n min-width: 1.75rem;\n height: 1.75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-checkbox-custom {\n width: 2rem;\n min-width: 2rem;\n height: 2rem;\n}\n\n.rf-checkbox-custom:checked {\n border-color: var(--rf-color-formInputRadioCheckboxCheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxCheckedBackground);\n}\n\n.rf-toggle-custom {\n -webkit-appearance: none;\n appearance: none;\n background-color: var(--rf-color-black);\n border-radius: 1.5rem;\n width: 3rem;\n min-width: 3rem;\n height: 1.5rem;\n margin: 0;\n position: relative;\n}\n\n.rf-toggle-custom:checked {\n background-color: var(--rf-color-primary);\n}\n\n#retorik-container.rf-large .rf-toggle-custom {\n border-radius: 1.75rem;\n width: 3.5rem;\n min-width: 3.5rem;\n height: 1.75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-toggle-custom {\n border-radius: 2rem;\n width: 4rem;\n min-width: 4rem;\n height: 2rem;\n}\n\n.rf-toggle-custom:before {\n content: \"\";\n --tw-translate-x: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n border-radius: 50%;\n width: 1rem;\n height: 1rem;\n transition-property: all;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n position: absolute;\n top: .25rem;\n left: .25rem;\n}\n\n#retorik-container.rf-large .rf-toggle-custom:before {\n width: 1.25rem;\n height: 1.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-toggle-custom:before {\n width: 1.5rem;\n height: 1.5rem;\n}\n\n.rf-toggle-custom:checked:before {\n --tw-translate-x: 1.5rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n#retorik-container.rf-large .rf-toggle-custom:checked:before {\n --tw-translate-x: 1.75rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n#retorik-container.rf-large.rf-portrait .rf-toggle-custom:checked:before {\n --tw-translate-x: 2rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-select-custom {\n -webkit-appearance: none;\n appearance: none;\n border-width: 2px;\n border-color: var(--rf-color-formInputRadioCheckboxUncheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n border-radius: .3125rem;\n margin: 0;\n padding: 1rem;\n}\n\n.rf-select-custom:hover {\n cursor: pointer;\n}\n\n.rf-select-custom:focus-visible {\n border-color: var(--rf-color-formInputRadioCheckboxCheckedBorder);\n}\n\n.rf-slider-custom {\n -webkit-appearance: none;\n -moz-appearance: none;\n outline-offset: 2px;\n border-radius: .5rem;\n outline: 2px solid #0000;\n width: 100%;\n height: .25rem;\n display: block;\n position: relative;\n}\n\n.rf-slider-custom::-webkit-slider-runnable-track {\n -webkit-appearance: none;\n}\n\n.rf-slider-custom::-moz-track {\n -moz-appearance: none;\n}\n\n.rf-slider-custom::-ms-track {\n appearance: none;\n}\n\n.rf-slider-custom::-webkit-slider-thumb {\n -webkit-appearance: none;\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n border-style: none;\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n margin-top: -.2rem;\n}\n\n.rf-slider-custom::-webkit-slider-thumb:hover {\n cursor: pointer;\n}\n\n.rf-slider-custom::-moz-range-thumb {\n -webkit-appearance: none;\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n border-style: none;\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n margin-top: -.2rem;\n}\n\n.rf-slider-custom::-moz-range-thumb:hover {\n cursor: pointer;\n}\n\n.rf-slider-custom::-ms-thumb {\n appearance: none;\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n border-style: none;\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n margin-top: -.2rem;\n}\n\n.rf-slider-custom::-ms-thumb:hover {\n cursor: pointer;\n}\n\n.rf-likert-custom {\n cursor: pointer;\n outline-offset: 2px;\n -webkit-text-stroke-width: 1px;\n -webkit-text-stroke-color: white;\n background-color: #0000;\n border-style: none;\n outline: 2px solid #0000;\n}\n\n.svgButtonMenu > svg * {\n fill: var(--fill);\n}\n\n.webchat__css-custom-properties {\n width: 100%;\n height: 100%;\n}\n\n.placeholder\\:rf-text-black::placeholder {\n color: var(--rf-color-black);\n}\n\n.placeholder\\:rf-opacity-100::placeholder {\n opacity: 1;\n}\n\n.hover\\:rf-cursor-pointer:hover {\n cursor: pointer;\n}\n\n.hover\\:rf-border-truewhite:hover {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / var(--tw-border-opacity));\n}\n\n.hover\\:rf-bg-formInputRadioCheckboxCheckedBackground:hover {\n background-color: var(--rf-color-formInputRadioCheckboxCheckedBackground);\n}\n\n.hover\\:rf-bg-truewhite:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n\n.hover\\:rf-text-formInputRadioCheckboxCheckedItem:hover {\n color: var(--rf-color-formInputRadioCheckboxCheckedItem);\n}\n\n.hover\\:rf-text-truewhite:hover {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-col-span-full {\n grid-column: 1 / -1;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-col-start-1 {\n grid-column-start: 1;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-row-span-1 {\n grid-row: span 1 / span 1;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-row-span-full {\n grid-row: 1 / -1;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-row-start-1 {\n grid-row-start: 1;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-row-start-11 {\n grid-row-start: 11;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-row-end-13 {\n grid-row-end: 13;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-w-5\\/6 {\n width: 83.3333%;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-w-full {\n width: 100%;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-flex-col {\n flex-direction: column;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-overflow-x-auto {\n overflow-x: auto;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-border-r-0 {\n border-right-width: 0;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-absolute {\n position: absolute;\n}\n\n#retorik-container.rf-large .large\\:rf-left-4 {\n left: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-top-8 {\n top: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-col-start-5 {\n grid-column-start: 5;\n}\n\n#retorik-container.rf-large .large\\:rf-col-end-6 {\n grid-column-end: 6;\n}\n\n#retorik-container.rf-large .large\\:rf-col-end-9 {\n grid-column-end: 9;\n}\n\n#retorik-container.rf-large .large\\:rf-row-span-full {\n grid-row: 1 / -1;\n}\n\n#retorik-container.rf-large .large\\:rf-row-start-10 {\n grid-row-start: 10;\n}\n\n#retorik-container.rf-large .large\\:rf-row-start-5 {\n grid-row-start: 5;\n}\n\n#retorik-container.rf-large .large\\:rf-m-8 {\n margin: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-my-0 {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-my-3 {\n margin-top: .75rem;\n margin-bottom: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mb-0 {\n margin-bottom: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-mb-4 {\n margin-bottom: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mb-6 {\n margin-bottom: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-ml-0 {\n margin-left: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-ml-12 {\n margin-left: 3rem;\n}\n\n#retorik-container.rf-large .large\\:rf-ml-4 {\n margin-left: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-ml-8 {\n margin-left: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mr-3 {\n margin-right: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mr-30 {\n margin-right: 7.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mt-0 {\n margin-top: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-mt-20 {\n margin-top: 5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mt-3 {\n margin-top: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mt-\\[20vh\\] {\n margin-top: 20vh;\n}\n\n#retorik-container.rf-large .large\\:rf-block {\n display: block;\n}\n\n#retorik-container.rf-large .large\\:rf-flex {\n display: flex;\n}\n\n#retorik-container.rf-large .large\\:rf-hidden {\n display: none;\n}\n\n#retorik-container.rf-large .large\\:rf-aspect-video {\n aspect-ratio: 16 / 9;\n}\n\n#retorik-container.rf-large .large\\:rf-h-16 {\n height: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-3\\/5 {\n height: 60%;\n}\n\n#retorik-container.rf-large .large\\:rf-h-4 {\n height: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-5 {\n height: 1.25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-6 {\n height: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-8 {\n height: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-\\[60vh\\] {\n height: 60vh;\n}\n\n#retorik-container.rf-large .large\\:rf-h-auto {\n height: auto;\n}\n\n#retorik-container.rf-large .large\\:rf-h-full {\n height: 100%;\n}\n\n#retorik-container.rf-large .large\\:rf-max-h-28 {\n max-height: 7rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-1\\/8 {\n width: 12.5%;\n}\n\n#retorik-container.rf-large .large\\:rf-w-14 {\n width: 3.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-16 {\n width: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-3\\/5 {\n width: 60%;\n}\n\n#retorik-container.rf-large .large\\:rf-w-4 {\n width: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-5 {\n width: 1.25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-6 {\n width: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-8 {\n width: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-fit {\n width: fit-content;\n}\n\n#retorik-container.rf-large .large\\:rf-w-full {\n width: 100%;\n}\n\n#retorik-container.rf-large .large\\:rf-min-w-1\\/2 {\n min-width: 50%;\n}\n\n#retorik-container.rf-large .large\\:rf-min-w-1\\/8 {\n min-width: 12.5%;\n}\n\n#retorik-container.rf-large .large\\:rf-min-w-16 {\n min-width: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-min-w-3\\/5 {\n min-width: 60%;\n}\n\n#retorik-container.rf-large .large\\:rf-max-w-1\\/8 {\n max-width: 12.5%;\n}\n\n#retorik-container.rf-large .large\\:rf-max-w-\\[12rem\\] {\n max-width: 12rem;\n}\n\n#retorik-container.rf-large .large\\:rf-max-w-full {\n max-width: 100%;\n}\n\n#retorik-container.rf-large .large\\:rf-grid-cols-5 {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n}\n\n#retorik-container.rf-large .large\\:rf-flex-row {\n flex-direction: row;\n}\n\n#retorik-container.rf-large .large\\:rf-flex-col {\n flex-direction: column;\n}\n\n#retorik-container.rf-large .large\\:rf-items-baseline {\n align-items: baseline;\n}\n\n#retorik-container.rf-large .large\\:rf-justify-start {\n justify-content: flex-start;\n}\n\n#retorik-container.rf-large .large\\:rf-gap-1 {\n gap: .25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-gap-3 {\n gap: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-gap-4 {\n gap: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-gap-6 {\n gap: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-overflow-y-scroll {\n overflow-y: scroll;\n}\n\n#retorik-container.rf-large .large\\:rf-rounded {\n border-radius: .3125rem;\n}\n\n#retorik-container.rf-large .large\\:rf-border-t-0 {\n border-top-width: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-bg-truewhite {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n\n#retorik-container.rf-large .large\\:rf-p-4 {\n padding: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-p-\\[25px\\] {\n padding: 25px;\n}\n\n#retorik-container.rf-large .large\\:rf-p-min1 {\n padding: .1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-px-0 {\n padding-left: 0;\n padding-right: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-px-16 {\n padding-left: 4rem;\n padding-right: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-px-5, #retorik-container.rf-large .large\\:rf-px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-py-0 {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-py-2 {\n padding-top: .5rem;\n padding-bottom: .5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-py-3 {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pb-16 {\n padding-bottom: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pl-4 {\n padding-left: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pr-4 {\n padding-right: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pt-16 {\n padding-top: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pt-3 {\n padding-top: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-text-5xl {\n font-size: 3rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large .large\\:rf-text-6xl {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large .large\\:rf-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-text-basecustom {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large .large\\:rf-text-sm {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-uppercase {\n text-transform: uppercase;\n}\n\n#retorik-container.rf-tactile .tactile\\:rf-h-4 {\n height: 1rem;\n}\n\n#retorik-container.rf-tactile .tactile\\:rf-h-6 {\n height: 1.5rem;\n}\n\n#retorik-container.rf-tactile .tactile\\:rf-w-6 {\n width: 1.5rem;\n}\n\n#retorik-container.rf-tactile .tactile\\:rf-pt-1\\/5 {\n padding-top: 20%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-bottom-\\[25vh\\] {\n bottom: 25vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-left-4 {\n left: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-top-4 {\n top: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-col-span-full {\n grid-column: 1 / -1;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-col-start-1 {\n grid-column-start: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-col-start-2 {\n grid-column-start: 2;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-col-end-8 {\n grid-column-end: 8;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-col-end-9 {\n grid-column-end: 9;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-row-span-4 {\n grid-row: span 4 / span 4;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-row-span-6 {\n grid-row: span 6 / span 6;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-row-start-5 {\n grid-row-start: 5;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-row-start-7 {\n grid-row-start: 7;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-row-end-11 {\n grid-row-end: 11;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-row-end-7 {\n grid-row-end: 7;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-mt-4 {\n margin-top: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-mt-\\[20vh\\] {\n margin-top: 20vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-mt-\\[25vh\\] {\n margin-top: 25vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-block {\n display: block;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-hidden {\n display: none;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-1\\/2 {\n height: 50%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-14 {\n height: 3.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-24 {\n height: 6rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-6 {\n height: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-\\[50vh\\] {\n height: 50vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-h-11\\/12 {\n max-height: 91.67%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-h-36 {\n max-height: 9rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-h-\\[18vh\\] {\n max-height: 18vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-h-\\[30vh\\] {\n max-height: 30vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-1\\/2 {\n width: 50%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-14 {\n width: 3.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-16 {\n width: 4rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-24 {\n width: 6rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-4\\/9 {\n width: 45%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-6 {\n width: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-min-w-24 {\n min-width: 6rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-min-w-4\\/9 {\n min-width: 45%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-w-2\\/3 {\n max-width: 66.67%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-w-\\[60\\%\\] {\n max-width: 60%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-flex-row {\n flex-direction: row;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-justify-center {\n justify-content: center;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-gap-6 {\n gap: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-self-end {\n align-self: flex-end;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-border-t {\n border-top-width: 1px;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-border-t-menuBorder {\n --tw-border-opacity: 1;\n border-top-color: rgb(224 225 231 / var(--tw-border-opacity));\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-py-5 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pl-0 {\n padding-left: 0;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pt-8 {\n padding-top: 2rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pt-\\[16\\.67\\%\\] {\n padding-top: 16.67%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pt-\\[20vh\\] {\n padding-top: 20vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-text-basecustomuppercase {\n font-size: 1rem;\n line-height: 1.1rem;\n}\n\n#retorik-container.rf-large.rf-tactile .large-tactile\\:rf-mt-0 {\n margin-top: 0;\n}\n\n#retorik-container.rf-large.rf-tactile .large-tactile\\:rf-flex {\n display: flex;\n}\n\n#retorik-container.rf-large.rf-tactile .large-tactile\\:rf-hidden {\n display: none;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .desktop\\:rf-h-full {\n height: 100%;\n}\n\n@media (height <= 700px) and (width <= 300px) {\n .small-mobile\\:rf-row-span-6 {\n grid-row: span 6 / span 6;\n }\n\n .small-mobile\\:rf-row-span-7 {\n grid-row: span 7 / span 7;\n }\n\n .small-mobile\\:rf-row-start-5 {\n grid-row-start: 5;\n }\n}\n";
|
|
74
|
+
$4e7182a6e3eb35e2$exports = "*, :before, :after {\n box-sizing: border-box;\n border: 0 solid;\n}\n\n:before, :after {\n --tw-content: \"\";\n}\n\nhtml, :host {\n -webkit-text-size-adjust: 100%;\n -moz-tab-size: 4;\n tab-size: 4;\n font-feature-settings: normal;\n font-variation-settings: normal;\n -webkit-tap-highlight-color: transparent;\n font-family: Calibri, sans-serif;\n line-height: 1.5;\n}\n\nbody {\n line-height: inherit;\n margin: 0;\n}\n\nhr {\n color: inherit;\n border-top-width: 1px;\n height: 0;\n}\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\nh1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\nb, strong {\n font-weight: bolder;\n}\n\ncode, kbd, samp, pre {\n font-feature-settings: normal;\n font-variation-settings: normal;\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;\n font-size: 1em;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub, sup {\n vertical-align: baseline;\n font-size: 75%;\n line-height: 0;\n position: relative;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\ntable {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n}\n\nbutton, input, optgroup, select, textarea {\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n font-family: inherit;\n font-size: 100%;\n font-weight: inherit;\n line-height: inherit;\n color: inherit;\n margin: 0;\n padding: 0;\n}\n\nbutton, select {\n text-transform: none;\n}\n\nbutton, [type=\"button\"], [type=\"reset\"], [type=\"submit\"] {\n -webkit-appearance: button;\n background-color: #0000;\n background-image: none;\n}\n\n:-moz-focusring {\n outline: auto;\n}\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n\nsummary {\n display: list-item;\n}\n\nblockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol, ul, menu {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\ndialog {\n padding: 0;\n}\n\ntextarea {\n resize: vertical;\n}\n\ninput::placeholder, textarea::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\n\nbutton, [role=\"button\"] {\n cursor: pointer;\n}\n\n:disabled {\n cursor: default;\n}\n\nimg, svg, video, canvas, audio, iframe, embed, object {\n vertical-align: middle;\n display: block;\n}\n\nimg, video {\n max-width: 100%;\n height: auto;\n}\n\n[hidden] {\n display: none;\n}\n\n*, :before, :after, ::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: #3b82f680;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n.rf-pointer-events-none {\n pointer-events: none;\n}\n\n.rf-pointer-events-auto {\n pointer-events: auto;\n}\n\n.rf-visible {\n visibility: visible;\n}\n\n.rf-invisible {\n visibility: hidden;\n}\n\n.rf-fixed {\n position: fixed;\n}\n\n.rf-absolute {\n position: absolute;\n}\n\n.rf-relative {\n position: relative;\n}\n\n.-rf-left-6 {\n left: -1.5rem;\n}\n\n.-rf-top-6 {\n top: -1.5rem;\n}\n\n.-rf-top-\\[1\\.15rem\\] {\n top: -1.15rem;\n}\n\n.rf--bottom-2 {\n bottom: -.5rem;\n}\n\n.rf-bottom-0 {\n bottom: 0;\n}\n\n.rf-bottom-1 {\n bottom: .25rem;\n}\n\n.rf-bottom-1\\/4 {\n bottom: 25%;\n}\n\n.rf-bottom-10 {\n bottom: 2.5rem;\n}\n\n.rf-bottom-16 {\n bottom: 4rem;\n}\n\n.rf-bottom-2 {\n bottom: .5rem;\n}\n\n.rf-bottom-4 {\n bottom: 1rem;\n}\n\n.rf-bottom-40 {\n bottom: 10rem;\n}\n\n.rf-left-0 {\n left: 0;\n}\n\n.rf-left-1 {\n left: .25rem;\n}\n\n.rf-left-1\\/2 {\n left: 50%;\n}\n\n.rf-left-2 {\n left: .5rem;\n}\n\n.rf-left-4 {\n left: 1rem;\n}\n\n.rf-right-0 {\n right: 0;\n}\n\n.rf-right-1 {\n right: .25rem;\n}\n\n.rf-right-2 {\n right: .5rem;\n}\n\n.rf-right-3 {\n right: .75rem;\n}\n\n.rf-right-4 {\n right: 1rem;\n}\n\n.rf-right-6 {\n right: 1.5rem;\n}\n\n.rf-right-8 {\n right: 2rem;\n}\n\n.rf-top-0 {\n top: 0;\n}\n\n.rf-top-1 {\n top: .25rem;\n}\n\n.rf-top-1\\/2 {\n top: 50%;\n}\n\n.rf-top-1\\/3 {\n top: 33.3333%;\n}\n\n.rf-top-110 {\n top: 110%;\n}\n\n.rf-top-2 {\n top: .5rem;\n}\n\n.rf-top-4 {\n top: 1rem;\n}\n\n.rf-top-\\[0\\.125rem\\] {\n top: .125rem;\n}\n\n.rf-z-background {\n z-index: 0;\n}\n\n.rf-z-chatbot {\n z-index: 10;\n}\n\n.rf-z-detailedPOI {\n z-index: 2;\n}\n\n.rf-z-dropdown {\n z-index: 30;\n}\n\n.rf-z-exitwidget {\n z-index: 55;\n}\n\n.rf-z-menu {\n z-index: 40;\n}\n\n.rf-z-modal {\n z-index: 50;\n}\n\n.rf-z-overlay {\n z-index: 40;\n}\n\n.rf-z-ui {\n z-index: 20;\n}\n\n.rf-z-util {\n z-index: 1;\n}\n\n.rf-col-span-2 {\n grid-column: span 2 / span 2;\n}\n\n.rf-col-span-3 {\n grid-column: span 3 / span 3;\n}\n\n.rf-col-span-6 {\n grid-column: span 6 / span 6;\n}\n\n.rf-col-span-full {\n grid-column: 1 / -1;\n}\n\n.rf-col-start-1 {\n grid-column-start: 1;\n}\n\n.rf-col-start-2 {\n grid-column-start: 2;\n}\n\n.rf-col-start-4 {\n grid-column-start: 4;\n}\n\n.rf-col-start-5 {\n grid-column-start: 5;\n}\n\n.rf-col-end-13 {\n grid-column-end: 13;\n}\n\n.rf-col-end-2 {\n grid-column-end: 2;\n}\n\n.rf-col-end-9 {\n grid-column-end: 9;\n}\n\n.rf-row-span-1 {\n grid-row: span 1 / span 1;\n}\n\n.rf-row-span-2 {\n grid-row: span 2 / span 2;\n}\n\n.rf-row-span-3 {\n grid-row: span 3 / span 3;\n}\n\n.rf-row-span-5 {\n grid-row: span 5 / span 5;\n}\n\n.rf-row-span-6 {\n grid-row: span 6 / span 6;\n}\n\n.rf-row-span-9 {\n grid-row: span 9 / span 9;\n}\n\n.rf-row-span-full {\n grid-row: 1 / -1;\n}\n\n.rf-row-start-1 {\n grid-row-start: 1;\n}\n\n.rf-row-start-12 {\n grid-row-start: 12;\n}\n\n.rf-row-start-2 {\n grid-row-start: 2;\n}\n\n.rf-row-start-3 {\n grid-row-start: 3;\n}\n\n.rf-row-start-4 {\n grid-row-start: 4;\n}\n\n.rf-row-start-6 {\n grid-row-start: 6;\n}\n\n.rf-row-start-9 {\n grid-row-start: 9;\n}\n\n.rf-row-end-12 {\n grid-row-end: 12;\n}\n\n.rf-row-end-13 {\n grid-row-end: 13;\n}\n\n.rf-row-end-2 {\n grid-row-end: 2;\n}\n\n.rf-row-end-3 {\n grid-row-end: 3;\n}\n\n.rf-row-end-4 {\n grid-row-end: 4;\n}\n\n.rf-row-end-5 {\n grid-row-end: 5;\n}\n\n.rf-float-right {\n float: right;\n}\n\n.rf-m-0 {\n margin: 0;\n}\n\n.rf-m-4 {\n margin: 1rem;\n}\n\n.rf-m-auto {\n margin: auto;\n}\n\n.-rf-mx-6 {\n margin-left: -1.5rem;\n margin-right: -1.5rem;\n}\n\n.rf-mx-0 {\n margin-left: 0;\n margin-right: 0;\n}\n\n.rf-mx-2 {\n margin-left: .5rem;\n margin-right: .5rem;\n}\n\n.rf-mx-3 {\n margin-left: .75rem;\n margin-right: .75rem;\n}\n\n.rf-mx-8 {\n margin-left: 2rem;\n margin-right: 2rem;\n}\n\n.rf-mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n\n.rf-my-1 {\n margin-top: .25rem;\n margin-bottom: .25rem;\n}\n\n.rf-my-2 {\n margin-top: .5rem;\n margin-bottom: .5rem;\n}\n\n.rf-my-4 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n}\n\n.rf-my-auto {\n margin-top: auto;\n margin-bottom: auto;\n}\n\n.-rf-mb-4 {\n margin-bottom: -1rem;\n}\n\n.-rf-ml-2 {\n margin-left: -.5rem;\n}\n\n.rf-mb-0 {\n margin-bottom: 0;\n}\n\n.rf-mb-1 {\n margin-bottom: .25rem;\n}\n\n.rf-mb-12 {\n margin-bottom: 3rem;\n}\n\n.rf-mb-16 {\n margin-bottom: 4rem;\n}\n\n.rf-mb-2 {\n margin-bottom: .5rem;\n}\n\n.rf-mb-26 {\n margin-bottom: 6.5rem;\n}\n\n.rf-mb-28 {\n margin-bottom: 7rem;\n}\n\n.rf-mb-3 {\n margin-bottom: .75rem;\n}\n\n.rf-mb-30 {\n margin-bottom: 7.5rem;\n}\n\n.rf-mb-4 {\n margin-bottom: 1rem;\n}\n\n.rf-mb-5 {\n margin-bottom: 1.25rem;\n}\n\n.rf-mb-6 {\n margin-bottom: 1.5rem;\n}\n\n.rf-mb-8 {\n margin-bottom: 2rem;\n}\n\n.rf-ml-1 {\n margin-left: .25rem;\n}\n\n.rf-ml-2 {\n margin-left: .5rem;\n}\n\n.rf-ml-4 {\n margin-left: 1rem;\n}\n\n.rf-ml-6 {\n margin-left: 1.5rem;\n}\n\n.rf-mr-1 {\n margin-right: .25rem;\n}\n\n.rf-mr-2 {\n margin-right: .5rem;\n}\n\n.rf-mr-3 {\n margin-right: .75rem;\n}\n\n.rf-mr-4 {\n margin-right: 1rem;\n}\n\n.rf-mr-5 {\n margin-right: 1.25rem;\n}\n\n.rf-mt-1 {\n margin-top: .25rem;\n}\n\n.rf-mt-10 {\n margin-top: 2.5rem;\n}\n\n.rf-mt-2 {\n margin-top: .5rem;\n}\n\n.rf-mt-4 {\n margin-top: 1rem;\n}\n\n.rf-mt-5 {\n margin-top: 1.25rem;\n}\n\n.rf-mt-8 {\n margin-top: 2rem;\n}\n\n.rf-mt-\\[0\\.2rem\\] {\n margin-top: .2rem;\n}\n\n.rf-mt-auto {\n margin-top: auto;\n}\n\n.rf-line-clamp-1 {\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-2 {\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-inline {\n display: inline;\n}\n\n.rf-flex {\n display: flex;\n}\n\n.rf-grid {\n display: grid;\n}\n\n.rf-hidden {\n display: none;\n}\n\n.rf-aspect-\\[4\\/3\\] {\n aspect-ratio: 4 / 3;\n}\n\n.rf-aspect-square {\n aspect-ratio: 1;\n}\n\n.rf-aspect-video {\n aspect-ratio: 16 / 9;\n}\n\n.rf-h-0 {\n height: 0;\n}\n\n.rf-h-1 {\n height: .25rem;\n}\n\n.rf-h-1\\/2 {\n height: 50%;\n}\n\n.rf-h-1\\/3 {\n height: 33.3333%;\n}\n\n.rf-h-12 {\n height: 3rem;\n}\n\n.rf-h-14 {\n height: 3.5rem;\n}\n\n.rf-h-16 {\n height: 4rem;\n}\n\n.rf-h-18 {\n height: 4.5rem;\n}\n\n.rf-h-2 {\n height: .5rem;\n}\n\n.rf-h-2\\/3 {\n height: 66.6667%;\n}\n\n.rf-h-24 {\n height: 6rem;\n}\n\n.rf-h-3 {\n height: .75rem;\n}\n\n.rf-h-3\\/10 {\n height: 30%;\n}\n\n.rf-h-32 {\n height: 8rem;\n}\n\n.rf-h-36 {\n height: 9rem;\n}\n\n.rf-h-4 {\n height: 1rem;\n}\n\n.rf-h-48 {\n height: 12rem;\n}\n\n.rf-h-5 {\n height: 1.25rem;\n}\n\n.rf-h-6 {\n height: 1.5rem;\n}\n\n.rf-h-7 {\n height: 1.75rem;\n}\n\n.rf-h-8 {\n height: 2rem;\n}\n\n.rf-h-9 {\n height: 2.25rem;\n}\n\n.rf-h-\\[0\\.875rem\\] {\n height: .875rem;\n}\n\n.rf-h-\\[calc\\(50vw-3rem\\)\\] {\n height: calc(50vw - 3rem);\n}\n\n.rf-h-fit {\n height: fit-content;\n}\n\n.rf-h-full {\n height: 100%;\n}\n\n.rf-h-max {\n height: max-content;\n}\n\n.rf-h-screen {\n height: 100vh;\n}\n\n.rf-max-h-12 {\n max-height: 3rem;\n}\n\n.rf-max-h-28 {\n max-height: 7rem;\n}\n\n.rf-max-h-4\\/5 {\n max-height: 80%;\n}\n\n.rf-max-h-48 {\n max-height: 12rem;\n}\n\n.rf-max-h-6 {\n max-height: 1.5rem;\n}\n\n.rf-max-h-full {\n max-height: 100%;\n}\n\n.rf-max-h-qrcode {\n max-height: 120px;\n}\n\n.rf-max-h-screen {\n max-height: 100vh;\n}\n\n.rf-min-h-12 {\n min-height: 3rem;\n}\n\n.rf-min-h-16 {\n min-height: 4rem;\n}\n\n.rf-min-h-2\\/5 {\n min-height: 40%;\n}\n\n.rf-min-h-6 {\n min-height: 1.5rem;\n}\n\n.rf-min-h-full {\n min-height: 100%;\n}\n\n.rf-min-h-inherit {\n min-height: inherit;\n}\n\n.rf-w-0 {\n width: 0;\n}\n\n.rf-w-1\\/2 {\n width: 50%;\n}\n\n.rf-w-1\\/3 {\n width: 33.3333%;\n}\n\n.rf-w-1\\/4 {\n width: 25%;\n}\n\n.rf-w-11\\/12 {\n width: 91.6667%;\n}\n\n.rf-w-12 {\n width: 3rem;\n}\n\n.rf-w-16 {\n width: 4rem;\n}\n\n.rf-w-18 {\n width: 4.5rem;\n}\n\n.rf-w-2 {\n width: .5rem;\n}\n\n.rf-w-2\\/3 {\n width: 66.6667%;\n}\n\n.rf-w-20 {\n width: 5rem;\n}\n\n.rf-w-24 {\n width: 6rem;\n}\n\n.rf-w-3 {\n width: .75rem;\n}\n\n.rf-w-3\\/20 {\n width: 15%;\n}\n\n.rf-w-3\\/4 {\n width: 75%;\n}\n\n.rf-w-3\\/5 {\n width: 60%;\n}\n\n.rf-w-32 {\n width: 8rem;\n}\n\n.rf-w-36 {\n width: 9rem;\n}\n\n.rf-w-4 {\n width: 1rem;\n}\n\n.rf-w-4\\/9 {\n width: 45%;\n}\n\n.rf-w-48 {\n width: 12rem;\n}\n\n.rf-w-5 {\n width: 1.25rem;\n}\n\n.rf-w-6 {\n width: 1.5rem;\n}\n\n.rf-w-7 {\n width: 1.75rem;\n}\n\n.rf-w-8 {\n width: 2rem;\n}\n\n.rf-w-9 {\n width: 2.25rem;\n}\n\n.rf-w-\\[45\\%\\] {\n width: 45%;\n}\n\n.rf-w-\\[45ch\\] {\n width: 45ch;\n}\n\n.rf-w-\\[90\\%\\] {\n width: 90%;\n}\n\n.rf-w-\\[calc\\(100\\%-3rem\\)\\] {\n width: calc(100% - 3rem);\n}\n\n.rf-w-fit {\n width: fit-content;\n}\n\n.rf-w-full {\n width: 100%;\n}\n\n.rf-w-max {\n width: max-content;\n}\n\n.rf-w-screen {\n width: 100vw;\n}\n\n.rf-min-w-11\\/12 {\n min-width: 91.7%;\n}\n\n.rf-min-w-12 {\n min-width: 3rem;\n}\n\n.rf-min-w-24 {\n min-width: 6rem;\n}\n\n.rf-min-w-3\\/20 {\n min-width: 15%;\n}\n\n.rf-min-w-6 {\n min-width: 1.5rem;\n}\n\n.rf-min-w-\\[45\\%\\] {\n min-width: 45%;\n}\n\n.rf-min-w-full {\n min-width: 100%;\n}\n\n.rf-max-w-1\\/2 {\n max-width: 50%;\n}\n\n.rf-max-w-16 {\n max-width: 4rem;\n}\n\n.rf-max-w-3\\/20 {\n max-width: 15%;\n}\n\n.rf-max-w-6 {\n max-width: 1.5rem;\n}\n\n.rf-max-w-7\\/10 {\n max-width: 70%;\n}\n\n.rf-max-w-\\[100vw\\] {\n max-width: 100vw;\n}\n\n.rf-max-w-\\[45\\%\\] {\n max-width: 45%;\n}\n\n.rf-max-w-\\[70vw\\] {\n max-width: 70vw;\n}\n\n.rf-max-w-\\[calc\\(100\\%-2rem\\)\\] {\n max-width: calc(100% - 2rem);\n}\n\n.rf-max-w-full {\n max-width: 100%;\n}\n\n.rf-max-w-none {\n max-width: none;\n}\n\n.rf-flex-1 {\n flex: 1;\n}\n\n.rf-flex-\\[0_0_40\\%\\] {\n flex: 0 0 40%;\n}\n\n.rf-flex-\\[2_1_0\\%\\] {\n flex: 2;\n}\n\n.rf-flex-\\[4_1_0\\%\\] {\n flex: 4;\n}\n\n.rf-origin-center {\n transform-origin: center;\n}\n\n.-rf-translate-x-1\\/2 {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.-rf-translate-y-1\\/2 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf--translate-x-1\\/2 {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-translate-x-1 {\n --tw-translate-x: .25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-translate-x-5 {\n --tw-translate-x: 1.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf--rotate-90 {\n --tw-rotate: -90deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-rotate-0 {\n --tw-rotate: 0deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-rotate-180 {\n --tw-rotate: 180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-rotate-90 {\n --tw-rotate: 90deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-scale-0 {\n --tw-scale-x: 0;\n --tw-scale-y: 0;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n@keyframes rf-blink {\n 0%, 100% {\n opacity: .2;\n }\n\n 50% {\n opacity: 1;\n }\n}\n\n.rf-animate-blink {\n animation: 1.4s infinite both rf-blink;\n}\n\n@keyframes rf-fadeIn {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n.rf-animate-fadeIn {\n animation: .5s .2s backwards rf-fadeIn;\n}\n\n@keyframes rf-hScroll {\n 0% {\n transform: translateX(0);\n }\n\n 100% {\n transform: translateX(calc(-100% - 2rem));\n }\n}\n\n.rf-animate-hScroll {\n animation: 20s linear infinite rf-hScroll;\n}\n\n@keyframes rf-loader {\n 0% {\n box-shadow: 0 1.5rem 0 -1.5rem var(--rf-color-loader-animation);\n }\n\n 40% {\n box-shadow: 0 1.5rem 0 -.3rem var(--rf-color-loader-animation);\n }\n\n 80% {\n box-shadow: 0 1.5rem 0 -1.5rem var(--rf-color-loader-animation);\n }\n\n 100% {\n box-shadow: 0 1.5rem 0 -1.5rem var(--rf-color-loader-animation);\n }\n}\n\n.rf-animate-loader {\n animation: 1.8s ease-in-out -.16s infinite both rf-loader;\n}\n\n.rf-animate-loaderFadeIn {\n animation: 2s rf-fadeIn;\n}\n\n@keyframes rf-fadeOut {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n }\n}\n\n.rf-animate-loaderFadeOut {\n animation: 1s rf-fadeOut;\n}\n\n@keyframes rf-slideBottom {\n 0% {\n opacity: 0;\n transform: translateX(0)translateY(20px);\n }\n\n 100% {\n opacity: 1;\n transform: translateX(0)translateY(0);\n }\n}\n\n.rf-animate-slideBottom {\n animation: .5s .2s backwards rf-slideBottom;\n}\n\n@keyframes rf-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n.rf-animate-spin {\n animation: 1s linear infinite rf-spin;\n}\n\n.rf-cursor-pointer {\n cursor: pointer;\n}\n\n.rf-select-none {\n user-select: none;\n}\n\n.rf-resize-none {\n resize: none;\n}\n\n.rf-scroll-pb-4 {\n scroll-padding-bottom: 1rem;\n}\n\n.rf-grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n}\n\n.rf-grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n\n.rf-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n\n.rf-grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n\n.rf-grid-cols-6 {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n}\n\n.rf-grid-cols-7 {\n grid-template-columns: repeat(7, minmax(0, 1fr));\n}\n\n.rf-grid-cols-8 {\n grid-template-columns: repeat(8, minmax(0, 1fr));\n}\n\n.rf-grid-cols-headerContainer {\n grid-template-columns: 7rem 1fr 1fr 1fr;\n}\n\n.rf-grid-cols-printingPreview {\n grid-template-columns: minmax(0, 1fr) 3rem;\n}\n\n.rf-grid-cols-routes {\n grid-template-columns: repeat(3, max-content);\n}\n\n.rf-grid-rows-1 {\n grid-template-rows: repeat(1, minmax(0, 1fr));\n}\n\n.rf-grid-rows-2 {\n grid-template-rows: repeat(2, minmax(0, 1fr));\n}\n\n.rf-grid-rows-container {\n grid-template-rows: repeat(12, minmax(0, 1fr));\n}\n\n.rf-grid-rows-headerContainer {\n grid-template-rows: repeat(3, minmax(0, 1fr));\n}\n\n.rf-flex-row {\n flex-direction: row;\n}\n\n.rf-flex-col {\n flex-direction: column;\n}\n\n.rf-flex-col-reverse {\n flex-direction: column-reverse;\n}\n\n.rf-flex-wrap {\n flex-wrap: wrap;\n}\n\n.rf-flex-nowrap {\n flex-wrap: nowrap;\n}\n\n.rf-content-around {\n align-content: space-around;\n}\n\n.rf-items-start {\n align-items: flex-start;\n}\n\n.rf-items-end {\n align-items: flex-end;\n}\n\n.rf-items-center {\n align-items: center;\n}\n\n.rf-justify-start {\n justify-content: flex-start;\n}\n\n.rf-justify-end {\n justify-content: flex-end;\n}\n\n.rf-justify-center {\n justify-content: center;\n}\n\n.rf-justify-between {\n justify-content: space-between;\n}\n\n.rf-justify-around {\n justify-content: space-around;\n}\n\n.rf-justify-evenly {\n justify-content: space-evenly;\n}\n\n.rf-gap-1 {\n gap: .25rem;\n}\n\n.rf-gap-12 {\n gap: 3rem;\n}\n\n.rf-gap-2 {\n gap: .5rem;\n}\n\n.rf-gap-3 {\n gap: .75rem;\n}\n\n.rf-gap-4 {\n gap: 1rem;\n}\n\n.rf-gap-5 {\n gap: 1.25rem;\n}\n\n.rf-gap-8 {\n gap: 2rem;\n}\n\n.rf-gap-9 {\n gap: 2.25rem;\n}\n\n.rf-divide-x > :not([hidden]) ~ :not([hidden]) {\n --tw-divide-x-reverse: 0;\n border-right-width: calc(1px * var(--tw-divide-x-reverse));\n border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));\n}\n\n.rf-self-auto {\n align-self: auto;\n}\n\n.rf-self-start {\n align-self: flex-start;\n}\n\n.rf-self-end {\n align-self: flex-end;\n}\n\n.rf-self-center {\n align-self: center;\n}\n\n.rf-justify-self-start {\n justify-self: start;\n}\n\n.rf-justify-self-end {\n justify-self: end;\n}\n\n.rf-justify-self-center {\n justify-self: center;\n}\n\n.rf-overflow-hidden {\n overflow: hidden;\n}\n\n.rf-overflow-clip {\n overflow: clip;\n}\n\n.rf-overflow-x-auto {\n overflow-x: auto;\n}\n\n.rf-overflow-y-auto {\n overflow-y: auto;\n}\n\n.rf-overflow-x-hidden {\n overflow-x: hidden;\n}\n\n.rf-overflow-y-hidden {\n overflow-y: hidden;\n}\n\n.rf-overflow-y-visible {\n overflow-y: visible;\n}\n\n.rf-overflow-x-scroll {\n overflow-x: scroll;\n}\n\n.rf-overflow-y-scroll {\n overflow-y: scroll;\n}\n\n.rf-truncate {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.rf-whitespace-nowrap {\n white-space: nowrap;\n}\n\n.rf-rounded {\n border-radius: .3125rem;\n}\n\n.rf-rounded-6 {\n border-radius: 1.5rem;\n}\n\n.rf-rounded-8 {\n border-radius: 2rem;\n}\n\n.rf-rounded-\\[20px\\] {\n border-radius: 20px;\n}\n\n.rf-rounded-full {\n border-radius: 9999px;\n}\n\n.rf-rounded-half {\n border-radius: 50%;\n}\n\n.rf-rounded-lg {\n border-radius: .5rem;\n}\n\n.rf-rounded-max {\n border-radius: 100%;\n}\n\n.rf-rounded-b {\n border-bottom-right-radius: .3125rem;\n border-bottom-left-radius: .3125rem;\n}\n\n.rf-rounded-l-lg {\n border-top-left-radius: .5rem;\n border-bottom-left-radius: .5rem;\n}\n\n.rf-border {\n border-width: 1px;\n}\n\n.rf-border-0 {\n border-width: 0;\n}\n\n.rf-border-2 {\n border-width: 2px;\n}\n\n.rf-border-y {\n border-top-width: 1px;\n border-bottom-width: 1px;\n}\n\n.rf-border-b {\n border-bottom-width: 1px;\n}\n\n.rf-border-b-2 {\n border-bottom-width: 2px;\n}\n\n.rf-border-l {\n border-left-width: 1px;\n}\n\n.rf-border-r {\n border-right-width: 1px;\n}\n\n.rf-border-t {\n border-top-width: 1px;\n}\n\n.rf-border-t-0 {\n border-top-width: 0;\n}\n\n.rf-border-none {\n border-style: none;\n}\n\n.rf-border-\\[\\#00000029\\] {\n border-color: #00000029;\n}\n\n.rf-border-\\[\\#9FA2AA\\] {\n --tw-border-opacity: 1;\n border-color: rgb(159 162 170 / var(--tw-border-opacity));\n}\n\n.rf-border-\\[\\#C7C6C6\\] {\n --tw-border-opacity: 1;\n border-color: rgb(199 198 198 / var(--tw-border-opacity));\n}\n\n.rf-border-black {\n border-color: var(--rf-color-black);\n}\n\n.rf-border-cardButtonBorderDefault {\n border-color: var(--rf-color-cardButtonBorderDefault);\n}\n\n.rf-border-cardButtonBorderHover {\n border-color: var(--rf-color-cardButtonBorderHover);\n}\n\n.rf-border-cardFrameBorder {\n border-color: var(--rf-color-cardFrameBorder);\n}\n\n.rf-border-formInputButtonBorderDefault {\n border-color: var(--rf-color-formInputButtonBorderDefault);\n}\n\n.rf-border-formInputButtonBorderHover {\n border-color: var(--rf-color-formInputButtonBorderHover);\n}\n\n.rf-border-formInputRadioCheckboxCheckedBorder {\n border-color: var(--rf-color-formInputRadioCheckboxCheckedBorder);\n}\n\n.rf-border-formInputRadioCheckboxUncheckedBorder {\n border-color: var(--rf-color-formInputRadioCheckboxUncheckedBorder);\n}\n\n.rf-border-gray {\n --tw-border-opacity: 1;\n border-color: rgb(128 128 128 / var(--tw-border-opacity));\n}\n\n.rf-border-menuBorder {\n --tw-border-opacity: 1;\n border-color: rgb(224 225 231 / var(--tw-border-opacity));\n}\n\n.rf-border-primary {\n border-color: var(--rf-color-primary);\n}\n\n.rf-border-red-700 {\n --tw-border-opacity: 1;\n border-color: rgb(185 28 28 / var(--tw-border-opacity));\n}\n\n.rf-border-secondary {\n border-color: var(--rf-color-secondary);\n}\n\n.rf-border-templateCheckboxBorder {\n --tw-border-opacity: 1;\n border-color: rgb(112 112 112 / var(--tw-border-opacity));\n}\n\n.rf-border-trueblack {\n --tw-border-opacity: 1;\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\n}\n\n.rf-border-truewhite {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / var(--tw-border-opacity));\n}\n\n.rf-border-x-primary {\n border-left-color: var(--rf-color-primary);\n border-right-color: var(--rf-color-primary);\n}\n\n.rf-border-y-menuBorder {\n --tw-border-opacity: 1;\n border-top-color: rgb(224 225 231 / var(--tw-border-opacity));\n border-bottom-color: rgb(224 225 231 / var(--tw-border-opacity));\n}\n\n.rf-border-b-\\[\\#C4C5C8\\] {\n --tw-border-opacity: 1;\n border-bottom-color: rgb(196 197 200 / var(--tw-border-opacity));\n}\n\n.rf-border-b-black {\n border-bottom-color: var(--rf-color-black);\n}\n\n.rf-border-b-menuBorder {\n --tw-border-opacity: 1;\n border-bottom-color: rgb(224 225 231 / var(--tw-border-opacity));\n}\n\n.rf-border-b-silver {\n --tw-border-opacity: 1;\n border-bottom-color: rgb(192 192 192 / var(--tw-border-opacity));\n}\n\n.rf-border-b-transparent {\n border-bottom-color: #0000;\n}\n\n.rf-border-l-menuBorder {\n --tw-border-opacity: 1;\n border-left-color: rgb(224 225 231 / var(--tw-border-opacity));\n}\n\n.rf-border-r-silver {\n --tw-border-opacity: 1;\n border-right-color: rgb(192 192 192 / var(--tw-border-opacity));\n}\n\n.rf-border-t-\\[\\#CBC9C9\\] {\n --tw-border-opacity: 1;\n border-top-color: rgb(203 201 201 / var(--tw-border-opacity));\n}\n\n.rf-border-t-menuBorder {\n --tw-border-opacity: 1;\n border-top-color: rgb(224 225 231 / var(--tw-border-opacity));\n}\n\n.rf-bg-\\[\\#00000050\\] {\n background-color: #00000050;\n}\n\n.rf-bg-\\[\\#F0F0F0\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(240 240 240 / var(--tw-bg-opacity));\n}\n\n.rf-bg-\\[\\#F8F8F8\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(248 248 248 / var(--tw-bg-opacity));\n}\n\n.rf-bg-black {\n background-color: var(--rf-color-black);\n}\n\n.rf-bg-blue-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity));\n}\n\n.rf-bg-cardButtonBackgroundDefault {\n background-color: var(--rf-color-cardButtonBackgroundDefault);\n}\n\n.rf-bg-cardButtonBackgroundHover {\n background-color: var(--rf-color-cardButtonBackgroundHover);\n}\n\n.rf-bg-cardFrameBackground {\n background-color: var(--rf-color-cardFrameBackground);\n}\n\n.rf-bg-formInputButtonBackgroundDefault {\n background-color: var(--rf-color-formInputButtonBackgroundDefault);\n}\n\n.rf-bg-formInputButtonBackgroundHover {\n background-color: var(--rf-color-formInputButtonBackgroundHover);\n}\n\n.rf-bg-formInputRadioCheckboxUncheckedBackground {\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n}\n\n.rf-bg-gray {\n --tw-bg-opacity: 1;\n background-color: rgb(128 128 128 / var(--tw-bg-opacity));\n}\n\n.rf-bg-primary {\n background-color: var(--rf-color-primary);\n}\n\n.rf-bg-red-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(220 38 38 / var(--tw-bg-opacity));\n}\n\n.rf-bg-secondary {\n background-color: var(--rf-color-secondary);\n}\n\n.rf-bg-silver {\n --tw-bg-opacity: 1;\n background-color: rgb(192 192 192 / var(--tw-bg-opacity));\n}\n\n.rf-bg-templateBackground {\n --tw-bg-opacity: 1;\n background-color: rgb(241 241 241 / var(--tw-bg-opacity));\n}\n\n.rf-bg-templateEmptyCard {\n --tw-bg-opacity: 1;\n background-color: rgb(232 231 231 / var(--tw-bg-opacity));\n}\n\n.rf-bg-textModePanelBackground {\n background-color: var(--rf-color-textModePanelBackground);\n}\n\n.rf-bg-transparent {\n background-color: #0000;\n}\n\n.rf-bg-truewhite {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n\n.rf-bg-vocalModeSubtitlesBackground {\n background-color: var(--rf-color-vocalModeSubtitlesBackground);\n}\n\n.rf-bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(247 243 246 / var(--tw-bg-opacity));\n}\n\n.rf-bg-opacity-30 {\n --tw-bg-opacity: .3;\n}\n\n.rf-bg-opacity-50 {\n --tw-bg-opacity: .5;\n}\n\n.rf-bg-opacity-80 {\n --tw-bg-opacity: .8;\n}\n\n.rf-object-cover {\n object-fit: cover;\n}\n\n.rf-p-0 {\n padding: 0;\n}\n\n.rf-p-1 {\n padding: .25rem;\n}\n\n.rf-p-2 {\n padding: .5rem;\n}\n\n.rf-p-4 {\n padding: 1rem;\n}\n\n.rf-p-6 {\n padding: 1.5rem;\n}\n\n.rf-p-\\[25px\\] {\n padding: 25px;\n}\n\n.rf-p-\\[7px_12px\\] {\n padding: 7px 12px;\n}\n\n.rf-px-1 {\n padding-left: .25rem;\n padding-right: .25rem;\n}\n\n.rf-px-2 {\n padding-left: .5rem;\n padding-right: .5rem;\n}\n\n.rf-px-3 {\n padding-left: .75rem;\n padding-right: .75rem;\n}\n\n.rf-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n.rf-px-5, .rf-px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n\n.rf-px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n}\n\n.rf-py-0 {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n.rf-py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n.rf-py-12 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n}\n\n.rf-py-2 {\n padding-top: .5rem;\n padding-bottom: .5rem;\n}\n\n.rf-py-3 {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n.rf-py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n.rf-py-6 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n}\n\n.rf-pb-10 {\n padding-bottom: 2.5rem;\n}\n\n.rf-pb-12 {\n padding-bottom: 3rem;\n}\n\n.rf-pb-14 {\n padding-bottom: 3.5rem;\n}\n\n.rf-pb-2 {\n padding-bottom: .5rem;\n}\n\n.rf-pb-3 {\n padding-bottom: .75rem;\n}\n\n.rf-pb-4 {\n padding-bottom: 1rem;\n}\n\n.rf-pb-5, .rf-pb-6 {\n padding-bottom: 1.5rem;\n}\n\n.rf-pb-8 {\n padding-bottom: 2rem;\n}\n\n.rf-pb-\\[15vh\\] {\n padding-bottom: 15vh;\n}\n\n.rf-pl-0 {\n padding-left: 0;\n}\n\n.rf-pl-1 {\n padding-left: .25rem;\n}\n\n.rf-pl-2 {\n padding-left: .5rem;\n}\n\n.rf-pl-4 {\n padding-left: 1rem;\n}\n\n.rf-pl-6 {\n padding-left: 1.5rem;\n}\n\n.rf-pr-1 {\n padding-right: .25rem;\n}\n\n.rf-pr-2 {\n padding-right: .5rem;\n}\n\n.rf-pr-4 {\n padding-right: 1rem;\n}\n\n.rf-pt-1 {\n padding-top: .25rem;\n}\n\n.rf-pt-11\\/20 {\n padding-top: 55%;\n}\n\n.rf-pt-12 {\n padding-top: 3rem;\n}\n\n.rf-pt-14 {\n padding-top: 3.5rem;\n}\n\n.rf-pt-2 {\n padding-top: .5rem;\n}\n\n.rf-pt-24 {\n padding-top: 6rem;\n}\n\n.rf-pt-3 {\n padding-top: .75rem;\n}\n\n.rf-pt-4 {\n padding-top: 1rem;\n}\n\n.rf-pt-8 {\n padding-top: 2rem;\n}\n\n.rf-pt-\\[25vh\\] {\n padding-top: 25vh;\n}\n\n.rf-pt-\\[26vh\\] {\n padding-top: 26vh;\n}\n\n.rf-text-left {\n text-align: left;\n}\n\n.rf-text-center {\n text-align: center;\n}\n\n.rf-text-right {\n text-align: right;\n}\n\n.rf-font-default {\n font-family: Calibri, sans-serif;\n}\n\n.rf-text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n.rf-text-3xl {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n.rf-text-4xl {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n.rf-text-5xl {\n font-size: 3rem;\n line-height: 1;\n}\n\n.rf-text-7xl {\n font-size: 4.5rem;\n line-height: 1;\n}\n\n.rf-text-8xl {\n font-size: 6rem;\n line-height: 1;\n}\n\n.rf-text-\\[0\\.5rem\\] {\n font-size: .5rem;\n}\n\n.rf-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n.rf-text-basecustom {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n.rf-text-lgcustom {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n.rf-text-sm {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n.rf-text-xl {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n\n.rf-text-xs {\n font-size: .75rem;\n line-height: 1rem;\n}\n\n.rf-text-xsl {\n font-size: .7rem;\n line-height: 1rem;\n}\n\n.rf-text-xsm {\n font-size: .6rem;\n}\n\n.rf-font-bold {\n font-weight: 600;\n}\n\n.rf-font-medium {\n font-weight: 300;\n}\n\n.rf-font-semibold {\n font-weight: 400;\n}\n\n.rf-uppercase {\n text-transform: uppercase;\n}\n\n.rf-capitalize {\n text-transform: capitalize;\n}\n\n.rf-normal-case {\n text-transform: none;\n}\n\n.rf-italic {\n font-style: italic;\n}\n\n.rf-text-\\[\\#575F6B\\] {\n --tw-text-opacity: 1;\n color: rgb(87 95 107 / var(--tw-text-opacity));\n}\n\n.rf-text-\\[\\#9A9A9A\\] {\n --tw-text-opacity: 1;\n color: rgb(154 154 154 / var(--tw-text-opacity));\n}\n\n.rf-text-\\[\\#A4A7AF\\] {\n --tw-text-opacity: 1;\n color: rgb(164 167 175 / var(--tw-text-opacity));\n}\n\n.rf-text-black {\n color: var(--rf-color-black);\n}\n\n.rf-text-cardButtonTextDefault {\n color: var(--rf-color-cardButtonTextDefault);\n}\n\n.rf-text-cardFrameText {\n color: var(--rf-color-cardFrameText);\n}\n\n.rf-text-formInputButtonTextDefault {\n color: var(--rf-color-formInputButtonTextDefault);\n}\n\n.rf-text-formInputButtonTextHover {\n color: var(--rf-color-formInputButtonTextHover);\n}\n\n.rf-text-formInputRadioCheckboxUncheckedBackground {\n color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n}\n\n.rf-text-formInputTextDefault {\n color: var(--rf-color-formInputTextDefault);\n}\n\n.rf-text-gray {\n --tw-text-opacity: 1;\n color: rgb(128 128 128 / var(--tw-text-opacity));\n}\n\n.rf-text-lightgray {\n --tw-text-opacity: 1;\n color: rgb(129 129 129 / var(--tw-text-opacity));\n}\n\n.rf-text-primary {\n color: var(--rf-color-primary);\n}\n\n.rf-text-red-700 {\n --tw-text-opacity: 1;\n color: rgb(185 28 28 / var(--tw-text-opacity));\n}\n\n.rf-text-secondary {\n color: var(--rf-color-secondary);\n}\n\n.rf-text-textModePanelConversationBot {\n color: var(--rf-color-textModePanelConversationBot);\n}\n\n.rf-text-textModePanelConversationUser {\n color: var(--rf-color-textModePanelConversationUser);\n}\n\n.rf-text-trueblack {\n --tw-text-opacity: 1;\n color: rgb(0 0 0 / var(--tw-text-opacity));\n}\n\n.rf-text-truewhite {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n.rf-text-vocalModeSubtitlesText {\n color: var(--rf-color-vocalModeSubtitlesText);\n}\n\n.rf-text-white {\n --tw-text-opacity: 1;\n color: rgb(247 243 246 / var(--tw-text-opacity));\n}\n\n.rf-underline {\n text-decoration-line: underline;\n}\n\n.rf-shadow-\\[0_0_15px_0_silver\\] {\n --tw-shadow: 0 0 15px 0 silver;\n --tw-shadow-colored: 0 0 15px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_0_20px_1px_\\#A4A7AF80\\] {\n --tw-shadow: 0 0 20px 1px #a4a7af80;\n --tw-shadow-colored: 0 0 20px 1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_0_3px_6px_\\#00000029\\] {\n --tw-shadow: 0 0 3px 6px #00000029;\n --tw-shadow-colored: 0 0 3px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_3px_6px_\\#00000029\\] {\n --tw-shadow: 0 3px 6px #00000029;\n --tw-shadow-colored: 0 3px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_3px_6px_\\#606267\\] {\n --tw-shadow: 0 3px 6px #606267;\n --tw-shadow-colored: 0 3px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_3px_6px_rgba\\(0\\,0\\,0\\,0\\.16\\)\\] {\n --tw-shadow: 0 3px 6px #00000029;\n --tw-shadow-colored: 0 3px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_6px_6px_\\#00000029\\] {\n --tw-shadow: 0 6px 6px #00000029;\n --tw-shadow-colored: 0 6px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[20px_3px_20px_\\#00000029\\] {\n --tw-shadow: 20px 3px 20px #00000029;\n --tw-shadow-colored: 20px 3px 20px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[3px_3px_16px_\\#00000029\\] {\n --tw-shadow: 3px 3px 16px #00000029;\n --tw-shadow-colored: 3px 3px 16px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[3px_3px_6px_\\#00000029\\] {\n --tw-shadow: 3px 3px 6px #00000029;\n --tw-shadow-colored: 3px 3px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[inset_0_0_6px_\\#0000003B\\] {\n --tw-shadow: inset 0 0 6px #0000003b;\n --tw-shadow-colored: inset 0 0 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[inset_0_12px_12px_-12px_\\#00000029\\,inset_0_-12px_12px_-12px_\\#00000029\\] {\n --tw-shadow: inset 0 12px 12px -12px #00000029, inset 0 -12px 12px -12px #00000029;\n --tw-shadow-colored: inset 0 12px 12px -12px var(--tw-shadow-color), inset 0 -12px 12px -12px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-card {\n --tw-shadow: 0px 0px 13px 3px #101219;\n --tw-shadow-colored: 0px 0px 13px 3px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-outline-none {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.rf-blur-background {\n --tw-blur: blur(var(--rf-blur-background));\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n.rf-filter {\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n.rf-transition-all {\n transition-property: all;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.rf-transition-transform {\n transition-property: transform;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.rf-text-shadow-black {\n text-shadow: 2px 0 5px #000, -2px 0 5px #000, 0 2px 5px #000, 0 -2px 5px #000;\n}\n\n.rf-capitalize-first:first-letter {\n text-transform: uppercase;\n}\n\nol {\n padding-left: 2rem;\n list-style-type: decimal;\n}\n\nul {\n padding-left: 2rem;\n list-style-type: disc;\n}\n\n#retorik-container.rf-portrait:not(.rf-large) .ac-image {\n max-width: 100px;\n}\n\n.rf-glass-background, #retorik-container.portrait .portrait\\:rf-glass-background {\n background-color: var(--rf-color-black);\n --tw-bg-opacity: .62;\n --tw-backdrop-blur: blur(8px);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n\n.rf-loader:before {\n content: \"\";\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n animation: 1.8s ease-in-out -.32s infinite both rf-loader;\n display: block;\n position: absolute;\n right: 1.5rem;\n}\n\n.rf-loader:after {\n content: \"\";\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n animation: 1.8s ease-in-out infinite both rf-loader;\n display: block;\n position: absolute;\n left: 1.5rem;\n}\n\n.rf-loader-microphone:before, .rf-loader-microphone:after {\n content: \"\";\n --tw-border-opacity: 1;\n border: 6px solid #0000;\n border-top-color: rgb(128 128 128 / var(--tw-border-opacity));\n border-radius: 100%;\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.rf-loader-microphone:before {\n z-index: 1;\n animation: 1s linear infinite rf-spin;\n}\n\n.rf-loader-microphone:after {\n --tw-border-opacity: 1;\n border-color: rgb(204 204 204 / var(--tw-border-opacity));\n}\n\n.rf-touch-action-none {\n touch-action: none;\n}\n\n.rf-unselectable {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-touch-callout: none;\n}\n\n.rf-title-extralarge-bold-size-auto {\n font-size: 2.25rem;\n font-weight: 600;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large .rf-title-extralarge-bold-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-extralarge-bold-size-auto {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n.rf-title-extralarge-size-auto {\n font-size: 2.25rem;\n font-weight: 400;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large .rf-title-extralarge-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-extralarge-size-auto {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n.rf-title-large-size-auto {\n font-size: 1.5rem;\n font-weight: 400;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-title-large-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-large-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n.rf-title-large-bold-size-auto {\n font-size: 1.875rem;\n font-weight: 600;\n line-height: 2.25rem;\n}\n\n#retorik-container.rf-large .rf-title-large-bold-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-large-bold-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n.rf-title-size-auto {\n font-size: 1.5rem;\n font-weight: 400;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-title-size-auto {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n.rf-title-bold-size-auto {\n font-size: 1.5rem;\n font-weight: 600;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-title-bold-size-auto {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-bold-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n.rf-subtitle-size-auto {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-subtitle-size-auto {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-subtitle-size-auto {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n.rf-text-extralarge-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large .rf-text-extralarge-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-text-extralarge-size-auto {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n.rf-text-verylarge-size-auto {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-text-verylarge-size-auto {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-text-verylarge-size-auto {\n font-size: 4.5rem;\n line-height: 1;\n}\n\n.rf-text-large-size-auto {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-text-large-size-auto {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-text-large-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n.rf-text-medium-size-auto {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large .rf-text-medium-size-auto {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n.rf-text-size-auto {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-text-size-auto {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-text-size-auto {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n.rf-small-size-auto {\n font-size: .6rem;\n}\n\n#retorik-container.rf-large .rf-small-size-auto {\n font-size: .75rem;\n line-height: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-small-size-auto {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n.rf-line-clamp-unknown {\n hyphens: auto;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-1 {\n hyphens: auto;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-2 {\n hyphens: auto;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-3 {\n hyphens: auto;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-4 {\n hyphens: auto;\n -webkit-line-clamp: 4;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-5 {\n hyphens: auto;\n -webkit-line-clamp: 5;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-6 {\n hyphens: auto;\n -webkit-line-clamp: 6;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-7 {\n hyphens: auto;\n -webkit-line-clamp: 7;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-8 {\n hyphens: auto;\n -webkit-line-clamp: 8;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-9 {\n hyphens: auto;\n -webkit-line-clamp: 9;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-10 {\n hyphens: auto;\n -webkit-line-clamp: 10;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-height-fill-available {\n height: stretch;\n}\n\n.rf-width-fill-available {\n width: stretch;\n}\n\n.rf-animation-delay-2 {\n animation-delay: .2s;\n}\n\n.rf-animation-delay-4 {\n animation-delay: .4s;\n}\n\n.rf-scrollbar-thin {\n scrollbar-width: thin;\n scrollbar-color: var(--rf-color-secondary) transparent;\n}\n\n.rf-scrollbar-thin::-webkit-scrollbar {\n width: .2rem;\n height: .2rem;\n margin: .25rem 0;\n}\n\n.rf-scrollbar-thin::-webkit-scrollbar-thumb {\n background-color: var(--rf-color-secondary);\n border-radius: .5rem;\n}\n\n.rf-scrollbar-x-custom::-webkit-scrollbar {\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n border-radius: 2rem;\n height: .5rem;\n}\n\n.rf-scrollbar-x-custom::-webkit-scrollbar-thumb {\n background-color: var(--rf-color-primary);\n border-radius: 2rem;\n}\n\n.rf-scrollbar-hidden {\n scrollbar-width: none;\n}\n\n.rf-scrollbar-hidden::-webkit-scrollbar {\n display: none;\n}\n\n.rf-opacity-gradient-b {\n -webkit-mask-image: linear-gradient(#000 50%, #0000 100%);\n}\n\n.rf-opacity-gradient-b-thin {\n -webkit-mask-image: linear-gradient(#797676 84%, #0000 100%);\n}\n\n.rf-opacity-gradient-l {\n -webkit-mask-image: linear-gradient(to left, #000 75%, gray 80%, #0000 85%);\n}\n\n.rf-opacity-gradient-l-thin {\n -webkit-mask-image: linear-gradient(to left, #000 90%, gray 95%, #0000 100%);\n}\n\n.rf-opacity-gradient-h {\n -webkit-mask-image: linear-gradient(to right, #0000 0%, 6%, #000, 94%, #0000 100%);\n}\n\n.rf-card-button {\n border-width: 1px;\n border-color: var(--rf-color-cardButtonBorderDefault);\n background-color: var(--rf-color-cardButtonBackgroundDefault);\n color: var(--rf-color-cardButtonTextDefault);\n border-radius: .3125rem;\n padding: .25rem .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-card-button {\n padding: .5rem 1rem;\n}\n\n.rf-card-button:hover {\n cursor: pointer;\n border-color: var(--rf-color-cardButtonBorderHover);\n background-color: var(--rf-color-cardButtonBackgroundHover);\n color: var(--rf-color-cardButtonTextHover);\n}\n\n.rf-card-button-secondary {\n border-width: 1px;\n border-color: var(--rf-color-secondary);\n color: var(--rf-color-secondary);\n background-color: #0000;\n border-radius: .3125rem;\n padding: .25rem .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-secondary {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button-secondary {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-card-button-secondary {\n padding: .5rem 1rem;\n}\n\n.rf-card-button-secondary:hover {\n cursor: pointer;\n border-color: var(--rf-color-secondary);\n background-color: var(--rf-color-secondary);\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n.rf-card-button-discover {\n border-width: 1px;\n border-color: var(--rf-color-cardButtonDiscoverBorderDefault);\n background-color: var(--rf-color-cardButtonDiscoverBackgroundDefault);\n color: var(--rf-color-cardButtonDiscoverTextDefault);\n border-radius: .3125rem;\n padding: .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-discover {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n.rf-card-button-discover:hover {\n cursor: pointer;\n border-color: var(--rf-color-cardButtonDiscoverBorderHover);\n background-color: var(--rf-color-cardButtonDiscoverBackgroundHover);\n color: var(--rf-color-cardButtonDiscoverTextHover);\n}\n\n.rf-card-button-history {\n cursor: default;\n border-width: 1px;\n border-color: var(--rf-color-cardButtonBorderDefault);\n background-color: var(--rf-color-cardButtonBackgroundDefault);\n color: var(--rf-color-cardButtonTextDefault);\n border-radius: .3125rem;\n padding: .25rem .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-history {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button-history {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-card-button-history {\n padding: .5rem 1rem;\n}\n\n.lf-player-container {\n align-items: flex-end;\n width: 100%;\n height: 100%;\n display: flex;\n overflow: hidden;\n}\n\n.rf-input-label {\n text-overflow: ellipsis;\n color: var(--rf-color-formInputTextDefault);\n margin-top: .1rem;\n margin-left: .75rem;\n overflow-x: hidden;\n}\n\n#retorik-container.rf-large .rf-input-label {\n margin-top: .25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-input-label {\n margin-top: .2rem;\n}\n\n.rf-radio-custom {\n -webkit-appearance: none;\n appearance: none;\n border-width: 2px;\n border-color: var(--rf-color-formInputRadioCheckboxUncheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n border-radius: 50%;\n place-content: center;\n width: 1.5rem;\n min-width: 1.5rem;\n height: 1.5rem;\n margin: 0;\n display: grid;\n}\n\n.rf-radio-custom:checked {\n border-color: var(--rf-color-formInputRadioCheckboxCheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxCheckedBackground);\n}\n\n#retorik-container.rf-large .rf-radio-custom {\n width: 1.75rem;\n min-width: 1.75rem;\n height: 1.75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-radio-custom {\n width: 2rem;\n min-width: 2rem;\n height: 2rem;\n}\n\n.rf-radio-custom:before {\n content: \"\";\n --tw-scale-x: 0;\n --tw-scale-y: 0;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n background-color: var(--rf-color-formInputRadioCheckboxCheckedItem);\n border-radius: 50%;\n width: .5rem;\n height: .5rem;\n transition-property: all;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n#retorik-container.rf-large .rf-radio-custom:before {\n width: .75rem;\n height: .75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-radio-custom:before {\n width: 1rem;\n height: 1rem;\n}\n\n.rf-radio-custom:checked:before {\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-input-hidden {\n -webkit-appearance: none;\n appearance: none;\n margin: 0;\n}\n\n.rf-checkbox-custom {\n -webkit-appearance: none;\n appearance: none;\n border-width: 2px;\n border-color: var(--rf-color-formInputRadioCheckboxUncheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n border-radius: .3125rem;\n place-content: center;\n width: 1.5rem;\n min-width: 1.5rem;\n height: 1.5rem;\n margin: 0;\n display: grid;\n}\n\n#retorik-container.rf-large .rf-checkbox-custom {\n width: 1.75rem;\n min-width: 1.75rem;\n height: 1.75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-checkbox-custom {\n width: 2rem;\n min-width: 2rem;\n height: 2rem;\n}\n\n.rf-checkbox-custom:checked {\n border-color: var(--rf-color-formInputRadioCheckboxCheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxCheckedBackground);\n}\n\n.rf-toggle-custom {\n -webkit-appearance: none;\n appearance: none;\n background-color: var(--rf-color-black);\n border-radius: 1.5rem;\n width: 3rem;\n min-width: 3rem;\n height: 1.5rem;\n margin: 0;\n position: relative;\n}\n\n.rf-toggle-custom:checked {\n background-color: var(--rf-color-primary);\n}\n\n#retorik-container.rf-large .rf-toggle-custom {\n border-radius: 1.75rem;\n width: 3.5rem;\n min-width: 3.5rem;\n height: 1.75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-toggle-custom {\n border-radius: 2rem;\n width: 4rem;\n min-width: 4rem;\n height: 2rem;\n}\n\n.rf-toggle-custom:before {\n content: \"\";\n --tw-translate-x: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n border-radius: 50%;\n width: 1rem;\n height: 1rem;\n transition-property: all;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n position: absolute;\n top: .25rem;\n left: .25rem;\n}\n\n#retorik-container.rf-large .rf-toggle-custom:before {\n width: 1.25rem;\n height: 1.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-toggle-custom:before {\n width: 1.5rem;\n height: 1.5rem;\n}\n\n.rf-toggle-custom:checked:before {\n --tw-translate-x: 1.5rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n#retorik-container.rf-large .rf-toggle-custom:checked:before {\n --tw-translate-x: 1.75rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n#retorik-container.rf-large.rf-portrait .rf-toggle-custom:checked:before {\n --tw-translate-x: 2rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.rf-select-custom {\n -webkit-appearance: none;\n appearance: none;\n border-width: 2px;\n border-color: var(--rf-color-formInputRadioCheckboxUncheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n border-radius: .3125rem;\n margin: 0;\n padding: 1rem;\n}\n\n.rf-select-custom:hover {\n cursor: pointer;\n}\n\n.rf-select-custom:focus-visible {\n border-color: var(--rf-color-formInputRadioCheckboxCheckedBorder);\n}\n\n.rf-slider-custom {\n -webkit-appearance: none;\n -moz-appearance: none;\n outline-offset: 2px;\n border-radius: .5rem;\n outline: 2px solid #0000;\n width: 100%;\n height: .25rem;\n display: block;\n position: relative;\n}\n\n.rf-slider-custom::-webkit-slider-runnable-track {\n -webkit-appearance: none;\n}\n\n.rf-slider-custom::-moz-track {\n -moz-appearance: none;\n}\n\n.rf-slider-custom::-ms-track {\n appearance: none;\n}\n\n.rf-slider-custom::-webkit-slider-thumb {\n -webkit-appearance: none;\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n border-style: none;\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n margin-top: -.2rem;\n}\n\n.rf-slider-custom::-webkit-slider-thumb:hover {\n cursor: pointer;\n}\n\n.rf-slider-custom::-moz-range-thumb {\n -webkit-appearance: none;\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n border-style: none;\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n margin-top: -.2rem;\n}\n\n.rf-slider-custom::-moz-range-thumb:hover {\n cursor: pointer;\n}\n\n.rf-slider-custom::-ms-thumb {\n appearance: none;\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n border-style: none;\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n margin-top: -.2rem;\n}\n\n.rf-slider-custom::-ms-thumb:hover {\n cursor: pointer;\n}\n\n.rf-likert-custom {\n cursor: pointer;\n outline-offset: 2px;\n -webkit-text-stroke-width: 1px;\n -webkit-text-stroke-color: white;\n background-color: #0000;\n border-style: none;\n outline: 2px solid #0000;\n}\n\n.svgButtonMenu > svg * {\n fill: var(--fill);\n}\n\n.webchat__css-custom-properties {\n width: 100%;\n height: 100%;\n}\n\n.placeholder\\:rf-text-black::placeholder {\n color: var(--rf-color-black);\n}\n\n.placeholder\\:rf-opacity-100::placeholder {\n opacity: 1;\n}\n\n.hover\\:rf-cursor-pointer:hover {\n cursor: pointer;\n}\n\n.hover\\:rf-border-truewhite:hover {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / var(--tw-border-opacity));\n}\n\n.hover\\:rf-bg-formInputRadioCheckboxCheckedBackground:hover {\n background-color: var(--rf-color-formInputRadioCheckboxCheckedBackground);\n}\n\n.hover\\:rf-bg-truewhite:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n\n.hover\\:rf-text-formInputRadioCheckboxCheckedItem:hover {\n color: var(--rf-color-formInputRadioCheckboxCheckedItem);\n}\n\n.hover\\:rf-text-truewhite:hover {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-col-span-full {\n grid-column: 1 / -1;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-col-start-1 {\n grid-column-start: 1;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-row-span-1 {\n grid-row: span 1 / span 1;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-row-start-11 {\n grid-row-start: 11;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-row-end-13 {\n grid-row-end: 13;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-w-5\\/6 {\n width: 83.3333%;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-w-full {\n width: 100%;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-flex-col {\n flex-direction: column;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-overflow-x-auto {\n overflow-x: auto;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-border-r-0 {\n border-right-width: 0;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-absolute {\n position: absolute;\n}\n\n#retorik-container.rf-large .large\\:rf-left-4 {\n left: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-top-8 {\n top: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-col-start-5 {\n grid-column-start: 5;\n}\n\n#retorik-container.rf-large .large\\:rf-col-end-6 {\n grid-column-end: 6;\n}\n\n#retorik-container.rf-large .large\\:rf-col-end-9 {\n grid-column-end: 9;\n}\n\n#retorik-container.rf-large .large\\:rf-row-span-full {\n grid-row: 1 / -1;\n}\n\n#retorik-container.rf-large .large\\:rf-row-start-10 {\n grid-row-start: 10;\n}\n\n#retorik-container.rf-large .large\\:rf-row-start-5 {\n grid-row-start: 5;\n}\n\n#retorik-container.rf-large .large\\:rf-m-8 {\n margin: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-my-0 {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-my-3 {\n margin-top: .75rem;\n margin-bottom: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mb-0 {\n margin-bottom: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-mb-4 {\n margin-bottom: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mb-6 {\n margin-bottom: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-ml-0 {\n margin-left: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-ml-12 {\n margin-left: 3rem;\n}\n\n#retorik-container.rf-large .large\\:rf-ml-4 {\n margin-left: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-ml-8 {\n margin-left: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mr-3 {\n margin-right: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mr-30 {\n margin-right: 7.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mt-0 {\n margin-top: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-mt-20 {\n margin-top: 5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mt-3 {\n margin-top: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mt-\\[20vh\\] {\n margin-top: 20vh;\n}\n\n#retorik-container.rf-large .large\\:rf-block {\n display: block;\n}\n\n#retorik-container.rf-large .large\\:rf-flex {\n display: flex;\n}\n\n#retorik-container.rf-large .large\\:rf-hidden {\n display: none;\n}\n\n#retorik-container.rf-large .large\\:rf-aspect-video {\n aspect-ratio: 16 / 9;\n}\n\n#retorik-container.rf-large .large\\:rf-h-16 {\n height: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-3\\/5 {\n height: 60%;\n}\n\n#retorik-container.rf-large .large\\:rf-h-4 {\n height: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-5 {\n height: 1.25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-6 {\n height: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-8 {\n height: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-\\[60vh\\] {\n height: 60vh;\n}\n\n#retorik-container.rf-large .large\\:rf-h-auto {\n height: auto;\n}\n\n#retorik-container.rf-large .large\\:rf-h-full {\n height: 100%;\n}\n\n#retorik-container.rf-large .large\\:rf-max-h-28 {\n max-height: 7rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-1\\/8 {\n width: 12.5%;\n}\n\n#retorik-container.rf-large .large\\:rf-w-14 {\n width: 3.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-16 {\n width: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-3\\/5 {\n width: 60%;\n}\n\n#retorik-container.rf-large .large\\:rf-w-4 {\n width: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-5 {\n width: 1.25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-6 {\n width: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-8 {\n width: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-fit {\n width: fit-content;\n}\n\n#retorik-container.rf-large .large\\:rf-w-full {\n width: 100%;\n}\n\n#retorik-container.rf-large .large\\:rf-min-w-1\\/2 {\n min-width: 50%;\n}\n\n#retorik-container.rf-large .large\\:rf-min-w-1\\/8 {\n min-width: 12.5%;\n}\n\n#retorik-container.rf-large .large\\:rf-min-w-16 {\n min-width: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-min-w-3\\/5 {\n min-width: 60%;\n}\n\n#retorik-container.rf-large .large\\:rf-max-w-1\\/8 {\n max-width: 12.5%;\n}\n\n#retorik-container.rf-large .large\\:rf-max-w-\\[12rem\\] {\n max-width: 12rem;\n}\n\n#retorik-container.rf-large .large\\:rf-max-w-full {\n max-width: 100%;\n}\n\n#retorik-container.rf-large .large\\:rf-grid-cols-5 {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n}\n\n#retorik-container.rf-large .large\\:rf-flex-row {\n flex-direction: row;\n}\n\n#retorik-container.rf-large .large\\:rf-flex-col {\n flex-direction: column;\n}\n\n#retorik-container.rf-large .large\\:rf-items-baseline {\n align-items: baseline;\n}\n\n#retorik-container.rf-large .large\\:rf-justify-start {\n justify-content: flex-start;\n}\n\n#retorik-container.rf-large .large\\:rf-gap-1 {\n gap: .25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-gap-3 {\n gap: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-gap-4 {\n gap: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-gap-6 {\n gap: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-overflow-y-scroll {\n overflow-y: scroll;\n}\n\n#retorik-container.rf-large .large\\:rf-border-t-0 {\n border-top-width: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-bg-truewhite {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n\n#retorik-container.rf-large .large\\:rf-p-4 {\n padding: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-p-\\[25px\\] {\n padding: 25px;\n}\n\n#retorik-container.rf-large .large\\:rf-p-min1 {\n padding: .1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-px-0 {\n padding-left: 0;\n padding-right: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-px-16 {\n padding-left: 4rem;\n padding-right: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-px-5, #retorik-container.rf-large .large\\:rf-px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-py-0 {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-py-2 {\n padding-top: .5rem;\n padding-bottom: .5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-py-3 {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pb-16 {\n padding-bottom: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pl-4 {\n padding-left: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pr-4 {\n padding-right: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pt-16 {\n padding-top: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pt-3 {\n padding-top: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-text-5xl {\n font-size: 3rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large .large\\:rf-text-6xl {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large .large\\:rf-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-text-basecustom {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large .large\\:rf-text-sm {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-uppercase {\n text-transform: uppercase;\n}\n\n#retorik-container.rf-tactile .tactile\\:rf-h-4 {\n height: 1rem;\n}\n\n#retorik-container.rf-tactile .tactile\\:rf-h-6 {\n height: 1.5rem;\n}\n\n#retorik-container.rf-tactile .tactile\\:rf-w-6 {\n width: 1.5rem;\n}\n\n#retorik-container.rf-tactile .tactile\\:rf-pt-1\\/5 {\n padding-top: 20%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-bottom-\\[25vh\\] {\n bottom: 25vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-left-4 {\n left: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-top-4 {\n top: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-col-span-full {\n grid-column: 1 / -1;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-col-start-1 {\n grid-column-start: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-col-start-2 {\n grid-column-start: 2;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-col-end-8 {\n grid-column-end: 8;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-col-end-9 {\n grid-column-end: 9;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-row-span-4 {\n grid-row: span 4 / span 4;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-row-span-6 {\n grid-row: span 6 / span 6;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-row-start-5 {\n grid-row-start: 5;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-row-start-7 {\n grid-row-start: 7;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-row-end-11 {\n grid-row-end: 11;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-row-end-7 {\n grid-row-end: 7;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-mt-4 {\n margin-top: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-mt-\\[20vh\\] {\n margin-top: 20vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-mt-\\[25vh\\] {\n margin-top: 25vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-block {\n display: block;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-hidden {\n display: none;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-1\\/2 {\n height: 50%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-14 {\n height: 3.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-24 {\n height: 6rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-6 {\n height: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-\\[50vh\\] {\n height: 50vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-h-11\\/12 {\n max-height: 91.67%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-h-36 {\n max-height: 9rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-h-\\[18vh\\] {\n max-height: 18vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-h-\\[30vh\\] {\n max-height: 30vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-1\\/2 {\n width: 50%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-14 {\n width: 3.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-16 {\n width: 4rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-24 {\n width: 6rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-4\\/9 {\n width: 45%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-6 {\n width: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-min-w-24 {\n min-width: 6rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-min-w-4\\/9 {\n min-width: 45%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-w-2\\/3 {\n max-width: 66.67%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-w-\\[60\\%\\] {\n max-width: 60%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-flex-row {\n flex-direction: row;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-justify-center {\n justify-content: center;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-gap-6 {\n gap: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-self-end {\n align-self: flex-end;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-border-t {\n border-top-width: 1px;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-border-t-menuBorder {\n --tw-border-opacity: 1;\n border-top-color: rgb(224 225 231 / var(--tw-border-opacity));\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-py-5 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pl-0 {\n padding-left: 0;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pt-8 {\n padding-top: 2rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pt-\\[16\\.67\\%\\] {\n padding-top: 16.67%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pt-\\[20vh\\] {\n padding-top: 20vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-text-basecustomuppercase {\n font-size: 1rem;\n line-height: 1.1rem;\n}\n\n#retorik-container.rf-large.rf-tactile .large-tactile\\:rf-mt-0 {\n margin-top: 0;\n}\n\n#retorik-container.rf-large.rf-tactile .large-tactile\\:rf-flex {\n display: flex;\n}\n\n#retorik-container.rf-large.rf-tactile .large-tactile\\:rf-hidden {\n display: none;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .desktop\\:rf-h-full {\n height: 100%;\n}\n\n@media (height <= 700px) and (width <= 300px) {\n .small-mobile\\:rf-row-span-6 {\n grid-row: span 6 / span 6;\n }\n\n .small-mobile\\:rf-row-span-7 {\n grid-row: span 7 / span 7;\n }\n\n .small-mobile\\:rf-row-start-5 {\n grid-row-start: 5;\n }\n}\n";
|
|
75
75
|
|
|
76
76
|
|
|
77
77
|
var $5e8567c898177618$exports = {};
|
|
@@ -138,6 +138,8 @@ var $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233;
|
|
|
138
138
|
$f5ca62954d1f1f5b$export$ec1e04e4e5ef8233[$f5ca62954d1f1f5b$export$ec1e04e4e5ef8233["borne"] = 2] = "borne";
|
|
139
139
|
$f5ca62954d1f1f5b$export$ec1e04e4e5ef8233[$f5ca62954d1f1f5b$export$ec1e04e4e5ef8233["landscape"] = 3] = "landscape";
|
|
140
140
|
$f5ca62954d1f1f5b$export$ec1e04e4e5ef8233[$f5ca62954d1f1f5b$export$ec1e04e4e5ef8233["widget"] = 4] = "widget";
|
|
141
|
+
$f5ca62954d1f1f5b$export$ec1e04e4e5ef8233[$f5ca62954d1f1f5b$export$ec1e04e4e5ef8233["widgetLandscape"] = 5] = "widgetLandscape";
|
|
142
|
+
$f5ca62954d1f1f5b$export$ec1e04e4e5ef8233[$f5ca62954d1f1f5b$export$ec1e04e4e5ef8233["widgetBorne"] = 6] = "widgetBorne";
|
|
141
143
|
})($f5ca62954d1f1f5b$export$ec1e04e4e5ef8233 || ($f5ca62954d1f1f5b$export$ec1e04e4e5ef8233 = {}));
|
|
142
144
|
var $f5ca62954d1f1f5b$export$bd7313a2f8345cae;
|
|
143
145
|
(function($f5ca62954d1f1f5b$export$bd7313a2f8345cae) {
|
|
@@ -255,6 +257,19 @@ const $cd0e91e00b0900ed$export$78f16669b353a880 = [
|
|
|
255
257
|
(0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).mobile,
|
|
256
258
|
(0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).widget
|
|
257
259
|
];
|
|
260
|
+
const $cd0e91e00b0900ed$export$909f4c209eb70365 = [
|
|
261
|
+
(0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).widget,
|
|
262
|
+
(0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).widgetBorne,
|
|
263
|
+
(0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).widgetLandscape
|
|
264
|
+
];
|
|
265
|
+
const $cd0e91e00b0900ed$export$baf53ca377ebf861 = [
|
|
266
|
+
(0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).landscape,
|
|
267
|
+
(0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).widgetLandscape
|
|
268
|
+
];
|
|
269
|
+
const $cd0e91e00b0900ed$export$a8576d98c9c928de = [
|
|
270
|
+
(0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).borne,
|
|
271
|
+
(0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).widgetBorne
|
|
272
|
+
];
|
|
258
273
|
const $cd0e91e00b0900ed$export$c0da64553318f2cb = {
|
|
259
274
|
primary: "#00D7FF",
|
|
260
275
|
secondary: "#1999B1",
|
|
@@ -568,7 +583,7 @@ const $3792187fd212489a$var$getOpeningParenthesis = (text, index)=>{
|
|
|
568
583
|
|
|
569
584
|
const $2e5b8b358de6cd42$var$regexLink = /<\/?a([^>])+>/g;
|
|
570
585
|
const $2e5b8b358de6cd42$var$regexImg = /<\/?img([^>])+>/g;
|
|
571
|
-
const $2e5b8b358de6cd42$export$1b8fbc30fb87d9aa = (text)=>{
|
|
586
|
+
const $2e5b8b358de6cd42$export$1b8fbc30fb87d9aa = (text, skipAttachments)=>{
|
|
572
587
|
const md = new (0, $b3y7N$markdownit)({
|
|
573
588
|
breaks: true,
|
|
574
589
|
html: true,
|
|
@@ -585,8 +600,10 @@ const $2e5b8b358de6cd42$export$1b8fbc30fb87d9aa = (text)=>{
|
|
|
585
600
|
// text = `(Como estas ?)[lang:"es-ES"][1s] Parti - pour le test - (greenage)[lang:"en-US"]. Mettons une image .[500ms] En anglais, (parce-que en Français ce n'est pas ça...) greenage se dit (greenage)[lang:"en-US"]. Fin de message (aufwiedersehen)[lang:"de-DE"]`
|
|
586
601
|
// text = `(Le petit chien va dans sa niche car bien escalader archiduchesse long fiente)[ipa:"lə pəti ʃjɛ̃ va dɑ̃ sa niʃ kaʁ bjɛ̃ ɛskalade ar̥ʃidyʃɛːs lɔ̃ fjɑ̃t"]`
|
|
587
602
|
const speechMarkdownReplacedData = (0, $3792187fd212489a$export$f355fac925ad880f)(text);
|
|
588
|
-
|
|
589
|
-
|
|
603
|
+
if (!skipAttachments) {
|
|
604
|
+
const parsed = md.parseInline(speechMarkdownReplacedData.text);
|
|
605
|
+
parsed.length && (attachmentsToCreate = $2e5b8b358de6cd42$var$createNewAttachments(parsed[0].children));
|
|
606
|
+
}
|
|
590
607
|
const textWithHtmlTags = md.render(text);
|
|
591
608
|
// Strip html tags from rendered text
|
|
592
609
|
const newText = $2e5b8b358de6cd42$var$stripHtml(textWithHtmlTags);
|
|
@@ -948,6 +965,7 @@ const $3426110875af99d0$var$initialState = {
|
|
|
948
965
|
currentNewsActivity: undefined,
|
|
949
966
|
retorikNewsEnded: false,
|
|
950
967
|
userIsTyping: false,
|
|
968
|
+
userIsSwiping: false,
|
|
951
969
|
askedForKioskParametersOpening: false,
|
|
952
970
|
detailedAttachmentTriggers: [
|
|
953
971
|
{
|
|
@@ -962,8 +980,12 @@ const $3426110875af99d0$var$initialState = {
|
|
|
962
980
|
}
|
|
963
981
|
],
|
|
964
982
|
modalFullscreenContent: null,
|
|
965
|
-
printingCallback: null
|
|
983
|
+
printingCallback: null,
|
|
984
|
+
GDPRDisplay: true,
|
|
985
|
+
GDPRWindowData: undefined,
|
|
986
|
+
GDPRUserConsent: false
|
|
966
987
|
};
|
|
988
|
+
let $3426110875af99d0$var$timer = null;
|
|
967
989
|
const $3426110875af99d0$export$77e4cc5334565f28 = (0, $b3y7N$create)()(()=>{
|
|
968
990
|
return $3426110875af99d0$var$initialState;
|
|
969
991
|
});
|
|
@@ -1042,6 +1064,18 @@ const $3426110875af99d0$export$4a471cf3284fc492 = (value)=>{
|
|
|
1042
1064
|
userIsTyping: value
|
|
1043
1065
|
});
|
|
1044
1066
|
};
|
|
1067
|
+
const $3426110875af99d0$export$19e9368606a5170f = ()=>{
|
|
1068
|
+
$3426110875af99d0$var$timer && clearTimeout($3426110875af99d0$var$timer);
|
|
1069
|
+
$3426110875af99d0$export$77e4cc5334565f28.setState({
|
|
1070
|
+
userIsSwiping: true
|
|
1071
|
+
});
|
|
1072
|
+
// Switch back to false after 2.5s (because test for typing indicator is done every 2s)
|
|
1073
|
+
$3426110875af99d0$var$timer = setTimeout(()=>{
|
|
1074
|
+
$3426110875af99d0$export$77e4cc5334565f28.setState({
|
|
1075
|
+
userIsSwiping: false
|
|
1076
|
+
});
|
|
1077
|
+
}, 2500);
|
|
1078
|
+
};
|
|
1045
1079
|
const $3426110875af99d0$export$61008920e70c5e8a = ()=>{
|
|
1046
1080
|
$3426110875af99d0$export$77e4cc5334565f28.setState({
|
|
1047
1081
|
askedForKioskParametersOpening: true
|
|
@@ -1071,6 +1105,21 @@ const $3426110875af99d0$export$7f09d7ad7dbdcd2c = (value)=>{
|
|
|
1071
1105
|
printingCallback: value
|
|
1072
1106
|
});
|
|
1073
1107
|
};
|
|
1108
|
+
const $3426110875af99d0$export$ff26692bd8e0fbbd = (value)=>{
|
|
1109
|
+
$3426110875af99d0$export$77e4cc5334565f28.setState({
|
|
1110
|
+
GDPRDisplay: value
|
|
1111
|
+
});
|
|
1112
|
+
};
|
|
1113
|
+
const $3426110875af99d0$export$2d640df2114a2d77 = (value)=>{
|
|
1114
|
+
$3426110875af99d0$export$77e4cc5334565f28.setState({
|
|
1115
|
+
GDPRWindowData: value
|
|
1116
|
+
});
|
|
1117
|
+
};
|
|
1118
|
+
const $3426110875af99d0$export$7a09e6b3c59f37ad = (value)=>{
|
|
1119
|
+
$3426110875af99d0$export$77e4cc5334565f28.setState({
|
|
1120
|
+
GDPRUserConsent: value
|
|
1121
|
+
});
|
|
1122
|
+
};
|
|
1074
1123
|
const $3426110875af99d0$export$93b55f822ac81934 = ()=>{
|
|
1075
1124
|
$3426110875af99d0$export$77e4cc5334565f28.setState({
|
|
1076
1125
|
...$3426110875af99d0$var$initialState
|
|
@@ -1089,7 +1138,12 @@ const $04ce41b46d359821$var$initialState = {
|
|
|
1089
1138
|
endedActivities: [],
|
|
1090
1139
|
currentOrLastPlayedActivity: undefined,
|
|
1091
1140
|
activeRecognitionState: (0, $f5ca62954d1f1f5b$export$3f0071308968cd80).Closed,
|
|
1092
|
-
lastRecognitionInterim: ""
|
|
1141
|
+
lastRecognitionInterim: "",
|
|
1142
|
+
streamingReplyToId: null,
|
|
1143
|
+
streamingReplyToIdForText: null,
|
|
1144
|
+
streamingQueue: [],
|
|
1145
|
+
streamingQueueForText: [],
|
|
1146
|
+
currentStreaming: null
|
|
1093
1147
|
};
|
|
1094
1148
|
const $04ce41b46d359821$export$f299240efcda25a2 = (0, $b3y7N$create)()(()=>{
|
|
1095
1149
|
return $04ce41b46d359821$var$initialState;
|
|
@@ -1146,6 +1200,69 @@ const $04ce41b46d359821$export$a5c8d6d0ec4b5ccb = (value)=>{
|
|
|
1146
1200
|
lastRecognitionInterim: value
|
|
1147
1201
|
});
|
|
1148
1202
|
};
|
|
1203
|
+
const $04ce41b46d359821$export$614a80601162ec38 = (value)=>{
|
|
1204
|
+
$04ce41b46d359821$export$f299240efcda25a2.setState({
|
|
1205
|
+
streamingReplyToId: value,
|
|
1206
|
+
streamingReplyToIdForText: value
|
|
1207
|
+
});
|
|
1208
|
+
value === null && $04ce41b46d359821$export$f299240efcda25a2.setState({
|
|
1209
|
+
currentStreaming: null
|
|
1210
|
+
});
|
|
1211
|
+
};
|
|
1212
|
+
const $04ce41b46d359821$export$de8aad637f733113 = (value)=>{
|
|
1213
|
+
$04ce41b46d359821$export$f299240efcda25a2.setState({
|
|
1214
|
+
streamingReplyToIdForText: value
|
|
1215
|
+
});
|
|
1216
|
+
};
|
|
1217
|
+
const $04ce41b46d359821$export$87afd75c41a617d7 = (value)=>{
|
|
1218
|
+
$04ce41b46d359821$export$f299240efcda25a2.setState({
|
|
1219
|
+
streamingQueue: value,
|
|
1220
|
+
streamingQueueForText: value
|
|
1221
|
+
});
|
|
1222
|
+
};
|
|
1223
|
+
const $04ce41b46d359821$export$9a026d007e335fc0 = (value)=>{
|
|
1224
|
+
if (value.replyToId) {
|
|
1225
|
+
// Set replyToId and new queue if replyToId is different from the current one
|
|
1226
|
+
if ($04ce41b46d359821$export$f299240efcda25a2.getState().streamingReplyToId !== value.replyToId) $04ce41b46d359821$export$f299240efcda25a2.setState({
|
|
1227
|
+
streamingReplyToId: value.replyToId,
|
|
1228
|
+
streamingReplyToIdForText: value.replyToId,
|
|
1229
|
+
streamingQueue: [
|
|
1230
|
+
value
|
|
1231
|
+
],
|
|
1232
|
+
streamingQueueForText: [
|
|
1233
|
+
value
|
|
1234
|
+
]
|
|
1235
|
+
});
|
|
1236
|
+
else $04ce41b46d359821$export$f299240efcda25a2.setState({
|
|
1237
|
+
streamingQueue: [
|
|
1238
|
+
...$04ce41b46d359821$export$f299240efcda25a2.getState().streamingQueue,
|
|
1239
|
+
value
|
|
1240
|
+
],
|
|
1241
|
+
streamingQueueForText: [
|
|
1242
|
+
...$04ce41b46d359821$export$f299240efcda25a2.getState().streamingQueueForText,
|
|
1243
|
+
value
|
|
1244
|
+
]
|
|
1245
|
+
});
|
|
1246
|
+
}
|
|
1247
|
+
};
|
|
1248
|
+
const $04ce41b46d359821$export$eb50624bfd363865 = ()=>{
|
|
1249
|
+
const currentQueue = [
|
|
1250
|
+
...$04ce41b46d359821$export$f299240efcda25a2.getState().streamingQueue
|
|
1251
|
+
];
|
|
1252
|
+
if (currentQueue.length) {
|
|
1253
|
+
currentQueue.splice(0, 1);
|
|
1254
|
+
$04ce41b46d359821$export$f299240efcda25a2.setState({
|
|
1255
|
+
streamingQueue: [
|
|
1256
|
+
...currentQueue
|
|
1257
|
+
]
|
|
1258
|
+
});
|
|
1259
|
+
}
|
|
1260
|
+
};
|
|
1261
|
+
const $04ce41b46d359821$export$d300d9470f5679ba = (value)=>{
|
|
1262
|
+
$04ce41b46d359821$export$f299240efcda25a2.setState({
|
|
1263
|
+
currentStreaming: value
|
|
1264
|
+
});
|
|
1265
|
+
};
|
|
1149
1266
|
const $04ce41b46d359821$export$b6d2196a3ce412d8 = ()=>{
|
|
1150
1267
|
$04ce41b46d359821$export$f299240efcda25a2.setState({
|
|
1151
1268
|
...$04ce41b46d359821$var$initialState
|
|
@@ -1155,6 +1272,7 @@ const $04ce41b46d359821$export$b6d2196a3ce412d8 = ()=>{
|
|
|
1155
1272
|
|
|
1156
1273
|
|
|
1157
1274
|
|
|
1275
|
+
|
|
1158
1276
|
const $9b100ac34d01a331$var$initialState = {
|
|
1159
1277
|
activities: [],
|
|
1160
1278
|
lastBotActivity: undefined,
|
|
@@ -1171,33 +1289,54 @@ const $9b100ac34d01a331$var$initialState = {
|
|
|
1171
1289
|
lastUserMessageActivity: undefined,
|
|
1172
1290
|
queue: [],
|
|
1173
1291
|
conversationId: null,
|
|
1174
|
-
watermark: 0
|
|
1292
|
+
watermark: 0,
|
|
1293
|
+
retrievingConversation: false
|
|
1175
1294
|
};
|
|
1176
1295
|
let $9b100ac34d01a331$var$timerRef;
|
|
1177
1296
|
const $9b100ac34d01a331$export$b56465394e2b1287 = (0, $b3y7N$create)()(()=>{
|
|
1178
1297
|
return $9b100ac34d01a331$var$initialState;
|
|
1179
1298
|
});
|
|
1180
|
-
const $9b100ac34d01a331$var$addActivity = (activity, resetQueue)=>{
|
|
1299
|
+
const $9b100ac34d01a331$var$addActivity = async (activity, resetQueue)=>{
|
|
1181
1300
|
const currentState = $9b100ac34d01a331$export$b56465394e2b1287.getState();
|
|
1301
|
+
const shouldNotSetLastBotActivity = currentState.retrievingConversation && !resetQueue;
|
|
1302
|
+
const isBot = activity.from.role === "bot" || activity.replyToId || activity.from.name?.toLowerCase() === "bot";
|
|
1182
1303
|
if (activity.type === "message") {
|
|
1183
|
-
if (
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1304
|
+
if (isBot) {
|
|
1305
|
+
if (currentState.botMessageActivities?.length && activity.replyToId?.substring(activity.replyToId.length - 4) === "0000") // Special process when retrieving conversation from directline : the first activity is delayed by botframwork-webchat and is treated after the other.
|
|
1306
|
+
// We must put this activity back in first place in the array.
|
|
1307
|
+
$9b100ac34d01a331$export$b56465394e2b1287.setState({
|
|
1308
|
+
activities: [
|
|
1309
|
+
activity,
|
|
1310
|
+
...currentState.activities
|
|
1311
|
+
],
|
|
1312
|
+
messageActivities: [
|
|
1313
|
+
activity,
|
|
1314
|
+
...currentState.messageActivities
|
|
1315
|
+
],
|
|
1316
|
+
botMessageActivities: [
|
|
1317
|
+
activity,
|
|
1318
|
+
...currentState.botMessageActivities
|
|
1319
|
+
],
|
|
1320
|
+
watermark: currentState.watermark + 1
|
|
1321
|
+
});
|
|
1322
|
+
else $9b100ac34d01a331$export$b56465394e2b1287.setState({
|
|
1323
|
+
activities: [
|
|
1324
|
+
...currentState.activities,
|
|
1325
|
+
activity
|
|
1326
|
+
],
|
|
1327
|
+
lastBotActivity: shouldNotSetLastBotActivity ? undefined : activity,
|
|
1328
|
+
messageActivities: [
|
|
1329
|
+
...currentState.messageActivities,
|
|
1330
|
+
activity
|
|
1331
|
+
],
|
|
1332
|
+
botMessageActivities: [
|
|
1333
|
+
...currentState.botMessageActivities,
|
|
1334
|
+
activity
|
|
1335
|
+
],
|
|
1336
|
+
lastBotMessageActivity: currentState.retrievingConversation ? resetQueue ? activity : undefined : activity,
|
|
1337
|
+
watermark: currentState.watermark + 1
|
|
1338
|
+
});
|
|
1339
|
+
} else $9b100ac34d01a331$export$b56465394e2b1287.setState({
|
|
1201
1340
|
activities: [
|
|
1202
1341
|
...currentState.activities,
|
|
1203
1342
|
activity
|
|
@@ -1214,12 +1353,12 @@ const $9b100ac34d01a331$var$addActivity = (activity, resetQueue)=>{
|
|
|
1214
1353
|
watermark: currentState.watermark + 1
|
|
1215
1354
|
});
|
|
1216
1355
|
} else if (activity.type === "event") {
|
|
1217
|
-
if (
|
|
1356
|
+
if (isBot) $9b100ac34d01a331$export$b56465394e2b1287.setState({
|
|
1218
1357
|
activities: [
|
|
1219
1358
|
...currentState.activities,
|
|
1220
1359
|
activity
|
|
1221
1360
|
],
|
|
1222
|
-
lastBotActivity: activity,
|
|
1361
|
+
lastBotActivity: shouldNotSetLastBotActivity ? undefined : activity,
|
|
1223
1362
|
eventActivities: [
|
|
1224
1363
|
...currentState.eventActivities,
|
|
1225
1364
|
activity
|
|
@@ -1243,24 +1382,23 @@ const $9b100ac34d01a331$var$addActivity = (activity, resetQueue)=>{
|
|
|
1243
1382
|
watermark: currentState.watermark + 1
|
|
1244
1383
|
});
|
|
1245
1384
|
}
|
|
1246
|
-
if (resetQueue)
|
|
1247
|
-
|
|
1248
|
-
|
|
1385
|
+
if (resetQueue) {
|
|
1386
|
+
$9b100ac34d01a331$export$b56465394e2b1287.setState({
|
|
1387
|
+
queue: []
|
|
1388
|
+
});
|
|
1389
|
+
$9b100ac34d01a331$export$b56465394e2b1287.setState({
|
|
1390
|
+
retrievingConversation: false
|
|
1391
|
+
});
|
|
1392
|
+
}
|
|
1249
1393
|
};
|
|
1250
1394
|
/**
|
|
1251
1395
|
* Deal with the queue of activities that was formed before.
|
|
1252
1396
|
* Call again after splicing the first element of the queue every 100ms
|
|
1253
1397
|
* @param queue Array<RetorikActivity>
|
|
1254
|
-
*/ const $9b100ac34d01a331$var$addActivitiesFromQueue = (queue)=>{
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
setTimeout(()=>{
|
|
1259
|
-
$9b100ac34d01a331$var$addActivitiesFromQueue(queue);
|
|
1260
|
-
}, 100);
|
|
1261
|
-
} else $9b100ac34d01a331$export$b56465394e2b1287.setState({
|
|
1262
|
-
queue: []
|
|
1263
|
-
});
|
|
1398
|
+
*/ const $9b100ac34d01a331$var$addActivitiesFromQueue = async (queue)=>{
|
|
1399
|
+
// Keep last id to know when we get the last activity
|
|
1400
|
+
const lastId = queue[queue.length - 1].id;
|
|
1401
|
+
for (const activity of queue)await $9b100ac34d01a331$var$addActivity(activity, activity.id === lastId);
|
|
1264
1402
|
};
|
|
1265
1403
|
const $9b100ac34d01a331$var$updateActivities = ()=>{
|
|
1266
1404
|
const currentState = $9b100ac34d01a331$export$b56465394e2b1287.getState();
|
|
@@ -1299,6 +1437,10 @@ const $9b100ac34d01a331$export$210f7e70e69f7df5 = (activity)=>{
|
|
|
1299
1437
|
});
|
|
1300
1438
|
$9b100ac34d01a331$export$f9786f6b1a1e81e3(activity);
|
|
1301
1439
|
};
|
|
1440
|
+
const $9b100ac34d01a331$export$35bf93b87d9ffb15 = (activity)=>{
|
|
1441
|
+
const retrieving = $9b100ac34d01a331$export$b56465394e2b1287.getState().retrievingConversation;
|
|
1442
|
+
!retrieving && (0, $04ce41b46d359821$export$9a026d007e335fc0)(activity);
|
|
1443
|
+
};
|
|
1302
1444
|
const $9b100ac34d01a331$export$4365557467e67cdc = (value)=>{
|
|
1303
1445
|
const currentState = $9b100ac34d01a331$export$b56465394e2b1287.getState();
|
|
1304
1446
|
// Check directline id to know if we have to reset the activities
|
|
@@ -1309,6 +1451,11 @@ const $9b100ac34d01a331$export$4365557467e67cdc = (value)=>{
|
|
|
1309
1451
|
conversationId: value
|
|
1310
1452
|
});
|
|
1311
1453
|
};
|
|
1454
|
+
const $9b100ac34d01a331$export$d7e4f7861d387c67 = (value)=>{
|
|
1455
|
+
$9b100ac34d01a331$export$b56465394e2b1287.setState({
|
|
1456
|
+
retrievingConversation: value
|
|
1457
|
+
});
|
|
1458
|
+
};
|
|
1312
1459
|
const $9b100ac34d01a331$export$b7b23f8e09258fa6 = ()=>{
|
|
1313
1460
|
$9b100ac34d01a331$export$b56465394e2b1287.setState({
|
|
1314
1461
|
...$9b100ac34d01a331$var$initialState
|
|
@@ -1316,6 +1463,7 @@ const $9b100ac34d01a331$export$b7b23f8e09258fa6 = ()=>{
|
|
|
1316
1463
|
};
|
|
1317
1464
|
|
|
1318
1465
|
|
|
1466
|
+
|
|
1319
1467
|
const $9a5f0912c55d1da2$var$regexDataCommand = /(\{data-command=")[\p{L}\p{N}\p{Po}\p{Pd}\p{Pc}\s\u0027\u2019]+("\})(<br\s\/>)?/gu;
|
|
1320
1468
|
const $9a5f0912c55d1da2$var$createCustomStore = (enableConversationCookie, conversationCookieMaxAge, addressData, locale, externalEventHandler, isUsedOnBorne, isRetorikNews)=>{
|
|
1321
1469
|
return (0, $b3y7N$createStore)({}, ({ dispatch: dispatch })=>(next)=>async (action)=>{
|
|
@@ -1358,7 +1506,7 @@ const $9a5f0912c55d1da2$var$createCustomStore = (enableConversationCookie, conve
|
|
|
1358
1506
|
}
|
|
1359
1507
|
case "DIRECT_LINE/POST_ACTIVITY":
|
|
1360
1508
|
// Prevent typing message from cancelling speech
|
|
1361
|
-
if (action.payload?.activity?.type === "typing") return next(action);
|
|
1509
|
+
if (action.payload?.activity?.type === "typing" || action.payload?.activity?.type === "event" && action.payload.activity.name?.toLowerCase().includes("davi.closewindow")) return next(action);
|
|
1362
1510
|
// Cancel playing utterance if there is one
|
|
1363
1511
|
(0, $04ce41b46d359821$export$d0df6aec4e971f52)(true);
|
|
1364
1512
|
// Send pagination and position data in channelData on each activity sent to the chatbot, using local storage to get up to date data
|
|
@@ -1399,6 +1547,16 @@ const $9a5f0912c55d1da2$var$createCustomStore = (enableConversationCookie, conve
|
|
|
1399
1547
|
break;
|
|
1400
1548
|
case "DIRECT_LINE/INCOMING_ACTIVITY":
|
|
1401
1549
|
if (action.payload?.activity?.type === "event" && action.payload?.activity?.name === "EndOfSpeechEvent") return;
|
|
1550
|
+
if (action.payload?.activity?.type === "event" && action.payload?.activity?.name?.toLowerCase() === "davi.streammessageactivity") {
|
|
1551
|
+
if (action.payload.activity.text?.trim().length) {
|
|
1552
|
+
// Create speak field from the text one
|
|
1553
|
+
const processedText = (0, $2e5b8b358de6cd42$export$1b8fbc30fb87d9aa)(action.payload.activity.text, true);
|
|
1554
|
+
action.payload.activity.text = processedText.text;
|
|
1555
|
+
action.payload.activity.speak = processedText.text;
|
|
1556
|
+
(0, $9b100ac34d01a331$export$35bf93b87d9ffb15)(action.payload.activity);
|
|
1557
|
+
}
|
|
1558
|
+
return next(action);
|
|
1559
|
+
}
|
|
1402
1560
|
// Only process message activities from the bot
|
|
1403
1561
|
if (action.payload?.activity?.type === "message" && action.payload.activity.from.role === "bot") {
|
|
1404
1562
|
(0, $3426110875af99d0$export$f03cfde7db70aa27)(false);
|
|
@@ -1613,7 +1771,6 @@ const $56b00880a398c953$export$ca8db8ed18ea1d2c = (value)=>{
|
|
|
1613
1771
|
});
|
|
1614
1772
|
};
|
|
1615
1773
|
const $56b00880a398c953$export$29ec02ff899d2b53 = (value)=>{
|
|
1616
|
-
console.log("set layoutChanged", $56b00880a398c953$export$bd22554f31e5f96f.getState().layoutChanged, value);
|
|
1617
1774
|
$56b00880a398c953$export$bd22554f31e5f96f.setState({
|
|
1618
1775
|
layoutChanged: value
|
|
1619
1776
|
});
|
|
@@ -1967,27 +2124,27 @@ $f5532c0162518d95$exports = JSON.parse('{"1":"Startseite","2":"Live-Infokanal","
|
|
|
1967
2124
|
|
|
1968
2125
|
|
|
1969
2126
|
var $b3dd0aca05a78c6a$exports = {};
|
|
1970
|
-
$b3dd0aca05a78c6a$exports = JSON.parse('{"1":"home","2":"live info channel","3":"weather","4":"emergency numbers","1000":"history","1001":"tutorial","common":{"abort":"abort","all":"all","back":"back","close":"close","continue":"continue","download":"download","downloadsheet":"download this sheet","downloadsheetmobile":"download this sheet on smartphone","filter":"filter","history":"history","lang":"languages","menu":"menu","mode":"mode","needhelp":"Need help ?","parameters":"parameters","print":"print","printsheet":"print this sheet","result":"result","results":"results","singleLang":"language","sound":"sound","submit":"submit","subtitle":"subtitle","tutorial":"tutorial","validate":"validate"},"emergency":{"samu":"maeu","police":"police","firefighter":"firefighters","general":"general","citypolice":"Local police","hospital":"Hospital","homeless":"Homeless (free call)","poison":"Poison Control Center","emergency":"European emergencies"},"error":{"title":"An error occurred","button":"Launch the application again"},"history":{"title":"chat history"},"inputs":{"choose":"Choose an answer"},"language":{"change":"change the language","select":"select the language you want to use"},"link":{"buttontext":"View the document","goto":"Go to address","click":"Click here","scanQR":"by scanning the QrCode"},"loader":{"loader":{"optimal":"For an optimal experience,","classic":"For a more classical experience,","vocal":"I communicate by speaking with the agent.","text":"I communicate by text with the agent."},"modes":{"vocal":"vocal mode","text":"text mode"},"loaderValidation":"Start conversation","locale":"checking language","supported":"checking supported languages","addressdata":"retrieving data","store":"store","directline":"directline","ponyfill":"ponyfill"},"menu":{"message":"Enter your message","allowMicrophone":"Give your browser permission to use microphone to continue","backconversation":"back to the conversation","answer":" answers your questions"},"mobileLandscapePreventer":{"firstline":"For an optimal experience,","secondline":"flip your screen"},"news":{"warningtext":"You are about to access the information channel, the sound of your device will be activated","live":"live","continuous":"continuous"},"poi":{"comment":"customer review","route":"route","nodata":"No content corresponds to your search","openinghours":"Opening hours","prices":"Prices","paymentmethods":"Payment methods","numberofplaces":"number of places","openroutemobile":"open Google Maps route on smartphone","FoodEstablishment":"Where to eat","LodgingBusiness":"Where to sleep","TouristDestination":"What to see","TouristAttraction":"What to do","Product":"Local products","Service":"Services","Event":"Events","City":"Cities","Wine":"Wines"},"suggestion":{"consult":"Check out","thetutorial":"the tutorial"},"template":{"reset":"reset filters","showresults":"Show results","suggestiontitle":"Research suggestions","reminder":"Don\'t forget,\\n I can answer your questions."}}');
|
|
2127
|
+
$b3dd0aca05a78c6a$exports = JSON.parse('{"1":"home","2":"live info channel","3":"weather","4":"emergency numbers","1000":"history","1001":"tutorial","common":{"abort":"abort","all":"all","back":"back","close":"close","continue":"continue","download":"download","downloadsheet":"download this sheet","downloadsheetmobile":"download this sheet on smartphone","filter":"filter","history":"history","lang":"languages","menu":"menu","mode":"mode","needhelp":"Need help ?","parameters":"parameters","print":"print","printsheet":"print this sheet","result":"result","results":"results","singleLang":"language","sound":"sound","submit":"submit","subtitle":"subtitle","tutorial":"tutorial","validate":"validate"},"emergency":{"samu":"maeu","police":"police","firefighter":"firefighters","general":"general","citypolice":"Local police","hospital":"Hospital","homeless":"Homeless (free call)","poison":"Poison Control Center","emergency":"European emergencies"},"error":{"title":"An error occurred","button":"Launch the application again"},"history":{"title":"chat history"},"inputs":{"choose":"Choose an answer"},"language":{"change":"change the language","select":"select the language you want to use"},"link":{"buttontext":"View the document","goto":"Go to address","click":"Click here","scanQR":"by scanning the QrCode"},"loader":{"loader":{"optimal":"For an optimal experience,","classic":"For a more classical experience,","vocal":"I communicate by speaking with the agent.","text":"I communicate by text with the agent."},"modes":{"vocal":"vocal mode","text":"text mode"},"loaderValidation":"Start conversation","locale":"checking language","supported":"checking supported languages","addressdata":"retrieving data","store":"store","directline":"directline","ponyfill":"ponyfill"},"menu":{"message":"Enter your message","allowMicrophone":"Give your browser permission to use microphone to continue","backconversation":"back to the conversation","answer":" answers your questions"},"mobileLandscapePreventer":{"firstline":"For an optimal experience,","secondline":"flip your screen"},"news":{"warningtext":"You are about to access the information channel, the sound of your device will be activated","live":"live","continuous":"continuous"},"poi":{"comment":"customer review","route":"route","nodata":"No content corresponds to your search","openinghours":"Opening hours","prices":"Prices","paymentmethods":"Payment methods","numberofplaces":"number of places","openroutemobile":"open Google Maps route on smartphone","FoodEstablishment":"Where to eat","LodgingBusiness":"Where to sleep","TouristDestination":"What to see","TouristAttraction":"What to do","Product":"Local products","Service":"Services","Event":"Events","City":"Cities","Wine":"Wines"},"suggestion":{"consult":"Check out","thetutorial":"the tutorial"},"template":{"reset":"reset filters","showresults":"Show results","suggestiontitle":"Research suggestions","reminder":"Don\'t forget,\\n I can answer your questions."},"GDPR":{"title":"processing personal data transmitted to the bot","message":"by accepting, you consent that all data transmitted to the chatbot can be used for analysis about the use of the tool, and for the improvement of the knowledge base.\\n\\nYour conversations are kept 6 month before deletion.","link":"open confidency policy","buttonAccept":"I understand and I accept","buttonRefuse":"I refuse","messageAccepted":"your acceptation has been saved","messageRefused":"your refusal has been saved"}}');
|
|
1971
2128
|
|
|
1972
2129
|
|
|
1973
2130
|
var $805dfb1ea1403f06$exports = {};
|
|
1974
|
-
$805dfb1ea1403f06$exports = JSON.parse('{"1":"home","2":"live info channel","3":"weather","4":"emergency numbers","1000":"history","1001":"tutorial","common":{"abort":"abort","all":"all","back":"back","close":"close","continue":"continue","download":"download","downloadsheet":"download this sheet","downloadsheetmobile":"download this sheet on smartphone","filter":"filter","history":"history","lang":"languages","menu":"menu","mode":"mode","needhelp":"Need help ?","parameters":"parameters","print":"print","printsheet":"print this sheet","result":"result","results":"results","singleLang":"language","sound":"sound","submit":"submit","subtitle":"subtitle","tutorial":"tutorial","validate":"validate"},"emergency":{"samu":"maeu","police":"police","firefighter":"firefighters","general":"general","citypolice":"Local police","hospital":"Hospital","homeless":"Homeless (free call)","poison":"Poison Control Center","emergency":"European emergencies"},"error":{"title":"An error occurred","button":"Launch the application again"},"history":{"title":"chat history"},"inputs":{"choose":"Choose an answer"},"language":{"change":"change the language","select":"select the language you want to use"},"link":{"buttontext":"View the document","goto":"Go to address","click":"Click here","scanQR":"by scanning the QrCode"},"loader":{"loader":{"optimal":"For an optimal experience,","classic":"For a more classical experience,","vocal":"I communicate by speaking with the agent.","text":"I communicate by text with the agent."},"modes":{"vocal":"vocal mode","text":"text mode"},"loaderValidation":"Start conversation","locale":"checking language","supported":"checking supported languages","addressdata":"retrieving data","store":"store","directline":"directline","ponyfill":"ponyfill"},"menu":{"message":"Enter your message","allowMicrophone":"Give your browser permission to use microphone to continue","backconversation":"back to the conversation","answer":" answers your questions"},"mobileLandscapePreventer":{"firstline":"For an optimal experience,","secondline":"flip your screen"},"news":{"warningtext":"You are about to access the information channel, the sound of your device will be activated","live":"live","continuous":"continuous"},"poi":{"comment":"customer review","route":"route","nodata":"No content corresponds to your search","openinghours":"Opening hours","prices":"Prices","paymentmethods":"Payment methods","numberofplaces":"number of places","openroutemobile":"open Google Maps route on smartphone","FoodEstablishment":"Where to eat","LodgingBusiness":"Where to sleep","TouristDestination":"What to see","TouristAttraction":"What to do","Product":"Local products","Service":"Services","Event":"Events","City":"Cities","Wine":"Wines"},"suggestion":{"consult":"Check out","thetutorial":"the tutorial"},"template":{"reset":"reset filters","showresults":"Show results","suggestiontitle":"Research suggestions","reminder":"Don\'t forget,\\n I can answer your questions."}}');
|
|
2131
|
+
$805dfb1ea1403f06$exports = JSON.parse('{"1":"home","2":"live info channel","3":"weather","4":"emergency numbers","1000":"history","1001":"tutorial","common":{"abort":"abort","all":"all","back":"back","close":"close","continue":"continue","download":"download","downloadsheet":"download this sheet","downloadsheetmobile":"download this sheet on smartphone","filter":"filter","history":"history","lang":"languages","menu":"menu","mode":"mode","needhelp":"Need help ?","parameters":"parameters","print":"print","printsheet":"print this sheet","result":"result","results":"results","singleLang":"language","sound":"sound","submit":"submit","subtitle":"subtitle","tutorial":"tutorial","validate":"validate"},"emergency":{"samu":"maeu","police":"police","firefighter":"firefighters","general":"general","citypolice":"Local police","hospital":"Hospital","homeless":"Homeless (free call)","poison":"Poison Control Center","emergency":"European emergencies"},"error":{"title":"An error occurred","button":"Launch the application again"},"history":{"title":"chat history"},"inputs":{"choose":"Choose an answer"},"language":{"change":"change the language","select":"select the language you want to use"},"link":{"buttontext":"View the document","goto":"Go to address","click":"Click here","scanQR":"by scanning the QrCode"},"loader":{"loader":{"optimal":"For an optimal experience,","classic":"For a more classical experience,","vocal":"I communicate by speaking with the agent.","text":"I communicate by text with the agent."},"modes":{"vocal":"vocal mode","text":"text mode"},"loaderValidation":"Start conversation","locale":"checking language","supported":"checking supported languages","addressdata":"retrieving data","store":"store","directline":"directline","ponyfill":"ponyfill"},"menu":{"message":"Enter your message","allowMicrophone":"Give your browser permission to use microphone to continue","backconversation":"back to the conversation","answer":" answers your questions"},"mobileLandscapePreventer":{"firstline":"For an optimal experience,","secondline":"flip your screen"},"news":{"warningtext":"You are about to access the information channel, the sound of your device will be activated","live":"live","continuous":"continuous"},"poi":{"comment":"customer review","route":"route","nodata":"No content corresponds to your search","openinghours":"Opening hours","prices":"Prices","paymentmethods":"Payment methods","numberofplaces":"number of places","openroutemobile":"open Google Maps route on smartphone","FoodEstablishment":"Where to eat","LodgingBusiness":"Where to sleep","TouristDestination":"What to see","TouristAttraction":"What to do","Product":"Local products","Service":"Services","Event":"Events","City":"Cities","Wine":"Wines"},"suggestion":{"consult":"Check out","thetutorial":"the tutorial"},"template":{"reset":"reset filters","showresults":"Show results","suggestiontitle":"Research suggestions","reminder":"Don\'t forget,\\n I can answer your questions."},"GDPR":{"title":"processing personal data transmitted to the bot","message":"by accepting, you consent that all data transmitted to the chatbot can be used for analysis about the use of the tool, and for the improvement of the knowledge base.\\n\\nYour conversations are kept 6 month before deletion.","link":"open confidency policy","buttonAccept":"I understand and I accept","buttonRefuse":"I refuse","messageAccepted":"your acceptation has been saved","messageRefused":"your refusal has been saved"}}');
|
|
1975
2132
|
|
|
1976
2133
|
|
|
1977
2134
|
var $6be81e5256c9b8b4$exports = {};
|
|
1978
|
-
$6be81e5256c9b8b4$exports = JSON.parse('{"1":"home","2":"live info channel","3":"weather","4":"emergency numbers","1000":"history","1001":"tutorial","common":{"abort":"abort","all":"all","back":"back","close":"close","continue":"continue","download":"download","downloadsheet":"download this sheet","downloadsheetmobile":"download this sheet on smartphone","filter":"filter","history":"history","lang":"languages","menu":"menu","mode":"mode","needhelp":"Need help ?","parameters":"parameters","print":"print","printsheet":"print this sheet","result":"result","results":"results","singleLang":"language","sound":"sound","submit":"submit","subtitle":"subtitle","tutorial":"tutorial","validate":"validate"},"emergency":{"samu":"maeu","police":"police","firefighter":"firefighters","general":"general","citypolice":"Local police","hospital":"Hospital","homeless":"Homeless (free call)","poison":"Poison Control Center","emergency":"European emergencies"},"error":{"title":"An error occurred","button":"Launch the application again"},"history":{"title":"chat history"},"inputs":{"choose":"Choose an answer"},"language":{"change":"change the language","select":"select the language you want to use"},"link":{"buttontext":"View the document","goto":"Go to address","click":"Click here","scanQR":"by scanning the QrCode"},"loader":{"loader":{"optimal":"For an optimal experience,","classic":"For a more classical experience,","vocal":"I communicate by speaking with the agent.","text":"I communicate by text with the agent."},"modes":{"vocal":"vocal mode","text":"text mode"},"loaderValidation":"Start conversation","locale":"checking language","supported":"checking supported languages","addressdata":"retrieving data","store":"store","directline":"directline","ponyfill":"ponyfill"},"menu":{"message":"Enter your message","allowMicrophone":"Give your browser permission to use microphone to continue","backconversation":"back to the conversation","answer":" answers your questions"},"mobileLandscapePreventer":{"firstline":"For an optimal experience,","secondline":"flip your screen"},"news":{"warningtext":"You are about to access the information channel, the sound of your device will be activated","live":"live","continuous":"continuous"},"poi":{"comment":"customer review","route":"route","nodata":"No content corresponds to your search","openinghours":"Opening hours","prices":"Prices","paymentmethods":"Payment methods","numberofplaces":"number of places","openroutemobile":"open Google Maps route on smartphone","FoodEstablishment":"Where to eat","LodgingBusiness":"Where to sleep","TouristDestination":"What to see","TouristAttraction":"What to do","Product":"Local products","Service":"Services","Event":"Events","City":"Cities","Wine":"Wines"},"suggestion":{"consult":"Check out","thetutorial":"the tutorial"},"template":{"reset":"reset filters","showresults":"Show results","suggestiontitle":"Research suggestions","reminder":"Don\'t forget,\\n I can answer your questions."}}');
|
|
2135
|
+
$6be81e5256c9b8b4$exports = JSON.parse('{"1":"home","2":"live info channel","3":"weather","4":"emergency numbers","1000":"history","1001":"tutorial","common":{"abort":"abort","all":"all","back":"back","close":"close","continue":"continue","download":"download","downloadsheet":"download this sheet","downloadsheetmobile":"download this sheet on smartphone","filter":"filter","history":"history","lang":"languages","menu":"menu","mode":"mode","needhelp":"Need help ?","parameters":"parameters","print":"print","printsheet":"print this sheet","result":"result","results":"results","singleLang":"language","sound":"sound","submit":"submit","subtitle":"subtitle","tutorial":"tutorial","validate":"validate"},"emergency":{"samu":"maeu","police":"police","firefighter":"firefighters","general":"general","citypolice":"Local police","hospital":"Hospital","homeless":"Homeless (free call)","poison":"Poison Control Center","emergency":"European emergencies"},"error":{"title":"An error occurred","button":"Launch the application again"},"history":{"title":"chat history"},"inputs":{"choose":"Choose an answer"},"language":{"change":"change the language","select":"select the language you want to use"},"link":{"buttontext":"View the document","goto":"Go to address","click":"Click here","scanQR":"by scanning the QrCode"},"loader":{"loader":{"optimal":"For an optimal experience,","classic":"For a more classical experience,","vocal":"I communicate by speaking with the agent.","text":"I communicate by text with the agent."},"modes":{"vocal":"vocal mode","text":"text mode"},"loaderValidation":"Start conversation","locale":"checking language","supported":"checking supported languages","addressdata":"retrieving data","store":"store","directline":"directline","ponyfill":"ponyfill"},"menu":{"message":"Enter your message","allowMicrophone":"Give your browser permission to use microphone to continue","backconversation":"back to the conversation","answer":" answers your questions"},"mobileLandscapePreventer":{"firstline":"For an optimal experience,","secondline":"flip your screen"},"news":{"warningtext":"You are about to access the information channel, the sound of your device will be activated","live":"live","continuous":"continuous"},"poi":{"comment":"customer review","route":"route","nodata":"No content corresponds to your search","openinghours":"Opening hours","prices":"Prices","paymentmethods":"Payment methods","numberofplaces":"number of places","openroutemobile":"open Google Maps route on smartphone","FoodEstablishment":"Where to eat","LodgingBusiness":"Where to sleep","TouristDestination":"What to see","TouristAttraction":"What to do","Product":"Local products","Service":"Services","Event":"Events","City":"Cities","Wine":"Wines"},"suggestion":{"consult":"Check out","thetutorial":"the tutorial"},"template":{"reset":"reset filters","showresults":"Show results","suggestiontitle":"Research suggestions","reminder":"Don\'t forget,\\n I can answer your questions."},"GDPR":{"title":"processing personal data transmitted to the bot","message":"by accepting, you consent that all data transmitted to the chatbot can be used for analysis about the use of the tool, and for the improvement of the knowledge base.\\n\\nYour conversations are kept 6 month before deletion.","link":"open confidency policy","buttonAccept":"I understand and I accept","buttonRefuse":"I refuse","messageAccepted":"your acceptation has been saved","messageRefused":"your refusal has been saved"}}');
|
|
1979
2136
|
|
|
1980
2137
|
|
|
1981
2138
|
var $db29fdcdb09c0bc9$exports = {};
|
|
1982
|
-
$db29fdcdb09c0bc9$exports = JSON.parse('{"1":"home","2":"live info channel","3":"weather","4":"emergency numbers","1000":"history","1001":"tutorial","common":{"abort":"abort","all":"all","back":"back","close":"close","continue":"continue","download":"download","downloadsheet":"download this sheet","downloadsheetmobile":"download this sheet on smartphone","filter":"filter","history":"history","lang":"languages","menu":"menu","mode":"mode","needhelp":"Need help ?","parameters":"parameters","print":"print","printsheet":"print this sheet","result":"result","results":"results","singleLang":"language","sound":"sound","submit":"submit","subtitle":"subtitle","tutorial":"tutorial","validate":"validate"},"emergency":{"samu":"maeu","police":"police","firefighter":"firefighters","general":"general","citypolice":"Local police","hospital":"Hospital","homeless":"Homeless (free call)","poison":"Poison Control Center","emergency":"European emergencies"},"error":{"title":"An error occurred","button":"Launch the application again"},"history":{"title":"chat history"},"inputs":{"choose":"Choose an answer"},"language":{"change":"change the language","select":"select the language you want to use"},"link":{"buttontext":"View the document","goto":"Go to address","click":"Click here","scanQR":"by scanning the QrCode"},"loader":{"loader":{"optimal":"For an optimal experience,","classic":"For a more classical experience,","vocal":"I communicate by speaking with the agent.","text":"I communicate by text with the agent."},"modes":{"vocal":"vocal mode","text":"text mode"},"loaderValidation":"Start conversation","locale":"checking language","supported":"checking supported languages","addressdata":"retrieving data","store":"store","directline":"directline","ponyfill":"ponyfill"},"menu":{"message":"Enter your message","allowMicrophone":"Give your browser permission to use microphone to continue","backconversation":"back to the conversation","answer":" answers your questions"},"mobileLandscapePreventer":{"firstline":"For an optimal experience,","secondline":"flip your screen"},"news":{"warningtext":"You are about to access the information channel, the sound of your device will be activated","live":"live","continuous":"continuous"},"poi":{"comment":"customer review","route":"route","nodata":"No content corresponds to your search","openinghours":"Opening hours","prices":"Prices","paymentmethods":"Payment methods","numberofplaces":"number of places","openroutemobile":"open Google Maps route on smartphone","FoodEstablishment":"Where to eat","LodgingBusiness":"Where to sleep","TouristDestination":"What to see","TouristAttraction":"What to do","Product":"Local products","Service":"Services","Event":"Events","City":"Cities","Wine":"Wines"},"suggestion":{"consult":"Check out","thetutorial":"the tutorial"},"template":{"reset":"reset filters","showresults":"Show results","suggestiontitle":"Research suggestions","reminder":"Don\'t forget,\\n I can answer your questions."}}');
|
|
2139
|
+
$db29fdcdb09c0bc9$exports = JSON.parse('{"1":"home","2":"live info channel","3":"weather","4":"emergency numbers","1000":"history","1001":"tutorial","common":{"abort":"abort","all":"all","back":"back","close":"close","continue":"continue","download":"download","downloadsheet":"download this sheet","downloadsheetmobile":"download this sheet on smartphone","filter":"filter","history":"history","lang":"languages","menu":"menu","mode":"mode","needhelp":"Need help ?","parameters":"parameters","print":"print","printsheet":"print this sheet","result":"result","results":"results","singleLang":"language","sound":"sound","submit":"submit","subtitle":"subtitle","tutorial":"tutorial","validate":"validate"},"emergency":{"samu":"maeu","police":"police","firefighter":"firefighters","general":"general","citypolice":"Local police","hospital":"Hospital","homeless":"Homeless (free call)","poison":"Poison Control Center","emergency":"European emergencies"},"error":{"title":"An error occurred","button":"Launch the application again"},"history":{"title":"chat history"},"inputs":{"choose":"Choose an answer"},"language":{"change":"change the language","select":"select the language you want to use"},"link":{"buttontext":"View the document","goto":"Go to address","click":"Click here","scanQR":"by scanning the QrCode"},"loader":{"loader":{"optimal":"For an optimal experience,","classic":"For a more classical experience,","vocal":"I communicate by speaking with the agent.","text":"I communicate by text with the agent."},"modes":{"vocal":"vocal mode","text":"text mode"},"loaderValidation":"Start conversation","locale":"checking language","supported":"checking supported languages","addressdata":"retrieving data","store":"store","directline":"directline","ponyfill":"ponyfill"},"menu":{"message":"Enter your message","allowMicrophone":"Give your browser permission to use microphone to continue","backconversation":"back to the conversation","answer":" answers your questions"},"mobileLandscapePreventer":{"firstline":"For an optimal experience,","secondline":"flip your screen"},"news":{"warningtext":"You are about to access the information channel, the sound of your device will be activated","live":"live","continuous":"continuous"},"poi":{"comment":"customer review","route":"route","nodata":"No content corresponds to your search","openinghours":"Opening hours","prices":"Prices","paymentmethods":"Payment methods","numberofplaces":"number of places","openroutemobile":"open Google Maps route on smartphone","FoodEstablishment":"Where to eat","LodgingBusiness":"Where to sleep","TouristDestination":"What to see","TouristAttraction":"What to do","Product":"Local products","Service":"Services","Event":"Events","City":"Cities","Wine":"Wines"},"suggestion":{"consult":"Check out","thetutorial":"the tutorial"},"template":{"reset":"reset filters","showresults":"Show results","suggestiontitle":"Research suggestions","reminder":"Don\'t forget,\\n I can answer your questions."},"GDPR":{"title":"processing personal data transmitted to the bot","message":"by accepting, you consent that all data transmitted to the chatbot can be used for analysis about the use of the tool, and for the improvement of the knowledge base.\\n\\nYour conversations are kept 6 month before deletion.","link":"open confidency policy","buttonAccept":"I understand and I accept","buttonRefuse":"I refuse","messageAccepted":"your acceptation has been saved","messageRefused":"your refusal has been saved"}}');
|
|
1983
2140
|
|
|
1984
2141
|
|
|
1985
2142
|
var $56de26114d3f5c4e$exports = {};
|
|
1986
|
-
$56de26114d3f5c4e$exports = JSON.parse('{"1":"home","2":"live info channel","3":"weather","4":"emergency numbers","1000":"history","1001":"tutorial","common":{"abort":"abort","all":"all","back":"back","close":"close","continue":"continue","download":"download","downloadsheet":"download this sheet","downloadsheetmobile":"download this sheet on smartphone","filter":"filter","history":"history","lang":"languages","menu":"menu","mode":"mode","needhelp":"Need help ?","parameters":"parameters","print":"print","printsheet":"print this sheet","result":"result","results":"results","singleLang":"language","sound":"sound","submit":"submit","subtitle":"subtitle","tutorial":"tutorial","validate":"validate"},"emergency":{"samu":"maeu","police":"police","firefighter":"firefighters","general":"general","citypolice":"Local police","hospital":"Hospital","homeless":"Homeless (free call)","poison":"Poison Control Center","emergency":"European emergencies"},"error":{"title":"An error occurred","button":"Launch the application again"},"history":{"title":"chat history"},"inputs":{"choose":"Choose an answer"},"language":{"change":"change the language","select":"select the language you want to use"},"link":{"buttontext":"View the document","goto":"Go to address","click":"Click here","scanQR":"by scanning the QrCode"},"loader":{"loader":{"optimal":"For an optimal experience,","classic":"For a more classical experience,","vocal":"I communicate by speaking with the agent.","text":"I communicate by text with the agent."},"modes":{"vocal":"vocal mode","text":"text mode"},"loaderValidation":"Start conversation","locale":"checking language","supported":"checking supported languages","addressdata":"retrieving data","store":"store","directline":"directline","ponyfill":"ponyfill"},"menu":{"message":"Enter your message","allowMicrophone":"Give your browser permission to use microphone to continue","backconversation":"back to the conversation","answer":" answers your questions"},"mobileLandscapePreventer":{"firstline":"For an optimal experience,","secondline":"flip your screen"},"news":{"warningtext":"You are about to access the information channel, the sound of your device will be activated","live":"live","continuous":"continuous"},"poi":{"comment":"customer review","route":"route","nodata":"No content corresponds to your search","openinghours":"Opening hours","prices":"Prices","paymentmethods":"Payment methods","numberofplaces":"number of places","openroutemobile":"open Google Maps route on smartphone","FoodEstablishment":"Where to eat","LodgingBusiness":"Where to sleep","TouristDestination":"What to see","TouristAttraction":"What to do","Product":"Local products","Service":"Services","Event":"Events","City":"Cities","Wine":"Wines"},"suggestion":{"consult":"Check out","thetutorial":"the tutorial"},"template":{"reset":"reset filters","showresults":"Show results","suggestiontitle":"Research suggestions","reminder":"Don\'t forget,\\n I can answer your questions."}}');
|
|
2143
|
+
$56de26114d3f5c4e$exports = JSON.parse('{"1":"home","2":"live info channel","3":"weather","4":"emergency numbers","1000":"history","1001":"tutorial","common":{"abort":"abort","all":"all","back":"back","close":"close","continue":"continue","download":"download","downloadsheet":"download this sheet","downloadsheetmobile":"download this sheet on smartphone","filter":"filter","history":"history","lang":"languages","menu":"menu","mode":"mode","needhelp":"Need help ?","parameters":"parameters","print":"print","printsheet":"print this sheet","result":"result","results":"results","singleLang":"language","sound":"sound","submit":"submit","subtitle":"subtitle","tutorial":"tutorial","validate":"validate"},"emergency":{"samu":"maeu","police":"police","firefighter":"firefighters","general":"general","citypolice":"Local police","hospital":"Hospital","homeless":"Homeless (free call)","poison":"Poison Control Center","emergency":"European emergencies"},"error":{"title":"An error occurred","button":"Launch the application again"},"history":{"title":"chat history"},"inputs":{"choose":"Choose an answer"},"language":{"change":"change the language","select":"select the language you want to use"},"link":{"buttontext":"View the document","goto":"Go to address","click":"Click here","scanQR":"by scanning the QrCode"},"loader":{"loader":{"optimal":"For an optimal experience,","classic":"For a more classical experience,","vocal":"I communicate by speaking with the agent.","text":"I communicate by text with the agent."},"modes":{"vocal":"vocal mode","text":"text mode"},"loaderValidation":"Start conversation","locale":"checking language","supported":"checking supported languages","addressdata":"retrieving data","store":"store","directline":"directline","ponyfill":"ponyfill"},"menu":{"message":"Enter your message","allowMicrophone":"Give your browser permission to use microphone to continue","backconversation":"back to the conversation","answer":" answers your questions"},"mobileLandscapePreventer":{"firstline":"For an optimal experience,","secondline":"flip your screen"},"news":{"warningtext":"You are about to access the information channel, the sound of your device will be activated","live":"live","continuous":"continuous"},"poi":{"comment":"customer review","route":"route","nodata":"No content corresponds to your search","openinghours":"Opening hours","prices":"Prices","paymentmethods":"Payment methods","numberofplaces":"number of places","openroutemobile":"open Google Maps route on smartphone","FoodEstablishment":"Where to eat","LodgingBusiness":"Where to sleep","TouristDestination":"What to see","TouristAttraction":"What to do","Product":"Local products","Service":"Services","Event":"Events","City":"Cities","Wine":"Wines"},"suggestion":{"consult":"Check out","thetutorial":"the tutorial"},"template":{"reset":"reset filters","showresults":"Show results","suggestiontitle":"Research suggestions","reminder":"Don\'t forget,\\n I can answer your questions."},"GDPR":{"title":"processing personal data transmitted to the bot","message":"by accepting, you consent that all data transmitted to the chatbot can be used for analysis about the use of the tool, and for the improvement of the knowledge base.\\n\\nYour conversations are kept 6 month before deletion.","link":"open confidency policy","buttonAccept":"I understand and I accept","buttonRefuse":"I refuse","messageAccepted":"your acceptation has been saved","messageRefused":"your refusal has been saved"}}');
|
|
1987
2144
|
|
|
1988
2145
|
|
|
1989
2146
|
var $a6071e51e9c29521$exports = {};
|
|
1990
|
-
$a6071e51e9c29521$exports = JSON.parse('{"1":"home","2":"live info channel","3":"weather","4":"emergency numbers","1000":"history","1001":"tutorial","common":{"abort":"abort","all":"all","back":"back","close":"close","continue":"continue","download":"download","downloadsheet":"download this sheet","downloadsheetmobile":"download this sheet on smartphone","filter":"filter","history":"history","lang":"languages","menu":"menu","mode":"mode","needhelp":"Need help ?","parameters":"parameters","print":"print","printsheet":"print this sheet","result":"result","results":"results","singleLang":"language","sound":"sound","submit":"submit","subtitle":"subtitle","tutorial":"tutorial","validate":"validate"},"emergency":{"samu":"maeu","police":"police","firefighter":"firefighters","general":"general","citypolice":"Local police","hospital":"Hospital","homeless":"Homeless (free call)","poison":"Poison Control Center","emergency":"European emergencies"},"error":{"title":"An error occurred","button":"Launch the application again"},"history":{"title":"chat history"},"inputs":{"choose":"Choose an answer"},"language":{"change":"change the language","select":"select the language you want to use"},"link":{"buttontext":"View the document","goto":"Go to address","click":"Click here","scanQR":"by scanning the QrCode"},"loader":{"loader":{"optimal":"For an optimal experience,","classic":"For a more classical experience,","vocal":"I communicate by speaking with the agent.","text":"I communicate by text with the agent."},"modes":{"vocal":"vocal mode","text":"text mode"},"loaderValidation":"Start conversation","locale":"checking language","supported":"checking supported languages","addressdata":"retrieving data","store":"store","directline":"directline","ponyfill":"ponyfill"},"menu":{"message":"Enter your message","allowMicrophone":"Give your browser permission to use microphone to continue","backconversation":"back to the conversation","answer":" answers your questions"},"mobileLandscapePreventer":{"firstline":"For an optimal experience,","secondline":"flip your screen"},"news":{"warningtext":"You are about to access the information channel, the sound of your device will be activated","live":"live","continuous":"continuous"},"poi":{"comment":"customer review","route":"route","nodata":"No content corresponds to your search","openinghours":"Opening hours","prices":"Prices","paymentmethods":"Payment methods","numberofplaces":"number of places","openroutemobile":"open Google Maps route on smartphone","FoodEstablishment":"Where to eat","LodgingBusiness":"Where to sleep","TouristDestination":"What to see","TouristAttraction":"What to do","Product":"Local products","Service":"Services","Event":"Events","City":"Cities","Wine":"Wines"},"suggestion":{"consult":"Check out","thetutorial":"the tutorial"},"template":{"reset":"reset filters","showresults":"Show results","suggestiontitle":"Research suggestions","reminder":"Don\'t forget,\\n I can answer your questions."}}');
|
|
2147
|
+
$a6071e51e9c29521$exports = JSON.parse('{"1":"home","2":"live info channel","3":"weather","4":"emergency numbers","1000":"history","1001":"tutorial","common":{"abort":"abort","all":"all","back":"back","close":"close","continue":"continue","download":"download","downloadsheet":"download this sheet","downloadsheetmobile":"download this sheet on smartphone","filter":"filter","history":"history","lang":"languages","menu":"menu","mode":"mode","needhelp":"Need help ?","parameters":"parameters","print":"print","printsheet":"print this sheet","result":"result","results":"results","singleLang":"language","sound":"sound","submit":"submit","subtitle":"subtitle","tutorial":"tutorial","validate":"validate"},"emergency":{"samu":"maeu","police":"police","firefighter":"firefighters","general":"general","citypolice":"Local police","hospital":"Hospital","homeless":"Homeless (free call)","poison":"Poison Control Center","emergency":"European emergencies"},"error":{"title":"An error occurred","button":"Launch the application again"},"history":{"title":"chat history"},"inputs":{"choose":"Choose an answer"},"language":{"change":"change the language","select":"select the language you want to use"},"link":{"buttontext":"View the document","goto":"Go to address","click":"Click here","scanQR":"by scanning the QrCode"},"loader":{"loader":{"optimal":"For an optimal experience,","classic":"For a more classical experience,","vocal":"I communicate by speaking with the agent.","text":"I communicate by text with the agent."},"modes":{"vocal":"vocal mode","text":"text mode"},"loaderValidation":"Start conversation","locale":"checking language","supported":"checking supported languages","addressdata":"retrieving data","store":"store","directline":"directline","ponyfill":"ponyfill"},"menu":{"message":"Enter your message","allowMicrophone":"Give your browser permission to use microphone to continue","backconversation":"back to the conversation","answer":" answers your questions"},"mobileLandscapePreventer":{"firstline":"For an optimal experience,","secondline":"flip your screen"},"news":{"warningtext":"You are about to access the information channel, the sound of your device will be activated","live":"live","continuous":"continuous"},"poi":{"comment":"customer review","route":"route","nodata":"No content corresponds to your search","openinghours":"Opening hours","prices":"Prices","paymentmethods":"Payment methods","numberofplaces":"number of places","openroutemobile":"open Google Maps route on smartphone","FoodEstablishment":"Where to eat","LodgingBusiness":"Where to sleep","TouristDestination":"What to see","TouristAttraction":"What to do","Product":"Local products","Service":"Services","Event":"Events","City":"Cities","Wine":"Wines"},"suggestion":{"consult":"Check out","thetutorial":"the tutorial"},"template":{"reset":"reset filters","showresults":"Show results","suggestiontitle":"Research suggestions","reminder":"Don\'t forget,\\n I can answer your questions."},"GDPR":{"title":"processing personal data transmitted to the bot","message":"by accepting, you consent that all data transmitted to the chatbot can be used for analysis about the use of the tool, and for the improvement of the knowledge base.\\n\\nYour conversations are kept 6 month before deletion.","link":"open confidency policy","buttonAccept":"I understand and I accept","buttonRefuse":"I refuse","messageAccepted":"your acceptation has been saved","messageRefused":"your refusal has been saved"}}');
|
|
1991
2148
|
|
|
1992
2149
|
|
|
1993
2150
|
var $bb98bfd273c4fd65$exports = {};
|
|
@@ -2003,19 +2160,19 @@ $f2ba7294ef5fc2ff$exports = JSON.parse('{"1":"kotisivu","2":"live-uutiskanava","
|
|
|
2003
2160
|
|
|
2004
2161
|
|
|
2005
2162
|
var $665b8ec485518214$exports = {};
|
|
2006
|
-
$665b8ec485518214$exports = JSON.parse('{"1":"accueil","2":"cha\xeene info live","3":"m\xe9t\xe9o","4":"num\xe9ros d\'urgence","1000":"historique","1001":"tutoriel","common":{"abort":"annuler","all":"tous","back":"retour","close":"fermer","continue":"continuer","download":"t\xe9l\xe9charger","downloadsheet":"t\xe9l\xe9charger cette fiche","downloadsheetmobile":"t\xe9l\xe9charger cette fiche sur mobile","filter":"filtrer","history":"historique","lang":"langues","menu":"menu","mode":"mode","needhelp":"besoin d\'aide ?","parameters":"param\xe8tres","print":"imprimer","printsheet":"imprimer cette fiche","result":"r\xe9sultat","results":"r\xe9sultats","singleLang":"langue","sound":"son","submit":"valider","subtitle":"sous-titre","tutorial":"tutoriel","validate":"valider"},"emergency":{"samu":"samu","police":"police","firefighter":"pompiers","general":"g\xe9n\xe9ral","citypolice":"Police municipale","hospital":"H\xf4pital","homeless":"Sans abris (appel gratuit)","poison":"Centre anti-poison","emergency":"Urgences europ\xe9ennes"},"error":{"title":"une erreur est survenue","button":"Relancer l\'application"},"history":{"title":"historique de conversation"},"inputs":{"choose":"Choisissez une r\xe9ponse"},"language":{"change":"changer la langue","select":"s\xe9lectionnez la langue de votre choix"},"link":{"buttonText":"Voir le document","goto":"Acc\xe9der \xe0 l\'adresse","click":"Cliquez-ici","scanQR":"en scannant le QrCode"},"loader":{"loader":{"optimal":"Pour une exp\xe9rience optimale,","classic":"Pour une exp\xe9rience plus classique,","vocal":"j\'\xe9change de vive voix avec l\'agent.","text":"j\'\xe9change \xe0 l\'\xe9crit avec l\'agent."},"modes":{"vocal":"mode vocal","text":"mode texte"},"loaderValidation":"D\xe9marrer la conversation","locale":"v\xe9rification de la langue","supported":"v\xe9rification des langues disponibles","store":"cr\xe9ation du store","directline":"connection au directline","ponyfill":"cr\xe9ation du ponyfill","addressdata":"r\xe9cup\xe9ration des donn\xe9es"},"menu":{"message":"Saisissez votre message","allowMicrophone":"Autorisez votre navigateur \xe0 utiliser votre micro pour continuer","backconversation":"retour \xe0 la conversation","answer":" r\xe9pond \xe0 vos questions"},"mobileLandscapePreventer":{"firstline":"Pour une exp\xe9rience optimale,","secondline":"basculez votre \xe9cran"},"news":{"warningtext":"Vous allez acc\xe9der \xe0 la cha\xeene info, le son de votre appareil va \xeatre activ\xe9","live":"direct","continuous":"en continu"},"poi":{"comment":"avis clients","route":"y Aller","nodata":"Aucun contenu ne correspond \xe0 votre recherche","openinghours":"Horaires","prices":"Tarifs","paymentmethods":"Modes de paiement","numberofplaces":"nombre de couverts","openroutemobile":"ouvrir l\'itin\xe9raire Google Maps sur mobile","FoodEstablishment":"O\xf9 manger","LodgingBusiness":"O\xf9 dormir","TouristDestination":"A voir","TouristAttraction":"A faire","Product":"Produits locaux","Service":"Services","Event":"Ev\xe8nements","City":"Villes","Wine":"Vins"},"suggestion":{"consult":"Consultez","thetutorial":"le tutoriel"},"template":{"reset":"effacer tout","showresults":"Afficher les r\xe9sultats","suggestiontitle":"Suggestions de recherches","reminder":"N\'oubliez pas,\\n je peux r\xe9pondre \xe0 vos questions."}}');
|
|
2163
|
+
$665b8ec485518214$exports = JSON.parse('{"1":"accueil","2":"cha\xeene info live","3":"m\xe9t\xe9o","4":"num\xe9ros d\'urgence","1000":"historique","1001":"tutoriel","common":{"abort":"annuler","all":"tous","back":"retour","close":"fermer","continue":"continuer","download":"t\xe9l\xe9charger","downloadsheet":"t\xe9l\xe9charger cette fiche","downloadsheetmobile":"t\xe9l\xe9charger cette fiche sur mobile","filter":"filtrer","history":"historique","lang":"langues","menu":"menu","mode":"mode","needhelp":"besoin d\'aide ?","parameters":"param\xe8tres","print":"imprimer","printsheet":"imprimer cette fiche","result":"r\xe9sultat","results":"r\xe9sultats","singleLang":"langue","sound":"son","submit":"valider","subtitle":"sous-titre","tutorial":"tutoriel","validate":"valider"},"emergency":{"samu":"samu","police":"police","firefighter":"pompiers","general":"g\xe9n\xe9ral","citypolice":"Police municipale","hospital":"H\xf4pital","homeless":"Sans abris (appel gratuit)","poison":"Centre anti-poison","emergency":"Urgences europ\xe9ennes"},"error":{"title":"une erreur est survenue","button":"Relancer l\'application"},"history":{"title":"historique de conversation"},"inputs":{"choose":"Choisissez une r\xe9ponse"},"language":{"change":"changer la langue","select":"s\xe9lectionnez la langue de votre choix"},"link":{"buttonText":"Voir le document","goto":"Acc\xe9der \xe0 l\'adresse","click":"Cliquez-ici","scanQR":"en scannant le QrCode"},"loader":{"loader":{"optimal":"Pour une exp\xe9rience optimale,","classic":"Pour une exp\xe9rience plus classique,","vocal":"j\'\xe9change de vive voix avec l\'agent.","text":"j\'\xe9change \xe0 l\'\xe9crit avec l\'agent."},"modes":{"vocal":"mode vocal","text":"mode texte"},"loaderValidation":"D\xe9marrer la conversation","locale":"v\xe9rification de la langue","supported":"v\xe9rification des langues disponibles","store":"cr\xe9ation du store","directline":"connection au directline","ponyfill":"cr\xe9ation du ponyfill","addressdata":"r\xe9cup\xe9ration des donn\xe9es"},"menu":{"message":"Saisissez votre message","allowMicrophone":"Autorisez votre navigateur \xe0 utiliser votre micro pour continuer","backconversation":"retour \xe0 la conversation","answer":" r\xe9pond \xe0 vos questions"},"mobileLandscapePreventer":{"firstline":"Pour une exp\xe9rience optimale,","secondline":"basculez votre \xe9cran"},"news":{"warningtext":"Vous allez acc\xe9der \xe0 la cha\xeene info, le son de votre appareil va \xeatre activ\xe9","live":"direct","continuous":"en continu"},"poi":{"comment":"avis clients","route":"y Aller","nodata":"Aucun contenu ne correspond \xe0 votre recherche","openinghours":"Horaires","prices":"Tarifs","paymentmethods":"Modes de paiement","numberofplaces":"nombre de couverts","openroutemobile":"ouvrir l\'itin\xe9raire Google Maps sur mobile","FoodEstablishment":"O\xf9 manger","LodgingBusiness":"O\xf9 dormir","TouristDestination":"A voir","TouristAttraction":"A faire","Product":"Produits locaux","Service":"Services","Event":"Ev\xe8nements","City":"Villes","Wine":"Vins"},"suggestion":{"consult":"Consultez","thetutorial":"le tutoriel"},"template":{"reset":"effacer tout","showresults":"Afficher les r\xe9sultats","suggestiontitle":"Suggestions de recherches","reminder":"N\'oubliez pas,\\n je peux r\xe9pondre \xe0 vos questions."},"GDPR":{"title":"traitement des donn\xe9es personnelles transmises au bot","message":"en acceptant ce dialogue, vous consentez \xe0 ce que toutes les donn\xe9es transmises au chatbot soient exploit\xe9es \xe0 des fins d\'analyse de l\'utilisation de l\'outil et d\'enrichissement de la base de connaissance.\\n\\nVos conversations sont conserv\xe9es 6 mois avant de faire l\'objet d\'une suppression.","link":"lien pour consulter les politiques de confidentialit\xe9","buttonAccept":"j\'ai compris et j\'accepte","buttonRefuse":"je refuse","messageAccepted":"votre consentement est bien pris en compte","messageRefused":"votre refus est bien pris en compte"}}');
|
|
2007
2164
|
|
|
2008
2165
|
|
|
2009
2166
|
var $e1391f8bf11bb24e$exports = {};
|
|
2010
|
-
$e1391f8bf11bb24e$exports = JSON.parse('{"1":"accueil","2":"cha\xeene info live","3":"m\xe9t\xe9o","4":"num\xe9ros d\'urgence","1000":"historique","1001":"tutoriel","common":{"abort":"annuler","all":"tous","back":"retour","close":"fermer","continue":"continuer","download":"t\xe9l\xe9charger","downloadsheet":"t\xe9l\xe9charger cette fiche","downloadsheetmobile":"t\xe9l\xe9charger cette fiche sur mobile","filter":"filtrer","history":"historique","lang":"langues","menu":"menu","mode":"mode","needhelp":"besoin d\'aide ?","parameters":"param\xe8tres","print":"imprimer","printsheet":"imprimer cette fiche","result":"r\xe9sultat","results":"r\xe9sultats","singleLang":"langue","sound":"son","submit":"valider","subtitle":"sous-titre","tutorial":"tutoriel","validate":"valider"},"emergency":{"samu":"samu","police":"police","firefighter":"pompiers","general":"g\xe9n\xe9ral","citypolice":"Police municipale","hospital":"H\xf4pital","homeless":"Sans abris (appel gratuit)","poison":"Centre anti-poison","emergency":"Urgences europ\xe9ennes"},"error":{"title":"une erreur est survenue","button":"Relancer l\'application"},"history":{"title":"historique de conversation"},"inputs":{"choose":"Choisissez une r\xe9ponse"},"language":{"change":"changer la langue","select":"s\xe9lectionnez la langue de votre choix"},"link":{"buttonText":"Voir le document","goto":"Acc\xe9der \xe0 l\'adresse","click":"Cliquez-ici","scanQR":"en scannant le QrCode"},"loader":{"loader":{"optimal":"Pour une exp\xe9rience optimale,","classic":"Pour une exp\xe9rience plus classique,","vocal":"j\'\xe9change de vive voix avec l\'agent.","text":"j\'\xe9change \xe0 l\'\xe9crit avec l\'agent."},"modes":{"vocal":"mode vocal","text":"mode texte"},"loaderValidation":"D\xe9marrer la conversation","locale":"v\xe9rification de la langue","supported":"v\xe9rification des langues disponibles","store":"cr\xe9ation du store","directline":"connection au directline","ponyfill":"cr\xe9ation du ponyfill","addressdata":"r\xe9cup\xe9ration des donn\xe9es"},"menu":{"message":"Saisissez votre message","allowMicrophone":"Autorisez votre navigateur \xe0 utiliser votre micro pour continuer","backconversation":"retour \xe0 la conversation","answer":" r\xe9pond \xe0 vos questions"},"mobileLandscapePreventer":{"firstline":"Pour une exp\xe9rience optimale,","secondline":"basculez votre \xe9cran"},"news":{"warningtext":"Vous allez acc\xe9der \xe0 la cha\xeene info, le son de votre appareil va \xeatre activ\xe9","live":"direct","continuous":"en continu"},"poi":{"comment":"avis clients","route":"y Aller","nodata":"Aucun contenu ne correspond \xe0 votre recherche","openinghours":"Horaires","prices":"Tarifs","paymentmethods":"Modes de paiement","numberofplaces":"nombre de couverts","openroutemobile":"ouvrir l\'itin\xe9raire Google Maps sur mobile","FoodEstablishment":"O\xf9 manger","LodgingBusiness":"O\xf9 dormir","TouristDestination":"A voir","TouristAttraction":"A faire","Product":"Produits locaux","Service":"Services","Event":"Ev\xe8nements","City":"Villes","Wine":"Vins"},"suggestion":{"consult":"Consultez","thetutorial":"le tutoriel"},"template":{"reset":"effacer tout","showresults":"Afficher les r\xe9sultats","suggestiontitle":"Suggestions de recherches","reminder":"N\'oubliez pas,\\n je peux r\xe9pondre \xe0 vos questions."}}');
|
|
2167
|
+
$e1391f8bf11bb24e$exports = JSON.parse('{"1":"accueil","2":"cha\xeene info live","3":"m\xe9t\xe9o","4":"num\xe9ros d\'urgence","1000":"historique","1001":"tutoriel","common":{"abort":"annuler","all":"tous","back":"retour","close":"fermer","continue":"continuer","download":"t\xe9l\xe9charger","downloadsheet":"t\xe9l\xe9charger cette fiche","downloadsheetmobile":"t\xe9l\xe9charger cette fiche sur mobile","filter":"filtrer","history":"historique","lang":"langues","menu":"menu","mode":"mode","needhelp":"besoin d\'aide ?","parameters":"param\xe8tres","print":"imprimer","printsheet":"imprimer cette fiche","result":"r\xe9sultat","results":"r\xe9sultats","singleLang":"langue","sound":"son","submit":"valider","subtitle":"sous-titre","tutorial":"tutoriel","validate":"valider"},"emergency":{"samu":"samu","police":"police","firefighter":"pompiers","general":"g\xe9n\xe9ral","citypolice":"Police municipale","hospital":"H\xf4pital","homeless":"Sans abris (appel gratuit)","poison":"Centre anti-poison","emergency":"Urgences europ\xe9ennes"},"error":{"title":"une erreur est survenue","button":"Relancer l\'application"},"history":{"title":"historique de conversation"},"inputs":{"choose":"Choisissez une r\xe9ponse"},"language":{"change":"changer la langue","select":"s\xe9lectionnez la langue de votre choix"},"link":{"buttonText":"Voir le document","goto":"Acc\xe9der \xe0 l\'adresse","click":"Cliquez-ici","scanQR":"en scannant le QrCode"},"loader":{"loader":{"optimal":"Pour une exp\xe9rience optimale,","classic":"Pour une exp\xe9rience plus classique,","vocal":"j\'\xe9change de vive voix avec l\'agent.","text":"j\'\xe9change \xe0 l\'\xe9crit avec l\'agent."},"modes":{"vocal":"mode vocal","text":"mode texte"},"loaderValidation":"D\xe9marrer la conversation","locale":"v\xe9rification de la langue","supported":"v\xe9rification des langues disponibles","store":"cr\xe9ation du store","directline":"connection au directline","ponyfill":"cr\xe9ation du ponyfill","addressdata":"r\xe9cup\xe9ration des donn\xe9es"},"menu":{"message":"Saisissez votre message","allowMicrophone":"Autorisez votre navigateur \xe0 utiliser votre micro pour continuer","backconversation":"retour \xe0 la conversation","answer":" r\xe9pond \xe0 vos questions"},"mobileLandscapePreventer":{"firstline":"Pour une exp\xe9rience optimale,","secondline":"basculez votre \xe9cran"},"news":{"warningtext":"Vous allez acc\xe9der \xe0 la cha\xeene info, le son de votre appareil va \xeatre activ\xe9","live":"direct","continuous":"en continu"},"poi":{"comment":"avis clients","route":"y Aller","nodata":"Aucun contenu ne correspond \xe0 votre recherche","openinghours":"Horaires","prices":"Tarifs","paymentmethods":"Modes de paiement","numberofplaces":"nombre de couverts","openroutemobile":"ouvrir l\'itin\xe9raire Google Maps sur mobile","FoodEstablishment":"O\xf9 manger","LodgingBusiness":"O\xf9 dormir","TouristDestination":"A voir","TouristAttraction":"A faire","Product":"Produits locaux","Service":"Services","Event":"Ev\xe8nements","City":"Villes","Wine":"Vins"},"suggestion":{"consult":"Consultez","thetutorial":"le tutoriel"},"template":{"reset":"effacer tout","showresults":"Afficher les r\xe9sultats","suggestiontitle":"Suggestions de recherches","reminder":"N\'oubliez pas,\\n je peux r\xe9pondre \xe0 vos questions."},"GDPR":{"title":"traitement des donn\xe9es personnelles transmises au bot","message":"en acceptant ce dialogue, vous consentez \xe0 ce que toutes les donn\xe9es transmises au chatbot soient exploit\xe9es \xe0 des fins d\'analyse de l\'utilisation de l\'outil et d\'enrichissement de la base de connaissance.\\n\\nVos conversations sont conserv\xe9es 6 mois avant de faire l\'objet d\'une suppression.","link":"lien pour consulter les politiques de confidentialit\xe9","buttonAccept":"j\'ai compris et j\'accepte","buttonRefuse":"je refuse","messageAccepted":"votre consentement est bien pris en compte","messageRefused":"votre refus est bien pris en compte"}}');
|
|
2011
2168
|
|
|
2012
2169
|
|
|
2013
2170
|
var $e49541d4a8c387a4$exports = {};
|
|
2014
|
-
$e49541d4a8c387a4$exports = JSON.parse('{"1":"accueil","2":"cha\xeene info live","3":"m\xe9t\xe9o","4":"num\xe9ros d\'urgence","1000":"historique","1001":"tutoriel","common":{"abort":"annuler","all":"tous","back":"retour","close":"fermer","continue":"continuer","download":"t\xe9l\xe9charger","downloadsheet":"t\xe9l\xe9charger cette fiche","downloadsheetmobile":"t\xe9l\xe9charger cette fiche sur mobile","filter":"filtrer","history":"historique","lang":"langues","menu":"menu","mode":"mode","needhelp":"besoin d\'aide ?","parameters":"param\xe8tres","print":"imprimer","printsheet":"imprimer cette fiche","result":"r\xe9sultat","results":"r\xe9sultats","singleLang":"langue","sound":"son","submit":"valider","subtitle":"sous-titre","tutorial":"tutoriel","validate":"valider"},"emergency":{"samu":"samu","police":"police","firefighter":"pompiers","general":"g\xe9n\xe9ral","citypolice":"Police municipale","hospital":"H\xf4pital","homeless":"Sans abris (appel gratuit)","poison":"Centre anti-poison","emergency":"Urgences europ\xe9ennes"},"error":{"title":"une erreur est survenue","button":"Relancer l\'application"},"history":{"title":"historique de conversation"},"inputs":{"choose":"Choisissez une r\xe9ponse"},"language":{"change":"changer la langue","select":"s\xe9lectionnez la langue de votre choix"},"link":{"buttonText":"Voir le document","goto":"Acc\xe9der \xe0 l\'adresse","click":"Cliquez-ici","scanQR":"en scannant le QrCode"},"loader":{"loader":{"optimal":"Pour une exp\xe9rience optimale,","classic":"Pour une exp\xe9rience plus classique,","vocal":"j\'\xe9change de vive voix avec l\'agent.","text":"j\'\xe9change \xe0 l\'\xe9crit avec l\'agent."},"modes":{"vocal":"mode vocal","text":"mode texte"},"loaderValidation":"D\xe9marrer la conversation","locale":"v\xe9rification de la langue","supported":"v\xe9rification des langues disponibles","store":"cr\xe9ation du store","directline":"connection au directline","ponyfill":"cr\xe9ation du ponyfill","addressdata":"r\xe9cup\xe9ration des donn\xe9es"},"menu":{"message":"Saisissez votre message","allowMicrophone":"Autorisez votre navigateur \xe0 utiliser votre micro pour continuer","backconversation":"retour \xe0 la conversation","answer":" r\xe9pond \xe0 vos questions"},"mobileLandscapePreventer":{"firstline":"Pour une exp\xe9rience optimale,","secondline":"basculez votre \xe9cran"},"news":{"warningtext":"Vous allez acc\xe9der \xe0 la cha\xeene info, le son de votre appareil va \xeatre activ\xe9","live":"direct","continuous":"en continu"},"poi":{"comment":"avis clients","route":"y Aller","nodata":"Aucun contenu ne correspond \xe0 votre recherche","openinghours":"Horaires","prices":"Tarifs","paymentmethods":"Modes de paiement","numberofplaces":"nombre de couverts","openroutemobile":"ouvrir l\'itin\xe9raire Google Maps sur mobile","FoodEstablishment":"O\xf9 manger","LodgingBusiness":"O\xf9 dormir","TouristDestination":"A voir","TouristAttraction":"A faire","Product":"Produits locaux","Service":"Services","Event":"Ev\xe8nements","City":"Villes","Wine":"Vins"},"suggestion":{"consult":"Consultez","thetutorial":"le tutoriel"},"template":{"reset":"effacer tout","showresults":"Afficher les r\xe9sultats","suggestiontitle":"Suggestions de recherches","reminder":"N\'oubliez pas,\\n je peux r\xe9pondre \xe0 vos questions."}}');
|
|
2171
|
+
$e49541d4a8c387a4$exports = JSON.parse('{"1":"accueil","2":"cha\xeene info live","3":"m\xe9t\xe9o","4":"num\xe9ros d\'urgence","1000":"historique","1001":"tutoriel","common":{"abort":"annuler","all":"tous","back":"retour","close":"fermer","continue":"continuer","download":"t\xe9l\xe9charger","downloadsheet":"t\xe9l\xe9charger cette fiche","downloadsheetmobile":"t\xe9l\xe9charger cette fiche sur mobile","filter":"filtrer","history":"historique","lang":"langues","menu":"menu","mode":"mode","needhelp":"besoin d\'aide ?","parameters":"param\xe8tres","print":"imprimer","printsheet":"imprimer cette fiche","result":"r\xe9sultat","results":"r\xe9sultats","singleLang":"langue","sound":"son","submit":"valider","subtitle":"sous-titre","tutorial":"tutoriel","validate":"valider"},"emergency":{"samu":"samu","police":"police","firefighter":"pompiers","general":"g\xe9n\xe9ral","citypolice":"Police municipale","hospital":"H\xf4pital","homeless":"Sans abris (appel gratuit)","poison":"Centre anti-poison","emergency":"Urgences europ\xe9ennes"},"error":{"title":"une erreur est survenue","button":"Relancer l\'application"},"history":{"title":"historique de conversation"},"inputs":{"choose":"Choisissez une r\xe9ponse"},"language":{"change":"changer la langue","select":"s\xe9lectionnez la langue de votre choix"},"link":{"buttonText":"Voir le document","goto":"Acc\xe9der \xe0 l\'adresse","click":"Cliquez-ici","scanQR":"en scannant le QrCode"},"loader":{"loader":{"optimal":"Pour une exp\xe9rience optimale,","classic":"Pour une exp\xe9rience plus classique,","vocal":"j\'\xe9change de vive voix avec l\'agent.","text":"j\'\xe9change \xe0 l\'\xe9crit avec l\'agent."},"modes":{"vocal":"mode vocal","text":"mode texte"},"loaderValidation":"D\xe9marrer la conversation","locale":"v\xe9rification de la langue","supported":"v\xe9rification des langues disponibles","store":"cr\xe9ation du store","directline":"connection au directline","ponyfill":"cr\xe9ation du ponyfill","addressdata":"r\xe9cup\xe9ration des donn\xe9es"},"menu":{"message":"Saisissez votre message","allowMicrophone":"Autorisez votre navigateur \xe0 utiliser votre micro pour continuer","backconversation":"retour \xe0 la conversation","answer":" r\xe9pond \xe0 vos questions"},"mobileLandscapePreventer":{"firstline":"Pour une exp\xe9rience optimale,","secondline":"basculez votre \xe9cran"},"news":{"warningtext":"Vous allez acc\xe9der \xe0 la cha\xeene info, le son de votre appareil va \xeatre activ\xe9","live":"direct","continuous":"en continu"},"poi":{"comment":"avis clients","route":"y Aller","nodata":"Aucun contenu ne correspond \xe0 votre recherche","openinghours":"Horaires","prices":"Tarifs","paymentmethods":"Modes de paiement","numberofplaces":"nombre de couverts","openroutemobile":"ouvrir l\'itin\xe9raire Google Maps sur mobile","FoodEstablishment":"O\xf9 manger","LodgingBusiness":"O\xf9 dormir","TouristDestination":"A voir","TouristAttraction":"A faire","Product":"Produits locaux","Service":"Services","Event":"Ev\xe8nements","City":"Villes","Wine":"Vins"},"suggestion":{"consult":"Consultez","thetutorial":"le tutoriel"},"template":{"reset":"effacer tout","showresults":"Afficher les r\xe9sultats","suggestiontitle":"Suggestions de recherches","reminder":"N\'oubliez pas,\\n je peux r\xe9pondre \xe0 vos questions."},"GDPR":{"title":"traitement des donn\xe9es personnelles transmises au bot","message":"en acceptant ce dialogue, vous consentez \xe0 ce que toutes les donn\xe9es transmises au chatbot soient exploit\xe9es \xe0 des fins d\'analyse de l\'utilisation de l\'outil et d\'enrichissement de la base de connaissance.\\n\\nVos conversations sont conserv\xe9es 6 mois avant de faire l\'objet d\'une suppression.","link":"lien pour consulter les politiques de confidentialit\xe9","buttonAccept":"j\'ai compris et j\'accepte","buttonRefuse":"je refuse","messageAccepted":"votre consentement est bien pris en compte","messageRefused":"votre refus est bien pris en compte"}}');
|
|
2015
2172
|
|
|
2016
2173
|
|
|
2017
2174
|
var $36bf012ae80b0ec7$exports = {};
|
|
2018
|
-
$36bf012ae80b0ec7$exports = JSON.parse('{"1":"accueil","2":"cha\xeene info live","3":"m\xe9t\xe9o","4":"num\xe9ros d\'urgence","1000":"historique","1001":"tutoriel","common":{"abort":"annuler","all":"tous","back":"retour","close":"fermer","continue":"continuer","download":"t\xe9l\xe9charger","downloadsheet":"t\xe9l\xe9charger cette fiche","downloadsheetmobile":"t\xe9l\xe9charger cette fiche sur mobile","filter":"filtrer","history":"historique","lang":"langues","menu":"menu","mode":"mode","needhelp":"besoin d\'aide ?","parameters":"param\xe8tres","print":"imprimer","printsheet":"imprimer cette fiche","result":"r\xe9sultat","results":"r\xe9sultats","singleLang":"langue","sound":"son","submit":"valider","subtitle":"sous-titre","tutorial":"tutoriel","validate":"valider"},"emergency":{"samu":"samu","police":"police","firefighter":"pompiers","general":"g\xe9n\xe9ral","citypolice":"Police municipale","hospital":"H\xf4pital","homeless":"Sans abris (appel gratuit)","poison":"Centre anti-poison","emergency":"Urgences europ\xe9ennes"},"error":{"title":"une erreur est survenue","button":"Relancer l\'application"},"history":{"title":"historique de conversation"},"inputs":{"choose":"Choisissez une r\xe9ponse"},"language":{"change":"changer la langue","select":"s\xe9lectionnez la langue de votre choix"},"link":{"buttonText":"Voir le document","goto":"Acc\xe9der \xe0 l\'adresse","click":"Cliquez-ici","scanQR":"en scannant le QrCode"},"loader":{"loader":{"optimal":"Pour une exp\xe9rience optimale,","classic":"Pour une exp\xe9rience plus classique,","vocal":"j\'\xe9change de vive voix avec l\'agent.","text":"j\'\xe9change \xe0 l\'\xe9crit avec l\'agent."},"modes":{"vocal":"mode vocal","text":"mode texte"},"loaderValidation":"D\xe9marrer la conversation","locale":"v\xe9rification de la langue","supported":"v\xe9rification des langues disponibles","store":"cr\xe9ation du store","directline":"connection au directline","ponyfill":"cr\xe9ation du ponyfill","addressdata":"r\xe9cup\xe9ration des donn\xe9es"},"menu":{"message":"Saisissez votre message","allowMicrophone":"Autorisez votre navigateur \xe0 utiliser votre micro pour continuer","backconversation":"retour \xe0 la conversation","answer":" r\xe9pond \xe0 vos questions"},"mobileLandscapePreventer":{"firstline":"Pour une exp\xe9rience optimale,","secondline":"basculez votre \xe9cran"},"news":{"warningtext":"Vous allez acc\xe9der \xe0 la cha\xeene info, le son de votre appareil va \xeatre activ\xe9","live":"direct","continuous":"en continu"},"poi":{"comment":"avis clients","route":"y Aller","nodata":"Aucun contenu ne correspond \xe0 votre recherche","openinghours":"Horaires","prices":"Tarifs","paymentmethods":"Modes de paiement","numberofplaces":"nombre de couverts","openroutemobile":"ouvrir l\'itin\xe9raire Google Maps sur mobile","FoodEstablishment":"O\xf9 manger","LodgingBusiness":"O\xf9 dormir","TouristDestination":"A voir","TouristAttraction":"A faire","Product":"Produits locaux","Service":"Services","Event":"Ev\xe8nements","City":"Villes","Wine":"Vins"},"suggestion":{"consult":"Consultez","thetutorial":"le tutoriel"},"template":{"reset":"effacer tout","showresults":"Afficher les r\xe9sultats","suggestiontitle":"Suggestions de recherches","reminder":"N\'oubliez pas,\\n je peux r\xe9pondre \xe0 vos questions."}}');
|
|
2175
|
+
$36bf012ae80b0ec7$exports = JSON.parse('{"1":"accueil","2":"cha\xeene info live","3":"m\xe9t\xe9o","4":"num\xe9ros d\'urgence","1000":"historique","1001":"tutoriel","common":{"abort":"annuler","all":"tous","back":"retour","close":"fermer","continue":"continuer","download":"t\xe9l\xe9charger","downloadsheet":"t\xe9l\xe9charger cette fiche","downloadsheetmobile":"t\xe9l\xe9charger cette fiche sur mobile","filter":"filtrer","history":"historique","lang":"langues","menu":"menu","mode":"mode","needhelp":"besoin d\'aide ?","parameters":"param\xe8tres","print":"imprimer","printsheet":"imprimer cette fiche","result":"r\xe9sultat","results":"r\xe9sultats","singleLang":"langue","sound":"son","submit":"valider","subtitle":"sous-titre","tutorial":"tutoriel","validate":"valider"},"emergency":{"samu":"samu","police":"police","firefighter":"pompiers","general":"g\xe9n\xe9ral","citypolice":"Police municipale","hospital":"H\xf4pital","homeless":"Sans abris (appel gratuit)","poison":"Centre anti-poison","emergency":"Urgences europ\xe9ennes"},"error":{"title":"une erreur est survenue","button":"Relancer l\'application"},"history":{"title":"historique de conversation"},"inputs":{"choose":"Choisissez une r\xe9ponse"},"language":{"change":"changer la langue","select":"s\xe9lectionnez la langue de votre choix"},"link":{"buttonText":"Voir le document","goto":"Acc\xe9der \xe0 l\'adresse","click":"Cliquez-ici","scanQR":"en scannant le QrCode"},"loader":{"loader":{"optimal":"Pour une exp\xe9rience optimale,","classic":"Pour une exp\xe9rience plus classique,","vocal":"j\'\xe9change de vive voix avec l\'agent.","text":"j\'\xe9change \xe0 l\'\xe9crit avec l\'agent."},"modes":{"vocal":"mode vocal","text":"mode texte"},"loaderValidation":"D\xe9marrer la conversation","locale":"v\xe9rification de la langue","supported":"v\xe9rification des langues disponibles","store":"cr\xe9ation du store","directline":"connection au directline","ponyfill":"cr\xe9ation du ponyfill","addressdata":"r\xe9cup\xe9ration des donn\xe9es"},"menu":{"message":"Saisissez votre message","allowMicrophone":"Autorisez votre navigateur \xe0 utiliser votre micro pour continuer","backconversation":"retour \xe0 la conversation","answer":" r\xe9pond \xe0 vos questions"},"mobileLandscapePreventer":{"firstline":"Pour une exp\xe9rience optimale,","secondline":"basculez votre \xe9cran"},"news":{"warningtext":"Vous allez acc\xe9der \xe0 la cha\xeene info, le son de votre appareil va \xeatre activ\xe9","live":"direct","continuous":"en continu"},"poi":{"comment":"avis clients","route":"y Aller","nodata":"Aucun contenu ne correspond \xe0 votre recherche","openinghours":"Horaires","prices":"Tarifs","paymentmethods":"Modes de paiement","numberofplaces":"nombre de couverts","openroutemobile":"ouvrir l\'itin\xe9raire Google Maps sur mobile","FoodEstablishment":"O\xf9 manger","LodgingBusiness":"O\xf9 dormir","TouristDestination":"A voir","TouristAttraction":"A faire","Product":"Produits locaux","Service":"Services","Event":"Ev\xe8nements","City":"Villes","Wine":"Vins"},"suggestion":{"consult":"Consultez","thetutorial":"le tutoriel"},"template":{"reset":"effacer tout","showresults":"Afficher les r\xe9sultats","suggestiontitle":"Suggestions de recherches","reminder":"N\'oubliez pas,\\n je peux r\xe9pondre \xe0 vos questions."},"GDPR":{"title":"traitement des donn\xe9es personnelles transmises au bot","message":"en acceptant ce dialogue, vous consentez \xe0 ce que toutes les donn\xe9es transmises au chatbot soient exploit\xe9es \xe0 des fins d\'analyse de l\'utilisation de l\'outil et d\'enrichissement de la base de connaissance.\\n\\nVos conversations sont conserv\xe9es 6 mois avant de faire l\'objet d\'une suppression.","link":"lien pour consulter les politiques de confidentialit\xe9","buttonAccept":"j\'ai compris et j\'accepte","buttonRefuse":"je refuse","messageAccepted":"votre consentement est bien pris en compte","messageRefused":"votre refus est bien pris en compte"}}');
|
|
2019
2176
|
|
|
2020
2177
|
|
|
2021
2178
|
var $c0d58208aa6da1b3$exports = {};
|
|
@@ -2154,7 +2311,7 @@ const $f902d4436881b887$export$3118ae18000e2700 = ()=>{
|
|
|
2154
2311
|
const $b7c552f6163a7a5c$var$useToggleMicrophone = ()=>{
|
|
2155
2312
|
const mode = (0, $56b00880a398c953$export$bd22554f31e5f96f)((state)=>state.mode);
|
|
2156
2313
|
const activeRecognitionState = (0, $04ce41b46d359821$export$f299240efcda25a2)((state)=>state.activeRecognitionState);
|
|
2157
|
-
const toggleMicrophone = (0, $b3y7N$useCallback)(()=>{
|
|
2314
|
+
const toggleMicrophone = (0, $b3y7N$useCallback)((fromExpectedInput)=>{
|
|
2158
2315
|
if (mode === (0, $f5ca62954d1f1f5b$export$9484bbecc3c49a2e).text) (0, $04ce41b46d359821$export$45913366c4ba414f)((0, $f5ca62954d1f1f5b$export$3f0071308968cd80).Closed);
|
|
2159
2316
|
else switch(activeRecognitionState){
|
|
2160
2317
|
// Do nothing if we are in a transition state
|
|
@@ -2167,7 +2324,7 @@ const $b7c552f6163a7a5c$var$useToggleMicrophone = ()=>{
|
|
|
2167
2324
|
break;
|
|
2168
2325
|
case (0, $f5ca62954d1f1f5b$export$3f0071308968cd80).Closed:
|
|
2169
2326
|
(0, $04ce41b46d359821$export$45913366c4ba414f)((0, $f5ca62954d1f1f5b$export$3f0071308968cd80).Initializing);
|
|
2170
|
-
(0, $04ce41b46d359821$export$d0df6aec4e971f52)(true);
|
|
2327
|
+
!fromExpectedInput && (0, $04ce41b46d359821$export$d0df6aec4e971f52)(true);
|
|
2171
2328
|
break;
|
|
2172
2329
|
}
|
|
2173
2330
|
}, [
|
|
@@ -2187,12 +2344,14 @@ var $758a083c76f41cee$var$EventsReceived;
|
|
|
2187
2344
|
$758a083c76f41cee$var$EventsReceived[$758a083c76f41cee$var$EventsReceived["retorikStartListening"] = 3] = "retorikStartListening";
|
|
2188
2345
|
$758a083c76f41cee$var$EventsReceived[$758a083c76f41cee$var$EventsReceived["retorikDisplaySubtitles"] = 4] = "retorikDisplaySubtitles";
|
|
2189
2346
|
})($758a083c76f41cee$var$EventsReceived || ($758a083c76f41cee$var$EventsReceived = {}));
|
|
2190
|
-
const $758a083c76f41cee$var$SendActivityEventListener = ({ isRetorikNews: isRetorikNews, hasConversationCookie: hasConversationCookie, userData: userData
|
|
2347
|
+
const $758a083c76f41cee$var$SendActivityEventListener = ({ isRetorikNews: isRetorikNews, hasConversationCookie: hasConversationCookie, userData: userData })=>{
|
|
2191
2348
|
const sendPostActivity = $758a083c76f41cee$var$usePostActivity();
|
|
2192
2349
|
const sendEvent = $758a083c76f41cee$var$useSendEvent();
|
|
2193
2350
|
const locale = (0, $f902d4436881b887$export$6650dace022cfacc)((state)=>state.locale);
|
|
2194
2351
|
const activityToSend = (0, $3426110875af99d0$export$77e4cc5334565f28)((state)=>state.activityToSend);
|
|
2195
2352
|
const eventToSend = (0, $3426110875af99d0$export$77e4cc5334565f28)((state)=>state.eventToSend);
|
|
2353
|
+
const displayGDPR = (0, $3426110875af99d0$export$77e4cc5334565f28)((state)=>state.GDPRDisplay);
|
|
2354
|
+
const userConsent = (0, $3426110875af99d0$export$77e4cc5334565f28)((state)=>state.GDPRUserConsent);
|
|
2196
2355
|
const { appAvailable: appAvailable, loaderClosed: loaderClosed, configuration: { skipWelcome: skipWelcome } } = (0, $15b0bc93a9787124$export$d8760bee47331b1d)();
|
|
2197
2356
|
const toggleMicrophone = (0, $b7c552f6163a7a5c$export$2e2bcd8739ae039)();
|
|
2198
2357
|
const [eventReceived, setEventReceived] = (0, $b3y7N$useState)(null);
|
|
@@ -2213,7 +2372,7 @@ const $758a083c76f41cee$var$SendActivityEventListener = ({ isRetorikNews: isReto
|
|
|
2213
2372
|
eventReceived.detail && sendEvent(eventReceived.detail.name, eventReceived.detail.value);
|
|
2214
2373
|
}
|
|
2215
2374
|
} catch (e) {
|
|
2216
|
-
console.warn("Error on event reception");
|
|
2375
|
+
console.warn("Retorik Framework > Error on event reception");
|
|
2217
2376
|
}
|
|
2218
2377
|
}, [
|
|
2219
2378
|
eventReceived
|
|
@@ -2236,22 +2395,27 @@ const $758a083c76f41cee$var$SendActivityEventListener = ({ isRetorikNews: isReto
|
|
|
2236
2395
|
};
|
|
2237
2396
|
}, []);
|
|
2238
2397
|
(0, $b3y7N$useEffect)(()=>{
|
|
2239
|
-
if (isRetorikNews || hasConversationCookie)
|
|
2240
|
-
|
|
2241
|
-
(0, $56b00880a398c953$export$702dee93694750db)(true);
|
|
2242
|
-
} else if (!userAlreadySet && (appAvailable || loaderClosed)) {
|
|
2243
|
-
console.log("changedLayout", changedLayout, appAvailable, loaderClosed);
|
|
2398
|
+
if (isRetorikNews || hasConversationCookie) (0, $56b00880a398c953$export$702dee93694750db)(true);
|
|
2399
|
+
else if (!userAlreadySet && appAvailable && !displayGDPR) {
|
|
2244
2400
|
(0, $56b00880a398c953$export$702dee93694750db)(true);
|
|
2401
|
+
// Send mandatory events : setUser to start conversation, Davi.GDPRConsent for GDPR module
|
|
2402
|
+
sendEvent("setUser", {
|
|
2403
|
+
user: {
|
|
2404
|
+
...userData,
|
|
2405
|
+
gdprConsent: true
|
|
2406
|
+
},
|
|
2407
|
+
skipWelcome: !!skipWelcome
|
|
2408
|
+
});
|
|
2245
2409
|
setTimeout(()=>{
|
|
2246
|
-
sendEvent("
|
|
2247
|
-
|
|
2248
|
-
skipWelcome: !!skipWelcome
|
|
2410
|
+
sendEvent("Davi.GDPRConsent", {
|
|
2411
|
+
userConsent: userConsent
|
|
2249
2412
|
});
|
|
2250
|
-
},
|
|
2413
|
+
}, 100);
|
|
2251
2414
|
}
|
|
2252
2415
|
}, [
|
|
2253
2416
|
appAvailable,
|
|
2254
|
-
loaderClosed
|
|
2417
|
+
loaderClosed,
|
|
2418
|
+
displayGDPR
|
|
2255
2419
|
]);
|
|
2256
2420
|
(0, $b3y7N$useEffect)(()=>{
|
|
2257
2421
|
if (activityToSend) {
|
|
@@ -2538,7 +2702,10 @@ const $c7fecc7ec9b4c272$var$ViewContextDefaultValues = {
|
|
|
2538
2702
|
themeColors: (0, $71132ad06245c2e7$export$d80fe84b82195dbd),
|
|
2539
2703
|
isTactile: false,
|
|
2540
2704
|
isMobile: false,
|
|
2705
|
+
isWidget: false,
|
|
2706
|
+
isLandscape: true,
|
|
2541
2707
|
isMobileLandscape: false,
|
|
2708
|
+
isBorne: false,
|
|
2542
2709
|
displayControls: true,
|
|
2543
2710
|
showHomeAttachments: undefined,
|
|
2544
2711
|
mediumLandscape: false,
|
|
@@ -2564,11 +2731,10 @@ function $c7fecc7ec9b4c272$export$50e22524de02f5db({ viewsConfiguration: viewsCo
|
|
|
2564
2731
|
currentWidth
|
|
2565
2732
|
]);
|
|
2566
2733
|
const [isTactile, setIsTactile] = (0, $b3y7N$useState)(false);
|
|
2567
|
-
const isMobile = (0, $b3y7N$
|
|
2568
|
-
|
|
2569
|
-
|
|
2570
|
-
|
|
2571
|
-
]);
|
|
2734
|
+
const [isMobile, setIsMobile] = (0, $b3y7N$useState)((0, $cd0e91e00b0900ed$export$78f16669b353a880).includes(currentDeviceType));
|
|
2735
|
+
const [isWidget, setIsWidget] = (0, $b3y7N$useState)((0, $cd0e91e00b0900ed$export$909f4c209eb70365).includes(currentDeviceType));
|
|
2736
|
+
const [isLandscape, setIsLandscape] = (0, $b3y7N$useState)((0, $cd0e91e00b0900ed$export$baf53ca377ebf861).includes(currentDeviceType));
|
|
2737
|
+
const [isBorne, setIsBorne] = (0, $b3y7N$useState)((0, $cd0e91e00b0900ed$export$a8576d98c9c928de).includes(currentDeviceType));
|
|
2572
2738
|
const isMobileLandscape = (0, $b3y7N$useMemo)(()=>{
|
|
2573
2739
|
if (currentDeviceType === (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).mobile && currentHeight < currentWidth) return true;
|
|
2574
2740
|
return false;
|
|
@@ -2588,6 +2754,9 @@ function $c7fecc7ec9b4c272$export$50e22524de02f5db({ viewsConfiguration: viewsCo
|
|
|
2588
2754
|
themeColors: themeColors,
|
|
2589
2755
|
isTactile: isTactile,
|
|
2590
2756
|
isMobile: isMobile,
|
|
2757
|
+
isWidget: isWidget,
|
|
2758
|
+
isLandscape: isLandscape,
|
|
2759
|
+
isBorne: isBorne,
|
|
2591
2760
|
isMobileLandscape: isMobileLandscape,
|
|
2592
2761
|
displayControls: displayControls,
|
|
2593
2762
|
showHomeAttachments: showHomeAttachments,
|
|
@@ -2606,6 +2775,10 @@ function $c7fecc7ec9b4c272$export$50e22524de02f5db({ viewsConfiguration: viewsCo
|
|
|
2606
2775
|
currentWidth,
|
|
2607
2776
|
themeColors,
|
|
2608
2777
|
isTactile,
|
|
2778
|
+
isMobile,
|
|
2779
|
+
isWidget,
|
|
2780
|
+
isLandscape,
|
|
2781
|
+
isBorne,
|
|
2609
2782
|
isMobileLandscape,
|
|
2610
2783
|
displayControls,
|
|
2611
2784
|
showHomeAttachments,
|
|
@@ -2617,6 +2790,14 @@ function $c7fecc7ec9b4c272$export$50e22524de02f5db({ viewsConfiguration: viewsCo
|
|
|
2617
2790
|
setDisplayControls,
|
|
2618
2791
|
setShowHomeAttachments
|
|
2619
2792
|
]);
|
|
2793
|
+
(0, $b3y7N$useEffect)(()=>{
|
|
2794
|
+
setIsMobile((0, $cd0e91e00b0900ed$export$78f16669b353a880).includes(currentDeviceType));
|
|
2795
|
+
setIsWidget((0, $cd0e91e00b0900ed$export$909f4c209eb70365).includes(currentDeviceType));
|
|
2796
|
+
setIsLandscape((0, $cd0e91e00b0900ed$export$baf53ca377ebf861).includes(currentDeviceType));
|
|
2797
|
+
setIsBorne((0, $cd0e91e00b0900ed$export$a8576d98c9c928de).includes(currentDeviceType));
|
|
2798
|
+
}, [
|
|
2799
|
+
currentDeviceType
|
|
2800
|
+
]);
|
|
2620
2801
|
(0, $b3y7N$useEffect)(()=>{
|
|
2621
2802
|
setIsTactile("ontouchstart" in window || navigator.maxTouchPoints > 0);
|
|
2622
2803
|
}, []);
|
|
@@ -4434,7 +4615,7 @@ const $521e78e1921d1e6b$var$POIAttachment = ({ media: media, title: title, subti
|
|
|
4434
4615
|
media && media[0]?.url ? /*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
4435
4616
|
className: "rf-relative rf-w-full rf-rounded rf-aspect-video",
|
|
4436
4617
|
style: {
|
|
4437
|
-
backgroundImage: `url(${media[0].url})`,
|
|
4618
|
+
backgroundImage: `url(${media[0].url.replaceAll("'", "%27")})`,
|
|
4438
4619
|
backgroundSize: "cover",
|
|
4439
4620
|
backgroundRepeat: "no-repeat",
|
|
4440
4621
|
backgroundPosition: "center"
|
|
@@ -8216,6 +8397,7 @@ let $b062754c8efcd061$var$iconsInitialized = false;
|
|
|
8216
8397
|
|
|
8217
8398
|
|
|
8218
8399
|
|
|
8400
|
+
|
|
8219
8401
|
// Add markdown-it to window for markdown processing
|
|
8220
8402
|
window.markdownit = (0, $b3y7N$markdownit);
|
|
8221
8403
|
(0, $b062754c8efcd061$export$6108075486421829)();
|
|
@@ -8274,6 +8456,8 @@ const $e46bc33cb25634ec$var$defaultUser = {
|
|
|
8274
8456
|
conversationId: cookieConversationId,
|
|
8275
8457
|
watermark: "0"
|
|
8276
8458
|
}));
|
|
8459
|
+
// Tell the activity store that we will retrieve several activities from an existing conversation, so that it displays only the last one
|
|
8460
|
+
(0, $9b100ac34d01a331$export$d7e4f7861d387c67)(true);
|
|
8277
8461
|
setHasConversationCookie(true);
|
|
8278
8462
|
test = false;
|
|
8279
8463
|
}
|
|
@@ -8300,9 +8484,12 @@ const $e46bc33cb25634ec$var$defaultUser = {
|
|
|
8300
8484
|
}, [
|
|
8301
8485
|
ponyfillCredentials
|
|
8302
8486
|
]);
|
|
8303
|
-
// Initialize the store
|
|
8487
|
+
// Initialize the store on mount and close directline on unmount
|
|
8304
8488
|
(0, $b3y7N$useEffect)(()=>{
|
|
8305
8489
|
initStore();
|
|
8490
|
+
return ()=>{
|
|
8491
|
+
subscriptionRef?.current?.unsubscribe();
|
|
8492
|
+
};
|
|
8306
8493
|
}, []);
|
|
8307
8494
|
// Create custom store
|
|
8308
8495
|
function initStore() {
|
|
@@ -8328,9 +8515,6 @@ const $e46bc33cb25634ec$var$defaultUser = {
|
|
|
8328
8515
|
if (directLine) subscriptionRef.current = directLine.connectionStatus$.subscribe((newStatus)=>{
|
|
8329
8516
|
setConnectionStatus(newStatus);
|
|
8330
8517
|
});
|
|
8331
|
-
return ()=>{
|
|
8332
|
-
subscriptionRef?.current?.unsubscribe();
|
|
8333
|
-
};
|
|
8334
8518
|
}, [
|
|
8335
8519
|
directLine
|
|
8336
8520
|
]);
|
|
@@ -8418,35 +8602,34 @@ var $7a8005163915b65d$export$2e2bcd8739ae039 = $7a8005163915b65d$var$BackgroundV
|
|
|
8418
8602
|
|
|
8419
8603
|
|
|
8420
8604
|
|
|
8421
|
-
|
|
8605
|
+
/**
|
|
8606
|
+
* Use javascript ResizeOberver object to catch element's resize and return current size
|
|
8607
|
+
* @param {React.RefObject<HTMLElement>} ref element for which we want to get the size when resized
|
|
8608
|
+
* @returns {Dimensions} dimension data (width, height)
|
|
8609
|
+
*/ const $9d905911b403e245$var$useRefDimensions = (ref)=>{
|
|
8422
8610
|
const [dimensions, setDimensions] = (0, $b3y7N$useState)({
|
|
8423
8611
|
width: 1,
|
|
8424
8612
|
height: 1
|
|
8425
8613
|
});
|
|
8426
|
-
const [
|
|
8427
|
-
|
|
8428
|
-
|
|
8429
|
-
|
|
8430
|
-
|
|
8431
|
-
setWindowSize({
|
|
8432
|
-
width: window.innerWidth,
|
|
8433
|
-
height: window.innerHeight
|
|
8614
|
+
const [observer, setObserver] = (0, $b3y7N$useState)();
|
|
8615
|
+
const handleResizeObserverTick = (entries)=>{
|
|
8616
|
+
entries.length && entries[0].contentBoxSize.length && setDimensions({
|
|
8617
|
+
width: entries[0].contentBoxSize[0].inlineSize,
|
|
8618
|
+
height: entries[0].contentBoxSize[0].blockSize
|
|
8434
8619
|
});
|
|
8435
8620
|
};
|
|
8436
|
-
(0, $b3y7N$
|
|
8437
|
-
|
|
8438
|
-
|
|
8439
|
-
|
|
8440
|
-
|
|
8441
|
-
|
|
8442
|
-
|
|
8443
|
-
});
|
|
8621
|
+
(0, $b3y7N$useLayoutEffect)(()=>{
|
|
8622
|
+
if (!observer) {
|
|
8623
|
+
const obs = new ResizeObserver(handleResizeObserverTick);
|
|
8624
|
+
if (ref?.current) {
|
|
8625
|
+
obs.observe(ref.current);
|
|
8626
|
+
setObserver(obs);
|
|
8627
|
+
}
|
|
8444
8628
|
}
|
|
8445
|
-
return ()=>
|
|
8446
|
-
|
|
8447
|
-
|
|
8448
|
-
|
|
8449
|
-
]);
|
|
8629
|
+
return ()=>{
|
|
8630
|
+
observer?.disconnect();
|
|
8631
|
+
};
|
|
8632
|
+
}, []);
|
|
8450
8633
|
return dimensions;
|
|
8451
8634
|
};
|
|
8452
8635
|
var $9d905911b403e245$export$2e2bcd8739ae039 = $9d905911b403e245$var$useRefDimensions;
|
|
@@ -8610,11 +8793,11 @@ var $c27ed3c92f4690f2$export$2e2bcd8739ae039 = $c27ed3c92f4690f2$var$VoiceInput;
|
|
|
8610
8793
|
|
|
8611
8794
|
const $3b31309367603f45$var$UserRequest = ()=>{
|
|
8612
8795
|
const mode = (0, $56b00880a398c953$export$bd22554f31e5f96f)((state)=>state.mode);
|
|
8613
|
-
const { isMobile: isMobile,
|
|
8796
|
+
const { isMobile: isMobile, isBorne: isBorne, mediumLandscape: mediumLandscape } = (0, $c7fecc7ec9b4c272$export$3abe3478af3cb63b)();
|
|
8614
8797
|
return /*#__PURE__*/ (0, $b3y7N$jsx)((0, $b3y7N$react).Fragment, {
|
|
8615
8798
|
children: !isMobile && /*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
8616
8799
|
className: `rf-relative rf-h-full
|
|
8617
|
-
${
|
|
8800
|
+
${isBorne && mode === (0, $f5ca62954d1f1f5b$export$9484bbecc3c49a2e).vocal ? "rf-w-4/9" : "rf-w-3/5"}
|
|
8618
8801
|
${mode === (0, $f5ca62954d1f1f5b$export$9484bbecc3c49a2e).text && mediumLandscape ? "rf-col-start-4" : "rf-col-start-5"} rf-col-span-full rf-row-start-1 ${mode === (0, $f5ca62954d1f1f5b$export$9484bbecc3c49a2e).text ? "rf-row-end-4" : "rf-row-end-5"} rf-py-4
|
|
8619
8802
|
large-vertical:rf-col-start-1 large-vertical:rf-col-span-full large-vertical:rf-row-start-5 large-vertical:rf-row-end-7
|
|
8620
8803
|
large-vertical:rf-py-5
|
|
@@ -8914,7 +9097,6 @@ var $1a1546311db2416e$export$2e2bcd8739ae039 = $1a1546311db2416e$var$ListContext
|
|
|
8914
9097
|
|
|
8915
9098
|
|
|
8916
9099
|
|
|
8917
|
-
|
|
8918
9100
|
const $9c63279d4ce73f7d$var$Desktop = ({ className: className, background: background, children: children })=>{
|
|
8919
9101
|
return /*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
8920
9102
|
className: `rf-z-dropdown rf-relative rf-col-start-5 rf-col-end-13 rf-row-start-1 rf-row-span-full rf-w-3/5 rf-justify-self-center tactile:rf-pt-1/5 rf-flex rf-flex-col rf-justify-start rf-items-center rf-bg-templateBackground rf-shadow-[3px_3px_6px_#00000029] rf-overflow-y-scroll rf-scrollbar-hidden ${className}`,
|
|
@@ -9323,7 +9505,7 @@ var $c38caca23845824a$export$2e2bcd8739ae039 = $c38caca23845824a$var$AbsoluteLar
|
|
|
9323
9505
|
|
|
9324
9506
|
|
|
9325
9507
|
const $73d7e922147f4370$var$SubMenu = ({ background: background, onClick: onClick, children: children })=>{
|
|
9326
|
-
const {
|
|
9508
|
+
const { isMobile: isMobile, isLandscape: isLandscape, isBorne: isBorne } = (0, $c7fecc7ec9b4c272$export$3abe3478af3cb63b)();
|
|
9327
9509
|
return /*#__PURE__*/ (0, $b3y7N$jsxs)((0, $b3y7N$react).Fragment, {
|
|
9328
9510
|
children: [
|
|
9329
9511
|
!isMobile && onClick && /*#__PURE__*/ (0, $b3y7N$jsx)((0, $c38caca23845824a$export$2e2bcd8739ae039), {
|
|
@@ -9331,14 +9513,14 @@ const $73d7e922147f4370$var$SubMenu = ({ background: background, onClick: onClic
|
|
|
9331
9513
|
zIndexClassname: "rf-z-util",
|
|
9332
9514
|
onClick: onClick
|
|
9333
9515
|
}),
|
|
9334
|
-
|
|
9516
|
+
isBorne ? /*#__PURE__*/ (0, $b3y7N$jsxs)((0, $c3ba76bcd3f6410d$export$2e2bcd8739ae039), {
|
|
9335
9517
|
className: "rf-z-dropdown rf-flex rf-flex-col rf-pt-[25vh] rf-pb-[15vh] rf-justify-start rf-items-center rf-shadow-[20px_3px_20px_#00000029] rf-overflow-y-scroll rf-scrollbar-hidden",
|
|
9336
9518
|
background: background || "#FFFFFF",
|
|
9337
9519
|
children: [
|
|
9338
9520
|
/*#__PURE__*/ (0, $b3y7N$jsx)((0, $44c583bf9f127cf2$export$2e2bcd8739ae039), {}),
|
|
9339
9521
|
children
|
|
9340
9522
|
]
|
|
9341
|
-
}) :
|
|
9523
|
+
}) : isLandscape ? /*#__PURE__*/ (0, $b3y7N$jsx)((0, $9c63279d4ce73f7d$export$2e2bcd8739ae039), {
|
|
9342
9524
|
background: background || "#FFFFFF",
|
|
9343
9525
|
children: children
|
|
9344
9526
|
}) : /*#__PURE__*/ (0, $b3y7N$jsx)((0, $998084db40d1ea05$export$2e2bcd8739ae039), {
|
|
@@ -9366,6 +9548,7 @@ const $76655b543a18462f$var$BackButton = ({ title: title, className: className,
|
|
|
9366
9548
|
className: `rf-flex rf-flex-row rf-items-center ${className}`,
|
|
9367
9549
|
onClick: handleBack,
|
|
9368
9550
|
"aria-label": title,
|
|
9551
|
+
"data-map": "fermer",
|
|
9369
9552
|
children: [
|
|
9370
9553
|
/*#__PURE__*/ (0, $b3y7N$jsx)((0, $62020ef5eaaff2df$export$2e2bcd8739ae039), {
|
|
9371
9554
|
className: "rf-w-8"
|
|
@@ -10761,7 +10944,7 @@ var $bfee9debe091d3c7$export$2e2bcd8739ae039 = $bfee9debe091d3c7$var$SubMenuClos
|
|
|
10761
10944
|
|
|
10762
10945
|
|
|
10763
10946
|
const $1069807c9f448568$var$FullScreenRemoteClosing = ({ className: className, background: background, closeButtonClassName: closeButtonClassName, remoteCloseButtonZIndex: remoteCloseButtonZIndex, mobileReturnTitle: mobileReturnTitle, handleClose: handleClose, onClick: onClick, animation: animation, children: children })=>{
|
|
10764
|
-
const {
|
|
10947
|
+
const { isMobile: isMobile, isLandscape: isLandscape, isBorne: isBorne } = (0, $c7fecc7ec9b4c272$export$3abe3478af3cb63b)();
|
|
10765
10948
|
return /*#__PURE__*/ (0, $b3y7N$jsxs)((0, $b3y7N$react).Fragment, {
|
|
10766
10949
|
children: [
|
|
10767
10950
|
/*#__PURE__*/ (0, $b3y7N$jsxs)((0, $c3ba76bcd3f6410d$export$2e2bcd8739ae039), {
|
|
@@ -10770,7 +10953,7 @@ const $1069807c9f448568$var$FullScreenRemoteClosing = ({ className: className, b
|
|
|
10770
10953
|
onClick: onClick,
|
|
10771
10954
|
animation: animation,
|
|
10772
10955
|
children: [
|
|
10773
|
-
|
|
10956
|
+
isLandscape && /*#__PURE__*/ (0, $b3y7N$jsx)((0, $72dd87ba3d0b1b58$export$2e2bcd8739ae039), {
|
|
10774
10957
|
onClick: handleClose,
|
|
10775
10958
|
className: closeButtonClassName,
|
|
10776
10959
|
showLabel: true
|
|
@@ -10783,7 +10966,7 @@ const $1069807c9f448568$var$FullScreenRemoteClosing = ({ className: className, b
|
|
|
10783
10966
|
children
|
|
10784
10967
|
]
|
|
10785
10968
|
}),
|
|
10786
|
-
|
|
10969
|
+
isBorne && /*#__PURE__*/ (0, $b3y7N$jsx)((0, $c38caca23845824a$export$2e2bcd8739ae039), {
|
|
10787
10970
|
dashboardVisible: true,
|
|
10788
10971
|
zIndexClassname: remoteCloseButtonZIndex,
|
|
10789
10972
|
onClick: handleClose
|
|
@@ -11265,7 +11448,6 @@ var $d78724a5e31d6c8f$export$2e2bcd8739ae039 = $d78724a5e31d6c8f$var$MobileDispl
|
|
|
11265
11448
|
|
|
11266
11449
|
|
|
11267
11450
|
|
|
11268
|
-
|
|
11269
11451
|
// Check if we should let the event propagate. For example leaflet events should pass to allow map panning
|
|
11270
11452
|
const $4d8d462ee41ffdc9$var$checkShouldPropagate = (e)=>{
|
|
11271
11453
|
if (e.target) try {
|
|
@@ -11308,8 +11490,20 @@ const $4d8d462ee41ffdc9$var$handleTouch = (e)=>{
|
|
|
11308
11490
|
localStorage.setItem("Retorik.Framework.TouchY", `${e.touches[0].screenY}`);
|
|
11309
11491
|
e.touches.length > 1 && !$4d8d462ee41ffdc9$var$checkShouldPropagate(e) && e.cancelable && e.preventDefault();
|
|
11310
11492
|
};
|
|
11311
|
-
|
|
11312
|
-
|
|
11493
|
+
/**
|
|
11494
|
+
* Attach wheel | touch events on either a HTMLElement or a reference to a HTMLDivElement to prevent the propagation of this events to parent window.
|
|
11495
|
+
* @param {HTMLElement | null} element HTMLElement to which we will attach the events
|
|
11496
|
+
* @param {React.RefObject<HTMLDivElement>} ref reference to the HTMLDivElement to which we will attach the events
|
|
11497
|
+
* @param {AbortSignal} signal abort signal to remove events when needed
|
|
11498
|
+
*/ const $4d8d462ee41ffdc9$var$preventEvents = (element, ref, signal)=>{
|
|
11499
|
+
// Add abort signal to options if present
|
|
11500
|
+
const options = signal ? {
|
|
11501
|
+
passive: false,
|
|
11502
|
+
signal: signal
|
|
11503
|
+
} : {
|
|
11504
|
+
passive: false
|
|
11505
|
+
};
|
|
11506
|
+
if (ref?.current) {
|
|
11313
11507
|
try {
|
|
11314
11508
|
ref.current.removeEventListener("wheel", (e)=>$4d8d462ee41ffdc9$var$handleRefStop(e, ref));
|
|
11315
11509
|
ref.current.removeEventListener("touchstart", (e)=>$4d8d462ee41ffdc9$var$handleTouch(e));
|
|
@@ -11317,25 +11511,13 @@ const $4d8d462ee41ffdc9$var$preventEvents = (element, ref)=>{
|
|
|
11317
11511
|
} catch (err) {
|
|
11318
11512
|
console.warn(err);
|
|
11319
11513
|
}
|
|
11320
|
-
ref.current.addEventListener("wheel", (e)=>$4d8d462ee41ffdc9$var$handleRefStop(e, ref),
|
|
11321
|
-
|
|
11322
|
-
|
|
11323
|
-
ref.current.addEventListener("touchstart", (e)=>$4d8d462ee41ffdc9$var$handleTouch(e), {
|
|
11324
|
-
passive: false
|
|
11325
|
-
});
|
|
11326
|
-
ref.current.addEventListener("touchmove", (e)=>$4d8d462ee41ffdc9$var$handleRefStop(e, ref), {
|
|
11327
|
-
passive: false
|
|
11328
|
-
});
|
|
11514
|
+
ref.current.addEventListener("wheel", (e)=>$4d8d462ee41ffdc9$var$handleRefStop(e, ref), options);
|
|
11515
|
+
ref.current.addEventListener("touchstart", (e)=>$4d8d462ee41ffdc9$var$handleTouch(e), options);
|
|
11516
|
+
ref.current.addEventListener("touchmove", (e)=>$4d8d462ee41ffdc9$var$handleRefStop(e, ref), options);
|
|
11329
11517
|
} else if (element) {
|
|
11330
|
-
element.addEventListener("wheel", (e)=>$4d8d462ee41ffdc9$var$handleStop(e),
|
|
11331
|
-
|
|
11332
|
-
|
|
11333
|
-
element.addEventListener("touchstart", (e)=>$4d8d462ee41ffdc9$var$handleTouch(e), {
|
|
11334
|
-
passive: false
|
|
11335
|
-
});
|
|
11336
|
-
element.addEventListener("touchmove", (e)=>$4d8d462ee41ffdc9$var$handleStop(e), {
|
|
11337
|
-
passive: false
|
|
11338
|
-
});
|
|
11518
|
+
element.addEventListener("wheel", (e)=>$4d8d462ee41ffdc9$var$handleStop(e), options);
|
|
11519
|
+
element.addEventListener("touchstart", (e)=>$4d8d462ee41ffdc9$var$handleTouch(e), options);
|
|
11520
|
+
element.addEventListener("touchmove", (e)=>$4d8d462ee41ffdc9$var$handleStop(e), options);
|
|
11339
11521
|
}
|
|
11340
11522
|
};
|
|
11341
11523
|
var $4d8d462ee41ffdc9$export$2e2bcd8739ae039 = $4d8d462ee41ffdc9$var$preventEvents;
|
|
@@ -11344,12 +11526,12 @@ var $4d8d462ee41ffdc9$export$2e2bcd8739ae039 = $4d8d462ee41ffdc9$var$preventEven
|
|
|
11344
11526
|
const $27f6452958f7148b$var$FilterMobile = ({ className: className, setFiltersOpened: setFiltersOpened, handleClose: handleClose })=>{
|
|
11345
11527
|
const translation = (0, $f902d4436881b887$export$6650dace022cfacc)((state)=>state.currentTranslations);
|
|
11346
11528
|
const { resetFilters: resetFilters } = (0, $f3355770fb53f173$export$f9763ecd339e95eb)();
|
|
11347
|
-
const {
|
|
11529
|
+
const { isWidget: isWidget } = (0, $c7fecc7ec9b4c272$export$3abe3478af3cb63b)();
|
|
11348
11530
|
const [open, setOpen] = (0, $b3y7N$useState)(false);
|
|
11349
11531
|
const [currentOpened, setCurrentOpened] = (0, $b3y7N$useState)(undefined);
|
|
11350
11532
|
const divRef = (0, $b3y7N$useRef)(null);
|
|
11351
11533
|
(0, $b3y7N$useEffect)(()=>{
|
|
11352
|
-
if (divRef?.current)
|
|
11534
|
+
if (divRef?.current) isWidget && (0, $4d8d462ee41ffdc9$export$2e2bcd8739ae039)(null, divRef);
|
|
11353
11535
|
}, [
|
|
11354
11536
|
divRef?.current
|
|
11355
11537
|
]);
|
|
@@ -11533,13 +11715,14 @@ const $5959014767b0decc$export$93d01adc5582c83e = ({ direction: direction, displ
|
|
|
11533
11715
|
};
|
|
11534
11716
|
|
|
11535
11717
|
|
|
11718
|
+
|
|
11536
11719
|
const { useSendPostBack: $6b0db30c4b5b5858$var$useSendPostBack } = (0, $b3y7N$hooks1);
|
|
11537
11720
|
let $6b0db30c4b5b5858$var$timer = null;
|
|
11538
11721
|
const $6b0db30c4b5b5858$var$ListContainer = ({ hasFilterOrSuggestedAction: hasFilterOrSuggestedAction, numberOfResults: numberOfResults })=>{
|
|
11539
11722
|
const translation = (0, $f902d4436881b887$export$6650dace022cfacc)((state)=>state.currentTranslations);
|
|
11540
11723
|
const sendPostback = $6b0db30c4b5b5858$var$useSendPostBack();
|
|
11541
11724
|
const { content: content, selectedFilters: selectedFilters, loadingData: loadingData, setLoadingData: setLoadingData } = (0, $f3355770fb53f173$export$f9763ecd339e95eb)();
|
|
11542
|
-
const { currentDeviceType: currentDeviceType, isMobile: isMobile } = (0, $c7fecc7ec9b4c272$export$3abe3478af3cb63b)();
|
|
11725
|
+
const { currentDeviceType: currentDeviceType, isMobile: isMobile, isWidget: isWidget } = (0, $c7fecc7ec9b4c272$export$3abe3478af3cb63b)();
|
|
11543
11726
|
const currentPagination = (0, $97a7deacd265097c$export$2e2bcd8739ae039)();
|
|
11544
11727
|
const [contentToDisplay, setContentToDisplay] = (0, $b3y7N$useState)([]);
|
|
11545
11728
|
const [landscapeStyle, setLandscapeStyle] = (0, $b3y7N$useState)("large:rf-h-3/5");
|
|
@@ -11549,6 +11732,7 @@ const $6b0db30c4b5b5858$var$ListContainer = ({ hasFilterOrSuggestedAction: hasFi
|
|
|
11549
11732
|
const scrollRef = (0, $b3y7N$useRef)(null);
|
|
11550
11733
|
const contentRef = (0, $b3y7N$useRef)(null);
|
|
11551
11734
|
const numberOfDisplayed = (0, $b3y7N$useRef)();
|
|
11735
|
+
const [abortController, setAbortController] = (0, $b3y7N$useState)(null);
|
|
11552
11736
|
(0, $b3y7N$useEffect)(()=>{
|
|
11553
11737
|
setLandscapeStyle(hasFilterOrSuggestedAction ? "large:rf-h-[60vh]" : "");
|
|
11554
11738
|
}, [
|
|
@@ -11638,6 +11822,21 @@ const $6b0db30c4b5b5858$var$ListContainer = ({ hasFilterOrSuggestedAction: hasFi
|
|
|
11638
11822
|
}, [
|
|
11639
11823
|
contentToDisplay
|
|
11640
11824
|
]);
|
|
11825
|
+
(0, $b3y7N$useEffect)(()=>{
|
|
11826
|
+
if (contentRef?.current && isWidget) {
|
|
11827
|
+
if (currentDeviceType === (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).widgetLandscape) {
|
|
11828
|
+
const ab = new AbortController();
|
|
11829
|
+
setAbortController(ab);
|
|
11830
|
+
(0, $4d8d462ee41ffdc9$export$2e2bcd8739ae039)(null, contentRef, ab.signal);
|
|
11831
|
+
} else {
|
|
11832
|
+
abortController?.abort();
|
|
11833
|
+
setAbortController(null);
|
|
11834
|
+
}
|
|
11835
|
+
}
|
|
11836
|
+
}, [
|
|
11837
|
+
contentRef?.current,
|
|
11838
|
+
currentDeviceType
|
|
11839
|
+
]);
|
|
11641
11840
|
/**
|
|
11642
11841
|
* Click on 'see more' button in mobile mode or scroll to the end of the list in desktop / borne modes.
|
|
11643
11842
|
* This will send a postback message with 'hospitality.pointOfInterest.nextPage' name to get new content
|
|
@@ -11658,7 +11857,8 @@ const $6b0db30c4b5b5858$var$ListContainer = ({ hasFilterOrSuggestedAction: hasFi
|
|
|
11658
11857
|
* Scroll to the scrollRef HTMLDivElement at the top of the view
|
|
11659
11858
|
*/ const scrollToRef = ()=>{
|
|
11660
11859
|
if (scrollRef && scrollRef.current !== null) scrollRef.current.scrollIntoView({
|
|
11661
|
-
behavior: "smooth"
|
|
11860
|
+
behavior: "smooth",
|
|
11861
|
+
block: "nearest"
|
|
11662
11862
|
});
|
|
11663
11863
|
setLoadingData(false);
|
|
11664
11864
|
};
|
|
@@ -11847,10 +12047,10 @@ const $a8e0bc17b0fe6d93$var$springLeaveDuration = 2500;
|
|
|
11847
12047
|
const $a8e0bc17b0fe6d93$var$List = ({ activity: activity, onClose: onClose })=>{
|
|
11848
12048
|
const mode = (0, $56b00880a398c953$export$bd22554f31e5f96f)((state)=>state.mode);
|
|
11849
12049
|
const sendEvent = (0, $b3y7N$useSendEvent)();
|
|
11850
|
-
const { isMobile: isMobile, currentDeviceType: currentDeviceType } = (0, $c7fecc7ec9b4c272$export$3abe3478af3cb63b)();
|
|
12050
|
+
const { isMobile: isMobile, isWidget: isWidget, currentDeviceType: currentDeviceType } = (0, $c7fecc7ec9b4c272$export$3abe3478af3cb63b)();
|
|
11851
12051
|
const { content: content, filters: filters, selectedFilters: selectedFilters, setContent: setContent } = (0, $f3355770fb53f173$export$f9763ecd339e95eb)();
|
|
11852
|
-
const
|
|
11853
|
-
const
|
|
12052
|
+
const locale = (0, $f902d4436881b887$export$6650dace022cfacc)((state)=>state.locale);
|
|
12053
|
+
const lastListActivity = (0, $3426110875af99d0$export$77e4cc5334565f28)((state)=>state.lastListActivity);
|
|
11854
12054
|
const [mobileFiltersOpened, setMobileFiltersOpened] = (0, $b3y7N$useState)(false);
|
|
11855
12055
|
const [largeFilterOpenedKey, setLargeFilterOpenedKey] = (0, $b3y7N$useState)(undefined);
|
|
11856
12056
|
const scrollRef = (0, $b3y7N$useRef)(null);
|
|
@@ -11861,6 +12061,7 @@ const $a8e0bc17b0fe6d93$var$List = ({ activity: activity, onClose: onClose })=>{
|
|
|
11861
12061
|
}));
|
|
11862
12062
|
const timerRef = (0, $b3y7N$useRef)(null);
|
|
11863
12063
|
const divRef = (0, $b3y7N$useRef)(null);
|
|
12064
|
+
const [abortController, setAbortController] = (0, $b3y7N$useState)(null);
|
|
11864
12065
|
/**
|
|
11865
12066
|
* On call :
|
|
11866
12067
|
* - set ListContext's content state to undefined
|
|
@@ -11907,13 +12108,24 @@ const $a8e0bc17b0fe6d93$var$List = ({ activity: activity, onClose: onClose })=>{
|
|
|
11907
12108
|
* - scroll to the scrollRef HTML element at the top of the view
|
|
11908
12109
|
*/ const scrollToRef = ()=>{
|
|
11909
12110
|
if (scrollRef && scrollRef.current !== null) scrollRef.current.scrollIntoView({
|
|
11910
|
-
behavior: "smooth"
|
|
12111
|
+
behavior: "smooth",
|
|
12112
|
+
block: "nearest"
|
|
11911
12113
|
});
|
|
11912
12114
|
};
|
|
11913
12115
|
(0, $b3y7N$useEffect)(()=>{
|
|
11914
|
-
if (divRef?.current
|
|
12116
|
+
if (divRef?.current && isWidget) {
|
|
12117
|
+
if (currentDeviceType === (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).widget) {
|
|
12118
|
+
const ab = new AbortController();
|
|
12119
|
+
setAbortController(ab);
|
|
12120
|
+
(0, $4d8d462ee41ffdc9$export$2e2bcd8739ae039)(null, divRef, ab.signal);
|
|
12121
|
+
} else {
|
|
12122
|
+
abortController?.abort();
|
|
12123
|
+
setAbortController(null);
|
|
12124
|
+
}
|
|
12125
|
+
}
|
|
11915
12126
|
}, [
|
|
11916
|
-
divRef?.current
|
|
12127
|
+
divRef?.current,
|
|
12128
|
+
currentDeviceType
|
|
11917
12129
|
]);
|
|
11918
12130
|
/**
|
|
11919
12131
|
* On content change :
|
|
@@ -12039,10 +12251,12 @@ const $b749e27f4bddcf1e$var$Card = ({ children: children, className: className,
|
|
|
12039
12251
|
if (to === "bottom") setScrollButtonDirection("top");
|
|
12040
12252
|
else setScrollButtonDirection("bottom");
|
|
12041
12253
|
if (from === "button" && botEndRef && botEndRef.current !== null && to === "bottom") botEndRef.current.scrollIntoView({
|
|
12042
|
-
behavior: "smooth"
|
|
12254
|
+
behavior: "smooth",
|
|
12255
|
+
block: "nearest"
|
|
12043
12256
|
});
|
|
12044
12257
|
else if (to === "top" && cardRef && cardRef.current) cardRef.current.children[1].scrollIntoView({
|
|
12045
|
-
behavior: "smooth"
|
|
12258
|
+
behavior: "smooth",
|
|
12259
|
+
block: "nearest"
|
|
12046
12260
|
});
|
|
12047
12261
|
};
|
|
12048
12262
|
const handleScroll = ()=>{
|
|
@@ -12197,6 +12411,8 @@ var $fe786f6198e14865$export$2e2bcd8739ae039 = $fe786f6198e14865$var$Swiper;
|
|
|
12197
12411
|
|
|
12198
12412
|
|
|
12199
12413
|
|
|
12414
|
+
|
|
12415
|
+
|
|
12200
12416
|
const $8e767b1b71b4e397$var$springEnterDuration = 1000;
|
|
12201
12417
|
// Cards' width coefficients depending on the mode and display type
|
|
12202
12418
|
const $8e767b1b71b4e397$var$widthCoefficients = {
|
|
@@ -12222,7 +12438,7 @@ const $8e767b1b71b4e397$var$Carousel = /*#__PURE__*/ (0, $b3y7N$react).forwardRe
|
|
|
12222
12438
|
currentDeviceType
|
|
12223
12439
|
]);
|
|
12224
12440
|
const coefficient = (0, $b3y7N$useMemo)(()=>{
|
|
12225
|
-
return mode === (0, $f5ca62954d1f1f5b$export$9484bbecc3c49a2e).vocal ? currentDeviceType === (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).landscape ? history ? $8e767b1b71b4e397$var$widthCoefficients.textAndVocalMobile : $8e767b1b71b4e397$var$widthCoefficients.vocalDesktop : currentDeviceType === (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).borne ? history ? $8e767b1b71b4e397$var$widthCoefficients.vocalDesktop : $8e767b1b71b4e397$var$widthCoefficients.vocalBorne : $8e767b1b71b4e397$var$widthCoefficients.textAndVocalMobile : $8e767b1b71b4e397$var$widthCoefficients.textAndVocalMobile;
|
|
12441
|
+
return mode === (0, $f5ca62954d1f1f5b$export$9484bbecc3c49a2e).vocal ? currentDeviceType === (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).landscape || currentDeviceType === (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).widgetLandscape ? history ? $8e767b1b71b4e397$var$widthCoefficients.textAndVocalMobile : $8e767b1b71b4e397$var$widthCoefficients.vocalDesktop : currentDeviceType === (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).borne || currentDeviceType === (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).widgetBorne ? history ? $8e767b1b71b4e397$var$widthCoefficients.vocalDesktop : $8e767b1b71b4e397$var$widthCoefficients.vocalBorne : $8e767b1b71b4e397$var$widthCoefficients.textAndVocalMobile : $8e767b1b71b4e397$var$widthCoefficients.textAndVocalMobile;
|
|
12226
12442
|
}, [
|
|
12227
12443
|
mode,
|
|
12228
12444
|
currentDeviceType
|
|
@@ -12239,6 +12455,7 @@ const $8e767b1b71b4e397$var$Carousel = /*#__PURE__*/ (0, $b3y7N$react).forwardRe
|
|
|
12239
12455
|
const [wheeling, setWheeling] = (0, $b3y7N$useState)(0);
|
|
12240
12456
|
const divRef = (0, $b3y7N$useRef)(null);
|
|
12241
12457
|
const timerRef = (0, $b3y7N$useRef)(null);
|
|
12458
|
+
const dimensions = (0, $9d905911b403e245$export$2e2bcd8739ae039)(divRef);
|
|
12242
12459
|
const [spring, api] = (0, $b3y7N$useSpring)(()=>({
|
|
12243
12460
|
from: {
|
|
12244
12461
|
transform: "translateX(0%)"
|
|
@@ -12269,13 +12486,13 @@ const $8e767b1b71b4e397$var$Carousel = /*#__PURE__*/ (0, $b3y7N$react).forwardRe
|
|
|
12269
12486
|
* On component unmount :
|
|
12270
12487
|
* - clear timeout
|
|
12271
12488
|
*/ (0, $b3y7N$useEffect)(()=>{
|
|
12272
|
-
if (
|
|
12273
|
-
let newCardWidth = Math.floor(
|
|
12489
|
+
if (dimensions) {
|
|
12490
|
+
let newCardWidth = Math.floor(dimensions.width * coefficient);
|
|
12274
12491
|
if (forceMobileView && newCardWidth > 400) {
|
|
12275
12492
|
newCardWidth = 400;
|
|
12276
|
-
setCurrentPadding((
|
|
12277
|
-
if (nbCards * newCardWidth <
|
|
12278
|
-
} else setCurrentPadding((1 - coefficient) *
|
|
12493
|
+
setCurrentPadding((dimensions.width - newCardWidth - 5 * (nbCards - 1)) / 2);
|
|
12494
|
+
if (nbCards * newCardWidth < dimensions.width) setEnableTranslation(false);
|
|
12495
|
+
} else setCurrentPadding((1 - coefficient) * dimensions.width / 2);
|
|
12279
12496
|
const newCardHeight = Math.ceil(newCardWidth * 10 / 16);
|
|
12280
12497
|
// Space needed to center to cards
|
|
12281
12498
|
// Cards' width (all dispositions) and height (only used in vertical disposition)
|
|
@@ -12286,7 +12503,7 @@ const $8e767b1b71b4e397$var$Carousel = /*#__PURE__*/ (0, $b3y7N$react).forwardRe
|
|
|
12286
12503
|
}
|
|
12287
12504
|
return ()=>timerRef && clearTimeout(timerRef.current);
|
|
12288
12505
|
}, [
|
|
12289
|
-
|
|
12506
|
+
dimensions,
|
|
12290
12507
|
coefficient,
|
|
12291
12508
|
nbCards,
|
|
12292
12509
|
currentDeviceType,
|
|
@@ -12343,6 +12560,8 @@ const $8e767b1b71b4e397$var$Carousel = /*#__PURE__*/ (0, $b3y7N$react).forwardRe
|
|
|
12343
12560
|
* @param distance : number
|
|
12344
12561
|
* @param elpasedTime : number
|
|
12345
12562
|
*/ const onSwipeLeft = (distance, elapsedTime)=>{
|
|
12563
|
+
// Utils store util to show that the user is swiping
|
|
12564
|
+
(0, $3426110875af99d0$export$19e9368606a5170f)();
|
|
12346
12565
|
const velocity = Math.abs(distance / elapsedTime);
|
|
12347
12566
|
setTransitionDuration($8e767b1b71b4e397$var$defaultTransitionDuration);
|
|
12348
12567
|
if (currentCard !== nbCards - 1 && cardWidth) {
|
|
@@ -12362,6 +12581,8 @@ const $8e767b1b71b4e397$var$Carousel = /*#__PURE__*/ (0, $b3y7N$react).forwardRe
|
|
|
12362
12581
|
* @param distance : number
|
|
12363
12582
|
* @param elpasedTime : number
|
|
12364
12583
|
*/ const onSwipeRight = (distance, elapsedTime)=>{
|
|
12584
|
+
// Utils store util to show that the user is swiping
|
|
12585
|
+
(0, $3426110875af99d0$export$19e9368606a5170f)();
|
|
12365
12586
|
const velocity = Math.abs(distance / elapsedTime);
|
|
12366
12587
|
setTransitionDuration($8e767b1b71b4e397$var$defaultTransitionDuration);
|
|
12367
12588
|
if (currentCard !== 0 && cardWidth) {
|
|
@@ -12426,6 +12647,8 @@ const $8e767b1b71b4e397$var$Carousel = /*#__PURE__*/ (0, $b3y7N$react).forwardRe
|
|
|
12426
12647
|
* - update currentCard state with the key parameter
|
|
12427
12648
|
* @param key : number
|
|
12428
12649
|
*/ const handleClick = (key)=>{
|
|
12650
|
+
// Utils store util to show that the user is swiping
|
|
12651
|
+
(0, $3426110875af99d0$export$19e9368606a5170f)();
|
|
12429
12652
|
setTransitionDuration($8e767b1b71b4e397$var$defaultTransitionDuration);
|
|
12430
12653
|
setCurrentCard(key);
|
|
12431
12654
|
};
|
|
@@ -12435,7 +12658,11 @@ const $8e767b1b71b4e397$var$Carousel = /*#__PURE__*/ (0, $b3y7N$react).forwardRe
|
|
|
12435
12658
|
* - set wheeling state to a positive or negative unique value (here Date.now() is used as unique)
|
|
12436
12659
|
* @param delta : number
|
|
12437
12660
|
*/ const handleWheel = (delta)=>{
|
|
12438
|
-
if (delta !== undefined)
|
|
12661
|
+
if (delta !== undefined) {
|
|
12662
|
+
// Utils store util to show that the user is swiping
|
|
12663
|
+
(0, $3426110875af99d0$export$19e9368606a5170f)();
|
|
12664
|
+
setWheeling(delta > 0 ? Date.now() : -Date.now());
|
|
12665
|
+
}
|
|
12439
12666
|
};
|
|
12440
12667
|
return /*#__PURE__*/ (0, $b3y7N$jsxs)((0, $b3y7N$animated).div, {
|
|
12441
12668
|
ref: divRef,
|
|
@@ -12775,7 +13002,7 @@ var $c0e1e00b31395822$export$2e2bcd8739ae039 = $c0e1e00b31395822$var$HistoryItem
|
|
|
12775
13002
|
|
|
12776
13003
|
const $84322fe6e310bbe4$var$HistoryList = ()=>{
|
|
12777
13004
|
const translation = (0, $f902d4436881b887$export$6650dace022cfacc)((state)=>state.currentTranslations);
|
|
12778
|
-
const {
|
|
13005
|
+
const { isWidget: isWidget, isBorne: isBorne } = (0, $c7fecc7ec9b4c272$export$3abe3478af3cb63b)();
|
|
12779
13006
|
const activities = (0, $d1182d10cbe1b27f$export$2e2bcd8739ae039)();
|
|
12780
13007
|
const scrollRef = (0, $b3y7N$useRef)(null);
|
|
12781
13008
|
const divRef = (0, $b3y7N$useRef)(null);
|
|
@@ -12785,7 +13012,8 @@ const $84322fe6e310bbe4$var$HistoryList = ()=>{
|
|
|
12785
13012
|
* - scroll to the scrollRef HTML element at the bottom of the view
|
|
12786
13013
|
*/ const scrollToRef = ()=>{
|
|
12787
13014
|
if (scrollRef && scrollRef.current !== null) scrollRef.current.scrollIntoView({
|
|
12788
|
-
behavior: "smooth"
|
|
13015
|
+
behavior: "smooth",
|
|
13016
|
+
block: "nearest"
|
|
12789
13017
|
});
|
|
12790
13018
|
};
|
|
12791
13019
|
/**
|
|
@@ -12797,7 +13025,7 @@ const $84322fe6e310bbe4$var$HistoryList = ()=>{
|
|
|
12797
13025
|
}, 200);
|
|
12798
13026
|
}, []);
|
|
12799
13027
|
(0, $b3y7N$useEffect)(()=>{
|
|
12800
|
-
|
|
13028
|
+
divRef?.current && isWidget && (0, $4d8d462ee41ffdc9$export$2e2bcd8739ae039)(null, divRef);
|
|
12801
13029
|
}, [
|
|
12802
13030
|
divRef?.current
|
|
12803
13031
|
]);
|
|
@@ -12812,7 +13040,7 @@ const $84322fe6e310bbe4$var$HistoryList = ()=>{
|
|
|
12812
13040
|
title: translation.history.title,
|
|
12813
13041
|
children: /*#__PURE__*/ (0, $b3y7N$jsxs)("div", {
|
|
12814
13042
|
ref: divRef,
|
|
12815
|
-
className: `rf-pb-4 rf-overflow-y-scroll ${
|
|
13043
|
+
className: `rf-pb-4 rf-overflow-y-scroll ${isBorne ? "rf-scrollbar-thin" : "rf-scrollbar-hidden"}`,
|
|
12816
13044
|
children: [
|
|
12817
13045
|
activities.map((activity, key)=>{
|
|
12818
13046
|
return /*#__PURE__*/ (0, $b3y7N$jsx)((0, $c0e1e00b31395822$export$2e2bcd8739ae039), {
|
|
@@ -12839,16 +13067,21 @@ var $84322fe6e310bbe4$export$2e2bcd8739ae039 = $84322fe6e310bbe4$var$HistoryList
|
|
|
12839
13067
|
|
|
12840
13068
|
|
|
12841
13069
|
|
|
13070
|
+
|
|
12842
13071
|
const $3084bb16a28ccfad$var$LanguageChoice = ()=>{
|
|
12843
13072
|
const translation = (0, $f902d4436881b887$export$6650dace022cfacc)((state)=>state.currentTranslations);
|
|
12844
13073
|
const locale = (0, $f902d4436881b887$export$6650dace022cfacc)((state)=>state.locale);
|
|
12845
13074
|
const supported = (0, $f902d4436881b887$export$6650dace022cfacc)((state)=>state.supported);
|
|
13075
|
+
const { configuration: { skipWelcome: skipWelcome } } = (0, $15b0bc93a9787124$export$d8760bee47331b1d)();
|
|
12846
13076
|
const sendEvent = (0, $b3y7N$useSendEvent)();
|
|
12847
13077
|
const [currentLanguage, setCurrentLanguage] = (0, $b3y7N$useState)(locale);
|
|
12848
|
-
const handleClose = ()=>{
|
|
13078
|
+
const handleClose = (changed)=>{
|
|
12849
13079
|
(0, $3426110875af99d0$export$f0c096b4ecd7115d)((0, $f5ca62954d1f1f5b$export$f05d0fed0593ead7).none);
|
|
12850
|
-
|
|
12851
|
-
|
|
13080
|
+
// Only send events when language has not been changed, either way it will collide with the TriggerWelcome event
|
|
13081
|
+
if (!changed) {
|
|
13082
|
+
sendEvent("Davi.CloseWindow", null);
|
|
13083
|
+
sendEvent("Davi.CloseWindowLanguages", null);
|
|
13084
|
+
}
|
|
12852
13085
|
};
|
|
12853
13086
|
const handleChange = (language)=>{
|
|
12854
13087
|
setCurrentLanguage(language);
|
|
@@ -12858,16 +13091,17 @@ const $3084bb16a28ccfad$var$LanguageChoice = ()=>{
|
|
|
12858
13091
|
* Send a 'TriggerWelcome' event to get the welcome message in the new language.
|
|
12859
13092
|
* @param language string
|
|
12860
13093
|
*/ const handleSelect = (language)=>{
|
|
12861
|
-
|
|
13094
|
+
const changed = language !== locale;
|
|
13095
|
+
if (changed) {
|
|
12862
13096
|
(0, $f902d4436881b887$export$c8aadf3621e41efb)(language);
|
|
12863
|
-
setTimeout(()=>{
|
|
13097
|
+
!skipWelcome && setTimeout(()=>{
|
|
12864
13098
|
sendEvent("TriggerWelcome", undefined);
|
|
12865
13099
|
}, 150);
|
|
12866
13100
|
}
|
|
12867
|
-
handleClose();
|
|
13101
|
+
handleClose(changed);
|
|
12868
13102
|
};
|
|
12869
13103
|
return /*#__PURE__*/ (0, $b3y7N$jsxs)((0, $bfee9debe091d3c7$export$2e2bcd8739ae039), {
|
|
12870
|
-
handleClose: handleClose,
|
|
13104
|
+
handleClose: ()=>handleClose(false),
|
|
12871
13105
|
children: [
|
|
12872
13106
|
/*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
12873
13107
|
className: "large:rf-mt-[20vh] large-tactile:rf-mt-0 rf-title-bold-size-auto rf-font-bold",
|
|
@@ -13340,12 +13574,11 @@ const $4b302858c0cfd21a$var$DownloadQR = ({ url: url })=>{
|
|
|
13340
13574
|
var $4b302858c0cfd21a$export$2e2bcd8739ae039 = $4b302858c0cfd21a$var$DownloadQR;
|
|
13341
13575
|
|
|
13342
13576
|
|
|
13343
|
-
|
|
13344
13577
|
const $097ad82d11b7502d$var$DownloadQRHeight = 200;
|
|
13345
13578
|
const $097ad82d11b7502d$var$DownloadSheetHeight = 100;
|
|
13346
13579
|
const $097ad82d11b7502d$var$DetailedText = ({ text: text, otherInformations: otherInformations, color: color, url: url, titleHeight: titleHeight })=>{
|
|
13347
13580
|
const { configuration: { isUsedOnBorne: isUsedOnBorne } } = (0, $15b0bc93a9787124$export$d8760bee47331b1d)();
|
|
13348
|
-
const {
|
|
13581
|
+
const { currentHeight: currentHeight, isMobile: isMobile, isLandscape: isLandscape } = (0, $c7fecc7ec9b4c272$export$3abe3478af3cb63b)();
|
|
13349
13582
|
const textRef = (0, $b3y7N$useRef)(null);
|
|
13350
13583
|
const otherInformationsRef = (0, $b3y7N$useRef)(null);
|
|
13351
13584
|
const [opacityStyle, setOpacityStyle] = (0, $b3y7N$useState)("");
|
|
@@ -13365,8 +13598,8 @@ const $097ad82d11b7502d$var$DetailedText = ({ text: text, otherInformations: oth
|
|
|
13365
13598
|
const [otherInformationsMaxHeight, setOtherInformationsMaxHeight] = (0, $b3y7N$useState)(0);
|
|
13366
13599
|
(0, $b3y7N$useEffect)(()=>{
|
|
13367
13600
|
if (textRef?.current && otherInformationsRef?.current && textContainerMaxHeight && !isMobile) {
|
|
13368
|
-
const textHeight =
|
|
13369
|
-
const otherInformationsHeight =
|
|
13601
|
+
const textHeight = isLandscape ? textContainerMaxHeight * 58 / 100 : currentHeight * 30 / 100;
|
|
13602
|
+
const otherInformationsHeight = isLandscape ? textContainerMaxHeight * 40 / 100 : currentHeight * 18 / 100;
|
|
13370
13603
|
if (textRef.current.scrollHeight > textHeight) {
|
|
13371
13604
|
if (otherInformationsRef.current.scrollHeight > otherInformationsHeight) {
|
|
13372
13605
|
setTextMaxHeight(textHeight);
|
|
@@ -13430,7 +13663,7 @@ const $097ad82d11b7502d$var$DetailedText = ({ text: text, otherInformations: oth
|
|
|
13430
13663
|
/*#__PURE__*/ (0, $b3y7N$jsxs)("div", {
|
|
13431
13664
|
className: "rf-w-full rf-flex rf-flex-col rf-items-start",
|
|
13432
13665
|
style: {
|
|
13433
|
-
maxHeight:
|
|
13666
|
+
maxHeight: isLandscape ? textContainerMaxHeight : undefined
|
|
13434
13667
|
},
|
|
13435
13668
|
children: [
|
|
13436
13669
|
processedText && /*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
@@ -13476,7 +13709,7 @@ const $097ad82d11b7502d$var$DetailedText = ({ text: text, otherInformations: oth
|
|
|
13476
13709
|
})
|
|
13477
13710
|
]
|
|
13478
13711
|
}),
|
|
13479
|
-
|
|
13712
|
+
isLandscape && url && (isUsedOnBorne ? /*#__PURE__*/ (0, $b3y7N$jsx)((0, $4b302858c0cfd21a$export$2e2bcd8739ae039), {
|
|
13480
13713
|
url: url
|
|
13481
13714
|
}) : /*#__PURE__*/ (0, $b3y7N$jsx)((0, $ea652c6136f8ad06$export$2e2bcd8739ae039), {
|
|
13482
13715
|
url: url
|
|
@@ -14156,9 +14389,8 @@ var $9008f3f761b264d2$export$2e2bcd8739ae039 = $9008f3f761b264d2$var$Map;
|
|
|
14156
14389
|
|
|
14157
14390
|
|
|
14158
14391
|
|
|
14159
|
-
|
|
14160
14392
|
const $9c484f261d7d5f92$var$DetailedAddress = ({ address: address, phoneNumber: phoneNumber, coordinates: coordinates, color: color, customerReviews: customerReviews, url: url })=>{
|
|
14161
|
-
const { currentWidth: currentWidth,
|
|
14393
|
+
const { currentWidth: currentWidth, isMobile: isMobile, isLandscape: isLandscape, isBorne: isBorne } = (0, $c7fecc7ec9b4c272$export$3abe3478af3cb63b)();
|
|
14162
14394
|
const { configuration: configuration } = (0, $15b0bc93a9787124$export$d8760bee47331b1d)();
|
|
14163
14395
|
return /*#__PURE__*/ (0, $b3y7N$jsxs)("div", {
|
|
14164
14396
|
className: "rf-relative rf-w-1/3 vertical:rf-w-full large:rf-bg-truewhite rf-flex rf-flex-col large-vertical:rf-flex-row",
|
|
@@ -14169,13 +14401,13 @@ const $9c484f261d7d5f92$var$DetailedAddress = ({ address: address, phoneNumber:
|
|
|
14169
14401
|
customerReviews: customerReviews
|
|
14170
14402
|
}),
|
|
14171
14403
|
/*#__PURE__*/ (0, $b3y7N$jsxs)("div", {
|
|
14172
|
-
className: `rf-px-6 rf-flex rf-flex-col large-vertical:rf-w-1/2 rf-items-center rf-text-center ${customerReviews ?
|
|
14404
|
+
className: `rf-px-6 rf-flex rf-flex-col large-vertical:rf-w-1/2 rf-items-center rf-text-center ${customerReviews ? isBorne ? "rf-bg-truewhite rf-justify-center" : "rf-bg-truewhite rf-justify-start" : "rf-justify-center"}`,
|
|
14173
14405
|
style: {
|
|
14174
|
-
height: isMobile ? customerReviews ? currentWidth : undefined :
|
|
14406
|
+
height: isMobile ? customerReviews ? currentWidth : undefined : isLandscape ? coordinates && coordinates.latitude && coordinates.longitude ? "50%" : "100%" : "calc(50vw - 3rem)"
|
|
14175
14407
|
},
|
|
14176
14408
|
children: [
|
|
14177
14409
|
/*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
14178
|
-
className: customerReviews &&
|
|
14410
|
+
className: customerReviews && !isBorne ? isLandscape ? "rf-pt-[26vh] rf-pb-12" : "rf-pt-11/20 rf-pb-12" : "rf-py-12",
|
|
14179
14411
|
children: address && /*#__PURE__*/ (0, $b3y7N$jsxs)((0, $b3y7N$react).Fragment, {
|
|
14180
14412
|
children: [
|
|
14181
14413
|
address.street && /*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
@@ -14190,7 +14422,7 @@ const $9c484f261d7d5f92$var$DetailedAddress = ({ address: address, phoneNumber:
|
|
|
14190
14422
|
phoneNumber && /*#__PURE__*/ (0, $b3y7N$jsx)((0, $ac6c51612e5952f1$export$2e2bcd8739ae039), {
|
|
14191
14423
|
phoneNumber: phoneNumber
|
|
14192
14424
|
}),
|
|
14193
|
-
coordinates && coordinates.latitude && coordinates.longitude &&
|
|
14425
|
+
coordinates && coordinates.latitude && coordinates.longitude && isBorne && url && (configuration.isUsedOnBorne ? /*#__PURE__*/ (0, $b3y7N$jsx)((0, $4b302858c0cfd21a$export$2e2bcd8739ae039), {
|
|
14194
14426
|
url: url
|
|
14195
14427
|
}) : /*#__PURE__*/ (0, $b3y7N$jsx)((0, $ea652c6136f8ad06$export$2e2bcd8739ae039), {
|
|
14196
14428
|
className: "rf-justify-center",
|
|
@@ -14201,14 +14433,14 @@ const $9c484f261d7d5f92$var$DetailedAddress = ({ address: address, phoneNumber:
|
|
|
14201
14433
|
coordinates && coordinates.latitude && coordinates.longitude ? /*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
14202
14434
|
className: "rf-relative large-vertical:rf-w-1/2",
|
|
14203
14435
|
style: {
|
|
14204
|
-
height: isMobile ? currentWidth :
|
|
14436
|
+
height: isMobile ? currentWidth : isLandscape ? "50%" : "calc(50vw - 3rem)"
|
|
14205
14437
|
},
|
|
14206
14438
|
children: /*#__PURE__*/ (0, $b3y7N$jsx)((0, $9008f3f761b264d2$export$2e2bcd8739ae039), {
|
|
14207
14439
|
latitude: coordinates.latitude,
|
|
14208
14440
|
longitude: coordinates.longitude,
|
|
14209
14441
|
color: color
|
|
14210
14442
|
})
|
|
14211
|
-
}) :
|
|
14443
|
+
}) : isBorne ? /*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
14212
14444
|
className: "rf-flex rf-justify-center rf-items-center rf-h-[calc(50vw-3rem)] rf-w-1/2",
|
|
14213
14445
|
children: url && (configuration.isUsedOnBorne ? /*#__PURE__*/ (0, $b3y7N$jsx)((0, $4b302858c0cfd21a$export$2e2bcd8739ae039), {
|
|
14214
14446
|
url: url
|
|
@@ -14237,7 +14469,7 @@ const $df69961a6c1440a3$var$AttachmentDetails = ()=>{
|
|
|
14237
14469
|
const locale = (0, $f902d4436881b887$export$6650dace022cfacc)((state)=>state.locale);
|
|
14238
14470
|
const { configuration: { isUsedOnBorne: isUsedOnBorne }, baseAddress: baseAddress } = (0, $15b0bc93a9787124$export$d8760bee47331b1d)();
|
|
14239
14471
|
const mode = (0, $56b00880a398c953$export$bd22554f31e5f96f)((state)=>state.mode);
|
|
14240
|
-
const { themeColors: themeColors, isMobile: isMobile, currentDeviceType: currentDeviceType } = (0, $c7fecc7ec9b4c272$export$3abe3478af3cb63b)();
|
|
14472
|
+
const { themeColors: themeColors, isMobile: isMobile, isWidget: isWidget, currentDeviceType: currentDeviceType } = (0, $c7fecc7ec9b4c272$export$3abe3478af3cb63b)();
|
|
14241
14473
|
const [content, setContent] = (0, $b3y7N$useState)(undefined);
|
|
14242
14474
|
const [color, setColor] = (0, $b3y7N$useState)(themeColors.secondary);
|
|
14243
14475
|
const [titleHeight, setTitleHeight] = (0, $b3y7N$useState)(0);
|
|
@@ -14255,7 +14487,7 @@ const $df69961a6c1440a3$var$AttachmentDetails = ()=>{
|
|
|
14255
14487
|
detailedItemContent
|
|
14256
14488
|
]);
|
|
14257
14489
|
(0, $b3y7N$useLayoutEffect)(()=>{
|
|
14258
|
-
if (divRef?.current)
|
|
14490
|
+
if (divRef?.current) isWidget && (0, $4d8d462ee41ffdc9$export$2e2bcd8739ae039)(null, divRef);
|
|
14259
14491
|
});
|
|
14260
14492
|
(0, $b3y7N$useEffect)(()=>{
|
|
14261
14493
|
if (content) {
|
|
@@ -14710,7 +14942,7 @@ async function $891be3260bb3784e$export$cdd2c9f4b3acf5fb(data) {
|
|
|
14710
14942
|
const $26692c14feff4dbf$export$6478e9f7582bd8fc = ()=>{
|
|
14711
14943
|
const translation = (0, $f902d4436881b887$export$6650dace022cfacc)((state)=>state.currentTranslations);
|
|
14712
14944
|
const { addressData: addressData } = (0, $15b0bc93a9787124$export$d8760bee47331b1d)();
|
|
14713
|
-
const { isMobile: isMobile,
|
|
14945
|
+
const { isMobile: isMobile, isWidget: isWidget } = (0, $c7fecc7ec9b4c272$export$3abe3478af3cb63b)();
|
|
14714
14946
|
const [municipalPoliceNumber, setMunicipalPoliceNumber] = (0, $b3y7N$useState)("");
|
|
14715
14947
|
const [localHospitalName, setLocalHospitalName] = (0, $b3y7N$useState)("");
|
|
14716
14948
|
const [localHospitalNumber, setLocalHospitalNumber] = (0, $b3y7N$useState)("");
|
|
@@ -14719,7 +14951,7 @@ const $26692c14feff4dbf$export$6478e9f7582bd8fc = ()=>{
|
|
|
14719
14951
|
const subView = (0, $f5ca62954d1f1f5b$export$3b4d92ba873f009a).emergency;
|
|
14720
14952
|
const divRef = (0, $b3y7N$useRef)(null);
|
|
14721
14953
|
(0, $b3y7N$useEffect)(()=>{
|
|
14722
|
-
if (divRef?.current)
|
|
14954
|
+
if (divRef?.current) isWidget && (0, $4d8d462ee41ffdc9$export$2e2bcd8739ae039)(null, divRef);
|
|
14723
14955
|
}, [
|
|
14724
14956
|
divRef?.current
|
|
14725
14957
|
]);
|
|
@@ -15048,43 +15280,6 @@ var $5ed8b6227682377a$export$2e2bcd8739ae039 = $5ed8b6227682377a$var$SubViews;
|
|
|
15048
15280
|
|
|
15049
15281
|
|
|
15050
15282
|
|
|
15051
|
-
const $f9b55dee2122a017$export$d95eb9b67812311f = (0, $b3y7N$create)()(()=>{
|
|
15052
|
-
return {
|
|
15053
|
-
widgetDisplayType: "large",
|
|
15054
|
-
open: false,
|
|
15055
|
-
loaded: false
|
|
15056
|
-
};
|
|
15057
|
-
});
|
|
15058
|
-
const $f9b55dee2122a017$export$a1c83309c736819f = ()=>{
|
|
15059
|
-
$f9b55dee2122a017$export$d95eb9b67812311f.setState({
|
|
15060
|
-
open: true,
|
|
15061
|
-
loaded: true
|
|
15062
|
-
});
|
|
15063
|
-
};
|
|
15064
|
-
const $f9b55dee2122a017$export$d27f1b0993b666c = ()=>{
|
|
15065
|
-
$f9b55dee2122a017$export$d95eb9b67812311f.setState({
|
|
15066
|
-
open: false,
|
|
15067
|
-
loaded: true
|
|
15068
|
-
});
|
|
15069
|
-
};
|
|
15070
|
-
const $f9b55dee2122a017$export$77c0ba4d0d97cee5 = ()=>{
|
|
15071
|
-
const open = $f9b55dee2122a017$export$d95eb9b67812311f.getState().open;
|
|
15072
|
-
$f9b55dee2122a017$export$d95eb9b67812311f.setState({
|
|
15073
|
-
open: !open,
|
|
15074
|
-
loaded: true
|
|
15075
|
-
});
|
|
15076
|
-
};
|
|
15077
|
-
const $f9b55dee2122a017$export$f0e9d14ede4c01bd = ()=>{
|
|
15078
|
-
const displayType = $f9b55dee2122a017$export$d95eb9b67812311f.getState().widgetDisplayType;
|
|
15079
|
-
$f9b55dee2122a017$export$d95eb9b67812311f.setState({
|
|
15080
|
-
widgetDisplayType: displayType === "large" ? "thumbnail" : "large"
|
|
15081
|
-
});
|
|
15082
|
-
};
|
|
15083
|
-
|
|
15084
|
-
|
|
15085
|
-
|
|
15086
|
-
|
|
15087
|
-
|
|
15088
15283
|
|
|
15089
15284
|
function $d8c9d0fe519d0cbe$export$2e2bcd8739ae039() {
|
|
15090
15285
|
const activities = (0, $9b100ac34d01a331$export$b56465394e2b1287)((state)=>state.messageActivities);
|
|
@@ -15130,6 +15325,46 @@ function $d8c9d0fe519d0cbe$export$2e2bcd8739ae039() {
|
|
|
15130
15325
|
|
|
15131
15326
|
|
|
15132
15327
|
|
|
15328
|
+
/* eslint-disable react/jsx-boolean-value */
|
|
15329
|
+
|
|
15330
|
+
|
|
15331
|
+
|
|
15332
|
+
|
|
15333
|
+
|
|
15334
|
+
const $f9b55dee2122a017$export$d95eb9b67812311f = (0, $b3y7N$create)()(()=>{
|
|
15335
|
+
return {
|
|
15336
|
+
widgetDisplayType: "large",
|
|
15337
|
+
open: false,
|
|
15338
|
+
loaded: false
|
|
15339
|
+
};
|
|
15340
|
+
});
|
|
15341
|
+
const $f9b55dee2122a017$export$a1c83309c736819f = ()=>{
|
|
15342
|
+
$f9b55dee2122a017$export$d95eb9b67812311f.setState({
|
|
15343
|
+
open: true,
|
|
15344
|
+
loaded: true
|
|
15345
|
+
});
|
|
15346
|
+
};
|
|
15347
|
+
const $f9b55dee2122a017$export$d27f1b0993b666c = ()=>{
|
|
15348
|
+
$f9b55dee2122a017$export$d95eb9b67812311f.setState({
|
|
15349
|
+
open: false,
|
|
15350
|
+
loaded: true
|
|
15351
|
+
});
|
|
15352
|
+
};
|
|
15353
|
+
const $f9b55dee2122a017$export$77c0ba4d0d97cee5 = ()=>{
|
|
15354
|
+
const open = $f9b55dee2122a017$export$d95eb9b67812311f.getState().open;
|
|
15355
|
+
$f9b55dee2122a017$export$d95eb9b67812311f.setState({
|
|
15356
|
+
open: !open,
|
|
15357
|
+
loaded: true
|
|
15358
|
+
});
|
|
15359
|
+
};
|
|
15360
|
+
const $f9b55dee2122a017$export$f0e9d14ede4c01bd = ()=>{
|
|
15361
|
+
const displayType = $f9b55dee2122a017$export$d95eb9b67812311f.getState().widgetDisplayType;
|
|
15362
|
+
$f9b55dee2122a017$export$d95eb9b67812311f.setState({
|
|
15363
|
+
widgetDisplayType: displayType === "large" ? "thumbnail" : "large"
|
|
15364
|
+
});
|
|
15365
|
+
};
|
|
15366
|
+
|
|
15367
|
+
|
|
15133
15368
|
|
|
15134
15369
|
|
|
15135
15370
|
|
|
@@ -15138,7 +15373,8 @@ function $d8c9d0fe519d0cbe$export$2e2bcd8739ae039() {
|
|
|
15138
15373
|
|
|
15139
15374
|
|
|
15140
15375
|
|
|
15141
|
-
const $0d96395552e34116$export$aa0c5ba341a0028 = ({ agentName: agentName = "L\xe9a", companyName: companyName
|
|
15376
|
+
const $0d96395552e34116$export$aa0c5ba341a0028 = ({ agentName: agentName = "L\xe9a", companyName: companyName, companyNameLocalized: companyNameLocalized, subCompanyMessage: subCompanyMessage, subCompanyMessageLocalized: subCompanyMessageLocalized, imageUrl: imageUrl = "" })=>{
|
|
15377
|
+
const locale = (0, $f902d4436881b887$export$6650dace022cfacc)((state)=>state.locale);
|
|
15142
15378
|
const translation = (0, $f902d4436881b887$export$6650dace022cfacc)((state)=>state.currentTranslations);
|
|
15143
15379
|
const { themeColors: themeColors } = (0, $c7fecc7ec9b4c272$export$3abe3478af3cb63b)();
|
|
15144
15380
|
return /*#__PURE__*/ (0, $b3y7N$jsxs)("div", {
|
|
@@ -15150,7 +15386,7 @@ const $0d96395552e34116$export$aa0c5ba341a0028 = ({ agentName: agentName = "L\xe
|
|
|
15150
15386
|
children: /*#__PURE__*/ (0, $b3y7N$jsx)("img", {
|
|
15151
15387
|
src: imageUrl,
|
|
15152
15388
|
alt: "Agent",
|
|
15153
|
-
className:
|
|
15389
|
+
className: "rf-w-full rf-max-h-28 rf-aspect-square rf-rounded-half rf-border-secondary rf-border-2 rf-bg-truewhite"
|
|
15154
15390
|
})
|
|
15155
15391
|
}),
|
|
15156
15392
|
/*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
@@ -15158,11 +15394,11 @@ const $0d96395552e34116$export$aa0c5ba341a0028 = ({ agentName: agentName = "L\xe
|
|
|
15158
15394
|
style: {
|
|
15159
15395
|
color: themeColors.companyName
|
|
15160
15396
|
},
|
|
15161
|
-
children: companyName
|
|
15397
|
+
children: companyNameLocalized?.[locale] || companyName || "Davi"
|
|
15162
15398
|
}),
|
|
15163
15399
|
/*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
15164
15400
|
className: "rf-col-start-2 rf-col-span-full rf-row-start-3 rf-row-end-4 rf-flex rf-items-start rf-text-sm rf-italic",
|
|
15165
|
-
children: subCompanyMessage || `${agentName} ${translation.menu.answer}`
|
|
15401
|
+
children: subCompanyMessageLocalized?.[locale] || subCompanyMessage || `${agentName} ${translation.menu.answer}`
|
|
15166
15402
|
}),
|
|
15167
15403
|
/*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
15168
15404
|
className: "rf-col-start-2 rf-col-span-full rf-row-start-2 rf-row-end-3 -rf-ml-2 rf-flex rf-items-center",
|
|
@@ -15176,82 +15412,226 @@ const $0d96395552e34116$export$aa0c5ba341a0028 = ({ agentName: agentName = "L\xe
|
|
|
15176
15412
|
|
|
15177
15413
|
|
|
15178
15414
|
|
|
15415
|
+
|
|
15416
|
+
|
|
15417
|
+
|
|
15418
|
+
|
|
15419
|
+
|
|
15420
|
+
|
|
15421
|
+
|
|
15422
|
+
|
|
15423
|
+
|
|
15424
|
+
|
|
15179
15425
|
/**
|
|
15180
|
-
*
|
|
15181
|
-
* - check if the activity data need a display as list to be triggered
|
|
15426
|
+
* Check if the activity data need a display as list to be triggered
|
|
15182
15427
|
* @param activity : RetorikActivity
|
|
15183
15428
|
* @returns boolean
|
|
15184
|
-
*/
|
|
15185
|
-
return
|
|
15186
|
-
}
|
|
15187
|
-
|
|
15429
|
+
*/ const $1136774ec828a7ed$export$7c55936a30618336 = (activity)=>{
|
|
15430
|
+
return !!(activity?.attachmentLayout?.toLowerCase() === "davilist" || activity?.attachmentLayout !== "carousel" && activity?.attachments?.length && activity.attachments.length > 1);
|
|
15431
|
+
};
|
|
15432
|
+
|
|
15433
|
+
|
|
15434
|
+
const $ea27a870d6ff37c7$var$DisplayStandard = ({ botResponses: botResponses, isMobile: isMobile })=>{
|
|
15435
|
+
const locale = (0, $f902d4436881b887$export$6650dace022cfacc)((state)=>state.locale);
|
|
15436
|
+
const { configuration: { forceMobileView: forceMobileView } } = (0, $15b0bc93a9787124$export$d8760bee47331b1d)();
|
|
15437
|
+
return /*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
15438
|
+
id: "retorik-botResponses",
|
|
15439
|
+
className: "rf-flex rf-flex-col rf-text-size-auto rf-gap-2 rf-scrollbar-hidden",
|
|
15440
|
+
children: botResponses.map((activity, key)=>{
|
|
15441
|
+
const answerTime = activity.localTimestamp ? new Date(activity.localTimestamp) : activity.timestamp ? new Date(activity.timestamp) : new Date();
|
|
15442
|
+
return /*#__PURE__*/ (0, $b3y7N$jsxs)("div", {
|
|
15443
|
+
className: `${key > 0 && "rf-pt-2"} rf-text-textModePanelConversationBot rf-animate-slideBottom rf-flex rf-flex-col rf-items-start rf-gap-2`,
|
|
15444
|
+
children: [
|
|
15445
|
+
isMobile && /*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
15446
|
+
className: "rf-px-4 rf-text-[#9A9A9A]",
|
|
15447
|
+
children: answerTime.toLocaleString(locale, {
|
|
15448
|
+
hour: "numeric",
|
|
15449
|
+
minute: "numeric"
|
|
15450
|
+
})
|
|
15451
|
+
}),
|
|
15452
|
+
activity.htmlText ? /*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
15453
|
+
className: "rf-px-4",
|
|
15454
|
+
dangerouslySetInnerHTML: {
|
|
15455
|
+
__html: activity.htmlText
|
|
15456
|
+
}
|
|
15457
|
+
}) : activity.text ? /*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
15458
|
+
className: "rf-px-4",
|
|
15459
|
+
children: (0, $3792187fd212489a$export$d6c6ec86eedacfd9)(activity.text)
|
|
15460
|
+
}) : /*#__PURE__*/ (0, $b3y7N$jsx)((0, $b3y7N$react).Fragment, {}),
|
|
15461
|
+
!!activity?.attachments?.length && !(0, $1136774ec828a7ed$export$7c55936a30618336)(activity) && /*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
15462
|
+
className: `${forceMobileView ? "rf-m-auto" : "rf-w-full"} ${activity.attachments.length <= 1 && "rf-px-4"} rf-flex rf-flex-col rf-gap-2`,
|
|
15463
|
+
children: /*#__PURE__*/ (0, $b3y7N$jsx)((0, $d7c37f48f10c5387$export$2e2bcd8739ae039), {
|
|
15464
|
+
activity: activity
|
|
15465
|
+
})
|
|
15466
|
+
})
|
|
15467
|
+
]
|
|
15468
|
+
}, key);
|
|
15469
|
+
})
|
|
15470
|
+
});
|
|
15471
|
+
};
|
|
15472
|
+
var $ea27a870d6ff37c7$export$2e2bcd8739ae039 = $ea27a870d6ff37c7$var$DisplayStandard;
|
|
15473
|
+
|
|
15474
|
+
|
|
15475
|
+
|
|
15476
|
+
|
|
15477
|
+
|
|
15478
|
+
const $b22a7bbed115cb27$var$interval = 25;
|
|
15479
|
+
const $b22a7bbed115cb27$var$DisplayStreaming = ({ streamingQueue: streamingQueue, triggerScroll: triggerScroll })=>{
|
|
15480
|
+
const [streamingTextToDisplay, setStreamingTextToDisplay] = (0, $b3y7N$useState)("");
|
|
15481
|
+
const [currentTextEnded, setCurrentTextEnded] = (0, $b3y7N$useState)(true);
|
|
15482
|
+
const [currentQueueIndex, setCurrentQueueIndex] = (0, $b3y7N$useState)(0);
|
|
15483
|
+
const intervalRef = (0, $b3y7N$useRef)(null);
|
|
15484
|
+
const streamRef = (0, $b3y7N$useRef)([]);
|
|
15485
|
+
const handleNewStreaming = (text)=>{
|
|
15486
|
+
setCurrentTextEnded(false);
|
|
15487
|
+
// Create array containing indexes of \n parts to replace them with html <br /> tag later
|
|
15488
|
+
const slashNIndexesArray = [];
|
|
15489
|
+
let searchIndex = 0;
|
|
15490
|
+
while(text.indexOf("\n", searchIndex) !== -1){
|
|
15491
|
+
const index = text.indexOf("\n", searchIndex);
|
|
15492
|
+
slashNIndexesArray.push(index);
|
|
15493
|
+
searchIndex = index + 2;
|
|
15494
|
+
}
|
|
15495
|
+
streamRef.current = text.split("");
|
|
15496
|
+
let currentIndex = 0;
|
|
15497
|
+
intervalRef.current = setInterval(()=>{
|
|
15498
|
+
if (streamRef.current?.length) {
|
|
15499
|
+
const current = streamRef.current[0];
|
|
15500
|
+
if (slashNIndexesArray.includes(currentIndex)) {
|
|
15501
|
+
// If the current index is present in the array of indexes, then it means it is a \n so replace it with <br /> and jump 2 characters after
|
|
15502
|
+
setStreamingTextToDisplay((value)=>`${value}<br />`);
|
|
15503
|
+
streamRef.current = streamRef.current.slice(1);
|
|
15504
|
+
} else {
|
|
15505
|
+
setStreamingTextToDisplay((value)=>`${value}${current}`);
|
|
15506
|
+
streamRef.current = streamRef.current.slice(1);
|
|
15507
|
+
}
|
|
15508
|
+
currentIndex++;
|
|
15509
|
+
} else {
|
|
15510
|
+
setCurrentTextEnded(true);
|
|
15511
|
+
intervalRef.current && clearInterval(intervalRef.current);
|
|
15512
|
+
}
|
|
15513
|
+
}, $b22a7bbed115cb27$var$interval);
|
|
15514
|
+
};
|
|
15515
|
+
(0, $b3y7N$useEffect)(()=>{
|
|
15516
|
+
if (streamingQueue?.length && currentTextEnded) {
|
|
15517
|
+
if (streamingQueue.length > currentQueueIndex) {
|
|
15518
|
+
handleNewStreaming(streamingQueue[currentQueueIndex].text || "");
|
|
15519
|
+
setCurrentQueueIndex((value)=>value + 1);
|
|
15520
|
+
} else {
|
|
15521
|
+
setCurrentQueueIndex(0);
|
|
15522
|
+
(0, $04ce41b46d359821$export$de8aad637f733113)(null);
|
|
15523
|
+
}
|
|
15524
|
+
}
|
|
15525
|
+
}, [
|
|
15526
|
+
streamingQueue,
|
|
15527
|
+
currentTextEnded
|
|
15528
|
+
]);
|
|
15529
|
+
(0, $b3y7N$useEffect)(()=>{
|
|
15530
|
+
streamingTextToDisplay.length % 20 === 0 && triggerScroll();
|
|
15531
|
+
}, [
|
|
15532
|
+
streamingTextToDisplay
|
|
15533
|
+
]);
|
|
15534
|
+
(0, $b3y7N$useEffect)(()=>{
|
|
15535
|
+
return ()=>{
|
|
15536
|
+
intervalRef?.current && clearInterval(intervalRef.current);
|
|
15537
|
+
};
|
|
15538
|
+
}, []);
|
|
15539
|
+
return /*#__PURE__*/ (0, $b3y7N$jsxs)("div", {
|
|
15540
|
+
id: "retorik-botResponses",
|
|
15541
|
+
className: "rf-flex rf-flex-col rf-text-size-auto rf-scrollbar-hidden",
|
|
15542
|
+
children: [
|
|
15543
|
+
streamingTextToDisplay && /*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
15544
|
+
className: "rf-px-4 rf-text-textModePanelConversationBot",
|
|
15545
|
+
dangerouslySetInnerHTML: {
|
|
15546
|
+
__html: streamingTextToDisplay
|
|
15547
|
+
}
|
|
15548
|
+
}),
|
|
15549
|
+
currentQueueIndex !== 0 && /*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
15550
|
+
className: "rf-px-4 rf-font-bold rf-text-textModePanelConversationBot rf-animate-blink",
|
|
15551
|
+
children: "..."
|
|
15552
|
+
})
|
|
15553
|
+
]
|
|
15554
|
+
});
|
|
15555
|
+
};
|
|
15556
|
+
var $b22a7bbed115cb27$export$2e2bcd8739ae039 = $b22a7bbed115cb27$var$DisplayStreaming;
|
|
15557
|
+
|
|
15558
|
+
|
|
15559
|
+
const $df2e46a0b1d75dd8$var$ConversationDisplay = ({ userQuestion: userQuestion, botResponses: botResponses, streamingId: streamingId, streamingQueue: streamingQueue, userQuestionTime: userQuestionTime, isMobile: isMobile, triggerScroll: triggerScroll })=>{
|
|
15560
|
+
const locale = (0, $f902d4436881b887$export$6650dace022cfacc)((state)=>state.locale);
|
|
15561
|
+
return /*#__PURE__*/ (0, $b3y7N$jsxs)((0, $b3y7N$react).Fragment, {
|
|
15562
|
+
children: [
|
|
15563
|
+
userQuestion?.text && /*#__PURE__*/ (0, $b3y7N$jsxs)("div", {
|
|
15564
|
+
id: "retorik-userQuestion",
|
|
15565
|
+
className: "rf-pb-4 rf-text-textModePanelConversationUser rf-animate-slideBottom rf-flex rf-flex-col rf-justify-start rf-text-size-auto rf-gap-2",
|
|
15566
|
+
children: [
|
|
15567
|
+
userQuestionTime && /*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
15568
|
+
className: "rf-px-4 rf-text-[#9A9A9A]",
|
|
15569
|
+
children: userQuestionTime.toLocaleString(locale, {
|
|
15570
|
+
hour: "numeric",
|
|
15571
|
+
minute: "numeric"
|
|
15572
|
+
})
|
|
15573
|
+
}),
|
|
15574
|
+
/*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
15575
|
+
className: "rf-px-4",
|
|
15576
|
+
children: userQuestion.text
|
|
15577
|
+
})
|
|
15578
|
+
]
|
|
15579
|
+
}, userQuestion.id),
|
|
15580
|
+
streamingId && streamingQueue?.length ? /*#__PURE__*/ (0, $b3y7N$jsx)((0, $b22a7bbed115cb27$export$2e2bcd8739ae039), {
|
|
15581
|
+
streamingQueue: streamingQueue,
|
|
15582
|
+
triggerScroll: triggerScroll
|
|
15583
|
+
}) : /*#__PURE__*/ (0, $b3y7N$jsx)((0, $ea27a870d6ff37c7$export$2e2bcd8739ae039), {
|
|
15584
|
+
botResponses: botResponses || [],
|
|
15585
|
+
isMobile: isMobile
|
|
15586
|
+
})
|
|
15587
|
+
]
|
|
15588
|
+
});
|
|
15589
|
+
};
|
|
15590
|
+
var $df2e46a0b1d75dd8$export$2e2bcd8739ae039 = $df2e46a0b1d75dd8$var$ConversationDisplay;
|
|
15591
|
+
|
|
15592
|
+
|
|
15593
|
+
|
|
15594
|
+
const $2aae80cf8e050a0a$var$ConversationPanelMobile = ({ homeActivity: homeActivity, itemsInConversation: itemsInConversation })=>{
|
|
15188
15595
|
const activities = (0, $d8c9d0fe519d0cbe$export$2e2bcd8739ae039)();
|
|
15189
|
-
const { open: open } = (0, $f9b55dee2122a017$export$d95eb9b67812311f)();
|
|
15190
|
-
const { isMobile: isMobile, currentDeviceType: currentDeviceType, showHomeAttachments: showHomeAttachments, mediumLandscape: mediumLandscape } = (0, $c7fecc7ec9b4c272$export$3abe3478af3cb63b)();
|
|
15191
|
-
const listClosed = (0, $3426110875af99d0$export$77e4cc5334565f28)((state)=>state.listClosed);
|
|
15192
15596
|
const { configuration: configuration } = (0, $15b0bc93a9787124$export$d8760bee47331b1d)();
|
|
15597
|
+
const { currentDeviceType: currentDeviceType, isWidget: isWidget } = (0, $c7fecc7ec9b4c272$export$3abe3478af3cb63b)();
|
|
15598
|
+
const listClosed = (0, $3426110875af99d0$export$77e4cc5334565f28)((state)=>state.listClosed);
|
|
15599
|
+
const open = (0, $f9b55dee2122a017$export$d95eb9b67812311f)((state)=>state.open);
|
|
15193
15600
|
const agentData = (0, $56b00880a398c953$export$bd22554f31e5f96f)((state)=>state.agentData);
|
|
15194
|
-
const [
|
|
15601
|
+
const [opacityStyle, setOpacityStyle] = (0, $b3y7N$useState)("");
|
|
15195
15602
|
const [scrollButtonDisplay, setScrollButtonDisplay] = (0, $b3y7N$useState)(false);
|
|
15196
15603
|
const [scrollButtonDirection, setScrollButtonDirection] = (0, $b3y7N$useState)("bottom");
|
|
15197
|
-
const retorikConversationRef = (0, $b3y7N$useRef)(null);
|
|
15198
15604
|
const [preventScroll, setPreventScroll] = (0, $b3y7N$useState)(false);
|
|
15199
|
-
const
|
|
15200
|
-
|
|
15201
|
-
|
|
15202
|
-
return lastActivity.question.text ? lastActivity.question : undefined;
|
|
15203
|
-
} else return undefined;
|
|
15204
|
-
}, [
|
|
15205
|
-
activities
|
|
15206
|
-
]);
|
|
15207
|
-
const botResponses = (0, $b3y7N$useMemo)(()=>{
|
|
15208
|
-
if (activities && activities.length > 0 && !isMobile) {
|
|
15209
|
-
const lastActivity = activities[activities.length - 1];
|
|
15210
|
-
return lastActivity.answers;
|
|
15211
|
-
} else return undefined;
|
|
15212
|
-
}, [
|
|
15213
|
-
activities
|
|
15214
|
-
]);
|
|
15605
|
+
const streamingId = (0, $04ce41b46d359821$export$f299240efcda25a2)((state)=>state.streamingReplyToIdForText);
|
|
15606
|
+
const streamingQueue = (0, $04ce41b46d359821$export$f299240efcda25a2)((state)=>state.streamingQueueForText);
|
|
15607
|
+
const retorikConversationRef = (0, $b3y7N$useRef)(null);
|
|
15215
15608
|
const botEndRef = (0, $b3y7N$useRef)(null);
|
|
15216
15609
|
const timerRef = (0, $b3y7N$useRef)(null);
|
|
15217
|
-
const activitiesNumberWithResponse = (0, $b3y7N$useMemo)(()=>{
|
|
15218
|
-
let number = 0;
|
|
15219
|
-
activities.forEach((element)=>{
|
|
15220
|
-
number += element.answers.length + 1;
|
|
15221
|
-
});
|
|
15222
|
-
return number;
|
|
15223
|
-
}, [
|
|
15224
|
-
activities
|
|
15225
|
-
]);
|
|
15226
|
-
const [opacityStyle, setOpacityStyle] = (0, $b3y7N$useState)("");
|
|
15227
15610
|
const handleScroll = ()=>{
|
|
15228
15611
|
if (retorikConversationRef.current) {
|
|
15229
|
-
const
|
|
15230
|
-
|
|
15231
|
-
const offsetHeight = retorikConversationRef.current.offsetHeight;
|
|
15232
|
-
const clientHeight = retorikConversationRef.current.clientHeight;
|
|
15233
|
-
if (scrollHeight > offsetHeight) {
|
|
15612
|
+
const current = retorikConversationRef.current;
|
|
15613
|
+
if (current.scrollHeight > current.offsetHeight) {
|
|
15234
15614
|
setScrollButtonDisplay(true);
|
|
15235
|
-
if (scrollHeight - scrollTop === clientHeight) setScrollButtonDirection("top");
|
|
15236
|
-
else if (scrollHeight - scrollTop < clientHeight + 10) setScrollButtonDirection("top");
|
|
15615
|
+
if (current.scrollHeight - current.scrollTop === current.clientHeight) setScrollButtonDirection("top");
|
|
15616
|
+
else if (current.scrollHeight - current.scrollTop < current.clientHeight + 10) setScrollButtonDirection("top");
|
|
15237
15617
|
else setScrollButtonDirection("bottom");
|
|
15238
15618
|
}
|
|
15239
|
-
const
|
|
15240
|
-
const percentage = Math.ceil(scrollTop / maxScroll * 15);
|
|
15619
|
+
const percentage = Math.ceil(current.scrollTop / (current.scrollHeight - current.clientHeight) * 15);
|
|
15241
15620
|
setOpacityStyle(`linear-gradient(to top, black ${100 - percentage}%, transparent 100%)`);
|
|
15242
15621
|
}
|
|
15243
15622
|
};
|
|
15244
15623
|
/**
|
|
15245
|
-
*
|
|
15246
|
-
* - scroll to the botEndRef HTML element at the bottom of the view
|
|
15624
|
+
* Scroll to the botEndRef HTML element at the bottom of the view
|
|
15247
15625
|
*/ const scrollHandler = (to, from)=>{
|
|
15248
15626
|
if (to === "bottom") setScrollButtonDirection("top");
|
|
15249
15627
|
else setScrollButtonDirection("bottom");
|
|
15250
|
-
if ((!preventScroll || from === "button") && botEndRef
|
|
15251
|
-
behavior: "smooth"
|
|
15628
|
+
if ((!preventScroll || from === "button") && botEndRef?.current && to === "bottom") botEndRef.current.scrollIntoView({
|
|
15629
|
+
behavior: "smooth",
|
|
15630
|
+
block: "nearest"
|
|
15252
15631
|
});
|
|
15253
|
-
else if (to === "top" && retorikConversationRef
|
|
15254
|
-
behavior: "smooth"
|
|
15632
|
+
else if (to === "top" && retorikConversationRef?.current) retorikConversationRef.current.children[1].scrollIntoView({
|
|
15633
|
+
behavior: "smooth",
|
|
15634
|
+
block: "nearest"
|
|
15255
15635
|
});
|
|
15256
15636
|
};
|
|
15257
15637
|
(0, $b3y7N$useEffect)(()=>{
|
|
@@ -15263,9 +15643,12 @@ const $019b0a0c6328bd4c$export$a1f3f6b0b496333e = ()=>{
|
|
|
15263
15643
|
timerRef.current && clearTimeout(timerRef.current);
|
|
15264
15644
|
};
|
|
15265
15645
|
}, [
|
|
15266
|
-
|
|
15646
|
+
itemsInConversation,
|
|
15267
15647
|
retorikConversationRef?.current?.scrollHeight
|
|
15268
15648
|
]);
|
|
15649
|
+
(0, $b3y7N$useLayoutEffect)(()=>{
|
|
15650
|
+
if (retorikConversationRef?.current) isWidget && (0, $4d8d462ee41ffdc9$export$2e2bcd8739ae039)(null, retorikConversationRef);
|
|
15651
|
+
});
|
|
15269
15652
|
/**
|
|
15270
15653
|
* On retorikConversationRef change :
|
|
15271
15654
|
* - check if retorikConversationRef.current is defined
|
|
@@ -15279,191 +15662,189 @@ const $019b0a0c6328bd4c$export$a1f3f6b0b496333e = ()=>{
|
|
|
15279
15662
|
}, [
|
|
15280
15663
|
retorikConversationRef?.current
|
|
15281
15664
|
]);
|
|
15282
|
-
(0, $b3y7N$useLayoutEffect)(()=>{
|
|
15283
|
-
if (retorikConversationRef?.current) currentDeviceType === (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).widget && (0, $4d8d462ee41ffdc9$export$2e2bcd8739ae039)(null, retorikConversationRef);
|
|
15284
|
-
});
|
|
15285
|
-
/**
|
|
15286
|
-
* On call :
|
|
15287
|
-
* - set listClosed state to true
|
|
15288
|
-
*/ const onCloseList = ()=>{
|
|
15289
|
-
(0, $3426110875af99d0$export$f03cfde7db70aa27)(true);
|
|
15290
|
-
};
|
|
15291
|
-
/**
|
|
15292
|
-
* On call :
|
|
15293
|
-
* - scroll to the botEndRef HTML element at the bottom of the view
|
|
15294
|
-
* - check if there is an activity in need of List display
|
|
15295
|
-
* - set list state depending on the check's result
|
|
15296
|
-
*/ (0, $b3y7N$useEffect)(()=>{
|
|
15297
|
-
setPreventScroll(false);
|
|
15298
|
-
if (isMobile) {
|
|
15299
|
-
const answers = activities && activities.length > 0 ? activities[activities.length - 1].answers : [];
|
|
15300
|
-
setList(answers.some((activity)=>$019b0a0c6328bd4c$var$checkListDisplay(activity)));
|
|
15301
|
-
} else botResponses && setList(botResponses.some((activity)=>$019b0a0c6328bd4c$var$checkListDisplay(activity)));
|
|
15302
|
-
}, [
|
|
15303
|
-
activitiesNumberWithResponse
|
|
15304
|
-
]);
|
|
15305
15665
|
(0, $b3y7N$useEffect)(()=>{
|
|
15306
|
-
if ((listClosed ||
|
|
15307
|
-
|
|
15666
|
+
if ((listClosed || homeActivity) && botEndRef.current) {
|
|
15667
|
+
timerRef.current && clearTimeout(timerRef.current);
|
|
15668
|
+
timerRef.current = setTimeout(()=>{
|
|
15308
15669
|
scrollHandler("bottom", "newMessage");
|
|
15309
15670
|
}, 100);
|
|
15310
|
-
return ()=>timer && clearTimeout(timer);
|
|
15311
15671
|
}
|
|
15312
|
-
return ()=>{};
|
|
15313
15672
|
}, [
|
|
15314
15673
|
listClosed,
|
|
15315
|
-
|
|
15674
|
+
homeActivity
|
|
15316
15675
|
]);
|
|
15317
|
-
return /*#__PURE__*/ (0, $b3y7N$
|
|
15318
|
-
|
|
15319
|
-
activity: activities[activities.length - 1].answers.find((activity)=>$019b0a0c6328bd4c$var$checkListDisplay(activity)),
|
|
15320
|
-
onClose: onCloseList
|
|
15321
|
-
}) : /*#__PURE__*/ (0, $b3y7N$jsx)((0, $718b46f7bb725bee$export$2e2bcd8739ae039), {
|
|
15322
|
-
activity: botResponses?.find((activity)=>$019b0a0c6328bd4c$var$checkListDisplay(activity)),
|
|
15323
|
-
onClose: onCloseList
|
|
15324
|
-
}) : /*#__PURE__*/ (0, $b3y7N$jsxs)("div", {
|
|
15325
|
-
className: `rf-relative rf-max-h-full ${isMobile && "rf-h-full"} rf-bg-textModePanelBackground ${configuration?.forceMobileView ? "rf-col-start-1" : mediumLandscape ? "rf-col-start-4" : "rf-col-start-5"} vertical:rf-col-start-1 rf-col-span-full vertical:rf-w-full ${configuration?.forceMobileView ? "rf-row-start-1" : "rf-row-start-4"} rf-row-end-13 large-vertical:rf-row-start-7 large-vertical:rf-row-span-6 rf-self-start rf-overflow-hidden
|
|
15326
|
-
vertical:rf-row-start-1 vertical:rf-row-span-full vertical:rf-overflow-x-auto rf-justify-self-center large:rf-w-3/5 rf-flex rf-flex-col large:rf-rounded`,
|
|
15327
|
-
children: [
|
|
15328
|
-
isMobile && /*#__PURE__*/ (0, $b3y7N$jsx)((0, $0d96395552e34116$export$aa0c5ba341a0028), {
|
|
15329
|
-
agentName: agentData?.name,
|
|
15330
|
-
companyName: configuration?.companyName,
|
|
15331
|
-
subCompanyMessage: configuration?.subCompanyMessage,
|
|
15332
|
-
imageUrl: agentData?.portrait,
|
|
15333
|
-
forceMobileView: configuration?.forceMobileView
|
|
15334
|
-
}),
|
|
15335
|
-
/*#__PURE__*/ (0, $b3y7N$jsxs)("div", {
|
|
15336
|
-
ref: retorikConversationRef,
|
|
15337
|
-
id: "retorik-conversation",
|
|
15338
|
-
className: `rf-relative rf-max-h-full rf-bg-textModePanelBackground rf-py-4 rf-overflow-y-scroll rf-overflow-x-hidden rf-scrollbar-thin ${isMobile && "rf-self-auto rf-mb-26 rf-h-full"}
|
|
15339
|
-
vertical:rf-overflow-x-auto rf-justify-self-center rf-flex rf-flex-col rf-text-size-auto rf-text-trueblack rf-shadow-[3px_3px_6px_#00000029]`,
|
|
15340
|
-
style: {
|
|
15341
|
-
WebkitMaskImage: currentDeviceType === (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).mobile ? opacityStyle : undefined
|
|
15342
|
-
},
|
|
15343
|
-
onScroll: handleScroll,
|
|
15344
|
-
children: [
|
|
15345
|
-
/*#__PURE__*/ (0, $b3y7N$jsx)((0, $5959014767b0decc$export$93d01adc5582c83e), {
|
|
15346
|
-
direction: scrollButtonDirection,
|
|
15347
|
-
display: isMobile && scrollButtonDisplay && open,
|
|
15348
|
-
scrollHandler: scrollHandler,
|
|
15349
|
-
setPreventScroll: setPreventScroll,
|
|
15350
|
-
className: "rf-fixed rf-z-ui rf-bottom-40 rf-right-6 rf-w-9 rf-h-9 rf-cursor-pointer rf-bg-[#00000050] rf-p-[7px_12px] rf-rounded-[20px] rf-flex"
|
|
15351
|
-
}),
|
|
15352
|
-
isMobile ? /*#__PURE__*/ (0, $b3y7N$jsx)($019b0a0c6328bd4c$var$MultipleActivites, {
|
|
15353
|
-
history: activities,
|
|
15354
|
-
forceMobileView: configuration.forceMobileView
|
|
15355
|
-
}) : /*#__PURE__*/ (0, $b3y7N$jsx)($019b0a0c6328bd4c$var$SingleMessage, {
|
|
15356
|
-
userQuestion: userQuestion,
|
|
15357
|
-
botResponses: botResponses,
|
|
15358
|
-
forceMobileView: configuration.forceMobileView
|
|
15359
|
-
}),
|
|
15360
|
-
/*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
15361
|
-
ref: botEndRef
|
|
15362
|
-
})
|
|
15363
|
-
]
|
|
15364
|
-
})
|
|
15365
|
-
]
|
|
15366
|
-
}))
|
|
15367
|
-
});
|
|
15368
|
-
};
|
|
15369
|
-
const $019b0a0c6328bd4c$var$SingleMessage = ({ userQuestion: userQuestion, botResponses: botResponses, userClassName: userClassName = "", forceMobileView: forceMobileView = false })=>{
|
|
15370
|
-
const locale = (0, $f902d4436881b887$export$6650dace022cfacc)((state)=>state.locale);
|
|
15371
|
-
const { isMobile: isMobile, showHomeAttachments: showHomeAttachments } = (0, $c7fecc7ec9b4c272$export$3abe3478af3cb63b)();
|
|
15372
|
-
const userQuestionTime = userQuestion ? userQuestion.localTimestamp ? new Date(userQuestion.localTimestamp) : userQuestion.timestamp ? new Date(userQuestion.timestamp) : new Date() : undefined;
|
|
15373
|
-
return isMobile || !showHomeAttachments ? /*#__PURE__*/ (0, $b3y7N$jsxs)((0, $b3y7N$react).Fragment, {
|
|
15676
|
+
return /*#__PURE__*/ (0, $b3y7N$jsxs)("div", {
|
|
15677
|
+
className: "rf-relative rf-max-h-full rf-h-full rf-max-w-full rf-w-full rf-col-start-1 rf-col-span-full rf-row-start-1 rf-row-end-13 rf-self-start rf-overflow-hidden rf-justify-self-center rf-flex rf-flex-col rf-bg-textModePanelBackground",
|
|
15374
15678
|
children: [
|
|
15375
|
-
|
|
15376
|
-
|
|
15377
|
-
|
|
15679
|
+
/*#__PURE__*/ (0, $b3y7N$jsx)((0, $0d96395552e34116$export$aa0c5ba341a0028), {
|
|
15680
|
+
agentName: agentData?.name,
|
|
15681
|
+
companyName: configuration?.companyName,
|
|
15682
|
+
companyNameLocalized: configuration?.companyNameLocalized,
|
|
15683
|
+
subCompanyMessage: configuration?.subCompanyMessage,
|
|
15684
|
+
subCompanyMessageLocalized: configuration?.subCompanyMessageLocalized,
|
|
15685
|
+
imageUrl: agentData?.portrait
|
|
15686
|
+
}),
|
|
15687
|
+
/*#__PURE__*/ (0, $b3y7N$jsxs)("div", {
|
|
15688
|
+
ref: retorikConversationRef,
|
|
15689
|
+
id: "retorik-conversation",
|
|
15690
|
+
className: "rf-relative rf-max-h-full rf-h-full rf-py-4 rf-overflow-y-scroll rf-scrollbar-thin rf-self-auto rf-mb-26 rf-overflow-x-auto rf-justify-self-center rf-flex rf-flex-col rf-text-size-auto rf-text-trueblack rf-bg-textModePanelBackground rf-shadow-[3px_3px_6px_#00000029]",
|
|
15691
|
+
style: {
|
|
15692
|
+
WebkitMaskImage: currentDeviceType === (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).mobile ? opacityStyle : undefined
|
|
15693
|
+
},
|
|
15694
|
+
onScroll: handleScroll,
|
|
15378
15695
|
children: [
|
|
15379
|
-
|
|
15380
|
-
|
|
15381
|
-
|
|
15382
|
-
|
|
15383
|
-
|
|
15384
|
-
|
|
15696
|
+
/*#__PURE__*/ (0, $b3y7N$jsx)((0, $5959014767b0decc$export$93d01adc5582c83e), {
|
|
15697
|
+
direction: scrollButtonDirection,
|
|
15698
|
+
display: scrollButtonDisplay && open,
|
|
15699
|
+
scrollHandler: scrollHandler,
|
|
15700
|
+
setPreventScroll: setPreventScroll,
|
|
15701
|
+
className: "rf-fixed rf-z-ui rf-bottom-40 rf-right-6 rf-w-9 rf-h-9 rf-cursor-pointer rf-bg-[#00000050] rf-p-[7px_12px] rf-rounded-[20px] rf-flex"
|
|
15385
15702
|
}),
|
|
15703
|
+
activities.map((activity, index)=>{
|
|
15704
|
+
const userQuestionTime = activity.question ? activity.question.localTimestamp ? new Date(activity.question.localTimestamp) : activity.question.timestamp ? new Date(activity.question.timestamp) : new Date() : undefined;
|
|
15705
|
+
return /*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
15706
|
+
className: "rf-pt-3",
|
|
15707
|
+
children: /*#__PURE__*/ (0, $b3y7N$jsx)((0, $df2e46a0b1d75dd8$export$2e2bcd8739ae039), {
|
|
15708
|
+
userQuestion: activity.question,
|
|
15709
|
+
botResponses: activity.answers,
|
|
15710
|
+
streamingId: index === activities.length - 1 ? streamingId : null,
|
|
15711
|
+
streamingQueue: streamingQueue,
|
|
15712
|
+
userQuestionTime: userQuestionTime,
|
|
15713
|
+
isMobile: true,
|
|
15714
|
+
triggerScroll: ()=>scrollHandler("bottom", "newMessage")
|
|
15715
|
+
})
|
|
15716
|
+
}, index);
|
|
15717
|
+
}),
|
|
15718
|
+
homeActivity?.attachments?.length ? /*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
15719
|
+
className: "rf-pt-4 rf-flex rf-flex-col rf-text-size-auto rf-gap-2",
|
|
15720
|
+
children: /*#__PURE__*/ (0, $b3y7N$jsx)((0, $d7c37f48f10c5387$export$2e2bcd8739ae039), {
|
|
15721
|
+
activity: homeActivity
|
|
15722
|
+
})
|
|
15723
|
+
}) : /*#__PURE__*/ (0, $b3y7N$jsx)((0, $b3y7N$react).Fragment, {}),
|
|
15386
15724
|
/*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
15387
|
-
|
|
15388
|
-
children: userQuestion.text
|
|
15725
|
+
ref: botEndRef
|
|
15389
15726
|
})
|
|
15390
15727
|
]
|
|
15391
|
-
}, userQuestion.id),
|
|
15392
|
-
botResponses && /*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
15393
|
-
id: "retorik-botResponses",
|
|
15394
|
-
className: `${userQuestion && "rf-pt-4"} rf-flex rf-flex-col rf-text-size-auto rf-gap-2 rf-scrollbar-hidden`,
|
|
15395
|
-
children: botResponses.map((activity, key)=>{
|
|
15396
|
-
const answerTime = activity.localTimestamp ? new Date(activity.localTimestamp) : activity.timestamp ? new Date(activity.timestamp) : new Date();
|
|
15397
|
-
return /*#__PURE__*/ (0, $b3y7N$jsx)((0, $b3y7N$react).Fragment, {
|
|
15398
|
-
children: /*#__PURE__*/ (0, $b3y7N$jsx)($019b0a0c6328bd4c$var$BotMessageActivity, {
|
|
15399
|
-
activity: activity,
|
|
15400
|
-
answerTime: answerTime,
|
|
15401
|
-
isMobile: isMobile,
|
|
15402
|
-
mappingKey: key,
|
|
15403
|
-
locale: locale,
|
|
15404
|
-
forceMobileView: forceMobileView
|
|
15405
|
-
})
|
|
15406
|
-
}, key);
|
|
15407
|
-
})
|
|
15408
15728
|
})
|
|
15409
15729
|
]
|
|
15410
|
-
})
|
|
15411
|
-
className: "rf-pt-4 rf-flex rf-flex-col rf-text-size-auto rf-gap-2",
|
|
15412
|
-
children: /*#__PURE__*/ (0, $b3y7N$jsx)((0, $d7c37f48f10c5387$export$2e2bcd8739ae039), {
|
|
15413
|
-
activity: showHomeAttachments
|
|
15414
|
-
})
|
|
15415
|
-
}) : /*#__PURE__*/ (0, $b3y7N$jsx)((0, $b3y7N$Fragment), {});
|
|
15730
|
+
});
|
|
15416
15731
|
};
|
|
15417
|
-
|
|
15418
|
-
|
|
15419
|
-
|
|
15420
|
-
|
|
15421
|
-
|
|
15422
|
-
|
|
15423
|
-
|
|
15424
|
-
|
|
15425
|
-
|
|
15426
|
-
|
|
15427
|
-
|
|
15732
|
+
var $2aae80cf8e050a0a$export$2e2bcd8739ae039 = $2aae80cf8e050a0a$var$ConversationPanelMobile;
|
|
15733
|
+
|
|
15734
|
+
|
|
15735
|
+
|
|
15736
|
+
|
|
15737
|
+
|
|
15738
|
+
|
|
15739
|
+
|
|
15740
|
+
|
|
15741
|
+
|
|
15742
|
+
const $158745933e0ea53f$var$ConversationPanelLarge = ({ homeActivity: homeActivity, itemsInConversation: itemsInConversation })=>{
|
|
15743
|
+
const activities = (0, $d8c9d0fe519d0cbe$export$2e2bcd8739ae039)();
|
|
15744
|
+
const { mediumLandscape: mediumLandscape } = (0, $c7fecc7ec9b4c272$export$3abe3478af3cb63b)();
|
|
15745
|
+
const streamingId = (0, $04ce41b46d359821$export$f299240efcda25a2)((state)=>state.streamingReplyToIdForText);
|
|
15746
|
+
const streamingQueue = (0, $04ce41b46d359821$export$f299240efcda25a2)((state)=>state.streamingQueueForText);
|
|
15747
|
+
const botEndRef = (0, $b3y7N$useRef)(null);
|
|
15748
|
+
const timerRef = (0, $b3y7N$useRef)(null);
|
|
15749
|
+
const userQuestion = (0, $b3y7N$useMemo)(()=>{
|
|
15750
|
+
return activities.length && activities[activities.length - 1].question?.text ? activities[activities.length - 1].question : undefined;
|
|
15751
|
+
}, [
|
|
15752
|
+
activities
|
|
15753
|
+
]);
|
|
15754
|
+
const botResponses = (0, $b3y7N$useMemo)(()=>{
|
|
15755
|
+
return activities.length ? activities[activities.length - 1].answers : undefined;
|
|
15756
|
+
}, [
|
|
15757
|
+
activities
|
|
15758
|
+
]);
|
|
15759
|
+
const handleScroll = ()=>{
|
|
15760
|
+
botEndRef?.current?.scrollIntoView({
|
|
15761
|
+
behavior: "smooth",
|
|
15762
|
+
block: "nearest"
|
|
15763
|
+
});
|
|
15764
|
+
};
|
|
15765
|
+
(0, $b3y7N$useEffect)(()=>{
|
|
15766
|
+
timerRef.current && clearTimeout(timerRef.current);
|
|
15767
|
+
timerRef.current = setTimeout(()=>{
|
|
15768
|
+
handleScroll();
|
|
15769
|
+
}, 100);
|
|
15770
|
+
return ()=>{
|
|
15771
|
+
timerRef.current && clearTimeout(timerRef.current);
|
|
15772
|
+
};
|
|
15773
|
+
}, [
|
|
15774
|
+
itemsInConversation
|
|
15775
|
+
]);
|
|
15776
|
+
return homeActivity?.attachments?.length || streamingId || userQuestion || botResponses ? /*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
15777
|
+
className: `rf-relative rf-max-h-full ${mediumLandscape ? "rf-col-start-4" : "rf-col-start-5"} vertical:rf-col-start-1 rf-col-span-full rf-row-start-4 rf-row-end-12 large-vertical:rf-row-start-7 large-vertical:rf-row-span-6 rf-self-start rf-overflow-hidden rf-justify-self-center rf-w-3/5 rf-flex rf-flex-col rf-rounded rf-bg-textModePanelBackground`,
|
|
15778
|
+
children: /*#__PURE__*/ (0, $b3y7N$jsxs)("div", {
|
|
15779
|
+
id: "retorik-conversation",
|
|
15780
|
+
className: "rf-relative rf-max-h-full rf-bg-textModePanelBackground rf-py-4 rf-overflow-y-scroll rf-overflow-x-hidden rf-scrollbar-thin vertical:rf-overflow-x-auto rf-justify-self-center rf-flex rf-flex-col rf-text-size-auto rf-text-trueblack rf-shadow-[3px_3px_6px_#00000029]",
|
|
15781
|
+
children: [
|
|
15782
|
+
homeActivity?.attachments?.length ? /*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
15783
|
+
className: "rf-pt-4 rf-flex rf-flex-col rf-text-size-auto rf-gap-2",
|
|
15784
|
+
children: /*#__PURE__*/ (0, $b3y7N$jsx)((0, $d7c37f48f10c5387$export$2e2bcd8739ae039), {
|
|
15785
|
+
activity: homeActivity
|
|
15428
15786
|
})
|
|
15429
|
-
},
|
|
15430
|
-
|
|
15431
|
-
|
|
15432
|
-
|
|
15433
|
-
|
|
15434
|
-
|
|
15787
|
+
}) : /*#__PURE__*/ (0, $b3y7N$jsx)((0, $df2e46a0b1d75dd8$export$2e2bcd8739ae039), {
|
|
15788
|
+
userQuestion: userQuestion,
|
|
15789
|
+
botResponses: botResponses,
|
|
15790
|
+
streamingId: streamingId,
|
|
15791
|
+
streamingQueue: streamingQueue,
|
|
15792
|
+
triggerScroll: handleScroll
|
|
15793
|
+
}),
|
|
15794
|
+
/*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
15795
|
+
ref: botEndRef
|
|
15435
15796
|
})
|
|
15436
|
-
|
|
15437
|
-
|
|
15438
|
-
});
|
|
15797
|
+
]
|
|
15798
|
+
})
|
|
15799
|
+
}) : /*#__PURE__*/ (0, $b3y7N$jsx)((0, $b3y7N$react).Fragment, {});
|
|
15439
15800
|
};
|
|
15440
|
-
|
|
15441
|
-
|
|
15442
|
-
|
|
15443
|
-
|
|
15444
|
-
|
|
15445
|
-
|
|
15446
|
-
|
|
15447
|
-
|
|
15448
|
-
|
|
15449
|
-
|
|
15450
|
-
|
|
15451
|
-
|
|
15452
|
-
|
|
15453
|
-
|
|
15454
|
-
|
|
15455
|
-
|
|
15456
|
-
|
|
15457
|
-
|
|
15458
|
-
|
|
15459
|
-
|
|
15460
|
-
|
|
15461
|
-
|
|
15462
|
-
|
|
15463
|
-
|
|
15464
|
-
|
|
15465
|
-
|
|
15466
|
-
|
|
15801
|
+
var $158745933e0ea53f$export$2e2bcd8739ae039 = $158745933e0ea53f$var$ConversationPanelLarge;
|
|
15802
|
+
|
|
15803
|
+
|
|
15804
|
+
|
|
15805
|
+
const $019b0a0c6328bd4c$export$a1f3f6b0b496333e = ()=>{
|
|
15806
|
+
const activities = (0, $d8c9d0fe519d0cbe$export$2e2bcd8739ae039)();
|
|
15807
|
+
const { configuration: { forceMobileView: forceMobileView } } = (0, $15b0bc93a9787124$export$d8760bee47331b1d)();
|
|
15808
|
+
const { isMobile: isMobile, showHomeAttachments: showHomeAttachments } = (0, $c7fecc7ec9b4c272$export$3abe3478af3cb63b)();
|
|
15809
|
+
const listClosed = (0, $3426110875af99d0$export$77e4cc5334565f28)((state)=>state.listClosed);
|
|
15810
|
+
const [listActivity, setListActivity] = (0, $b3y7N$useState)(undefined);
|
|
15811
|
+
/**
|
|
15812
|
+
* Number of questions and answers in the conversation. Used to trigger useEffects more efficiently
|
|
15813
|
+
*/ const itemsInConversation = (0, $b3y7N$useMemo)(()=>{
|
|
15814
|
+
let number = 0;
|
|
15815
|
+
activities.forEach((element)=>{
|
|
15816
|
+
number += element.answers.length + 1;
|
|
15817
|
+
});
|
|
15818
|
+
return number;
|
|
15819
|
+
}, [
|
|
15820
|
+
activities
|
|
15821
|
+
]);
|
|
15822
|
+
/**
|
|
15823
|
+
* Scroll to the botEndRef HTML element at the bottom of the view, then check if there is an activity in need of List display.
|
|
15824
|
+
* Finally, set list state depending on the check's result.
|
|
15825
|
+
*/ (0, $b3y7N$useEffect)(()=>{
|
|
15826
|
+
const answers = activities.length ? activities[activities.length - 1].answers : [];
|
|
15827
|
+
setListActivity(answers.find((activity)=>(0, $1136774ec828a7ed$export$7c55936a30618336)(activity)));
|
|
15828
|
+
}, [
|
|
15829
|
+
itemsInConversation
|
|
15830
|
+
]);
|
|
15831
|
+
(0, $b3y7N$useEffect)(()=>{
|
|
15832
|
+
if (listClosed || showHomeAttachments) setListActivity(undefined);
|
|
15833
|
+
}, [
|
|
15834
|
+
listClosed,
|
|
15835
|
+
showHomeAttachments
|
|
15836
|
+
]);
|
|
15837
|
+
return /*#__PURE__*/ (0, $b3y7N$jsx)((0, $b3y7N$react).Fragment, {
|
|
15838
|
+
children: listActivity && !listClosed ? /*#__PURE__*/ (0, $b3y7N$jsx)((0, $718b46f7bb725bee$export$2e2bcd8739ae039), {
|
|
15839
|
+
activity: listActivity,
|
|
15840
|
+
onClose: ()=>(0, $3426110875af99d0$export$f03cfde7db70aa27)(true)
|
|
15841
|
+
}) : isMobile || forceMobileView ? /*#__PURE__*/ (0, $b3y7N$jsx)((0, $2aae80cf8e050a0a$export$2e2bcd8739ae039), {
|
|
15842
|
+
homeActivity: showHomeAttachments,
|
|
15843
|
+
itemsInConversation: itemsInConversation
|
|
15844
|
+
}) : /*#__PURE__*/ (0, $b3y7N$jsx)((0, $158745933e0ea53f$export$2e2bcd8739ae039), {
|
|
15845
|
+
homeActivity: showHomeAttachments,
|
|
15846
|
+
itemsInConversation: itemsInConversation
|
|
15847
|
+
})
|
|
15467
15848
|
});
|
|
15468
15849
|
};
|
|
15469
15850
|
|
|
@@ -15718,14 +16099,13 @@ var $fada14688b15ab6e$export$2e2bcd8739ae039 = $fada14688b15ab6e$var$Mobile;
|
|
|
15718
16099
|
|
|
15719
16100
|
|
|
15720
16101
|
|
|
15721
|
-
|
|
15722
16102
|
const $ab0e724de876f16a$var$ParametersAndDashboardContainer = ({ handleBack: handleBack, hideMenu: hideMenu = false })=>{
|
|
15723
16103
|
const translation = (0, $f902d4436881b887$export$6650dace022cfacc)((state)=>state.currentTranslations);
|
|
15724
16104
|
const locale = (0, $f902d4436881b887$export$6650dace022cfacc)((state)=>state.locale);
|
|
15725
|
-
const {
|
|
16105
|
+
const { isWidget: isWidget } = (0, $c7fecc7ec9b4c272$export$3abe3478af3cb63b)();
|
|
15726
16106
|
const divRef = (0, $b3y7N$useRef)(null);
|
|
15727
16107
|
(0, $b3y7N$useEffect)(()=>{
|
|
15728
|
-
divRef?.current &&
|
|
16108
|
+
divRef?.current && isWidget && (0, $4d8d462ee41ffdc9$export$2e2bcd8739ae039)(null, divRef);
|
|
15729
16109
|
}, [
|
|
15730
16110
|
divRef.current
|
|
15731
16111
|
]);
|
|
@@ -16378,6 +16758,7 @@ var $9f452debefb0a8cb$export$2e2bcd8739ae039 = $9f452debefb0a8cb$var$News;
|
|
|
16378
16758
|
|
|
16379
16759
|
|
|
16380
16760
|
|
|
16761
|
+
|
|
16381
16762
|
var $a9d2f359055b3248$var$Steps;
|
|
16382
16763
|
// Steps enum
|
|
16383
16764
|
(function($a9d2f359055b3248$var$Steps) {
|
|
@@ -16389,6 +16770,7 @@ var $a9d2f359055b3248$var$Steps;
|
|
|
16389
16770
|
})($a9d2f359055b3248$var$Steps || ($a9d2f359055b3248$var$Steps = {}));
|
|
16390
16771
|
const $a9d2f359055b3248$var$NewsView = ({ chatbotData: chatbotData, hideMenu: hideMenu, isRetorikNews: isRetorikNews, handleEndedWithoutloop: handleEndedWithoutloop })=>{
|
|
16391
16772
|
const translation = (0, $f902d4436881b887$export$6650dace022cfacc)((state)=>state.currentTranslations);
|
|
16773
|
+
const sendEvent = (0, $b3y7N$useSendEvent)();
|
|
16392
16774
|
const { configuration: configuration } = (0, $15b0bc93a9787124$export$d8760bee47331b1d)();
|
|
16393
16775
|
const agentData = (0, $56b00880a398c953$export$bd22554f31e5f96f)((state)=>state.agentData);
|
|
16394
16776
|
const muted = (0, $04ce41b46d359821$export$f299240efcda25a2)((state)=>state.muted);
|
|
@@ -16408,6 +16790,10 @@ const $a9d2f359055b3248$var$NewsView = ({ chatbotData: chatbotData, hideMenu: hi
|
|
|
16408
16790
|
(0, $b3y7N$useEffect)(()=>{
|
|
16409
16791
|
setDisplayControls(false);
|
|
16410
16792
|
muted && (0, $04ce41b46d359821$export$a1680ba91cc9be33)(false);
|
|
16793
|
+
return ()=>{
|
|
16794
|
+
sendEvent("Davi.CloseWindow", null);
|
|
16795
|
+
sendEvent("Davi.CloseWindowNews", null);
|
|
16796
|
+
};
|
|
16411
16797
|
}, []);
|
|
16412
16798
|
/**
|
|
16413
16799
|
* On step change :
|
|
@@ -16555,14 +16941,15 @@ var $a9d2f359055b3248$export$2e2bcd8739ae039 = $a9d2f359055b3248$var$NewsView;
|
|
|
16555
16941
|
|
|
16556
16942
|
|
|
16557
16943
|
|
|
16944
|
+
|
|
16558
16945
|
const $f729533f4d036d9a$var$WarningBeforeNewsView = ({ propsToTransfer: propsToTransfer })=>{
|
|
16559
16946
|
const translation = (0, $f902d4436881b887$export$6650dace022cfacc)((state)=>state.currentTranslations);
|
|
16947
|
+
const sendEvent = (0, $b3y7N$useSendEvent)();
|
|
16560
16948
|
const { setRoute: setRoute } = (0, $c7fecc7ec9b4c272$export$3abe3478af3cb63b)();
|
|
16561
16949
|
const [waiting, setWaiting] = (0, $b3y7N$useState)(true);
|
|
16562
|
-
(0, $b3y7N$useEffect)(()=>{
|
|
16563
|
-
setWaiting(true);
|
|
16564
|
-
}, []);
|
|
16565
16950
|
const handleClick = (goHome)=>{
|
|
16951
|
+
sendEvent("Davi.CloseWindow", null);
|
|
16952
|
+
sendEvent("Davi.CloseWindowNewsSoundActivated", null);
|
|
16566
16953
|
goHome ? setRoute((0, $f5ca62954d1f1f5b$export$3565eb3d00ca5a74).Home) : setWaiting(false);
|
|
16567
16954
|
};
|
|
16568
16955
|
return waiting ? /*#__PURE__*/ (0, $b3y7N$jsxs)("div", {
|
|
@@ -16724,12 +17111,7 @@ const $f11f1612db196f03$var$Container = ({ fullSize: fullSize, width: width, hei
|
|
|
16724
17111
|
* - check and set the classes in the main div that will allow us to use tailwind variants
|
|
16725
17112
|
* - set the main div dimensions in context
|
|
16726
17113
|
*/ (0, $b3y7N$useEffect)(()=>{
|
|
16727
|
-
|
|
16728
|
-
if (parent === (0, $f5ca62954d1f1f5b$export$a31c5a03aaeee5f).widget) {
|
|
16729
|
-
setPortrait("rf-portrait");
|
|
16730
|
-
setLarge("");
|
|
16731
|
-
setCurrentDeviceType((0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).widget);
|
|
16732
|
-
} else if (forceMobileView) {
|
|
17114
|
+
if (forceMobileView) {
|
|
16733
17115
|
setLarge("");
|
|
16734
17116
|
setCurrentDeviceType((0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).mobile);
|
|
16735
17117
|
setPortrait("rf-portrait");
|
|
@@ -16738,27 +17120,28 @@ const $f11f1612db196f03$var$Container = ({ fullSize: fullSize, width: width, hei
|
|
|
16738
17120
|
if (isPortrait) {
|
|
16739
17121
|
if (dimensions.width > (0, $cd0e91e00b0900ed$export$2e65b7c7134e01f0)) {
|
|
16740
17122
|
setLarge("rf-large");
|
|
16741
|
-
setCurrentDeviceType((0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).borne);
|
|
17123
|
+
setCurrentDeviceType(parent === (0, $f5ca62954d1f1f5b$export$a31c5a03aaeee5f).widget ? (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).widgetBorne : (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).borne);
|
|
16742
17124
|
} else {
|
|
16743
17125
|
setLarge("");
|
|
16744
|
-
setCurrentDeviceType((0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).mobile);
|
|
17126
|
+
setCurrentDeviceType(parent === (0, $f5ca62954d1f1f5b$export$a31c5a03aaeee5f).widget ? (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).widget : (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).mobile);
|
|
16745
17127
|
}
|
|
16746
17128
|
} else if (dimensions.height > (0, $cd0e91e00b0900ed$export$2e65b7c7134e01f0)) {
|
|
16747
17129
|
setLarge("rf-large");
|
|
16748
|
-
setCurrentDeviceType((0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).landscape);
|
|
17130
|
+
setCurrentDeviceType(parent === (0, $f5ca62954d1f1f5b$export$a31c5a03aaeee5f).widget ? (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).widgetLandscape : (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).landscape);
|
|
16749
17131
|
} else {
|
|
16750
17132
|
setLarge("");
|
|
16751
|
-
setCurrentDeviceType((0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).mobile);
|
|
17133
|
+
setCurrentDeviceType(parent === (0, $f5ca62954d1f1f5b$export$a31c5a03aaeee5f).widget ? (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).widget : (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).mobile);
|
|
16752
17134
|
}
|
|
16753
17135
|
} else if (0, $b3y7N$isMobile) {
|
|
16754
17136
|
setPortrait("rf-portrait");
|
|
16755
17137
|
setLarge("");
|
|
16756
|
-
setCurrentDeviceType((0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).mobile);
|
|
17138
|
+
setCurrentDeviceType(parent === (0, $f5ca62954d1f1f5b$export$a31c5a03aaeee5f).widget ? (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).widget : (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).mobile);
|
|
16757
17139
|
} else {
|
|
16758
17140
|
const isPortrait = checkPortrait(dimensions.width, dimensions.height);
|
|
16759
17141
|
// Check for 'rf-large' class
|
|
16760
|
-
setLarge("rf-large");
|
|
16761
|
-
|
|
17142
|
+
setLarge(parent === (0, $f5ca62954d1f1f5b$export$a31c5a03aaeee5f).widget && dimensions.width < (0, $cd0e91e00b0900ed$export$2e65b7c7134e01f0) ? "" : "rf-large");
|
|
17143
|
+
if (isPortrait) setCurrentDeviceType(parent === (0, $f5ca62954d1f1f5b$export$a31c5a03aaeee5f).widget ? dimensions.width > (0, $cd0e91e00b0900ed$export$2e65b7c7134e01f0) ? (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).widgetBorne : (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).widget : (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).borne);
|
|
17144
|
+
else setCurrentDeviceType(parent === (0, $f5ca62954d1f1f5b$export$a31c5a03aaeee5f).widget ? (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).widgetLandscape : (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).landscape);
|
|
16762
17145
|
}
|
|
16763
17146
|
dimensions.height && setCurrentHeight(dimensions.height);
|
|
16764
17147
|
dimensions.width && setCurrentWidth(dimensions.width);
|
|
@@ -16766,7 +17149,7 @@ const $f11f1612db196f03$var$Container = ({ fullSize: fullSize, width: width, hei
|
|
|
16766
17149
|
dimensions
|
|
16767
17150
|
]);
|
|
16768
17151
|
(0, $b3y7N$useEffect)(()=>{
|
|
16769
|
-
container?.current &&
|
|
17152
|
+
container?.current && (0, $cd0e91e00b0900ed$export$909f4c209eb70365).includes(currentDeviceType) && (0, $4d8d462ee41ffdc9$export$2e2bcd8739ae039)(container.current);
|
|
16770
17153
|
}, [
|
|
16771
17154
|
container.current
|
|
16772
17155
|
]);
|
|
@@ -17013,6 +17396,8 @@ var $1286c804208ea5de$export$2e2bcd8739ae039 = $1286c804208ea5de$var$getThemeCol
|
|
|
17013
17396
|
|
|
17014
17397
|
const $77cdbd24be841e31$var$buildSSML = (activity, speechMarkdownParser, sayAsWords)=>{
|
|
17015
17398
|
let speech = activity.speak || activity.text;
|
|
17399
|
+
// Replace character not recognized in Microsoft TTS
|
|
17400
|
+
speech = speech.replaceAll("\u2019", "'");
|
|
17016
17401
|
if (sayAsWords && sayAsWords.length) {
|
|
17017
17402
|
const wordsUsed = [];
|
|
17018
17403
|
sayAsWords.forEach((tuple)=>{
|
|
@@ -17027,7 +17412,7 @@ const $77cdbd24be841e31$var$buildSSML = (activity, speechMarkdownParser, sayAsWo
|
|
|
17027
17412
|
try {
|
|
17028
17413
|
textParsedAsSSML = speechMarkdownParser.toSSML(speech);
|
|
17029
17414
|
} catch (e) {
|
|
17030
|
-
console.warn("Error in speechmarkdown parser : ", e);
|
|
17415
|
+
console.warn("Retorik Framework > Error in speechmarkdown parser : ", e);
|
|
17031
17416
|
}
|
|
17032
17417
|
return `<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xmlns:emo="http://www.w3.org/2009/10/emotionml" xml:lang="${activity.locale}">` + textParsedAsSSML + "</speak>";
|
|
17033
17418
|
};
|
|
@@ -17054,6 +17439,84 @@ function $77cdbd24be841e31$export$2e2bcd8739ae039({ activity: activity, voice: v
|
|
|
17054
17439
|
|
|
17055
17440
|
|
|
17056
17441
|
|
|
17442
|
+
const $9e68771eb9634954$export$52a3c04e084af2a0 = {
|
|
17443
|
+
onesecond: `${(0, $cd0e91e00b0900ed$export$eefca12493f9e9b9)}/onesecond.mp3`,
|
|
17444
|
+
speechrecognition: `${(0, $cd0e91e00b0900ed$export$eefca12493f9e9b9)}/blip.mp3`
|
|
17445
|
+
};
|
|
17446
|
+
|
|
17447
|
+
|
|
17448
|
+
class $14763f78c7718bd3$var$IndexedDbManager {
|
|
17449
|
+
version = 1;
|
|
17450
|
+
storeName = "speechSynthesisData";
|
|
17451
|
+
checkDB = async ()=>{
|
|
17452
|
+
return new Promise((resolve)=>{
|
|
17453
|
+
const request = indexedDB.open("retorik-framework-db", this.version);
|
|
17454
|
+
request.onsuccess = ()=>{
|
|
17455
|
+
resolve(true);
|
|
17456
|
+
};
|
|
17457
|
+
request.onerror = ()=>{
|
|
17458
|
+
resolve(false);
|
|
17459
|
+
};
|
|
17460
|
+
request.onupgradeneeded = ()=>{
|
|
17461
|
+
const db = request.result;
|
|
17462
|
+
// If the data object store doesn't exist, create it
|
|
17463
|
+
if (!db.objectStoreNames.contains(this.storeName)) db.createObjectStore(this.storeName, {
|
|
17464
|
+
keyPath: "id"
|
|
17465
|
+
});
|
|
17466
|
+
};
|
|
17467
|
+
});
|
|
17468
|
+
};
|
|
17469
|
+
addSpeechData = async (data)=>{
|
|
17470
|
+
return new Promise((resolve)=>{
|
|
17471
|
+
const request = indexedDB.open("retorik-framework-db", this.version);
|
|
17472
|
+
request.onsuccess = ()=>{
|
|
17473
|
+
const db = request.result;
|
|
17474
|
+
const tx = db.transaction(this.storeName, "readwrite");
|
|
17475
|
+
const store = tx.objectStore(this.storeName);
|
|
17476
|
+
// Base 64 encode
|
|
17477
|
+
data.id = window.btoa(encodeURI(data.id));
|
|
17478
|
+
store.add(data);
|
|
17479
|
+
resolve(true);
|
|
17480
|
+
};
|
|
17481
|
+
request.onerror = ()=>{
|
|
17482
|
+
resolve(false);
|
|
17483
|
+
};
|
|
17484
|
+
});
|
|
17485
|
+
};
|
|
17486
|
+
getSpeechData = async (id)=>{
|
|
17487
|
+
return new Promise((resolve)=>{
|
|
17488
|
+
const request = indexedDB.open("retorik-framework-db", this.version);
|
|
17489
|
+
request.onsuccess = ()=>{
|
|
17490
|
+
const db = request.result;
|
|
17491
|
+
const tx = db.transaction(this.storeName, "readonly");
|
|
17492
|
+
const store = tx.objectStore(this.storeName);
|
|
17493
|
+
// Base 64 encode
|
|
17494
|
+
const data = store.get(window.btoa(encodeURI(id)));
|
|
17495
|
+
data.onsuccess = ()=>{
|
|
17496
|
+
resolve(data.result);
|
|
17497
|
+
};
|
|
17498
|
+
};
|
|
17499
|
+
request.onerror = ()=>{
|
|
17500
|
+
resolve(null);
|
|
17501
|
+
};
|
|
17502
|
+
});
|
|
17503
|
+
};
|
|
17504
|
+
}
|
|
17505
|
+
var $14763f78c7718bd3$export$2e2bcd8739ae039 = $14763f78c7718bd3$var$IndexedDbManager;
|
|
17506
|
+
|
|
17507
|
+
|
|
17508
|
+
|
|
17509
|
+
|
|
17510
|
+
|
|
17511
|
+
|
|
17512
|
+
|
|
17513
|
+
|
|
17514
|
+
|
|
17515
|
+
|
|
17516
|
+
|
|
17517
|
+
|
|
17518
|
+
|
|
17519
|
+
|
|
17057
17520
|
|
|
17058
17521
|
|
|
17059
17522
|
|
|
@@ -17072,47 +17535,65 @@ var $8c2db177e015e048$export$2e2bcd8739ae039 = $8c2db177e015e048$var$Animation;
|
|
|
17072
17535
|
|
|
17073
17536
|
|
|
17074
17537
|
|
|
17075
|
-
|
|
17076
|
-
|
|
17538
|
+
const $b01026c055a6f4cc$var$springEnterDuration = 500;
|
|
17539
|
+
const $b01026c055a6f4cc$var$springLeaveDuration = 1000;
|
|
17077
17540
|
const $b01026c055a6f4cc$var$LoaderCallToAction = ({ handleValidation: handleValidation })=>{
|
|
17541
|
+
const locale = (0, $f902d4436881b887$export$6650dace022cfacc)((state)=>state.locale);
|
|
17078
17542
|
const translation = (0, $f902d4436881b887$export$6650dace022cfacc)((state)=>state.currentTranslations);
|
|
17079
|
-
const { configuration: { loaderInformationTexts: loaderInformationTexts, hideRetorikLogo: hideRetorikLogo, disableSpeechMode: disabledSpeechMode } } = (0, $15b0bc93a9787124$export$d8760bee47331b1d)();
|
|
17543
|
+
const { configuration: { loaderInformationTexts: loaderInformationTexts, loaderInformationTextsLocalized: loaderInformationTextsLocalized, hideRetorikLogo: hideRetorikLogo, disableSpeechMode: disabledSpeechMode } } = (0, $15b0bc93a9787124$export$d8760bee47331b1d)();
|
|
17080
17544
|
const mode = (0, $56b00880a398c953$export$bd22554f31e5f96f)((state)=>state.mode);
|
|
17081
|
-
const { themeColors: themeColors
|
|
17082
|
-
const [textSize, setTextSize] = (0, $b3y7N$useState)("landscape");
|
|
17545
|
+
const { themeColors: themeColors } = (0, $c7fecc7ec9b4c272$export$3abe3478af3cb63b)();
|
|
17083
17546
|
const container = (0, $b3y7N$useRef)(null);
|
|
17084
|
-
const dimensions = (0, $9d905911b403e245$export$2e2bcd8739ae039)(container);
|
|
17085
17547
|
const [hover, setHover] = (0, $b3y7N$useState)(false);
|
|
17086
17548
|
const animationColor = {
|
|
17087
17549
|
"--rf-color-loader-animation": themeColors.loader.animation
|
|
17088
17550
|
};
|
|
17089
|
-
|
|
17090
|
-
|
|
17091
|
-
|
|
17092
|
-
|
|
17093
|
-
|
|
17094
|
-
|
|
17095
|
-
|
|
17096
|
-
|
|
17097
|
-
|
|
17098
|
-
|
|
17099
|
-
|
|
17100
|
-
|
|
17551
|
+
const animationTimerRef = (0, $b3y7N$useRef)();
|
|
17552
|
+
const [spring, api] = (0, $b3y7N$useSpring)(()=>({
|
|
17553
|
+
from: {
|
|
17554
|
+
opacity: 0
|
|
17555
|
+
}
|
|
17556
|
+
}));
|
|
17557
|
+
(0, $b3y7N$useEffect)(()=>{
|
|
17558
|
+
api.start({
|
|
17559
|
+
from: {
|
|
17560
|
+
opacity: 0
|
|
17561
|
+
},
|
|
17562
|
+
to: {
|
|
17563
|
+
opacity: 1
|
|
17564
|
+
},
|
|
17565
|
+
config: {
|
|
17566
|
+
duration: $b01026c055a6f4cc$var$springEnterDuration
|
|
17567
|
+
}
|
|
17568
|
+
});
|
|
17569
|
+
return ()=>{
|
|
17570
|
+
animationTimerRef?.current && clearTimeout(animationTimerRef.current);
|
|
17571
|
+
};
|
|
17572
|
+
}, []);
|
|
17101
17573
|
const handleChange = (modeId)=>{
|
|
17102
17574
|
const tempMode = modeId === 1 ? (0, $f5ca62954d1f1f5b$export$9484bbecc3c49a2e).vocal : (0, $f5ca62954d1f1f5b$export$9484bbecc3c49a2e).text;
|
|
17103
17575
|
(0, $56b00880a398c953$export$d4f039427a1beff1)(tempMode);
|
|
17104
17576
|
};
|
|
17105
|
-
|
|
17106
|
-
|
|
17107
|
-
|
|
17108
|
-
|
|
17109
|
-
|
|
17110
|
-
|
|
17111
|
-
|
|
17577
|
+
const handleValidate = ()=>{
|
|
17578
|
+
handleValidation();
|
|
17579
|
+
api.start({
|
|
17580
|
+
from: {
|
|
17581
|
+
opacity: 1
|
|
17582
|
+
},
|
|
17583
|
+
to: {
|
|
17584
|
+
opacity: 0
|
|
17585
|
+
},
|
|
17586
|
+
config: {
|
|
17587
|
+
duration: $b01026c055a6f4cc$var$springLeaveDuration
|
|
17588
|
+
}
|
|
17589
|
+
});
|
|
17590
|
+
};
|
|
17591
|
+
return /*#__PURE__*/ (0, $b3y7N$jsxs)((0, $b3y7N$animated).div, {
|
|
17592
|
+
className: "rf-h-full rf-w-full rf-flex rf-flex-col rf-items-center rf-animate-loaderFadeIn",
|
|
17112
17593
|
ref: container,
|
|
17113
17594
|
style: {
|
|
17114
|
-
|
|
17115
|
-
...
|
|
17595
|
+
...animationColor,
|
|
17596
|
+
...spring
|
|
17116
17597
|
},
|
|
17117
17598
|
children: [
|
|
17118
17599
|
/*#__PURE__*/ (0, $b3y7N$jsxs)("div", {
|
|
@@ -17128,14 +17609,14 @@ const $b01026c055a6f4cc$var$LoaderCallToAction = ({ handleValidation: handleVali
|
|
|
17128
17609
|
color: themeColors.loader.text
|
|
17129
17610
|
},
|
|
17130
17611
|
children: [
|
|
17131
|
-
loaderInformationTexts?.vocal.top && loaderInformationTexts.text.top ? /*#__PURE__*/ (0, $b3y7N$jsx)("p", {
|
|
17132
|
-
children: mode === (0, $f5ca62954d1f1f5b$export$9484bbecc3c49a2e).vocal ? loaderInformationTexts?.vocal
|
|
17612
|
+
loaderInformationTexts?.vocal.top && loaderInformationTexts.text.top || loaderInformationTextsLocalized?.vocal?.top?.[locale] && loaderInformationTextsLocalized.text?.top?.[locale] ? /*#__PURE__*/ (0, $b3y7N$jsx)("p", {
|
|
17613
|
+
children: mode === (0, $f5ca62954d1f1f5b$export$9484bbecc3c49a2e).vocal ? loaderInformationTextsLocalized?.vocal?.top?.[locale] || loaderInformationTexts?.vocal?.top : loaderInformationTextsLocalized?.text?.top?.[locale] || loaderInformationTexts?.text?.top
|
|
17133
17614
|
}) : /*#__PURE__*/ (0, $b3y7N$jsx)("p", {
|
|
17134
17615
|
children: mode === (0, $f5ca62954d1f1f5b$export$9484bbecc3c49a2e).vocal ? translation.loader.loader.optimal : translation.loader.loader.classic
|
|
17135
17616
|
}),
|
|
17136
|
-
loaderInformationTexts?.vocal
|
|
17617
|
+
loaderInformationTexts?.vocal?.bottom && loaderInformationTexts.text?.bottom || loaderInformationTextsLocalized?.vocal?.bottom?.[locale] && loaderInformationTextsLocalized.text?.bottom?.[locale] ? /*#__PURE__*/ (0, $b3y7N$jsx)("p", {
|
|
17137
17618
|
className: "rf-font-bold",
|
|
17138
|
-
children: mode === (0, $f5ca62954d1f1f5b$export$9484bbecc3c49a2e).vocal ? loaderInformationTexts?.vocal
|
|
17619
|
+
children: mode === (0, $f5ca62954d1f1f5b$export$9484bbecc3c49a2e).vocal ? loaderInformationTextsLocalized?.vocal?.bottom?.[locale] || loaderInformationTexts?.vocal?.bottom : loaderInformationTextsLocalized?.text?.bottom?.[locale] || loaderInformationTexts?.text?.bottom
|
|
17139
17620
|
}) : /*#__PURE__*/ (0, $b3y7N$jsx)("p", {
|
|
17140
17621
|
className: "rf-font-bold",
|
|
17141
17622
|
children: mode === (0, $f5ca62954d1f1f5b$export$9484bbecc3c49a2e).vocal ? translation.loader.loader.vocal : translation.loader.loader.text
|
|
@@ -17144,48 +17625,38 @@ const $b01026c055a6f4cc$var$LoaderCallToAction = ({ handleValidation: handleVali
|
|
|
17144
17625
|
})
|
|
17145
17626
|
]
|
|
17146
17627
|
}),
|
|
17147
|
-
/*#__PURE__*/ (0, $b3y7N$
|
|
17628
|
+
/*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
17148
17629
|
className: `rf-w-full rf-h-1/2 rf-flex rf-flex-col ${hideRetorikLogo ? "rf-justify-start" : "rf-justify-between"} rf-items-center`,
|
|
17149
|
-
children:
|
|
17150
|
-
|
|
17151
|
-
|
|
17152
|
-
|
|
17153
|
-
|
|
17154
|
-
|
|
17155
|
-
|
|
17156
|
-
|
|
17157
|
-
|
|
17158
|
-
|
|
17159
|
-
|
|
17160
|
-
|
|
17161
|
-
|
|
17162
|
-
|
|
17163
|
-
|
|
17164
|
-
|
|
17165
|
-
|
|
17166
|
-
|
|
17167
|
-
|
|
17168
|
-
|
|
17169
|
-
|
|
17170
|
-
|
|
17171
|
-
|
|
17172
|
-
|
|
17173
|
-
|
|
17174
|
-
|
|
17175
|
-
|
|
17176
|
-
children: translation.loader.loaderValidation
|
|
17177
|
-
})
|
|
17178
|
-
]
|
|
17179
|
-
}),
|
|
17180
|
-
!hideRetorikLogo && (isMobile ? /*#__PURE__*/ (0, $b3y7N$jsx)((0, $3e897bcad5b32e5c$export$2e2bcd8739ae039), {
|
|
17181
|
-
className: "rf-mb-10 rf-h-14"
|
|
17182
|
-
}) : /*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
17183
|
-
className: "rf-w-full rf-flex rf-justify-start",
|
|
17184
|
-
children: /*#__PURE__*/ (0, $b3y7N$jsx)((0, $3e897bcad5b32e5c$export$2e2bcd8739ae039), {
|
|
17185
|
-
className: "rf-ml-4 rf-mb-4 rf-h-14"
|
|
17630
|
+
children: /*#__PURE__*/ (0, $b3y7N$jsxs)("div", {
|
|
17631
|
+
className: "rf-flex rf-flex-col rf-items-center",
|
|
17632
|
+
children: [
|
|
17633
|
+
/*#__PURE__*/ (0, $b3y7N$jsx)((0, $5d0815fae7c6a756$export$2e2bcd8739ae039), {
|
|
17634
|
+
texts: {
|
|
17635
|
+
left: translation.loader.modes.vocal,
|
|
17636
|
+
leftId: 1,
|
|
17637
|
+
right: translation.loader.modes.text,
|
|
17638
|
+
rightId: 2
|
|
17639
|
+
},
|
|
17640
|
+
colors: themeColors.loader.toggle,
|
|
17641
|
+
defaultChecked: mode,
|
|
17642
|
+
handleChange: handleChange,
|
|
17643
|
+
showLeft: !disabledSpeechMode,
|
|
17644
|
+
showRight: true
|
|
17645
|
+
}),
|
|
17646
|
+
/*#__PURE__*/ (0, $b3y7N$jsx)("button", {
|
|
17647
|
+
className: "rf-font-bold rf-border-2 rf-rounded-lg rf-px-6 rf-py-3 rf-mt-8",
|
|
17648
|
+
style: {
|
|
17649
|
+
color: hover ? themeColors.loader.button.text.hover : themeColors.loader.button.text.default,
|
|
17650
|
+
borderColor: hover ? themeColors.loader.button.border.hover : themeColors.loader.button.border.default,
|
|
17651
|
+
background: hover ? themeColors.loader.button.background.hover : themeColors.loader.button.background.default
|
|
17652
|
+
},
|
|
17653
|
+
onClick: handleValidate,
|
|
17654
|
+
onMouseEnter: ()=>setHover(true),
|
|
17655
|
+
onMouseLeave: ()=>setHover(false),
|
|
17656
|
+
children: translation.loader.loaderValidation
|
|
17186
17657
|
})
|
|
17187
|
-
|
|
17188
|
-
|
|
17658
|
+
]
|
|
17659
|
+
})
|
|
17189
17660
|
})
|
|
17190
17661
|
]
|
|
17191
17662
|
});
|
|
@@ -17194,79 +17665,243 @@ var $b01026c055a6f4cc$export$2e2bcd8739ae039 = $b01026c055a6f4cc$var$LoaderCallT
|
|
|
17194
17665
|
|
|
17195
17666
|
|
|
17196
17667
|
|
|
17197
|
-
const $9e68771eb9634954$export$52a3c04e084af2a0 = {
|
|
17198
|
-
onesecond: `${(0, $cd0e91e00b0900ed$export$eefca12493f9e9b9)}/onesecond.mp3`,
|
|
17199
|
-
speechrecognition: `${(0, $cd0e91e00b0900ed$export$eefca12493f9e9b9)}/blip.mp3`
|
|
17200
|
-
};
|
|
17201
17668
|
|
|
17202
17669
|
|
|
17203
|
-
|
|
17204
|
-
|
|
17205
|
-
|
|
17206
|
-
|
|
17207
|
-
|
|
17208
|
-
|
|
17209
|
-
|
|
17210
|
-
|
|
17211
|
-
|
|
17212
|
-
|
|
17213
|
-
|
|
17214
|
-
|
|
17215
|
-
|
|
17216
|
-
|
|
17217
|
-
|
|
17218
|
-
|
|
17219
|
-
|
|
17220
|
-
|
|
17221
|
-
|
|
17222
|
-
|
|
17223
|
-
|
|
17224
|
-
|
|
17225
|
-
|
|
17226
|
-
|
|
17227
|
-
|
|
17228
|
-
|
|
17229
|
-
|
|
17230
|
-
|
|
17231
|
-
|
|
17232
|
-
|
|
17233
|
-
store.add(data);
|
|
17234
|
-
resolve(true);
|
|
17235
|
-
};
|
|
17236
|
-
request.onerror = ()=>{
|
|
17237
|
-
resolve(false);
|
|
17238
|
-
};
|
|
17239
|
-
});
|
|
17240
|
-
};
|
|
17241
|
-
getSpeechData = async (id)=>{
|
|
17242
|
-
return new Promise((resolve)=>{
|
|
17243
|
-
const request = indexedDB.open("retorik-framework-db", this.version);
|
|
17244
|
-
request.onsuccess = ()=>{
|
|
17245
|
-
const db = request.result;
|
|
17246
|
-
const tx = db.transaction(this.storeName, "readonly");
|
|
17247
|
-
const store = tx.objectStore(this.storeName);
|
|
17248
|
-
// Base 64 encode
|
|
17249
|
-
const data = store.get(window.btoa(encodeURI(id)));
|
|
17250
|
-
data.onsuccess = ()=>{
|
|
17251
|
-
resolve(data.result);
|
|
17252
|
-
};
|
|
17253
|
-
};
|
|
17254
|
-
request.onerror = ()=>{
|
|
17255
|
-
resolve(null);
|
|
17256
|
-
};
|
|
17670
|
+
|
|
17671
|
+
|
|
17672
|
+
|
|
17673
|
+
|
|
17674
|
+
const $495c62a3599dd276$var$springDuration = 500;
|
|
17675
|
+
const $495c62a3599dd276$var$finalMessageDisplayDuration = 2500;
|
|
17676
|
+
const $495c62a3599dd276$var$GdprWindow = ({ titleTextSize: titleTextSize })=>{
|
|
17677
|
+
const data = (0, $3426110875af99d0$export$77e4cc5334565f28)((state)=>state.GDPRWindowData);
|
|
17678
|
+
const translation = (0, $f902d4436881b887$export$6650dace022cfacc)((state)=>state.currentTranslations);
|
|
17679
|
+
const locale = (0, $f902d4436881b887$export$6650dace022cfacc)((state)=>state.locale);
|
|
17680
|
+
const { themeColors: themeColors, isMobile: isMobile } = (0, $c7fecc7ec9b4c272$export$3abe3478af3cb63b)();
|
|
17681
|
+
const [finalMessage, setFinalMessage] = (0, $b3y7N$useState)(null);
|
|
17682
|
+
const finalMessageTimerRef = (0, $b3y7N$useRef)();
|
|
17683
|
+
const animationTimerRef = (0, $b3y7N$useRef)();
|
|
17684
|
+
const [spring, api] = (0, $b3y7N$useSpring)(()=>({
|
|
17685
|
+
from: {
|
|
17686
|
+
opacity: 0
|
|
17687
|
+
}
|
|
17688
|
+
}));
|
|
17689
|
+
(0, $b3y7N$useEffect)(()=>{
|
|
17690
|
+
api.start({
|
|
17691
|
+
from: {
|
|
17692
|
+
opacity: 0
|
|
17693
|
+
},
|
|
17694
|
+
to: {
|
|
17695
|
+
opacity: 1
|
|
17696
|
+
},
|
|
17697
|
+
config: {
|
|
17698
|
+
duration: $495c62a3599dd276$var$springDuration
|
|
17699
|
+
}
|
|
17257
17700
|
});
|
|
17701
|
+
return ()=>{
|
|
17702
|
+
finalMessageTimerRef?.current && clearTimeout(finalMessageTimerRef.current);
|
|
17703
|
+
animationTimerRef?.current && clearTimeout(animationTimerRef.current);
|
|
17704
|
+
};
|
|
17705
|
+
}, []);
|
|
17706
|
+
const texts = (0, $b3y7N$useMemo)(()=>{
|
|
17707
|
+
return {
|
|
17708
|
+
title: data?.title?.[locale] || translation.GDPR.title,
|
|
17709
|
+
message: data?.message?.[locale] || translation.GDPR.message,
|
|
17710
|
+
link: data?.link?.[locale] || translation.GDPR.link,
|
|
17711
|
+
buttonAccept: data?.buttonAccept?.[locale] || translation.GDPR.buttonAccept,
|
|
17712
|
+
buttonRefuse: data?.buttonRefuse?.[locale] || translation.GDPR.buttonRefuse,
|
|
17713
|
+
messageAccepted: data?.messageAccepted?.[locale] || translation.GDPR.messageAccepted,
|
|
17714
|
+
messageRefused: data?.messageRefused?.[locale] || translation.GDPR.messageRefused
|
|
17715
|
+
};
|
|
17716
|
+
}, [
|
|
17717
|
+
translation,
|
|
17718
|
+
locale
|
|
17719
|
+
]);
|
|
17720
|
+
const handleCheck = (value)=>{
|
|
17721
|
+
(0, $3426110875af99d0$export$7a09e6b3c59f37ad)(value);
|
|
17722
|
+
setFinalMessage(value ? texts.messageAccepted : texts.messageRefused);
|
|
17723
|
+
finalMessageTimerRef.current = setTimeout(()=>{
|
|
17724
|
+
api.start({
|
|
17725
|
+
from: {
|
|
17726
|
+
opacity: 1
|
|
17727
|
+
},
|
|
17728
|
+
to: {
|
|
17729
|
+
opacity: 0
|
|
17730
|
+
},
|
|
17731
|
+
config: {
|
|
17732
|
+
duration: $495c62a3599dd276$var$springDuration
|
|
17733
|
+
}
|
|
17734
|
+
});
|
|
17735
|
+
}, $495c62a3599dd276$var$finalMessageDisplayDuration);
|
|
17736
|
+
animationTimerRef.current = setTimeout(()=>{
|
|
17737
|
+
(0, $3426110875af99d0$export$ff26692bd8e0fbbd)(false);
|
|
17738
|
+
}, $495c62a3599dd276$var$springDuration + $495c62a3599dd276$var$finalMessageDisplayDuration);
|
|
17258
17739
|
};
|
|
17259
|
-
|
|
17260
|
-
|
|
17740
|
+
return /*#__PURE__*/ (0, $b3y7N$jsxs)((0, $b3y7N$animated).div, {
|
|
17741
|
+
className: "rf-h-full rf-w-full rf-flex rf-flex-col rf-gap-12 rf-justify-center rf-items-center rf-text-center",
|
|
17742
|
+
style: {
|
|
17743
|
+
...spring
|
|
17744
|
+
},
|
|
17745
|
+
children: [
|
|
17746
|
+
/*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
17747
|
+
className: `${isMobile ? "rf-w-3/4" : "rf-w-1/2"} ${titleTextSize}`,
|
|
17748
|
+
children: (0, $2765b17b11305295$export$d07f57595c356899)(texts.title, locale)
|
|
17749
|
+
}),
|
|
17750
|
+
/*#__PURE__*/ (0, $b3y7N$jsxs)("div", {
|
|
17751
|
+
className: `${isMobile ? "rf-w-3/4" : "rf-w-1/2"} rf-flex rf-flex-col rf-items-center rf-gap-4`,
|
|
17752
|
+
children: [
|
|
17753
|
+
/*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
17754
|
+
dangerouslySetInnerHTML: {
|
|
17755
|
+
__html: (0, $2765b17b11305295$export$d07f57595c356899)(texts.message, locale).replaceAll("\n", "<br>")
|
|
17756
|
+
}
|
|
17757
|
+
}),
|
|
17758
|
+
data?.linkURL && /*#__PURE__*/ (0, $b3y7N$jsx)("a", {
|
|
17759
|
+
href: data.linkURL,
|
|
17760
|
+
target: "_blank",
|
|
17761
|
+
rel: "noreferrer noopener",
|
|
17762
|
+
style: {
|
|
17763
|
+
color: themeColors.primary,
|
|
17764
|
+
textDecoration: "underline"
|
|
17765
|
+
},
|
|
17766
|
+
children: (0, $2765b17b11305295$export$d07f57595c356899)(texts.link, locale)
|
|
17767
|
+
})
|
|
17768
|
+
]
|
|
17769
|
+
}),
|
|
17770
|
+
/*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
17771
|
+
className: "rf-w-full rf-h-16 rf-flex rf-flex-row rf-justify-center rf-gap-4",
|
|
17772
|
+
children: finalMessage ? /*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
17773
|
+
className: `${isMobile ? "rf-w-3/4" : "rf-w-1/2"} rf-animate-fadeIn`,
|
|
17774
|
+
children: (0, $2765b17b11305295$export$d07f57595c356899)(finalMessage, locale)
|
|
17775
|
+
}) : /*#__PURE__*/ (0, $b3y7N$jsxs)((0, $b3y7N$react).Fragment, {
|
|
17776
|
+
children: [
|
|
17777
|
+
/*#__PURE__*/ (0, $b3y7N$jsx)("button", {
|
|
17778
|
+
className: "rf-h-fit rf-px-4 rf-py-2 rf-rounded-lg",
|
|
17779
|
+
onClick: ()=>handleCheck(true),
|
|
17780
|
+
style: {
|
|
17781
|
+
color: themeColors.loader.toggle.text,
|
|
17782
|
+
background: themeColors.loader.toggle.background,
|
|
17783
|
+
borderColor: themeColors.loader.toggle.background
|
|
17784
|
+
},
|
|
17785
|
+
children: (0, $2765b17b11305295$export$d07f57595c356899)(texts.buttonAccept, locale)
|
|
17786
|
+
}),
|
|
17787
|
+
/*#__PURE__*/ (0, $b3y7N$jsx)("button", {
|
|
17788
|
+
className: "rf-h-fit rf-px-4 rf-py-2 rf-rounded-lg",
|
|
17789
|
+
onClick: ()=>handleCheck(false),
|
|
17790
|
+
style: {
|
|
17791
|
+
color: themeColors.loader.toggle.text,
|
|
17792
|
+
background: themeColors.loader.toggle.background,
|
|
17793
|
+
borderColor: themeColors.loader.toggle.background
|
|
17794
|
+
},
|
|
17795
|
+
children: (0, $2765b17b11305295$export$d07f57595c356899)(texts.buttonRefuse, locale)
|
|
17796
|
+
})
|
|
17797
|
+
]
|
|
17798
|
+
})
|
|
17799
|
+
})
|
|
17800
|
+
]
|
|
17801
|
+
});
|
|
17802
|
+
};
|
|
17803
|
+
var $495c62a3599dd276$export$2e2bcd8739ae039 = $495c62a3599dd276$var$GdprWindow;
|
|
17261
17804
|
|
|
17262
17805
|
|
|
17806
|
+
const $fde3bdcd46120869$var$springEnterDuration = 500;
|
|
17807
|
+
const $fde3bdcd46120869$var$springLeaveDuration = 1000;
|
|
17808
|
+
const $fde3bdcd46120869$var$GdprAndLoader = ({ appAvailable: appAvailable, handleValidation: handleValidation })=>{
|
|
17809
|
+
const displayGDPR = (0, $3426110875af99d0$export$77e4cc5334565f28)((state)=>state.GDPRDisplay);
|
|
17810
|
+
const { configuration: { hideRetorikLogo: hideRetorikLogo }, loaderClosed: loaderClosed } = (0, $15b0bc93a9787124$export$d8760bee47331b1d)();
|
|
17811
|
+
const { themeColors: themeColors, isMobile: isMobile, isWidget: isWidget } = (0, $c7fecc7ec9b4c272$export$3abe3478af3cb63b)();
|
|
17812
|
+
const [textSize, setTextSize] = (0, $b3y7N$useState)("");
|
|
17813
|
+
const [titleTextSize, setTitleTextSize] = (0, $b3y7N$useState)();
|
|
17814
|
+
const container = (0, $b3y7N$useRef)(null);
|
|
17815
|
+
const dimensions = (0, $9d905911b403e245$export$2e2bcd8739ae039)(container);
|
|
17816
|
+
const animationTimerRef = (0, $b3y7N$useRef)();
|
|
17817
|
+
const [spring, api] = (0, $b3y7N$useSpring)(()=>({
|
|
17818
|
+
from: {
|
|
17819
|
+
opacity: 0
|
|
17820
|
+
}
|
|
17821
|
+
}));
|
|
17822
|
+
(0, $b3y7N$useEffect)(()=>{
|
|
17823
|
+
api.start({
|
|
17824
|
+
from: {
|
|
17825
|
+
opacity: 0
|
|
17826
|
+
},
|
|
17827
|
+
to: {
|
|
17828
|
+
opacity: 1
|
|
17829
|
+
},
|
|
17830
|
+
config: {
|
|
17831
|
+
duration: $fde3bdcd46120869$var$springEnterDuration
|
|
17832
|
+
}
|
|
17833
|
+
});
|
|
17834
|
+
return ()=>{
|
|
17835
|
+
animationTimerRef?.current && clearTimeout(animationTimerRef.current);
|
|
17836
|
+
};
|
|
17837
|
+
}, []);
|
|
17838
|
+
(0, $b3y7N$useEffect)(()=>{
|
|
17839
|
+
if (dimensions.width && dimensions.height && dimensions.width > 600) {
|
|
17840
|
+
if (dimensions.width < dimensions.height) {
|
|
17841
|
+
setTextSize("rf-text-lgcustom");
|
|
17842
|
+
setTitleTextSize("rf-text-3xl");
|
|
17843
|
+
} else {
|
|
17844
|
+
setTextSize("rf-text-basecustom");
|
|
17845
|
+
setTitleTextSize("rf-text-4xl");
|
|
17846
|
+
}
|
|
17847
|
+
} else {
|
|
17848
|
+
setTextSize("rf-text-sm");
|
|
17849
|
+
setTitleTextSize("rf-text-2xl");
|
|
17850
|
+
}
|
|
17851
|
+
}, [
|
|
17852
|
+
dimensions
|
|
17853
|
+
]);
|
|
17854
|
+
const handleValidate = ()=>{
|
|
17855
|
+
handleValidation();
|
|
17856
|
+
api.start({
|
|
17857
|
+
from: {
|
|
17858
|
+
opacity: 1
|
|
17859
|
+
},
|
|
17860
|
+
to: {
|
|
17861
|
+
opacity: 0
|
|
17862
|
+
},
|
|
17863
|
+
config: {
|
|
17864
|
+
duration: $fde3bdcd46120869$var$springLeaveDuration
|
|
17865
|
+
}
|
|
17866
|
+
});
|
|
17867
|
+
};
|
|
17868
|
+
(0, $b3y7N$useEffect)(()=>{
|
|
17869
|
+
container?.current && isWidget && (0, $4d8d462ee41ffdc9$export$2e2bcd8739ae039)(container.current);
|
|
17870
|
+
}, [
|
|
17871
|
+
container?.current
|
|
17872
|
+
]);
|
|
17873
|
+
return displayGDPR || !(appAvailable || loaderClosed) ? /*#__PURE__*/ (0, $b3y7N$jsxs)((0, $b3y7N$animated).div, {
|
|
17874
|
+
id: "retorik-GDPR-and-loader",
|
|
17875
|
+
className: `rf-absolute rf-z-modal rf-top-0 rf-left-0 rf-h-full rf-w-full rf-font-default
|
|
17876
|
+
${textSize}`,
|
|
17877
|
+
ref: container,
|
|
17878
|
+
style: {
|
|
17879
|
+
background: themeColors.loader.background,
|
|
17880
|
+
color: themeColors.loader.text,
|
|
17881
|
+
...spring
|
|
17882
|
+
},
|
|
17883
|
+
children: [
|
|
17884
|
+
displayGDPR ? /*#__PURE__*/ (0, $b3y7N$jsx)((0, $495c62a3599dd276$export$2e2bcd8739ae039), {
|
|
17885
|
+
titleTextSize: titleTextSize
|
|
17886
|
+
}) : !(appAvailable || loaderClosed) ? /*#__PURE__*/ (0, $b3y7N$jsx)((0, $b01026c055a6f4cc$export$2e2bcd8739ae039), {
|
|
17887
|
+
handleValidation: handleValidate
|
|
17888
|
+
}) : /*#__PURE__*/ (0, $b3y7N$jsx)((0, $b3y7N$react).Fragment, {}),
|
|
17889
|
+
!hideRetorikLogo && (isMobile ? /*#__PURE__*/ (0, $b3y7N$jsx)((0, $3e897bcad5b32e5c$export$2e2bcd8739ae039), {
|
|
17890
|
+
className: "rf-absolute rf-bottom-10 rf-h-14"
|
|
17891
|
+
}) : /*#__PURE__*/ (0, $b3y7N$jsx)((0, $3e897bcad5b32e5c$export$2e2bcd8739ae039), {
|
|
17892
|
+
className: "rf-absolute rf-left-4 rf-bottom-4 rf-h-14"
|
|
17893
|
+
}))
|
|
17894
|
+
]
|
|
17895
|
+
}) : /*#__PURE__*/ (0, $b3y7N$jsx)((0, $b3y7N$react).Fragment, {});
|
|
17896
|
+
};
|
|
17897
|
+
var $fde3bdcd46120869$export$2e2bcd8739ae039 = $fde3bdcd46120869$var$GdprAndLoader;
|
|
17263
17898
|
|
|
17264
17899
|
|
|
17265
17900
|
const $ba6bf0e283157133$var$DBManager = new (0, $14763f78c7718bd3$export$2e2bcd8739ae039)();
|
|
17266
17901
|
const $ba6bf0e283157133$var$tagsRemoverRegex = /<[^<>]+>/g;
|
|
17267
|
-
const $ba6bf0e283157133$var$RetorikSpeech = ({ ponyfill: ponyfill, onEnd: onEnd, onError: onError, onStart: onStart, utterance: utterance, appAvailable: appAvailable })=>{
|
|
17902
|
+
const $ba6bf0e283157133$var$RetorikSpeech = ({ ponyfill: ponyfill, onEnd: onEnd, onError: onError, onStart: onStart, utterance: utterance, nextUtterance: nextUtterance, appAvailable: appAvailable })=>{
|
|
17268
17903
|
const locale = (0, $f902d4436881b887$export$6650dace022cfacc)((state)=>state.locale);
|
|
17269
|
-
const { loaderClosed: loaderClosed, setLoaderClosed: setLoaderClosed, configuration: { enableSpeechCaching: enableSpeechCaching, speechRecognitionOptions: speechRecognitionOptions } } = (0, $15b0bc93a9787124$export$d8760bee47331b1d)();
|
|
17904
|
+
const { loaderClosed: loaderClosed, setLoaderClosed: setLoaderClosed, configuration: { enableSpeechCaching: enableSpeechCaching, speechRecognitionOptions: speechRecognitionOptions, isUsedOnBorne: isUsedOnBorne } } = (0, $15b0bc93a9787124$export$d8760bee47331b1d)();
|
|
17270
17905
|
const { voice: voice } = (0, $4c54e002ebd97cf8$export$57e792e009c800a0)();
|
|
17271
17906
|
const muted = (0, $04ce41b46d359821$export$f299240efcda25a2)((state)=>state.muted);
|
|
17272
17907
|
const activeRecognitionState = (0, $04ce41b46d359821$export$f299240efcda25a2)((state)=>state.activeRecognitionState);
|
|
@@ -17275,6 +17910,9 @@ const $ba6bf0e283157133$var$RetorikSpeech = ({ ponyfill: ponyfill, onEnd: onEnd,
|
|
|
17275
17910
|
const speechRecognitionAudioRef = (0, $b3y7N$useRef)(null);
|
|
17276
17911
|
const [DBReady, setDBReady] = (0, $b3y7N$useState)(false);
|
|
17277
17912
|
const [playingBlob, setPlayingBlob] = (0, $b3y7N$useState)(false);
|
|
17913
|
+
const [nextUtteranceData, setNextUtteranceData] = (0, $b3y7N$useState)(null);
|
|
17914
|
+
const nextUtteranceBoundariesRef = (0, $b3y7N$useRef)([]);
|
|
17915
|
+
const nextUtteranceVisemesRef = (0, $b3y7N$useRef)([]);
|
|
17278
17916
|
const emptyTextUtteranceRef = (0, $b3y7N$useRef)(null);
|
|
17279
17917
|
(0, $b3y7N$useEffect)(()=>{
|
|
17280
17918
|
$ba6bf0e283157133$var$DBManager.checkDB().then((result)=>setDBReady(result));
|
|
@@ -17283,70 +17921,103 @@ const $ba6bf0e283157133$var$RetorikSpeech = ({ ponyfill: ponyfill, onEnd: onEnd,
|
|
|
17283
17921
|
if (appAvailable || loaderClosed) {
|
|
17284
17922
|
// Cancel synthesis if using synthesizer
|
|
17285
17923
|
if (!playingBlob) ponyfill && ponyfill.speechSynthesis.cancel();
|
|
17924
|
+
resetNextUtteranceData();
|
|
17286
17925
|
if (audioRef.current && !audioRef.current?.paused) {
|
|
17287
17926
|
audioRef.current.pause();
|
|
17288
17927
|
handleEnd();
|
|
17289
17928
|
}
|
|
17290
17929
|
}
|
|
17291
17930
|
};
|
|
17931
|
+
const attachEvents = (tempUtterance, isMainUtterance)=>{
|
|
17932
|
+
tempUtterance.onerror = (event)=>{
|
|
17933
|
+
isMainUtterance ? handleError(event) : setNextUtteranceData(null);
|
|
17934
|
+
};
|
|
17935
|
+
tempUtterance.onsynthesiscompleted = ()=>{
|
|
17936
|
+
const endBoundary = {
|
|
17937
|
+
word: "",
|
|
17938
|
+
startTime: 0,
|
|
17939
|
+
endTime: 0,
|
|
17940
|
+
boundaryType: "EndBoundary"
|
|
17941
|
+
};
|
|
17942
|
+
if (isMainUtterance) {
|
|
17943
|
+
const tempBoundaries = boundaryRef?.current || [];
|
|
17944
|
+
boundaryRef.current = [
|
|
17945
|
+
...tempBoundaries,
|
|
17946
|
+
endBoundary
|
|
17947
|
+
];
|
|
17948
|
+
(0, $04ce41b46d359821$export$c24886139fddc386)([
|
|
17949
|
+
...tempBoundaries,
|
|
17950
|
+
endBoundary
|
|
17951
|
+
]);
|
|
17952
|
+
} else nextUtteranceBoundariesRef.current = [
|
|
17953
|
+
...nextUtteranceBoundariesRef.current,
|
|
17954
|
+
endBoundary
|
|
17955
|
+
];
|
|
17956
|
+
};
|
|
17957
|
+
tempUtterance.onboundary = (event)=>{
|
|
17958
|
+
if (event.boundaryType !== "Viseme") {
|
|
17959
|
+
const newBoundary = {
|
|
17960
|
+
word: event.name,
|
|
17961
|
+
startTime: event.elapsedTime,
|
|
17962
|
+
endTime: event.elapsedTime + event.duration,
|
|
17963
|
+
boundaryType: event.boundaryType
|
|
17964
|
+
};
|
|
17965
|
+
if (isMainUtterance) {
|
|
17966
|
+
// Update the boundaryData state with the new data.
|
|
17967
|
+
const tempBoundaries = boundaryRef?.current || [];
|
|
17968
|
+
boundaryRef.current = [
|
|
17969
|
+
...tempBoundaries,
|
|
17970
|
+
newBoundary
|
|
17971
|
+
];
|
|
17972
|
+
(0, $04ce41b46d359821$export$c24886139fddc386)([
|
|
17973
|
+
...tempBoundaries,
|
|
17974
|
+
newBoundary
|
|
17975
|
+
]);
|
|
17976
|
+
} else nextUtteranceBoundariesRef.current = [
|
|
17977
|
+
...nextUtteranceBoundariesRef.current,
|
|
17978
|
+
newBoundary
|
|
17979
|
+
];
|
|
17980
|
+
}
|
|
17981
|
+
};
|
|
17982
|
+
tempUtterance.onviseme = (event)=>{
|
|
17983
|
+
const newViseme = {
|
|
17984
|
+
word: event.name,
|
|
17985
|
+
startTime: event.elapsedTime,
|
|
17986
|
+
endTime: event.elapsedTime + event.duration,
|
|
17987
|
+
boundaryType: event.boundaryType
|
|
17988
|
+
};
|
|
17989
|
+
if (isMainUtterance) ;
|
|
17990
|
+
else nextUtteranceVisemesRef.current = [
|
|
17991
|
+
...nextUtteranceVisemesRef.current,
|
|
17992
|
+
newViseme
|
|
17993
|
+
];
|
|
17994
|
+
};
|
|
17995
|
+
return tempUtterance;
|
|
17996
|
+
};
|
|
17997
|
+
const processNextData = (data)=>{
|
|
17998
|
+
setNextUtteranceData(data?.byteLength ? {
|
|
17999
|
+
speechData: data,
|
|
18000
|
+
boundaries: nextUtteranceBoundariesRef.current,
|
|
18001
|
+
visemes: nextUtteranceVisemesRef.current
|
|
18002
|
+
} : null);
|
|
18003
|
+
// Reset boundary / viseme data
|
|
18004
|
+
resetNextUtteranceData(true);
|
|
18005
|
+
};
|
|
18006
|
+
const resetNextUtteranceData = (keepArrayBufferData)=>{
|
|
18007
|
+
!keepArrayBufferData && setNextUtteranceData(null);
|
|
18008
|
+
nextUtteranceBoundariesRef.current = [];
|
|
18009
|
+
nextUtteranceVisemesRef.current = [];
|
|
18010
|
+
};
|
|
17292
18011
|
(0, $b3y7N$useEffect)(()=>{
|
|
17293
18012
|
if (utterance) {
|
|
17294
18013
|
if (utterance.text) {
|
|
17295
18014
|
if (ponyfill && audioRef?.current) {
|
|
17296
|
-
|
|
17297
|
-
|
|
17298
|
-
|
|
17299
|
-
|
|
17300
|
-
|
|
17301
|
-
|
|
17302
|
-
startTime: 0,
|
|
17303
|
-
endTime: 0,
|
|
17304
|
-
boundaryType: "EndBoundary"
|
|
17305
|
-
};
|
|
17306
|
-
const tempBoundaries = boundaryRef?.current || [];
|
|
17307
|
-
boundaryRef.current = [
|
|
17308
|
-
...tempBoundaries,
|
|
17309
|
-
endBoundary
|
|
17310
|
-
];
|
|
17311
|
-
(0, $04ce41b46d359821$export$c24886139fddc386)([
|
|
17312
|
-
...tempBoundaries,
|
|
17313
|
-
endBoundary
|
|
17314
|
-
]);
|
|
17315
|
-
};
|
|
17316
|
-
utterance.onboundary = (event)=>{
|
|
17317
|
-
if (event.boundaryType !== "Viseme") {
|
|
17318
|
-
// Get the current word and its start time and end time.
|
|
17319
|
-
const word = event.name;
|
|
17320
|
-
const startTime = event.elapsedTime;
|
|
17321
|
-
const endTime = event.elapsedTime + event.duration;
|
|
17322
|
-
const boundaryType = event.boundaryType;
|
|
17323
|
-
// Update the boundaryData state with the new data.
|
|
17324
|
-
const tempBoundaries = boundaryRef?.current || [];
|
|
17325
|
-
boundaryRef.current = [
|
|
17326
|
-
...tempBoundaries,
|
|
17327
|
-
{
|
|
17328
|
-
word: word,
|
|
17329
|
-
startTime: startTime,
|
|
17330
|
-
endTime: endTime,
|
|
17331
|
-
boundaryType: boundaryType
|
|
17332
|
-
}
|
|
17333
|
-
];
|
|
17334
|
-
(0, $04ce41b46d359821$export$c24886139fddc386)([
|
|
17335
|
-
...tempBoundaries,
|
|
17336
|
-
{
|
|
17337
|
-
word: word,
|
|
17338
|
-
startTime: startTime,
|
|
17339
|
-
endTime: endTime,
|
|
17340
|
-
boundaryType: boundaryType
|
|
17341
|
-
}
|
|
17342
|
-
]);
|
|
17343
|
-
}
|
|
17344
|
-
};
|
|
17345
|
-
utterance.onviseme = ()=>{
|
|
17346
|
-
// console.log('Viseme : ', e)
|
|
17347
|
-
};
|
|
17348
|
-
// Play utterance whether by asking for a speech synthesis, or by retrieving data fro indexeddb
|
|
17349
|
-
playUtterance();
|
|
18015
|
+
if (nextUtteranceData) {
|
|
18016
|
+
boundaryRef.current = nextUtteranceData.boundaries;
|
|
18017
|
+
(0, $04ce41b46d359821$export$c24886139fddc386)(nextUtteranceData.boundaries);
|
|
18018
|
+
processData(nextUtteranceData.speechData, true);
|
|
18019
|
+
} else // Play utterance whether by asking for a speech synthesis, or by retrieving data fro indexeddb
|
|
18020
|
+
playUtterance(attachEvents(utterance, true));
|
|
17350
18021
|
} else stopCurrentPlaying();
|
|
17351
18022
|
} else handleEmptyTextUtterance();
|
|
17352
18023
|
} else stopCurrentPlaying();
|
|
@@ -17357,33 +18028,43 @@ const $ba6bf0e283157133$var$RetorikSpeech = ({ ponyfill: ponyfill, onEnd: onEnd,
|
|
|
17357
18028
|
}, [
|
|
17358
18029
|
utterance
|
|
17359
18030
|
]);
|
|
17360
|
-
|
|
17361
|
-
if (
|
|
17362
|
-
const
|
|
18031
|
+
(0, $b3y7N$useEffect)(()=>{
|
|
18032
|
+
if (nextUtterance?.text && ponyfill) {
|
|
18033
|
+
const tempUtterance = attachEvents(nextUtterance);
|
|
18034
|
+
ponyfill.speechSynthesis.synthesizeAndGetArrayData(tempUtterance, processNextData);
|
|
18035
|
+
} else resetNextUtteranceData();
|
|
18036
|
+
}, [
|
|
18037
|
+
nextUtterance
|
|
18038
|
+
]);
|
|
18039
|
+
const playUtterance = async (utt)=>{
|
|
18040
|
+
if (DBReady && enableSpeechCaching !== false && utt) {
|
|
18041
|
+
const dataFromIndexedDB = await $ba6bf0e283157133$var$DBManager.getSpeechData(`${locale}.${voice?.name}.${utt.text.replace($ba6bf0e283157133$var$tagsRemoverRegex, "").substring(0, 50)}`);
|
|
17363
18042
|
if (dataFromIndexedDB) {
|
|
17364
18043
|
boundaryRef.current = dataFromIndexedDB.boundaries;
|
|
17365
18044
|
(0, $04ce41b46d359821$export$c24886139fddc386)(dataFromIndexedDB.boundaries);
|
|
17366
18045
|
processData(dataFromIndexedDB.value, true);
|
|
17367
|
-
} else ponyfill?.speechSynthesis.synthesizeAndGetArrayData(
|
|
17368
|
-
} else ponyfill?.speechSynthesis.synthesizeAndGetArrayData(
|
|
18046
|
+
} else ponyfill?.speechSynthesis.synthesizeAndGetArrayData(utt, processData);
|
|
18047
|
+
} else ponyfill?.speechSynthesis.synthesizeAndGetArrayData(utt, processData);
|
|
17369
18048
|
};
|
|
17370
18049
|
const processData = (data, alreadyExistsInDB)=>{
|
|
17371
|
-
|
|
17372
|
-
|
|
17373
|
-
|
|
17374
|
-
|
|
17375
|
-
|
|
17376
|
-
|
|
17377
|
-
|
|
17378
|
-
|
|
17379
|
-
|
|
17380
|
-
|
|
17381
|
-
|
|
17382
|
-
|
|
17383
|
-
|
|
17384
|
-
|
|
17385
|
-
|
|
17386
|
-
|
|
18050
|
+
if (data?.byteLength) {
|
|
18051
|
+
const blob = new Blob([
|
|
18052
|
+
data
|
|
18053
|
+
], {
|
|
18054
|
+
type: "audio/mp3"
|
|
18055
|
+
});
|
|
18056
|
+
enableSpeechCaching !== false && !alreadyExistsInDB && DBReady && boundaryRef?.current && utterance && $ba6bf0e283157133$var$DBManager.addSpeechData({
|
|
18057
|
+
id: `${locale}.${voice?.name}.${utterance.text.replace($ba6bf0e283157133$var$tagsRemoverRegex, "").substring(0, 50)}`,
|
|
18058
|
+
value: data,
|
|
18059
|
+
boundaries: boundaryRef.current
|
|
18060
|
+
});
|
|
18061
|
+
const url = URL.createObjectURL(blob);
|
|
18062
|
+
if (audioRef?.current) {
|
|
18063
|
+
setPlayingBlob(true);
|
|
18064
|
+
audioRef.current.src = url;
|
|
18065
|
+
audioRef.current.play().catch((e)=>console.warn(e));
|
|
18066
|
+
}
|
|
18067
|
+
} else handleEmptyTextUtterance();
|
|
17387
18068
|
};
|
|
17388
18069
|
const resetData = ()=>{
|
|
17389
18070
|
boundaryRef.current = [];
|
|
@@ -17391,7 +18072,7 @@ const $ba6bf0e283157133$var$RetorikSpeech = ({ ponyfill: ponyfill, onEnd: onEnd,
|
|
|
17391
18072
|
setPlayingBlob(false);
|
|
17392
18073
|
};
|
|
17393
18074
|
const handleStart = ()=>{
|
|
17394
|
-
if (appAvailable || loaderClosed) onStart
|
|
18075
|
+
if (appAvailable || loaderClosed) onStart?.();
|
|
17395
18076
|
};
|
|
17396
18077
|
const handleEnd = ()=>{
|
|
17397
18078
|
if (appAvailable || loaderClosed) {
|
|
@@ -17446,7 +18127,8 @@ const $ba6bf0e283157133$var$RetorikSpeech = ({ ponyfill: ponyfill, onEnd: onEnd,
|
|
|
17446
18127
|
preload: "auto",
|
|
17447
18128
|
muted: appAvailable || loaderClosed ? muted : true
|
|
17448
18129
|
}),
|
|
17449
|
-
!
|
|
18130
|
+
!isUsedOnBorne && /*#__PURE__*/ (0, $b3y7N$jsx)((0, $fde3bdcd46120869$export$2e2bcd8739ae039), {
|
|
18131
|
+
appAvailable: appAvailable,
|
|
17450
18132
|
handleValidation: primeRetorikSpeech
|
|
17451
18133
|
})
|
|
17452
18134
|
]
|
|
@@ -17533,6 +18215,9 @@ const $f1fe8abaedaf89dd$export$4bf371fc4fa74a28 = (voices, locale, customVoice,
|
|
|
17533
18215
|
|
|
17534
18216
|
const $45f8218489149157$var$SynthesisManager = ({ isRetorikNews: isRetorikNews })=>{
|
|
17535
18217
|
const cancel = (0, $04ce41b46d359821$export$f299240efcda25a2)((state)=>state.cancel);
|
|
18218
|
+
const streamingReplyToId = (0, $04ce41b46d359821$export$f299240efcda25a2)((state)=>state.streamingReplyToId);
|
|
18219
|
+
const streamingQueue = (0, $04ce41b46d359821$export$f299240efcda25a2)((state)=>state.streamingQueue);
|
|
18220
|
+
const cancelRef = (0, $b3y7N$useRef)(false);
|
|
17536
18221
|
const currentPlaying = (0, $04ce41b46d359821$export$f299240efcda25a2)((state)=>state.currentPlaying);
|
|
17537
18222
|
const currentReplyToId = (0, $04ce41b46d359821$export$f299240efcda25a2)((state)=>state.currentReplyToId);
|
|
17538
18223
|
const endedActivities = (0, $04ce41b46d359821$export$f299240efcda25a2)((state)=>state.endedActivities);
|
|
@@ -17546,6 +18231,7 @@ const $45f8218489149157$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
|
|
|
17546
18231
|
const lastBotActivity = (0, $9b100ac34d01a331$export$b56465394e2b1287)((state)=>state.lastBotMessageActivity);
|
|
17547
18232
|
const toggleMicrophone = (0, $b7c552f6163a7a5c$export$2e2bcd8739ae039)();
|
|
17548
18233
|
const [utterance, setUtterance] = (0, $b3y7N$useState)(null);
|
|
18234
|
+
const [nextUtterance, setNextUtterance] = (0, $b3y7N$useState)(null);
|
|
17549
18235
|
const [utteranceEnded, setUtteranceEnded] = (0, $b3y7N$useState)(false);
|
|
17550
18236
|
const queuedActivitiesRef = (0, $b3y7N$useRef)([]);
|
|
17551
18237
|
const currentActivityRef = (0, $b3y7N$useRef)(null);
|
|
@@ -17555,6 +18241,7 @@ const $45f8218489149157$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
|
|
|
17555
18241
|
const [ponyfill, setPonyfill] = (0, $b3y7N$useState)(undefined);
|
|
17556
18242
|
const refreshTimerRef = (0, $b3y7N$useRef)(null);
|
|
17557
18243
|
const [lastListTextPlayed, setLastListTextPlayed] = (0, $b3y7N$useState)("");
|
|
18244
|
+
const tempCurrentStreamingRef = (0, $b3y7N$useRef)(null);
|
|
17558
18245
|
/**
|
|
17559
18246
|
* Async function to retrieve a new token and assign it to the speechConfig inside ponyfill.speechSynthesis
|
|
17560
18247
|
* @param region string
|
|
@@ -17709,6 +18396,7 @@ const $45f8218489149157$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
|
|
|
17709
18396
|
queuedActivitiesRef.current = [];
|
|
17710
18397
|
(0, $04ce41b46d359821$export$d0df6aec4e971f52)(false);
|
|
17711
18398
|
setUtterance(null);
|
|
18399
|
+
setNextUtterance(null);
|
|
17712
18400
|
!isRetorikNews && setIsNewsView(route === (0, $f5ca62954d1f1f5b$export$3565eb3d00ca5a74).News);
|
|
17713
18401
|
}, [
|
|
17714
18402
|
route
|
|
@@ -17719,7 +18407,7 @@ const $45f8218489149157$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
|
|
|
17719
18407
|
* - no utterance is created while appAvailable isn't true
|
|
17720
18408
|
* - if during the waiting time, some activities were queued, when appAvailable comes to true, let's begin creating the utterances and playing them
|
|
17721
18409
|
*/ (0, $b3y7N$useEffect)(()=>{
|
|
17722
|
-
if (appAvailable && queuedActivitiesRef.current
|
|
18410
|
+
if (appAvailable && queuedActivitiesRef.current?.length) {
|
|
17723
18411
|
const activity = queuedActivitiesRef.current[0];
|
|
17724
18412
|
currentActivityRef.current = activity;
|
|
17725
18413
|
const params = {
|
|
@@ -17743,8 +18431,11 @@ const $45f8218489149157$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
|
|
|
17743
18431
|
* - if an utterance is being played, set it to null to stop playing and prevent data in queue from being played
|
|
17744
18432
|
* - setting an utterance to null will trigger the handleUtteranceEnded method automatically
|
|
17745
18433
|
*/ (0, $b3y7N$useEffect)(()=>{
|
|
17746
|
-
|
|
17747
|
-
|
|
18434
|
+
cancelRef.current = cancel;
|
|
18435
|
+
if (cancel) {
|
|
18436
|
+
utterance ? setUtterance(null) : (0, $04ce41b46d359821$export$d0df6aec4e971f52)(false);
|
|
18437
|
+
setNextUtterance(null);
|
|
18438
|
+
}
|
|
17748
18439
|
}, [
|
|
17749
18440
|
cancel
|
|
17750
18441
|
]);
|
|
@@ -17758,67 +18449,73 @@ const $45f8218489149157$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
|
|
|
17758
18449
|
* - if an utterance is being played, process the new one (do nothing / put it in the queue / stop the current one and play the new one)
|
|
17759
18450
|
* - if an utterance has to be created, create it and set the utterance state
|
|
17760
18451
|
*/ (0, $b3y7N$useEffect)(()=>{
|
|
17761
|
-
if (ponyfill && voice) {
|
|
17762
|
-
|
|
17763
|
-
|
|
17764
|
-
if (
|
|
17765
|
-
|
|
17766
|
-
|
|
18452
|
+
if (ponyfill && voice && lastBotActivity?.id) {
|
|
18453
|
+
let createNewUtterance = false;
|
|
18454
|
+
if (!lastBotActivity.replyToId) {
|
|
18455
|
+
if (isNewsView) ;
|
|
18456
|
+
else if (currentPlaying || queuedActivitiesRef.current?.length) queuedActivitiesRef.current = [
|
|
18457
|
+
...queuedActivitiesRef.current,
|
|
18458
|
+
lastBotActivity
|
|
18459
|
+
];
|
|
18460
|
+
else if (endedActivities.length === 0 || endedActivities[endedActivities.length - 1] !== lastBotActivity.id) createNewUtterance = true;
|
|
18461
|
+
} else if (lastBotActivity.replyToId === streamingReplyToId) {
|
|
18462
|
+
if (lastBotActivity.value?.streamingId) {
|
|
18463
|
+
(0, $04ce41b46d359821$export$b03f86112d469252)(lastBotActivity);
|
|
18464
|
+
currentPlayingRef.current = lastBotActivity;
|
|
18465
|
+
} else queuedActivitiesRef.current = [
|
|
18466
|
+
...queuedActivitiesRef.current,
|
|
18467
|
+
lastBotActivity
|
|
18468
|
+
];
|
|
18469
|
+
} else if (!appAvailable) {
|
|
18470
|
+
if (!currentReplyToId) {
|
|
18471
|
+
(0, $04ce41b46d359821$export$96a5fb7d9bf39b8a)(lastBotActivity.replyToId);
|
|
18472
|
+
queuedActivitiesRef.current = [
|
|
18473
|
+
lastBotActivity
|
|
18474
|
+
];
|
|
18475
|
+
} else if (currentReplyToId === lastBotActivity.replyToId) {
|
|
18476
|
+
let count = 0;
|
|
18477
|
+
if (queuedActivitiesRef.current?.length) queuedActivitiesRef.current.forEach((activity)=>{
|
|
18478
|
+
if (activity.id === lastBotActivity.id) count++;
|
|
18479
|
+
});
|
|
18480
|
+
if (count === 0) queuedActivitiesRef.current = [
|
|
17767
18481
|
...queuedActivitiesRef.current,
|
|
17768
18482
|
lastBotActivity
|
|
17769
18483
|
];
|
|
17770
|
-
|
|
17771
|
-
|
|
17772
|
-
|
|
17773
|
-
|
|
17774
|
-
queuedActivitiesRef.current = [
|
|
17775
|
-
lastBotActivity
|
|
17776
|
-
];
|
|
17777
|
-
} else if (currentReplyToId === lastBotActivity.replyToId) {
|
|
17778
|
-
let count = 0;
|
|
17779
|
-
if (queuedActivitiesRef.current && queuedActivitiesRef.current.length > 0) queuedActivitiesRef.current.forEach((activity)=>{
|
|
17780
|
-
if (activity.id === lastBotActivity.id) count++;
|
|
17781
|
-
});
|
|
17782
|
-
if (count === 0) queuedActivitiesRef.current = [
|
|
17783
|
-
...queuedActivitiesRef.current,
|
|
17784
|
-
lastBotActivity
|
|
17785
|
-
];
|
|
17786
|
-
} else {
|
|
17787
|
-
(0, $04ce41b46d359821$export$96a5fb7d9bf39b8a)(lastBotActivity.replyToId);
|
|
17788
|
-
queuedActivitiesRef.current = [
|
|
17789
|
-
lastBotActivity
|
|
17790
|
-
];
|
|
17791
|
-
}
|
|
17792
|
-
} else if (currentActivityRef?.current) {
|
|
17793
|
-
const returnCode = (0, $604c6f0e3b9355dd$export$2e2bcd8739ae039)(lastBotActivity, currentActivityRef.current, currentReplyToId, queuedActivitiesRef.current, endedActivities);
|
|
17794
|
-
const queue = [
|
|
17795
|
-
...queuedActivitiesRef.current
|
|
18484
|
+
} else {
|
|
18485
|
+
(0, $04ce41b46d359821$export$96a5fb7d9bf39b8a)(lastBotActivity.replyToId);
|
|
18486
|
+
queuedActivitiesRef.current = [
|
|
18487
|
+
lastBotActivity
|
|
17796
18488
|
];
|
|
17797
|
-
switch(returnCode){
|
|
17798
|
-
case 0:
|
|
17799
|
-
break;
|
|
17800
|
-
case 1:
|
|
17801
|
-
// Add the activity to the queue
|
|
17802
|
-
queue.push(lastBotActivity);
|
|
17803
|
-
queuedActivitiesRef.current = queue;
|
|
17804
|
-
break;
|
|
17805
|
-
case 2:
|
|
17806
|
-
// Stop current activity and play the new one
|
|
17807
|
-
queuedActivitiesRef.current = [];
|
|
17808
|
-
createNewUtterance = true;
|
|
17809
|
-
break;
|
|
17810
|
-
}
|
|
17811
|
-
} else createNewUtterance = !endedActivities.includes(lastBotActivity.id);
|
|
17812
|
-
if (createNewUtterance) {
|
|
17813
|
-
currentActivityRef.current = lastBotActivity;
|
|
17814
|
-
(0, $04ce41b46d359821$export$96a5fb7d9bf39b8a)(lastBotActivity.replyToId || "customReplyToIdIfNotPresent");
|
|
17815
|
-
const params = {
|
|
17816
|
-
activity: lastBotActivity,
|
|
17817
|
-
voice: getVoiceAfterCheckingActivityLocale(lastBotActivity.locale || locale),
|
|
17818
|
-
locale: lastBotActivity.locale || locale
|
|
17819
|
-
};
|
|
17820
|
-
setUtterance(checkActivityAndCreateUtterance(params));
|
|
17821
18489
|
}
|
|
18490
|
+
} else if (currentActivityRef?.current) {
|
|
18491
|
+
const returnCode = (0, $604c6f0e3b9355dd$export$2e2bcd8739ae039)(lastBotActivity, currentActivityRef.current, currentReplyToId, queuedActivitiesRef.current, endedActivities);
|
|
18492
|
+
const queue = [
|
|
18493
|
+
...queuedActivitiesRef.current
|
|
18494
|
+
];
|
|
18495
|
+
switch(returnCode){
|
|
18496
|
+
case 0:
|
|
18497
|
+
break;
|
|
18498
|
+
case 1:
|
|
18499
|
+
// Add the activity to the queue
|
|
18500
|
+
queue.push(lastBotActivity);
|
|
18501
|
+
queuedActivitiesRef.current = queue;
|
|
18502
|
+
break;
|
|
18503
|
+
case 2:
|
|
18504
|
+
// Stop current activity and play the new one
|
|
18505
|
+
queuedActivitiesRef.current = [];
|
|
18506
|
+
createNewUtterance = true;
|
|
18507
|
+
break;
|
|
18508
|
+
}
|
|
18509
|
+
} else createNewUtterance = !endedActivities.includes(lastBotActivity.id);
|
|
18510
|
+
if (createNewUtterance) {
|
|
18511
|
+
currentActivityRef.current = lastBotActivity;
|
|
18512
|
+
(0, $04ce41b46d359821$export$96a5fb7d9bf39b8a)(lastBotActivity.replyToId || "customReplyToIdIfNotPresent");
|
|
18513
|
+
const params = {
|
|
18514
|
+
activity: lastBotActivity,
|
|
18515
|
+
voice: getVoiceAfterCheckingActivityLocale(lastBotActivity.locale || locale),
|
|
18516
|
+
locale: lastBotActivity.locale || locale
|
|
18517
|
+
};
|
|
18518
|
+
setUtterance(checkActivityAndCreateUtterance(params));
|
|
17822
18519
|
}
|
|
17823
18520
|
}
|
|
17824
18521
|
}, [
|
|
@@ -17826,6 +18523,24 @@ const $45f8218489149157$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
|
|
|
17826
18523
|
ponyfill,
|
|
17827
18524
|
voice
|
|
17828
18525
|
]);
|
|
18526
|
+
(0, $b3y7N$useEffect)(()=>{
|
|
18527
|
+
if (streamingReplyToId && streamingQueue.length) {
|
|
18528
|
+
const tempActivity = streamingQueue[0];
|
|
18529
|
+
const params = {
|
|
18530
|
+
activity: tempActivity,
|
|
18531
|
+
voice: getVoiceAfterCheckingActivityLocale(locale),
|
|
18532
|
+
locale: locale
|
|
18533
|
+
};
|
|
18534
|
+
(0, $04ce41b46d359821$export$eb50624bfd363865)();
|
|
18535
|
+
setUtterance(checkSayAsWordsAndCreateUtterance(params));
|
|
18536
|
+
(0, $04ce41b46d359821$export$b03f86112d469252)(undefined);
|
|
18537
|
+
currentPlayingRef.current = null;
|
|
18538
|
+
currentActivityRef.current = null;
|
|
18539
|
+
tempCurrentStreamingRef.current = tempActivity.text || null;
|
|
18540
|
+
}
|
|
18541
|
+
}, [
|
|
18542
|
+
streamingReplyToId
|
|
18543
|
+
]);
|
|
17829
18544
|
/**
|
|
17830
18545
|
* On utteranceEnded state change :
|
|
17831
18546
|
* - if the state is true, an utterance just ended, so the steps are :
|
|
@@ -17855,6 +18570,20 @@ const $45f8218489149157$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
|
|
|
17855
18570
|
currentPlayingRef.current = currentActivityRef.current;
|
|
17856
18571
|
}
|
|
17857
18572
|
dispatchSpeechEvent(true);
|
|
18573
|
+
// Set next utterance to prepare synthesis data in order to improve fluidity
|
|
18574
|
+
if (streamingReplyToId && streamingQueue.length) {
|
|
18575
|
+
const tempActivity = streamingQueue[0];
|
|
18576
|
+
if (tempActivity.text) {
|
|
18577
|
+
const params = {
|
|
18578
|
+
activity: tempActivity,
|
|
18579
|
+
voice: getVoiceAfterCheckingActivityLocale(locale),
|
|
18580
|
+
locale: locale
|
|
18581
|
+
};
|
|
18582
|
+
const tempUtterance = checkSayAsWordsAndCreateUtterance(params);
|
|
18583
|
+
tempUtterance.text !== nextUtterance?.text ? setNextUtterance(tempUtterance) : setNextUtterance(null);
|
|
18584
|
+
} else setNextUtterance(null);
|
|
18585
|
+
} else setNextUtterance(null);
|
|
18586
|
+
(0, $04ce41b46d359821$export$d300d9470f5679ba)(tempCurrentStreamingRef?.current);
|
|
17858
18587
|
};
|
|
17859
18588
|
/**
|
|
17860
18589
|
* On call :
|
|
@@ -17866,7 +18595,7 @@ const $45f8218489149157$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
|
|
|
17866
18595
|
dispatchSpeechEvent(false);
|
|
17867
18596
|
};
|
|
17868
18597
|
const checkDictateState = ()=>{
|
|
17869
|
-
!preventExpectedInputHint && mode === (0, $f5ca62954d1f1f5b$export$9484bbecc3c49a2e).vocal && toggleMicrophone();
|
|
18598
|
+
!preventExpectedInputHint && mode === (0, $f5ca62954d1f1f5b$export$9484bbecc3c49a2e).vocal && toggleMicrophone(true);
|
|
17870
18599
|
};
|
|
17871
18600
|
/**
|
|
17872
18601
|
* On call :
|
|
@@ -17875,7 +18604,7 @@ const $45f8218489149157$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
|
|
|
17875
18604
|
* - if it wasn't a cancel, deal with the queue
|
|
17876
18605
|
* - if this was the last activity of the queue, check if the microphone has to be opened automatically (inputHint = expectingInput)
|
|
17877
18606
|
*/ const handleEnded = ()=>{
|
|
17878
|
-
let
|
|
18607
|
+
let futureUtterance = null;
|
|
17879
18608
|
const ended = [
|
|
17880
18609
|
...endedActivities
|
|
17881
18610
|
];
|
|
@@ -17887,12 +18616,26 @@ const $45f8218489149157$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
|
|
|
17887
18616
|
(0, $04ce41b46d359821$export$b03f86112d469252)(undefined);
|
|
17888
18617
|
(0, $04ce41b46d359821$export$7cbdb517d05b0ba6)(ended);
|
|
17889
18618
|
// Check if the audio ended because of a cancel call
|
|
17890
|
-
if (
|
|
18619
|
+
if (cancelRef.current) {
|
|
17891
18620
|
queuedActivitiesRef.current = [];
|
|
18621
|
+
(0, $04ce41b46d359821$export$614a80601162ec38)(null);
|
|
18622
|
+
tempCurrentStreamingRef.current = null;
|
|
18623
|
+
(0, $04ce41b46d359821$export$87afd75c41a617d7)([]);
|
|
17892
18624
|
(0, $04ce41b46d359821$export$d0df6aec4e971f52)(false);
|
|
18625
|
+
} else if (streamingQueue.length) {
|
|
18626
|
+
const tempActivity = streamingQueue[0];
|
|
18627
|
+
const params = {
|
|
18628
|
+
activity: tempActivity,
|
|
18629
|
+
voice: getVoiceAfterCheckingActivityLocale(locale),
|
|
18630
|
+
locale: locale
|
|
18631
|
+
};
|
|
18632
|
+
(0, $04ce41b46d359821$export$eb50624bfd363865)();
|
|
18633
|
+
futureUtterance = checkSayAsWordsAndCreateUtterance(params);
|
|
18634
|
+
tempCurrentStreamingRef.current = tempActivity.text || null;
|
|
17893
18635
|
} else {
|
|
18636
|
+
(0, $04ce41b46d359821$export$614a80601162ec38)(null);
|
|
17894
18637
|
// Launch next activity in the queue and remove it from the queue
|
|
17895
|
-
if (queuedActivitiesRef.current
|
|
18638
|
+
if (queuedActivitiesRef.current?.length) {
|
|
17896
18639
|
const activity = queuedActivitiesRef.current[0];
|
|
17897
18640
|
currentActivityRef.current = activity;
|
|
17898
18641
|
const params = {
|
|
@@ -17900,7 +18643,7 @@ const $45f8218489149157$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
|
|
|
17900
18643
|
voice: getVoiceAfterCheckingActivityLocale(activity.locale || locale),
|
|
17901
18644
|
locale: activity.locale || locale
|
|
17902
18645
|
};
|
|
17903
|
-
|
|
18646
|
+
futureUtterance = checkActivityAndCreateUtterance(params);
|
|
17904
18647
|
const queue = [
|
|
17905
18648
|
...queuedActivitiesRef.current
|
|
17906
18649
|
];
|
|
@@ -17909,12 +18652,13 @@ const $45f8218489149157$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
|
|
|
17909
18652
|
} else if (currentPlayingRef?.current?.inputHint === "expectingInput") checkDictateState();
|
|
17910
18653
|
}
|
|
17911
18654
|
currentPlayingRef.current = null;
|
|
17912
|
-
setUtterance(
|
|
18655
|
+
setUtterance(futureUtterance);
|
|
17913
18656
|
};
|
|
17914
18657
|
return /*#__PURE__*/ (0, $b3y7N$jsx)((0, $ba6bf0e283157133$export$2e2bcd8739ae039), {
|
|
17915
18658
|
ponyfill: ponyfill,
|
|
17916
18659
|
appAvailable: appAvailable,
|
|
17917
18660
|
utterance: utterance,
|
|
18661
|
+
nextUtterance: nextUtterance,
|
|
17918
18662
|
onStart: handleUtteranceStart,
|
|
17919
18663
|
onError: handleUtteranceEnd,
|
|
17920
18664
|
onEnd: handleUtteranceEnd
|
|
@@ -18141,6 +18885,52 @@ var $efe892d829a9a26a$export$2e2bcd8739ae039 = $efe892d829a9a26a$var$SpeechManag
|
|
|
18141
18885
|
|
|
18142
18886
|
|
|
18143
18887
|
|
|
18888
|
+
|
|
18889
|
+
const $86772fb907b8c462$var$FocusManager = ()=>{
|
|
18890
|
+
const { currentDeviceType: currentDeviceType } = (0, $c7fecc7ec9b4c272$export$3abe3478af3cb63b)();
|
|
18891
|
+
const muted = (0, $04ce41b46d359821$export$f299240efcda25a2)((state)=>state.muted);
|
|
18892
|
+
const activeRecognitionState = (0, $04ce41b46d359821$export$f299240efcda25a2)((state)=>state.activeRecognitionState);
|
|
18893
|
+
const focusedRef = (0, $b3y7N$useRef)(true);
|
|
18894
|
+
const oldMutedRef = (0, $b3y7N$useRef)(muted);
|
|
18895
|
+
const recognitionStateRef = (0, $b3y7N$useRef)(activeRecognitionState);
|
|
18896
|
+
(0, $b3y7N$useEffect)(()=>{
|
|
18897
|
+
focusedRef.current && (oldMutedRef.current = muted);
|
|
18898
|
+
}, [
|
|
18899
|
+
muted
|
|
18900
|
+
]);
|
|
18901
|
+
(0, $b3y7N$useEffect)(()=>{
|
|
18902
|
+
recognitionStateRef.current = activeRecognitionState;
|
|
18903
|
+
}, [
|
|
18904
|
+
activeRecognitionState
|
|
18905
|
+
]);
|
|
18906
|
+
const handleVisibilityChange = ()=>{
|
|
18907
|
+
if (document.visibilityState === "visible") {
|
|
18908
|
+
focusedRef.current = true;
|
|
18909
|
+
oldMutedRef.current === false && (0, $04ce41b46d359821$export$a1680ba91cc9be33)(false);
|
|
18910
|
+
} else {
|
|
18911
|
+
focusedRef.current = false;
|
|
18912
|
+
(0, $04ce41b46d359821$export$d0df6aec4e971f52)(true);
|
|
18913
|
+
(0, $04ce41b46d359821$export$a1680ba91cc9be33)(true);
|
|
18914
|
+
recognitionStateRef.current === (0, $f5ca62954d1f1f5b$export$3f0071308968cd80).Listening && (0, $04ce41b46d359821$export$45913366c4ba414f)((0, $f5ca62954d1f1f5b$export$3f0071308968cd80).ForceClosing);
|
|
18915
|
+
}
|
|
18916
|
+
};
|
|
18917
|
+
(0, $b3y7N$useEffect)(()=>{
|
|
18918
|
+
currentDeviceType === (0, $f5ca62954d1f1f5b$export$ec1e04e4e5ef8233).mobile && document.addEventListener("visibilitychange", handleVisibilityChange);
|
|
18919
|
+
return ()=>{
|
|
18920
|
+
document.removeEventListener("visibilitychange", handleVisibilityChange);
|
|
18921
|
+
};
|
|
18922
|
+
}, [
|
|
18923
|
+
currentDeviceType
|
|
18924
|
+
]);
|
|
18925
|
+
return /*#__PURE__*/ (0, $b3y7N$jsx)((0, $b3y7N$react).Fragment, {});
|
|
18926
|
+
};
|
|
18927
|
+
var $86772fb907b8c462$export$2e2bcd8739ae039 = $86772fb907b8c462$var$FocusManager;
|
|
18928
|
+
|
|
18929
|
+
|
|
18930
|
+
|
|
18931
|
+
|
|
18932
|
+
|
|
18933
|
+
|
|
18144
18934
|
const $964fbb4bb9670565$export$ad7b40b81d5409c = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAADuCAYAAAA+7jsiAAAABHNCSVQICAgIfAhkiAAAF/VJREFUeF7tXQkUdVMVzixjGSLCrwwViZCIIqm0pEJRMrRSmSIqJZZVi0pL0aCkxJ+xiFpNf0UkKmT9izQYs8xT5nms77Pes+5/3fveHc6+b+/7vr3WXu+9+87ZZ59vv++de8841wskk0bglXDgNQNdBa8rQBeDLpLRBfH+SejjmdcH8f62gd6E12ugf4NePukKqXx7BOayL0IlZBBYAu8/CH0PlCRdyQgdEpl6PvTbA3IbFSWzk0BAxLVFnfhuAv0q9FXQxW2LK7XO1vlG6Fegp0L/NyE/VGwiBETcREBmzMyH9+tCfwJdDjpv+iJaWXxm0ALvitcLoY+1sqbME0FAxE0H+4ow9VnonulMdmJpFkr5BPS6TkpTIUkQEHHbw7geTBwPZQdTE+Ft6/XQOwYt4T/wegX0bui90Hug90HZci+a0WXxfk3oGlC+fwmUz81s8ZvItcj0EeifmmRWnm4REHGb4/12ZD0KymfXOkKCng3984Ak/6qTuULaGUjzRuhG0C2hK1fIk01yKz4cAD2lZj4l7xABEbc+2Kshy89rEpYkPRbKXl52EnUpSw2IvBNet61RMIeXPgS9pEYeJe0IARG3HtBsKd9aMcstSPcx6AVQ9up6kAXgxOuh34XyNruKXIpEm0IfrpJYabpBQMSthvO+SHYEdNzz49NIczT0kAFZPQ+7cILHPtAvVKgXe6IPHaSthphSmSIg4o6Gl51BF0FfPSYKD+F7jtV+GcofeSSZG87uAj0S+qIxjnNSx+ug/41UwT762mfivhABewLKVrCJvAOZOFQySh7Bl2xdv96kAId53g+f+Cw+jsA7IA3HqSUTQqDPxGXvLTtm3gv9RU18T0f6943Jcxy+5zOs59vhmtV+LvnheMcx6VHCDrdNoU81LUT5miPQZ+JyQv78A2i+j9ePV4CJk/k5hsrx0DLhRP5toDdXsBc5CR8TOCT0rhGV4C0zx5HvjFzRiL73mbicwMBJ/UO5Cm/4fMbb2yJZFRdnQ9lpUyY744uTIga6hc8k7qg7Fv5Bbgxl77OkIwT6TFyOQ+ZbTs7L5aT//I9se1xj6zJPCe60xUkNd3UUF2/FcHEEx6BfW+IYO+T43HuGN8f76k+ficve4A0KAsdnUq5j5SQKEvUDUK5/LZPv4AvO5e3js2yd3zV/K3tBuUywTD6FL9g7LTFGoM/E/RGw461tU2FvNGcbndbUQE/z8c+Qk0rKxrR3x3fsmZYYItBn4nKVDlvLJsLnNj7zctxS8nwElsQlLkooGzbiYgUuvJAYIdBn4nJNbNMOk7WQl73LknIEuFrpMih7lYvkw7g4UwDaINBn4hKxps+lvA3U+OT43xxnXbEvYf2SpJqoMR7DRin6TtxHgQrHZusKJ+Nz1pVkPAKjWl7+cXIzvKvHm1GKOgj0nbhciD5u+l4RXt/ExU/WAXLK07Ll5TNv0dpfririMzH7DSSJEOg7cbko/KUNsSJ594M2vd1uWGzobGV483aaC/uFZaLw9p24nJ7IrWWaCjuoNoRqLWo1BNnyEquix5MDcZ1zoCUJEOg7cblqZ/+WOPE5mYvPuReUZDwC7GUuw4r7cgnH8RiOTdF34nLj8Z+NRaFagjcjmTZSq4YVZ5p9qyAp54kvXM2EUo1CoO/E5Rxb7pCYQrhogcsEJdUQOBPJuIoqLyfjAmekSVog0Hfisn7szRy35cwoCP+NL9lqcw4uySuphgDngROv/OkN7KDizphcrSVpiEDfiUtYloZy47Ysebmahcr5yHyG/QuUt8FcAcMxR47h8pAtvqontOGPC9nYsUds83IDLsxoblY5p4G4jDLryW1VedoAp+mxJRgSUsS05QFvjXcsKOLTuNaXLX9sESywPi3E7RxYFTgHAg/gE3fUyArvZhaCNt0TbKohFnGnOvydVZ4nKvymoDSt320YAhG3IXDKVhsBPtfyUSUv3CpIE1xqwini1gRMyRsjwPXN7EnO/+YOxrUvNbY6pRlF3CkN/ISqXdbqcg9sndNbIygibg2wlLQ1AsvAwu0FVrbCtV+3tj5FBkTcKQq2k6ryAO2X53zhMy57nTU0VzFIIm5FoJQsGQJcrcVVW1khYXkwt84kqgiziFsRKCVLhgB3zOA0VC4BzMof8WGzZKX03JCI2/MAO60eT7zn6YZZYecUO6kkFRAQcSuApCTJEeBtMQ9ly4uWTlaEWsStCJSSJUfgEljM7w55Lq5tnrykHhpMQVza4Kl4Zefu9BA20ypxVRK177IPKsh9vbKiNc8Vo96UuCvAPg9+/jx0RsWylKw6Auxl/QP0UOjl0PurZw2Tkpv4cXO5vHA7V63VHRPGusRdE/ZmQnlKgKQ7BLj87RBo2RGh3XmStqTrC/74ueXNvmmL6Z+1OsQ9EdXXliOT+w2wFd4a+qvJuZC85GNgkYeEZeVifHhD8pJ6ZrAqcf+OenOHPsnkEeAwyucm70YSD94CK3wkyAp3JOE6XckIBKoQl3su8blD4gcBEjc/DurHu3qeFE1zfBlMcLshSQkC44hbtlMfzbHn83QoB9MfhHIPJ0l7BNg7zzNo+azH7XbyM4xYAn/s3M+Jt5XRhYsOuPggK9vhA397khIERhG3bKMvmuLZpzwDVWKLAM89+id0uYJi7sI1TmSILrNRgXVylTgKn9tuZB8dl5H+jyJu2S3yR2HxuF6j4q9y3CmRf6R54d3OEf7creXRV5A6/8zOHTc5i0pSgkAZcV+L9NwNMS/sBeRJ75JuEeDt8k3QfMt7W8G1bj1rXxrnA8zKmeHzLZ9zJTWJy4F/bimSFa6Z5P5AkskgwJUznBKYl1VwgWtco0rZvOVx/S9R65vE7zJwONCfX6mhM2OTQN7KCFuifKvbhx5mbtGa74RbDNfY6SkpQKCIuNzxv+g0du5Q8JBjFLeAb2dBud6zibDOyzuvY1EvP/sb2O8QWTh2mz+ak7tkcGaVpCJxiw7K4lAPFxJ43ry6bMf8OoFfC4l5Jq5XOQiOHZZz7mx8fptXhyv6xbnYbGGzwpVDl1bMP3XJilrcomcOEnYB58TlnQJ7KNlq1hXicAbU+9jhLvBxZq5y7ETMD6fUrf+k098DB16cc4In2P910o55Lb9PxPWKcUq/doWxE3pIXC7nWyJXr03w+cKU4PXJlogbK5p9JS43iVsyFwrthjHityniirgeEOAssPyh4VyAcJ4H5zz6IOJ6jEq5T31tce9ElXmOcVY4SnBOrPB0562I2x3WKUrqK3GLWlzuPVU04SQFjuFtiLixQthX4t6HMHAYMisaDtIzbix2jvC2r8TlxJ6Fc/VeHZ+v7k3kElekbYtLcPeDcnKGJB0CV8LU16D5Nc59JS43Q+c8gaxwM7miA8LSoRzYUlvi3oy6N5nwEBiyzlznZAvu85WVvhL3KVQyv70vW+C+bY6X7MfTlrhFvYHJnJtyQ4ej/gdOAXE5t7xoH2mtDhpBAAvicueCH0PZ4aDtbEb/+3BiPaf6cbolT7HLyrQQl3Xm5nDEgWtwqVx7zJMOJCUIpCQub3f4XKKjEuv/3BiHvaHcZ2oo00Tc+ohNeY6UxOX+uMdOOZ5tq8/VMMPN5kXctmj2OH8q4rI7n+t1Je0Q2AbZhyuURNx2WPY6dyri3giUVuo1Ut1ULrsWWsTtBvOQpaQi7rWo/aohEfDn9HCDcBHXX2zceCTiugnFc46IuP5i4s4jEdddSJ49pYCiFtdfbNx4JOK6CYVaXH+h8OuRiOsvNmpx/cXEnUcirruQ6FbZX0j8eSTi+ouJWlx/MXHnkYjrLiRqcf2FxJ9HIq6/mKjF9RcTdx6JuO5CohbXX0j8eSTi+ouJWlx/MXHnkYjrLiRqcf2FxJ9HIq6/mKjF9RcTdx6JuO5CohbXX0j8eSTi+ouJWlx/MXHnkYjrLiRqcf2FxJ9HIq6/mKjF9RcTdx6JuO5CohbXX0j8eSTi+ouJWlx/MXHnkYjrLiRqcf2FxJ9HIq6/mKjF9RcTdx6JuO5CohbXX0j8eSTi+ouJWlx/MXHnkYjrLiRqcf2FxJ9HIq6/mKjF9RcTdx6JuO5CohbXX0j8eSTi+ouJWlx/MXHnkYjrLiRqcf2FxJ9HIq6/mKjF9RcTdx6JuO5CohbXX0j8eSTi+ouJWlx/MXHnkYjrLiRqcf2FxJ9HIq6/mKjF9RcTdx6JuO5CohbXX0j8eSTi+ouJWlx/MXHnkYjrLiRqcf2FxJ9HIq6/mKjF9RcTdx6JuO5CohbXX0j8eSTi+ouJWlx/MXHnkYjrLiRqcf2FxJ9HIq6/mKjF9RcTdx6JuO5CohbXX0j8eSTi+ouJWlx/MXHnkYjrLiRqcf2FxJ9HIq6/mKjF9RcTdx6JuO5CohbXX0j8eSTi+otJ0xZ3C1RlH+h60GX9VUseDRB4Bq+3Q2+B/hp6DPTOuuiIuHURs09fl7iz4dLF0D3sXVMJRghcAbvvhN5c1b6IWxWp7tLVJe4lcG1d6DzduaiSjBA4C3a3gw5/A6XFiLhGEWhhti5x2eLeAd2yRZnK6geBG+DKKtCnRrkk4voJ2NCTusS9DBnXgX4cegB0GejC/qolj2ogcN2AvGpxa4A26aR1iXstHF510k6r/MoILIGUa0D3gm414k/2dHy3fZlVtbiV8e4sYV3i0rF5oU935qEKSoXA3DB0NLSsY3EDfMc+jOeJiJsqBOnsNCEueyRnpXNBljpGYEeUd3JBmdfg2moibsfRaFhcE+KytX0R9KGGZSrb5BFgy8vb57ysjQuX5y+qxZ18wPIeNCEubTwGZc/yhVASeeyQgr+qT71HDwCBRXMofAmfDxZx/f82mhJ3WDPOzKFKukWAQ3JvhrJHuKl8HRn3z2V+FJ8XEnGbQtpdvrbE7c5TlZRH4Je4sHULWF6IvI8U5J8f157MXtetcguUjbKmIO718I3/1JL0CCwCkyuWmD0X1zdvUSRnvz0BZW9zVth/cb+I2wLZDrK2IS6ny53ZgY/TXgSJtRv02BwQKYj7OGzmp69yUs0cCxHU4vr7CTYlLgf27/VXnV57tBxqd1OmhRRxex3u0ZVrQlz2Jv92ijGbZNV3QeEzBw6IuJOMxITLbkLc+eDzyEnpE65Tn4vnM++DIm6fQ1ytbnWJ+x+YfUU100plgACnmw57fNXiGgAcxWRd4g5XB0WpX9/8ZEfVcJ64iNu36Naoj4hbAywHSUVcB0Hw4IKI6yEK1X0Qcatj1euUIm6s8Iq4seJl5q2IawatiWER1wTWeEZF3FgxE3FjxcvMWxHXDFoTwyKuCazxjIq4sWIm4saKl5m3Iq4ZtCaGRVwTWOMZFXFjxUzEjRUvM29FXDNoTQyLuCawxjMq4saKmYgbK15m3oq4ZtCaGBZxTWCNZ1TEjRUzETdWvMy8FXHNoDUxLOKawBrPqIgbK2Yibqx4mXkr4ppBa2JYxDWBNZ5RETdWzETcWPEy81bENYPWxLCIawJrPKMibqyYibix4mXmrYhrBq2JYRHXBNZ4RkXcWDETcWPFy8xbEdcMWhPDIq4JrPGMirixYibixoqXmbcirhm0JoZFXBNY4xkVcWPFTMSNFS8zb0VcM2hNDIu4JrDGMyrixopZXeLujepdBT27oJo8F1fn48aK/3PeirixAleHuDugaqdBedYQDwvLi4gbK/ZzeCvixgpeHeIehKodBn0Gmj91nrUWcWPFXsQNHC8RN3DwUrquFjclmva2RFx7jEOUIOKGCNNzToq4seJl5q2IawatiWER1wTWeEZF3FgxE3FjxcvMWxHXDFoTwyKuCazxjIq4sWIm4saKl5m3Iq4ZtCaGRVwTWOMZFXFjxUzEjRUvM29FXDNoTQyLuCawxjMq4saKmYgbK15m3oq4ZtCaGBZxTWCNZ1TEjRUzETdWvMy8FXHNoDUxXIe4m8GDc6FPQBco8Earg0xC1I1REbcbnFOVUoe4LHMN6K3Qe0XcVCHwYUfE9RGHql7UJe4ou2pxq6LuMJ2I6zAoI1wScWPFy8xbEdcMWhPDIq4JrPGMirixYibixoqXmbcirhm0JoZFXBNY4xkVcWPFTMSNFS8zb0VcM2hNDIu4JrDGMyrixoqZiBsrXmbeirhm0JoYFnFNYI1nVMSNFTMRN1a8zLwVcc2gNTEs4prAGs+oiBsrZiJurHiZeSvimkFrYljENYE1nlERN1bMRNxY8TLzVsQ1g9bEsIhrAms8oyJurJiJuLHiZeatiGsGrYlhEdcE1nhGRdxYMRNxY8XLzFsR1wxaE8Mirgms8YyKuLFiJuLGipeZtyKuGbQmhkVcE1jjGRVxY8VMxI0VLzNvRVwzaE0Mi7gmsMYzKuLGipmIGyteZt6KuGbQmhgWcU1gjWdUxI0Vs9DEvRNYLxMLb5fevhpe/XPg2eF4PTDn5a74fELu2mX4vI7L2kyHU6GJ+xRitCD06emIlVkt94PlI2sSl+fQLG/mkQyPQ2A+JOAhXhQe6LX5uAwjvu/8CBL6cgH0TS2cnvasiwEAHgTFf3BK1RaXaReCPjrtAE6o/oug3AcjE5e+Hw/dDTp8TpsQluGKXWnwb/3yjOd1iLsX8n03XK374fC3UI1PRCcu/f8v9CLo+WoFxv4ySdT1oEV3KnWIy4JWhV47tkQlSInARjD254zBkLfKKQGRrXq3ykO82Op+BvqIADRF4MWw/n3odrlSwhCXjm5qCtF0Gn8G1Z4BvTlX/V3xOd+rXITQY7hIG5L0CLADqeg0eZaUgrjs6Br2cwy9Z//H8Dn62WtzFdTrJbh2R+46e4vpbFGvMSsiSYsA+wiKiFeVuGm9kbWqCJyKhDtWTVyQbmlc49BqXubNcy8FcVv4qaw1ERhHXAb9duj90OEQRc0ilLwBAuQRh+X2hM7RMta0dSLS75TLw0Z02bwdEbcmshNOXkbcW+DXNtBLJuyfim+HAIf0OB8iKxzb/0ZfiXsoKrYhdC1o01t3tlJ/g54B/Wk7/M1ylxGXwX7crFQZ7gKBWSjkHQUFrYZr1/SNuOujQr+DspcvpXidTFJEXPYgL5yy8rLVOQJHo0SOxeflPFx4S5E3kW+V2bI+BB3eWrBDh/N2Of2yiSyHTNmpg3/E582aGDLMU0RcFncSdGfDcmXaBoHFYfZPUN4pFskMXLyhb8Tl7ey2g0rtjtcfQNsOgXDe6RXQ1Qd2SVwS2IuUEZf+8Vb5Z1De6s+GPuzFafkxBwIr4BMf6w6BLgXND/0ME38Zbw4qwy5yi3s3KrUE9EroqxL+OIjJk1C26MdBP5rQdltTo4jb1rby+0HgHLiyxSh3ohKXA9LsTKIU9rq1jAFbK07cZ2fV61vaSpldxE2Jpk9bZ8Gt4Z1kqYdRicuWli0uZQ/o9xLHYEhc3nKum9h2G3O7IPPMNgaU1zUC+8O7o6p4WERcPjDfl8vMZ8f5oZ7W2w7JdSH82qRKZWuk4eQFPu+eBv1gjXzWSfnMc5h1IbLfOQLHoMQDoOxsrSRFxM0uDM4aIaEfqGS1m0R8DhguWt4Y77OrNNp4kB1P4yTyM9sYS5z357D37sQ2Za5bBEjOf0Evhx47eF97LXURcVkNGs+PDXKsabjusNuqFpfGHrm7Ml/dhPe/h7JjqYlwKIh/AMMxYQ56c/Dbk3Ba3UtLHOIifN7WExPejWhNtKfIJfaljLhfRDnsrs4Kybxo4vLbmvswDHB5FSdhpxSuKea4btM/gZS+DG1tiTe/KTG8D67zj1VktUDeoc0y4r4Gvv69wN8f4hp3uPAkfPbmov0VoVxdUVancT5zHJQT9H8JZU+1J+Ef043QotaWY9i85ZJMEQKjfuS8Dy8aHyVxSWBJNwiQtPxj4m4LefHWedYNIiplZOvE56VLSzDiYu6PQZtOLxT01RB4JZLx9njlguR8luXaackUIjDutvIUYFI2HMJby99COYbKvYD5XChphwCnv5Gkm0K5IPsNJeb4h8nOtKJF1+08UO4QCIwjLivBKYXDubshKjUFTr4NdTx7CuqpKpYgUIW4fMbi8y53EZRMFgH2Gu8APX2ybqj0SSNQhbj0kenYEfL+wftJ+z2N5XPdLY8oKVzmNY2ATHOdqxJ3iBH3vuHMorWnGbSO634PyuNeRJ+Geppy2jEMKi6LQF3iDvNykj8n93OrDY4t8sAvHsUgaYcAb4U50YU9xtwUgLsGeppy2a52yp0Mgf8DujwcdkiK8zwAAAAASUVORK5CYII=";
|
|
18145
18935
|
|
|
18146
18936
|
|
|
@@ -18239,14 +19029,16 @@ const $9ecfb2c3feeca9a7$var$SendTypingIndicator = ()=>{
|
|
|
18239
19029
|
const listOpened = (0, $3426110875af99d0$export$77e4cc5334565f28)((state)=>state.listOpened);
|
|
18240
19030
|
const retorikEvent = (0, $3426110875af99d0$export$77e4cc5334565f28)((state)=>state.retorikEvent);
|
|
18241
19031
|
const userIsTyping = (0, $3426110875af99d0$export$77e4cc5334565f28)((state)=>state.userIsTyping);
|
|
19032
|
+
const userIsSwiping = (0, $3426110875af99d0$export$77e4cc5334565f28)((state)=>state.userIsSwiping);
|
|
18242
19033
|
const dataRef = (0, $b3y7N$useRef)(false);
|
|
18243
19034
|
(0, $b3y7N$useEffect)(()=>{
|
|
18244
|
-
dataRef.current = !loaderClosed || lastRecognitionInterim !== "" || userIsTyping || speaking || currentSubView !== (0, $f5ca62954d1f1f5b$export$f05d0fed0593ead7).none || route === (0, $f5ca62954d1f1f5b$export$3565eb3d00ca5a74).News || retorikEvent === (0, $f5ca62954d1f1f5b$export$4f7cd669585dc69f).DetailViewOpen || listOpened;
|
|
19035
|
+
dataRef.current = !loaderClosed || lastRecognitionInterim !== "" || userIsTyping || userIsSwiping || speaking || currentSubView !== (0, $f5ca62954d1f1f5b$export$f05d0fed0593ead7).none || route === (0, $f5ca62954d1f1f5b$export$3565eb3d00ca5a74).News || retorikEvent === (0, $f5ca62954d1f1f5b$export$4f7cd669585dc69f).DetailViewOpen || listOpened;
|
|
18245
19036
|
}, [
|
|
18246
19037
|
appAvailable,
|
|
18247
19038
|
loaderClosed,
|
|
18248
19039
|
lastRecognitionInterim,
|
|
18249
19040
|
userIsTyping,
|
|
19041
|
+
userIsSwiping,
|
|
18250
19042
|
speaking,
|
|
18251
19043
|
currentSubView,
|
|
18252
19044
|
route,
|
|
@@ -18302,6 +19094,7 @@ const $7ca39a491751a711$var$RetorikContainer = ({ parent: parent, isConfigUpdate
|
|
|
18302
19094
|
/*#__PURE__*/ (0, $b3y7N$jsx)((0, $efe892d829a9a26a$export$2e2bcd8739ae039), {
|
|
18303
19095
|
isRetorikNews: parent === (0, $f5ca62954d1f1f5b$export$a31c5a03aaeee5f).news
|
|
18304
19096
|
}),
|
|
19097
|
+
/*#__PURE__*/ (0, $b3y7N$jsx)((0, $86772fb907b8c462$export$2e2bcd8739ae039), {}),
|
|
18305
19098
|
/*#__PURE__*/ (0, $b3y7N$jsx)((0, $f11f1612db196f03$export$2e2bcd8739ae039), {
|
|
18306
19099
|
fullSize: parent !== (0, $f5ca62954d1f1f5b$export$a31c5a03aaeee5f).widget && props.config.fullSize !== false,
|
|
18307
19100
|
width: props.width,
|
|
@@ -18404,7 +19197,9 @@ const $760b7137ab1b4bd7$var$processJson = (json, retorikProps, baseAddress)=>{
|
|
|
18404
19197
|
pagination: undefined,
|
|
18405
19198
|
remote: undefined,
|
|
18406
19199
|
companyName: json.companyName,
|
|
19200
|
+
companyNameLocalized: json.companyNameLocalized,
|
|
18407
19201
|
subCompanyMessage: json.subCompanyMessage,
|
|
19202
|
+
subCompanyMessageLocalized: json.subCompanyMessageLocalized,
|
|
18408
19203
|
loaderInformationTexts: {
|
|
18409
19204
|
text: {
|
|
18410
19205
|
top: json.textModeHomeTitle,
|
|
@@ -18415,6 +19210,16 @@ const $760b7137ab1b4bd7$var$processJson = (json, retorikProps, baseAddress)=>{
|
|
|
18415
19210
|
bottom: json.voiceModeHomeSubtitle
|
|
18416
19211
|
}
|
|
18417
19212
|
},
|
|
19213
|
+
loaderInformationTextsLocalized: {
|
|
19214
|
+
text: {
|
|
19215
|
+
top: json.textModeHomeTitleLocalized,
|
|
19216
|
+
bottom: json.textModeHomeSubtitleLocalized
|
|
19217
|
+
},
|
|
19218
|
+
vocal: {
|
|
19219
|
+
top: json.voiceModeHomeTitleLocalized,
|
|
19220
|
+
bottom: json.voiceModeHomeSubtitleLocalized
|
|
19221
|
+
}
|
|
19222
|
+
},
|
|
18418
19223
|
hideRetorikLogo: json.hideRetorikLogo,
|
|
18419
19224
|
baseMenu: retorikProps?.menuConfig?.baseMenu,
|
|
18420
19225
|
customMenu: retorikProps?.menuConfig?.customMenu,
|
|
@@ -18680,6 +19485,66 @@ var $9c6965b05003bf9d$export$2e2bcd8739ae039 = $9c6965b05003bf9d$var$Loader;
|
|
|
18680
19485
|
|
|
18681
19486
|
|
|
18682
19487
|
|
|
19488
|
+
|
|
19489
|
+
|
|
19490
|
+
|
|
19491
|
+
const $fd8b465eaceabe41$export$284b58786299e6c5 = async ({ configurationData: configurationData, addressData: addressData })=>{
|
|
19492
|
+
if (configurationData) {
|
|
19493
|
+
if (typeof configurationData.userConsent === "boolean") return {
|
|
19494
|
+
displayGDPR: false,
|
|
19495
|
+
userConsent: configurationData.userConsent
|
|
19496
|
+
};
|
|
19497
|
+
else return {
|
|
19498
|
+
displayGDPR: true,
|
|
19499
|
+
data: configurationData
|
|
19500
|
+
};
|
|
19501
|
+
} else {
|
|
19502
|
+
const baseAddress = `${addressData.baseURI?.length ? (0, $99c9e8518c31254c$export$2e2bcd8739ae039)(addressData.baseURI) : (0, $29f3fbfb4bd47593$export$2e2bcd8739ae039)(addressData.prefix)}/${addressData.tenant ? addressData.tenant + "/" : ""}`;
|
|
19503
|
+
const fullAddress = `${baseAddress}api/gdpr/settings`;
|
|
19504
|
+
const response = await fetch(fullAddress).then((res)=>res.json()).catch((error)=>{
|
|
19505
|
+
console.warn(error);
|
|
19506
|
+
return undefined;
|
|
19507
|
+
});
|
|
19508
|
+
if (response) {
|
|
19509
|
+
// Format response data to get a GDPR-type object
|
|
19510
|
+
const responseToData = {
|
|
19511
|
+
title: {},
|
|
19512
|
+
message: {},
|
|
19513
|
+
link: {},
|
|
19514
|
+
linkURL: undefined,
|
|
19515
|
+
buttonAccept: {},
|
|
19516
|
+
buttonRefuse: {},
|
|
19517
|
+
messageAccepted: {},
|
|
19518
|
+
messageRefused: {}
|
|
19519
|
+
};
|
|
19520
|
+
for(const locale in response.localizationContainer){
|
|
19521
|
+
// Title
|
|
19522
|
+
response.localizationContainer[locale]?.ConsentTitle && (responseToData.title[locale] = response.localizationContainer[locale]?.ConsentTitle);
|
|
19523
|
+
// Message
|
|
19524
|
+
response.localizationContainer[locale]?.ConsentBody && (responseToData.message[locale] = response.localizationContainer[locale]?.ConsentBody);
|
|
19525
|
+
// Link
|
|
19526
|
+
response.localizationContainer[locale]?.PrivacyStatementTitle && (responseToData.link[locale] = response.localizationContainer[locale]?.PrivacyStatementTitle);
|
|
19527
|
+
// Message accepted
|
|
19528
|
+
response.localizationContainer[locale]?.ConsentAknowledgementAccepted && (responseToData.messageAccepted[locale] = response.localizationContainer[locale]?.ConsentAknowledgementAccepted);
|
|
19529
|
+
// Message refused
|
|
19530
|
+
response.localizationContainer[locale]?.ConsentAknowledgementRefused && (responseToData.messageRefused[locale] = response.localizationContainer[locale]?.ConsentAknowledgementRefused);
|
|
19531
|
+
}
|
|
19532
|
+
// LinkURl is the same for all languages
|
|
19533
|
+
responseToData.linkURL = response.privacyStatementUrl;
|
|
19534
|
+
return {
|
|
19535
|
+
displayGDPR: response.enableConsent,
|
|
19536
|
+
data: responseToData
|
|
19537
|
+
};
|
|
19538
|
+
}
|
|
19539
|
+
}
|
|
19540
|
+
return {
|
|
19541
|
+
displayGDPR: false,
|
|
19542
|
+
userConsent: false
|
|
19543
|
+
};
|
|
19544
|
+
};
|
|
19545
|
+
|
|
19546
|
+
|
|
19547
|
+
|
|
18683
19548
|
const $303b7224b8f411ea$var$RetorikConfigHandler = (props)=>{
|
|
18684
19549
|
const [mainConfig, setMainConfig] = (0, $b3y7N$useState)(undefined);
|
|
18685
19550
|
const [isConfigUpdated, setIsConfigUpdated] = (0, $b3y7N$useState)(false);
|
|
@@ -18696,7 +19561,8 @@ const $303b7224b8f411ea$var$RetorikConfigHandler = (props)=>{
|
|
|
18696
19561
|
...configuration
|
|
18697
19562
|
};
|
|
18698
19563
|
if (!data) {
|
|
18699
|
-
const
|
|
19564
|
+
const views = tempConfiguration.config?.baseMenu || (0, $cd0e91e00b0900ed$export$9bbca248acc786d3);
|
|
19565
|
+
const tempBaseMenu = views.filter((menu)=>// @ts-ignore : error on menu.view that doesn't exist in type CustomMenu
|
|
18700
19566
|
!menu.view || menu.view !== (0, $f5ca62954d1f1f5b$export$3b4d92ba873f009a).emergency);
|
|
18701
19567
|
tempConfiguration.config && (tempConfiguration.config.baseMenu = tempBaseMenu);
|
|
18702
19568
|
}
|
|
@@ -18709,8 +19575,7 @@ const $303b7224b8f411ea$var$RetorikConfigHandler = (props)=>{
|
|
|
18709
19575
|
const getUpdatedConfig = async ()=>{
|
|
18710
19576
|
const fetchedConfig = await (0, $760b7137ab1b4bd7$export$2e2bcd8739ae039)(props);
|
|
18711
19577
|
if (fetchedConfig && fetchedConfig.config) {
|
|
18712
|
-
const { config: { skipLoader: skipLoader = false, defaultMode: defaultMode, config: _config, viewsConfig: viewsConfig, chatbotData: chatbotData, chatbotDataWidget: chatbotDataWidget, agentData: agentData, ponyfillFactoryCredentials: ponyfillFactoryCredentials, addressData: addressData, userData: userData, customVoice: customVoice, colors: colors }
|
|
18713
|
-
console.log(externalConfigEnabled);
|
|
19578
|
+
const { config: { skipLoader: skipLoader = false, defaultMode: defaultMode, config: _config, viewsConfig: viewsConfig, chatbotData: chatbotData, chatbotDataWidget: chatbotDataWidget, agentData: agentData, ponyfillFactoryCredentials: ponyfillFactoryCredentials, addressData: addressData, userData: userData, customVoice: customVoice, colors: colors } } = fetchedConfig;
|
|
18714
19579
|
const fetchedMainConfig = {
|
|
18715
19580
|
config: _config,
|
|
18716
19581
|
viewsConfig: viewsConfig,
|
|
@@ -18732,7 +19597,7 @@ const $303b7224b8f411ea$var$RetorikConfigHandler = (props)=>{
|
|
|
18732
19597
|
}
|
|
18733
19598
|
};
|
|
18734
19599
|
if (props.config !== undefined) {
|
|
18735
|
-
console.log("Get config from manualConfig");
|
|
19600
|
+
console.log("Retorik Framework > Get config from manualConfig");
|
|
18736
19601
|
// Check mandatory properties
|
|
18737
19602
|
if (props.viewsConfig && props.chatbotData && props.agentData && props.ponyfillFactoryCredentials) {
|
|
18738
19603
|
const copyConfig = {
|
|
@@ -18743,19 +19608,34 @@ const $303b7224b8f411ea$var$RetorikConfigHandler = (props)=>{
|
|
|
18743
19608
|
checkEmergencyAndSetConfig(copyConfig);
|
|
18744
19609
|
} else {
|
|
18745
19610
|
// Warnings for missing data in props
|
|
18746
|
-
console.warn("Mandatory configuration data missing : ");
|
|
19611
|
+
console.warn("Retorik Framework > Mandatory configuration data missing : ");
|
|
18747
19612
|
!props.viewsConfig && console.warn(" * viewsConfig");
|
|
18748
19613
|
!props.chatbotData && console.warn(" * chatbotData");
|
|
18749
19614
|
!props.agentData && console.warn(" * agentData");
|
|
18750
19615
|
!props.ponyfillFactoryCredentials && console.warn(" * ponyfillFactoryCredentials");
|
|
18751
19616
|
}
|
|
18752
19617
|
} else if (!isConfigUpdated) {
|
|
18753
|
-
console.log("Get config from Retorik");
|
|
19618
|
+
console.log("Retorik Framework > Get config from Retorik Studio");
|
|
18754
19619
|
getUpdatedConfig();
|
|
18755
19620
|
}
|
|
18756
19621
|
}, [
|
|
18757
19622
|
props
|
|
18758
19623
|
]);
|
|
19624
|
+
/**
|
|
19625
|
+
* Set GDPR data from either manual configuration or fetch from Retorik Studio
|
|
19626
|
+
*/ (0, $b3y7N$useEffect)(()=>{
|
|
19627
|
+
const checkGDPR = async ()=>{
|
|
19628
|
+
const data = await (0, $fd8b465eaceabe41$export$284b58786299e6c5)({
|
|
19629
|
+
configurationData: props.GDPR,
|
|
19630
|
+
addressData: props.addressData
|
|
19631
|
+
});
|
|
19632
|
+
// Set GDPR data in utilsStore
|
|
19633
|
+
data.data && (0, $3426110875af99d0$export$2d640df2114a2d77)(data.data);
|
|
19634
|
+
(0, $3426110875af99d0$export$ff26692bd8e0fbbd)(data.displayGDPR);
|
|
19635
|
+
typeof data.userConsent === "boolean" && (0, $3426110875af99d0$export$7a09e6b3c59f37ad)(data.userConsent);
|
|
19636
|
+
};
|
|
19637
|
+
props.addressData && checkGDPR();
|
|
19638
|
+
}, []);
|
|
18759
19639
|
return mainConfig && configurationFetchingEnded ? /*#__PURE__*/ (0, $b3y7N$jsx)((0, $7ca39a491751a711$export$2e2bcd8739ae039), {
|
|
18760
19640
|
parent: props.parent,
|
|
18761
19641
|
config: mainConfig,
|
|
@@ -18827,9 +19707,10 @@ const $c86dc39bbf10892c$export$5bc78eab59412c50 = (buttonData)=>{
|
|
|
18827
19707
|
|
|
18828
19708
|
const $ebe9f638246a1b0b$var$LayoutHandler = (props)=>{
|
|
18829
19709
|
const translation = (0, $f902d4436881b887$export$6650dace022cfacc)((state)=>state.currentTranslations);
|
|
19710
|
+
const currentLayout = (0, $56b00880a398c953$export$bd22554f31e5f96f)((state)=>state.currentLayout);
|
|
18830
19711
|
const displayChangeLayoutButton = (0, $56b00880a398c953$export$bd22554f31e5f96f)((state)=>state.changeLayoutButtonDisplay);
|
|
18831
19712
|
const { open: open, loaded: loaded, widgetDisplayType: widgetDisplayType } = (0, $f9b55dee2122a017$export$d95eb9b67812311f)();
|
|
18832
|
-
const [currentConfiguration, setCurrentConfiguration] = (0, $b3y7N$useState)(props.
|
|
19713
|
+
const [currentConfiguration, setCurrentConfiguration] = (0, $b3y7N$useState)(props.widgetConfig?.large);
|
|
18833
19714
|
const [widgetButton, setWidgetButton] = (0, $b3y7N$useState)("");
|
|
18834
19715
|
const [widgetBorder, setWidgetBorder] = (0, $b3y7N$useState)("");
|
|
18835
19716
|
const [mobileWidth, setMobileWidth] = (0, $b3y7N$useState)(window.innerWidth < 600);
|
|
@@ -18838,7 +19719,7 @@ const $ebe9f638246a1b0b$var$LayoutHandler = (props)=>{
|
|
|
18838
19719
|
setMobileWidth(window.innerWidth < 600);
|
|
18839
19720
|
};
|
|
18840
19721
|
(0, $b3y7N$useEffect)(()=>{
|
|
18841
|
-
setWidgetButton((0, $c86dc39bbf10892c$export$5bc78eab59412c50)(props.
|
|
19722
|
+
setWidgetButton((0, $c86dc39bbf10892c$export$5bc78eab59412c50)(props.widgetConfig?.button));
|
|
18842
19723
|
window.addEventListener("resize", handleResize);
|
|
18843
19724
|
return ()=>window.removeEventListener("resize", handleResize);
|
|
18844
19725
|
}, []);
|
|
@@ -18860,12 +19741,12 @@ const $ebe9f638246a1b0b$var$LayoutHandler = (props)=>{
|
|
|
18860
19741
|
(0, $b3y7N$useEffect)(()=>{
|
|
18861
19742
|
switch(widgetDisplayType){
|
|
18862
19743
|
case "large":
|
|
18863
|
-
setCurrentConfiguration(props.
|
|
18864
|
-
setWidgetBorder((0, $c86dc39bbf10892c$export$d6ad062ea094ff6f)(props.
|
|
19744
|
+
setCurrentConfiguration(props.widgetConfig?.large);
|
|
19745
|
+
setWidgetBorder((0, $c86dc39bbf10892c$export$d6ad062ea094ff6f)(props.widgetConfig?.large?.border));
|
|
18865
19746
|
break;
|
|
18866
19747
|
case "thumbnail":
|
|
18867
|
-
setCurrentConfiguration(props.
|
|
18868
|
-
setWidgetBorder((0, $c86dc39bbf10892c$export$d6ad062ea094ff6f)(props.
|
|
19748
|
+
setCurrentConfiguration(props.widgetConfig?.thumbnail || props.widgetConfig?.large);
|
|
19749
|
+
setWidgetBorder((0, $c86dc39bbf10892c$export$d6ad062ea094ff6f)(props.widgetConfig?.thumbnail?.border || props.widgetConfig?.large?.border));
|
|
18869
19750
|
break;
|
|
18870
19751
|
default:
|
|
18871
19752
|
break;
|
|
@@ -18875,90 +19756,94 @@ const $ebe9f638246a1b0b$var$LayoutHandler = (props)=>{
|
|
|
18875
19756
|
]);
|
|
18876
19757
|
const extendButtonHandler = ()=>{
|
|
18877
19758
|
// if different display type available
|
|
18878
|
-
if (props.
|
|
19759
|
+
if (props.widgetConfig?.large && props.widgetConfig?.thumbnail) (0, $f9b55dee2122a017$export$f0e9d14ede4c01bd)();
|
|
18879
19760
|
else {
|
|
18880
19761
|
(0, $56b00880a398c953$export$29ec02ff899d2b53)(true);
|
|
18881
19762
|
(0, $56b00880a398c953$export$e8437af1f2483b8e)((0, $f5ca62954d1f1f5b$export$a31c5a03aaeee5f).agent);
|
|
18882
19763
|
}
|
|
18883
19764
|
};
|
|
18884
|
-
return
|
|
19765
|
+
return /*#__PURE__*/ (0, $b3y7N$jsxs)((0, $b3y7N$Fragment), {
|
|
18885
19766
|
children: [
|
|
18886
|
-
props.
|
|
19767
|
+
props.widgetConfig?.button?.display !== false && /*#__PURE__*/ (0, $b3y7N$jsxs)("button", {
|
|
18887
19768
|
className: `rf-fixed rf-px-2 rf-flex rf-flex-row rf-items-center ${widgetButton}`,
|
|
18888
19769
|
style: {
|
|
18889
|
-
color: props.
|
|
18890
|
-
backgroundColor: props.
|
|
18891
|
-
borderWidth: props.
|
|
18892
|
-
borderColor: props.
|
|
18893
|
-
top: props.
|
|
18894
|
-
bottom: props.
|
|
18895
|
-
left: props.
|
|
18896
|
-
right: props.
|
|
19770
|
+
color: props.widgetConfig?.button?.text?.color || (0, $71132ad06245c2e7$export$4aebf65ed07cf17b).rgb,
|
|
19771
|
+
backgroundColor: props.widgetConfig?.button?.background?.color || "transparent",
|
|
19772
|
+
borderWidth: props.widgetConfig?.button?.border?.thickness !== undefined ? `${props.widgetConfig?.button?.border?.thickness}px` : "1px",
|
|
19773
|
+
borderColor: props.widgetConfig?.button?.border?.color || (0, $71132ad06245c2e7$export$4aebf65ed07cf17b).rgb,
|
|
19774
|
+
top: props.widgetConfig?.button?.position?.top,
|
|
19775
|
+
bottom: props.widgetConfig?.button?.position?.bottom ? props.widgetConfig?.button?.position?.bottom : props.widgetConfig?.button?.position?.top || props.widgetConfig?.button?.position?.left || props.widgetConfig?.button?.position?.right ? undefined : "1rem",
|
|
19776
|
+
left: props.widgetConfig?.button?.position?.left,
|
|
19777
|
+
right: props.widgetConfig?.button?.position?.right ? props.widgetConfig?.button?.position?.right : props.widgetConfig?.button?.position?.top || props.widgetConfig?.button?.position?.bottom || props.widgetConfig?.button?.position?.left ? undefined : "1rem"
|
|
18897
19778
|
},
|
|
18898
19779
|
onClick: (0, $f9b55dee2122a017$export$77c0ba4d0d97cee5),
|
|
18899
19780
|
id: "retorik-widget-button",
|
|
18900
19781
|
children: [
|
|
18901
|
-
props.
|
|
18902
|
-
className: `${props.
|
|
18903
|
-
src: `${props.
|
|
19782
|
+
props.widgetConfig?.button?.image?.url && props.widgetConfig?.button?.image?.position !== "right" && /*#__PURE__*/ (0, $b3y7N$jsx)("img", {
|
|
19783
|
+
className: `${props.widgetConfig?.button?.image.marginY === false ? "" : "rf-my-1"}`,
|
|
19784
|
+
src: `${props.widgetConfig.button.image.url}`,
|
|
18904
19785
|
alt: "Retorik widget",
|
|
18905
19786
|
style: {
|
|
18906
|
-
height: props.
|
|
19787
|
+
height: props.widgetConfig?.button?.image.height || "2rem"
|
|
18907
19788
|
}
|
|
18908
19789
|
}),
|
|
18909
19790
|
/*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
18910
19791
|
className: "rf-py-2 rf-ml-1",
|
|
18911
|
-
children: props.
|
|
19792
|
+
children: props.widgetConfig?.button?.text?.content || translation.common.needhelp
|
|
18912
19793
|
}),
|
|
18913
|
-
props.
|
|
18914
|
-
className: `${props.
|
|
18915
|
-
src: `${props.
|
|
19794
|
+
props.widgetConfig?.button?.image?.url && props.widgetConfig?.button?.image?.position === "right" && /*#__PURE__*/ (0, $b3y7N$jsx)("img", {
|
|
19795
|
+
className: `${props.widgetConfig?.button?.image.marginY === false ? "" : "rf-my-1"}`,
|
|
19796
|
+
src: `${props.widgetConfig.button.image.url}`,
|
|
18916
19797
|
alt: "Retorik widget",
|
|
18917
19798
|
style: {
|
|
18918
|
-
height: props.
|
|
19799
|
+
height: props.widgetConfig?.button?.image.height || "2rem"
|
|
18919
19800
|
}
|
|
18920
19801
|
})
|
|
18921
19802
|
]
|
|
18922
19803
|
}),
|
|
18923
19804
|
loaded && /*#__PURE__*/ (0, $b3y7N$jsxs)("div", {
|
|
18924
|
-
className: "rf-fixed rf-pt-8 rf-height-fill-available rf-transition-all rf-overflow-hidden rf-max-w-[100vw]"
|
|
18925
|
-
style: {
|
|
19805
|
+
className: `${currentLayout === (0, $f5ca62954d1f1f5b$export$a31c5a03aaeee5f).widget ? "rf-fixed rf-pt-8 rf-height-fill-available rf-transition-all rf-overflow-hidden rf-max-w-[100vw]" : ""}`,
|
|
19806
|
+
style: currentLayout === (0, $f5ca62954d1f1f5b$export$a31c5a03aaeee5f).widget ? {
|
|
18926
19807
|
...frameStyle,
|
|
18927
19808
|
width: open ? mobileWidth ? "100%" : currentConfiguration?.width || "400px" : "0px",
|
|
18928
19809
|
height: currentConfiguration?.height || (mobileWidth ? "100%" : "630px")
|
|
18929
|
-
},
|
|
19810
|
+
} : {},
|
|
18930
19811
|
"data-testid": "widget-wrapper",
|
|
18931
19812
|
children: [
|
|
18932
|
-
|
|
18933
|
-
|
|
18934
|
-
|
|
18935
|
-
|
|
18936
|
-
|
|
18937
|
-
|
|
18938
|
-
|
|
18939
|
-
|
|
18940
|
-
|
|
18941
|
-
|
|
18942
|
-
|
|
18943
|
-
|
|
18944
|
-
|
|
18945
|
-
|
|
18946
|
-
|
|
18947
|
-
|
|
18948
|
-
|
|
18949
|
-
|
|
19813
|
+
currentLayout === (0, $f5ca62954d1f1f5b$export$a31c5a03aaeee5f).widget && /*#__PURE__*/ (0, $b3y7N$jsxs)((0, $b3y7N$react).Fragment, {
|
|
19814
|
+
children: [
|
|
19815
|
+
displayChangeLayoutButton && !mobileWidth && /*#__PURE__*/ (0, $b3y7N$jsx)("button", {
|
|
19816
|
+
onClick: extendButtonHandler,
|
|
19817
|
+
"aria-label": "Extend",
|
|
19818
|
+
className: "rf-absolute rf-z-exitwidget rf-flex rf-right-8 rf-top-0 rf-p-1 rf-bg-truewhite rf-border rf-border-trueblack rf-rounded-lg",
|
|
19819
|
+
children: /*#__PURE__*/ (0, $b3y7N$jsx)((0, $14288c7aa1eb92fb$export$2e2bcd8739ae039), {
|
|
19820
|
+
className: "rf-h-4 rf-w-4",
|
|
19821
|
+
color: "#000000",
|
|
19822
|
+
extended: false
|
|
19823
|
+
})
|
|
19824
|
+
}),
|
|
19825
|
+
/*#__PURE__*/ (0, $b3y7N$jsx)("button", {
|
|
19826
|
+
onClick: (0, $f9b55dee2122a017$export$77c0ba4d0d97cee5),
|
|
19827
|
+
"aria-label": "Close",
|
|
19828
|
+
className: "rf-absolute rf-z-exitwidget rf-flex rf-right-0 rf-top-0 rf-p-1 rf-bg-truewhite rf-border rf-border-trueblack rf-rounded-lg",
|
|
19829
|
+
children: /*#__PURE__*/ (0, $b3y7N$jsx)((0, $e5bcb526d242a3b8$export$2e2bcd8739ae039), {
|
|
19830
|
+
className: "rf-h-4 rf-w-4",
|
|
19831
|
+
color: "#000000"
|
|
19832
|
+
})
|
|
19833
|
+
})
|
|
19834
|
+
]
|
|
18950
19835
|
}),
|
|
18951
19836
|
/*#__PURE__*/ (0, $b3y7N$jsx)("div", {
|
|
18952
|
-
className: `rf-relative rf-h-full rf-w-full rf-overflow-hidden ${!mobileWidth && widgetBorder}`,
|
|
18953
|
-
style: {
|
|
19837
|
+
className: `${currentLayout === (0, $f5ca62954d1f1f5b$export$a31c5a03aaeee5f).widget ? `rf-relative rf-h-full rf-w-full rf-overflow-hidden ${!mobileWidth && widgetBorder}` : ""}`,
|
|
19838
|
+
style: currentLayout === (0, $f5ca62954d1f1f5b$export$a31c5a03aaeee5f).widget ? {
|
|
18954
19839
|
borderColor: frameStyle.borderColor
|
|
18955
|
-
},
|
|
19840
|
+
} : {},
|
|
18956
19841
|
children: props.children
|
|
18957
19842
|
})
|
|
18958
19843
|
]
|
|
18959
19844
|
})
|
|
18960
19845
|
]
|
|
18961
|
-
})
|
|
19846
|
+
});
|
|
18962
19847
|
};
|
|
18963
19848
|
var $ebe9f638246a1b0b$export$2e2bcd8739ae039 = $ebe9f638246a1b0b$var$LayoutHandler;
|
|
18964
19849
|
|
|
@@ -18977,28 +19862,17 @@ const $b187a833f9ec9f9e$var$RetorikWidget = (props)=>{
|
|
|
18977
19862
|
// Ne mettre ici que de la logique spécifique au widget
|
|
18978
19863
|
// Ce qui est commun avec RetorikAgent ou autres doit aller dans RetorikComposer ou ContextProvider
|
|
18979
19864
|
// -------------------------
|
|
18980
|
-
const currentLayout = (0, $56b00880a398c953$export$bd22554f31e5f96f)((state)=>state.currentLayout);
|
|
18981
19865
|
(0, $b3y7N$useEffect)(()=>{
|
|
18982
19866
|
(0, $56b00880a398c953$export$e8437af1f2483b8e)((0, $f5ca62954d1f1f5b$export$a31c5a03aaeee5f).widget);
|
|
18983
19867
|
}, []);
|
|
18984
|
-
const [mobileWidth, setMobileWidth] = (0, $b3y7N$useState)(window.innerWidth < 600);
|
|
18985
|
-
const handleResize = ()=>{
|
|
18986
|
-
setMobileWidth(window.innerWidth < 600);
|
|
18987
|
-
};
|
|
18988
|
-
(0, $b3y7N$useEffect)(()=>{
|
|
18989
|
-
window.addEventListener("resize", handleResize);
|
|
18990
|
-
return ()=>window.removeEventListener("resize", handleResize);
|
|
18991
|
-
}, []);
|
|
18992
19868
|
return /*#__PURE__*/ (0, $b3y7N$jsx)((0, $71329996a1817ff3$export$2e2bcd8739ae039), {
|
|
18993
19869
|
children: /*#__PURE__*/ (0, $b3y7N$jsx)((0, $ebe9f638246a1b0b$export$2e2bcd8739ae039), {
|
|
18994
|
-
|
|
18995
|
-
retorikProps: props,
|
|
19870
|
+
...props,
|
|
18996
19871
|
children: /*#__PURE__*/ (0, $b3y7N$jsx)((0, $303b7224b8f411ea$export$2e2bcd8739ae039), {
|
|
18997
|
-
parent: currentLayout,
|
|
18998
19872
|
...props,
|
|
18999
19873
|
width: "full",
|
|
19000
19874
|
height: "full",
|
|
19001
|
-
|
|
19875
|
+
parent: (0, $f5ca62954d1f1f5b$export$a31c5a03aaeee5f).widget
|
|
19002
19876
|
})
|
|
19003
19877
|
})
|
|
19004
19878
|
});
|