@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.js CHANGED
@@ -117,7 +117,7 @@ function $063ea7a515c267b7$export$2e2bcd8739ae039(RetorikWidget, props, element)
117
117
 
118
118
 
119
119
  var $203b743475f656c9$exports = {};
120
- $203b743475f656c9$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";
120
+ $203b743475f656c9$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";
121
121
 
122
122
 
123
123
  var $b0c4d46435bb1afc$exports = {};
@@ -184,6 +184,8 @@ var $71c613e2e831c34c$export$ec1e04e4e5ef8233;
184
184
  DeviceType[DeviceType["borne"] = 2] = "borne";
185
185
  DeviceType[DeviceType["landscape"] = 3] = "landscape";
186
186
  DeviceType[DeviceType["widget"] = 4] = "widget";
187
+ DeviceType[DeviceType["widgetLandscape"] = 5] = "widgetLandscape";
188
+ DeviceType[DeviceType["widgetBorne"] = 6] = "widgetBorne";
187
189
  })($71c613e2e831c34c$export$ec1e04e4e5ef8233 || ($71c613e2e831c34c$export$ec1e04e4e5ef8233 = {}));
188
190
  var $71c613e2e831c34c$export$bd7313a2f8345cae;
189
191
  (function(LoaderSteps) {
@@ -301,6 +303,19 @@ const $0b4f07c0f09dbbcf$export$78f16669b353a880 = [
301
303
  (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).mobile,
302
304
  (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widget
303
305
  ];
306
+ const $0b4f07c0f09dbbcf$export$909f4c209eb70365 = [
307
+ (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widget,
308
+ (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widgetBorne,
309
+ (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widgetLandscape
310
+ ];
311
+ const $0b4f07c0f09dbbcf$export$baf53ca377ebf861 = [
312
+ (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).landscape,
313
+ (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widgetLandscape
314
+ ];
315
+ const $0b4f07c0f09dbbcf$export$a8576d98c9c928de = [
316
+ (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).borne,
317
+ (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widgetBorne
318
+ ];
304
319
  const $0b4f07c0f09dbbcf$export$c0da64553318f2cb = {
305
320
  primary: "#00D7FF",
306
321
  secondary: "#1999B1",
@@ -614,7 +629,7 @@ const $547da4225675b90f$var$getOpeningParenthesis = (text, index)=>{
614
629
 
615
630
  const $48f0df83bc0817a8$var$regexLink = /<\/?a([^>])+>/g;
616
631
  const $48f0df83bc0817a8$var$regexImg = /<\/?img([^>])+>/g;
617
- const $48f0df83bc0817a8$export$1b8fbc30fb87d9aa = (text)=>{
632
+ const $48f0df83bc0817a8$export$1b8fbc30fb87d9aa = (text, skipAttachments)=>{
618
633
  const md = new (0, ($parcel$interopDefault($dWhh5$markdownit)))({
619
634
  breaks: true,
620
635
  html: true,
@@ -631,8 +646,10 @@ const $48f0df83bc0817a8$export$1b8fbc30fb87d9aa = (text)=>{
631
646
  // text = `(Como estas ?)[lang:"es-ES"][1s] Parti - pour le test - (greenage)[lang:"en-US"]. Mettons une image ![image](images/bertranges.jpg).[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"]`
632
647
  // 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"]`
633
648
  const speechMarkdownReplacedData = (0, $547da4225675b90f$export$f355fac925ad880f)(text);
634
- const parsed = md.parseInline(speechMarkdownReplacedData.text);
635
- parsed.length > 0 && (attachmentsToCreate = $48f0df83bc0817a8$var$createNewAttachments(parsed[0].children));
649
+ if (!skipAttachments) {
650
+ const parsed = md.parseInline(speechMarkdownReplacedData.text);
651
+ parsed.length && (attachmentsToCreate = $48f0df83bc0817a8$var$createNewAttachments(parsed[0].children));
652
+ }
636
653
  const textWithHtmlTags = md.render(text);
637
654
  // Strip html tags from rendered text
638
655
  const newText = $48f0df83bc0817a8$var$stripHtml(textWithHtmlTags);
@@ -996,6 +1013,7 @@ const $70e3d65f5a106231$var$initialState = {
996
1013
  currentNewsActivity: undefined,
997
1014
  retorikNewsEnded: false,
998
1015
  userIsTyping: false,
1016
+ userIsSwiping: false,
999
1017
  askedForKioskParametersOpening: false,
1000
1018
  detailedAttachmentTriggers: [
1001
1019
  {
@@ -1010,8 +1028,12 @@ const $70e3d65f5a106231$var$initialState = {
1010
1028
  }
1011
1029
  ],
1012
1030
  modalFullscreenContent: null,
1013
- printingCallback: null
1031
+ printingCallback: null,
1032
+ GDPRDisplay: true,
1033
+ GDPRWindowData: undefined,
1034
+ GDPRUserConsent: false
1014
1035
  };
1036
+ let $70e3d65f5a106231$var$timer = null;
1015
1037
  const $70e3d65f5a106231$export$77e4cc5334565f28 = (0, $dWhh5$zustand.create)()(()=>{
1016
1038
  return $70e3d65f5a106231$var$initialState;
1017
1039
  });
@@ -1090,6 +1112,18 @@ const $70e3d65f5a106231$export$4a471cf3284fc492 = (value)=>{
1090
1112
  userIsTyping: value
1091
1113
  });
1092
1114
  };
1115
+ const $70e3d65f5a106231$export$19e9368606a5170f = ()=>{
1116
+ $70e3d65f5a106231$var$timer && clearTimeout($70e3d65f5a106231$var$timer);
1117
+ $70e3d65f5a106231$export$77e4cc5334565f28.setState({
1118
+ userIsSwiping: true
1119
+ });
1120
+ // Switch back to false after 2.5s (because test for typing indicator is done every 2s)
1121
+ $70e3d65f5a106231$var$timer = setTimeout(()=>{
1122
+ $70e3d65f5a106231$export$77e4cc5334565f28.setState({
1123
+ userIsSwiping: false
1124
+ });
1125
+ }, 2500);
1126
+ };
1093
1127
  const $70e3d65f5a106231$export$61008920e70c5e8a = ()=>{
1094
1128
  $70e3d65f5a106231$export$77e4cc5334565f28.setState({
1095
1129
  askedForKioskParametersOpening: true
@@ -1119,6 +1153,21 @@ const $70e3d65f5a106231$export$7f09d7ad7dbdcd2c = (value)=>{
1119
1153
  printingCallback: value
1120
1154
  });
1121
1155
  };
1156
+ const $70e3d65f5a106231$export$ff26692bd8e0fbbd = (value)=>{
1157
+ $70e3d65f5a106231$export$77e4cc5334565f28.setState({
1158
+ GDPRDisplay: value
1159
+ });
1160
+ };
1161
+ const $70e3d65f5a106231$export$2d640df2114a2d77 = (value)=>{
1162
+ $70e3d65f5a106231$export$77e4cc5334565f28.setState({
1163
+ GDPRWindowData: value
1164
+ });
1165
+ };
1166
+ const $70e3d65f5a106231$export$7a09e6b3c59f37ad = (value)=>{
1167
+ $70e3d65f5a106231$export$77e4cc5334565f28.setState({
1168
+ GDPRUserConsent: value
1169
+ });
1170
+ };
1122
1171
  const $70e3d65f5a106231$export$93b55f822ac81934 = ()=>{
1123
1172
  $70e3d65f5a106231$export$77e4cc5334565f28.setState({
1124
1173
  ...$70e3d65f5a106231$var$initialState
@@ -1137,7 +1186,12 @@ const $5f7f457957bd2c8d$var$initialState = {
1137
1186
  endedActivities: [],
1138
1187
  currentOrLastPlayedActivity: undefined,
1139
1188
  activeRecognitionState: (0, $71c613e2e831c34c$export$3f0071308968cd80).Closed,
1140
- lastRecognitionInterim: ""
1189
+ lastRecognitionInterim: "",
1190
+ streamingReplyToId: null,
1191
+ streamingReplyToIdForText: null,
1192
+ streamingQueue: [],
1193
+ streamingQueueForText: [],
1194
+ currentStreaming: null
1141
1195
  };
1142
1196
  const $5f7f457957bd2c8d$export$f299240efcda25a2 = (0, $dWhh5$zustand.create)()(()=>{
1143
1197
  return $5f7f457957bd2c8d$var$initialState;
@@ -1194,6 +1248,69 @@ const $5f7f457957bd2c8d$export$a5c8d6d0ec4b5ccb = (value)=>{
1194
1248
  lastRecognitionInterim: value
1195
1249
  });
1196
1250
  };
1251
+ const $5f7f457957bd2c8d$export$614a80601162ec38 = (value)=>{
1252
+ $5f7f457957bd2c8d$export$f299240efcda25a2.setState({
1253
+ streamingReplyToId: value,
1254
+ streamingReplyToIdForText: value
1255
+ });
1256
+ value === null && $5f7f457957bd2c8d$export$f299240efcda25a2.setState({
1257
+ currentStreaming: null
1258
+ });
1259
+ };
1260
+ const $5f7f457957bd2c8d$export$de8aad637f733113 = (value)=>{
1261
+ $5f7f457957bd2c8d$export$f299240efcda25a2.setState({
1262
+ streamingReplyToIdForText: value
1263
+ });
1264
+ };
1265
+ const $5f7f457957bd2c8d$export$87afd75c41a617d7 = (value)=>{
1266
+ $5f7f457957bd2c8d$export$f299240efcda25a2.setState({
1267
+ streamingQueue: value,
1268
+ streamingQueueForText: value
1269
+ });
1270
+ };
1271
+ const $5f7f457957bd2c8d$export$9a026d007e335fc0 = (value)=>{
1272
+ if (value.replyToId) {
1273
+ // Set replyToId and new queue if replyToId is different from the current one
1274
+ if ($5f7f457957bd2c8d$export$f299240efcda25a2.getState().streamingReplyToId !== value.replyToId) $5f7f457957bd2c8d$export$f299240efcda25a2.setState({
1275
+ streamingReplyToId: value.replyToId,
1276
+ streamingReplyToIdForText: value.replyToId,
1277
+ streamingQueue: [
1278
+ value
1279
+ ],
1280
+ streamingQueueForText: [
1281
+ value
1282
+ ]
1283
+ });
1284
+ else $5f7f457957bd2c8d$export$f299240efcda25a2.setState({
1285
+ streamingQueue: [
1286
+ ...$5f7f457957bd2c8d$export$f299240efcda25a2.getState().streamingQueue,
1287
+ value
1288
+ ],
1289
+ streamingQueueForText: [
1290
+ ...$5f7f457957bd2c8d$export$f299240efcda25a2.getState().streamingQueueForText,
1291
+ value
1292
+ ]
1293
+ });
1294
+ }
1295
+ };
1296
+ const $5f7f457957bd2c8d$export$eb50624bfd363865 = ()=>{
1297
+ const currentQueue = [
1298
+ ...$5f7f457957bd2c8d$export$f299240efcda25a2.getState().streamingQueue
1299
+ ];
1300
+ if (currentQueue.length) {
1301
+ currentQueue.splice(0, 1);
1302
+ $5f7f457957bd2c8d$export$f299240efcda25a2.setState({
1303
+ streamingQueue: [
1304
+ ...currentQueue
1305
+ ]
1306
+ });
1307
+ }
1308
+ };
1309
+ const $5f7f457957bd2c8d$export$d300d9470f5679ba = (value)=>{
1310
+ $5f7f457957bd2c8d$export$f299240efcda25a2.setState({
1311
+ currentStreaming: value
1312
+ });
1313
+ };
1197
1314
  const $5f7f457957bd2c8d$export$b6d2196a3ce412d8 = ()=>{
1198
1315
  $5f7f457957bd2c8d$export$f299240efcda25a2.setState({
1199
1316
  ...$5f7f457957bd2c8d$var$initialState
@@ -1203,6 +1320,7 @@ const $5f7f457957bd2c8d$export$b6d2196a3ce412d8 = ()=>{
1203
1320
 
1204
1321
 
1205
1322
 
1323
+
1206
1324
  const $9acd31406c230961$var$initialState = {
1207
1325
  activities: [],
1208
1326
  lastBotActivity: undefined,
@@ -1219,33 +1337,56 @@ const $9acd31406c230961$var$initialState = {
1219
1337
  lastUserMessageActivity: undefined,
1220
1338
  queue: [],
1221
1339
  conversationId: null,
1222
- watermark: 0
1340
+ watermark: 0,
1341
+ retrievingConversation: false
1223
1342
  };
1224
1343
  let $9acd31406c230961$var$timerRef;
1225
1344
  const $9acd31406c230961$export$b56465394e2b1287 = (0, $dWhh5$zustand.create)()(()=>{
1226
1345
  return $9acd31406c230961$var$initialState;
1227
1346
  });
1228
- const $9acd31406c230961$var$addActivity = (activity, resetQueue)=>{
1347
+ const $9acd31406c230961$var$addActivity = async (activity, resetQueue)=>{
1348
+ var _activity_from_name;
1229
1349
  const currentState = $9acd31406c230961$export$b56465394e2b1287.getState();
1350
+ const shouldNotSetLastBotActivity = currentState.retrievingConversation && !resetQueue;
1351
+ const isBot = activity.from.role === "bot" || activity.replyToId || ((_activity_from_name = activity.from.name) === null || _activity_from_name === void 0 ? void 0 : _activity_from_name.toLowerCase()) === "bot";
1230
1352
  if (activity.type === "message") {
1231
- if (activity.from.role === "bot") $9acd31406c230961$export$b56465394e2b1287.setState({
1232
- activities: [
1233
- ...currentState.activities,
1234
- activity
1235
- ],
1236
- lastBotActivity: activity,
1237
- messageActivities: [
1238
- ...currentState.messageActivities,
1239
- activity
1240
- ],
1241
- botMessageActivities: [
1242
- ...currentState.botMessageActivities,
1243
- activity
1244
- ],
1245
- lastBotMessageActivity: activity,
1246
- watermark: currentState.watermark + 1
1247
- });
1248
- else $9acd31406c230961$export$b56465394e2b1287.setState({
1353
+ if (isBot) {
1354
+ var _currentState_botMessageActivities, _activity_replyToId;
1355
+ if (((_currentState_botMessageActivities = currentState.botMessageActivities) === null || _currentState_botMessageActivities === void 0 ? void 0 : _currentState_botMessageActivities.length) && ((_activity_replyToId = activity.replyToId) === null || _activity_replyToId === void 0 ? void 0 : _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.
1356
+ // We must put this activity back in first place in the array.
1357
+ $9acd31406c230961$export$b56465394e2b1287.setState({
1358
+ activities: [
1359
+ activity,
1360
+ ...currentState.activities
1361
+ ],
1362
+ messageActivities: [
1363
+ activity,
1364
+ ...currentState.messageActivities
1365
+ ],
1366
+ botMessageActivities: [
1367
+ activity,
1368
+ ...currentState.botMessageActivities
1369
+ ],
1370
+ watermark: currentState.watermark + 1
1371
+ });
1372
+ else $9acd31406c230961$export$b56465394e2b1287.setState({
1373
+ activities: [
1374
+ ...currentState.activities,
1375
+ activity
1376
+ ],
1377
+ lastBotActivity: shouldNotSetLastBotActivity ? undefined : activity,
1378
+ messageActivities: [
1379
+ ...currentState.messageActivities,
1380
+ activity
1381
+ ],
1382
+ botMessageActivities: [
1383
+ ...currentState.botMessageActivities,
1384
+ activity
1385
+ ],
1386
+ lastBotMessageActivity: currentState.retrievingConversation ? resetQueue ? activity : undefined : activity,
1387
+ watermark: currentState.watermark + 1
1388
+ });
1389
+ } else $9acd31406c230961$export$b56465394e2b1287.setState({
1249
1390
  activities: [
1250
1391
  ...currentState.activities,
1251
1392
  activity
@@ -1262,12 +1403,12 @@ const $9acd31406c230961$var$addActivity = (activity, resetQueue)=>{
1262
1403
  watermark: currentState.watermark + 1
1263
1404
  });
1264
1405
  } else if (activity.type === "event") {
1265
- if (activity.from.role === "bot") $9acd31406c230961$export$b56465394e2b1287.setState({
1406
+ if (isBot) $9acd31406c230961$export$b56465394e2b1287.setState({
1266
1407
  activities: [
1267
1408
  ...currentState.activities,
1268
1409
  activity
1269
1410
  ],
1270
- lastBotActivity: activity,
1411
+ lastBotActivity: shouldNotSetLastBotActivity ? undefined : activity,
1271
1412
  eventActivities: [
1272
1413
  ...currentState.eventActivities,
1273
1414
  activity
@@ -1291,24 +1432,23 @@ const $9acd31406c230961$var$addActivity = (activity, resetQueue)=>{
1291
1432
  watermark: currentState.watermark + 1
1292
1433
  });
1293
1434
  }
1294
- if (resetQueue) $9acd31406c230961$export$b56465394e2b1287.setState({
1295
- queue: []
1296
- });
1435
+ if (resetQueue) {
1436
+ $9acd31406c230961$export$b56465394e2b1287.setState({
1437
+ queue: []
1438
+ });
1439
+ $9acd31406c230961$export$b56465394e2b1287.setState({
1440
+ retrievingConversation: false
1441
+ });
1442
+ }
1297
1443
  };
1298
1444
  /**
1299
1445
  * Deal with the queue of activities that was formed before.
1300
1446
  * Call again after splicing the first element of the queue every 100ms
1301
1447
  * @param queue Array<RetorikActivity>
1302
- */ const $9acd31406c230961$var$addActivitiesFromQueue = (queue)=>{
1303
- if (queue.length > 0) {
1304
- $9acd31406c230961$var$addActivity(queue[0]);
1305
- queue.splice(0, 1);
1306
- setTimeout(()=>{
1307
- $9acd31406c230961$var$addActivitiesFromQueue(queue);
1308
- }, 100);
1309
- } else $9acd31406c230961$export$b56465394e2b1287.setState({
1310
- queue: []
1311
- });
1448
+ */ const $9acd31406c230961$var$addActivitiesFromQueue = async (queue)=>{
1449
+ // Keep last id to know when we get the last activity
1450
+ const lastId = queue[queue.length - 1].id;
1451
+ for (const activity of queue)await $9acd31406c230961$var$addActivity(activity, activity.id === lastId);
1312
1452
  };
1313
1453
  const $9acd31406c230961$var$updateActivities = ()=>{
1314
1454
  const currentState = $9acd31406c230961$export$b56465394e2b1287.getState();
@@ -1347,6 +1487,10 @@ const $9acd31406c230961$export$210f7e70e69f7df5 = (activity)=>{
1347
1487
  });
1348
1488
  $9acd31406c230961$export$f9786f6b1a1e81e3(activity);
1349
1489
  };
1490
+ const $9acd31406c230961$export$35bf93b87d9ffb15 = (activity)=>{
1491
+ const retrieving = $9acd31406c230961$export$b56465394e2b1287.getState().retrievingConversation;
1492
+ !retrieving && (0, $5f7f457957bd2c8d$export$9a026d007e335fc0)(activity);
1493
+ };
1350
1494
  const $9acd31406c230961$export$4365557467e67cdc = (value)=>{
1351
1495
  const currentState = $9acd31406c230961$export$b56465394e2b1287.getState();
1352
1496
  // Check directline id to know if we have to reset the activities
@@ -1357,6 +1501,11 @@ const $9acd31406c230961$export$4365557467e67cdc = (value)=>{
1357
1501
  conversationId: value
1358
1502
  });
1359
1503
  };
1504
+ const $9acd31406c230961$export$d7e4f7861d387c67 = (value)=>{
1505
+ $9acd31406c230961$export$b56465394e2b1287.setState({
1506
+ retrievingConversation: value
1507
+ });
1508
+ };
1360
1509
  const $9acd31406c230961$export$b7b23f8e09258fa6 = ()=>{
1361
1510
  $9acd31406c230961$export$b56465394e2b1287.setState({
1362
1511
  ...$9acd31406c230961$var$initialState
@@ -1364,6 +1513,7 @@ const $9acd31406c230961$export$b7b23f8e09258fa6 = ()=>{
1364
1513
  };
1365
1514
 
1366
1515
 
1516
+
1367
1517
  const $c79349f4444d81d7$var$regexDataCommand = /(\{data-command=")[\p{L}\p{N}\p{Po}\p{Pd}\p{Pc}\s\u0027\u2019]+("\})(<br\s\/>)?/gu;
1368
1518
  const $c79349f4444d81d7$var$createCustomStore = (enableConversationCookie, conversationCookieMaxAge, addressData, locale, externalEventHandler, isUsedOnBorne, isRetorikNews)=>{
1369
1519
  return (0, $dWhh5$botframeworkwebchat.createStore)({}, ({ dispatch: dispatch })=>(next)=>async (action)=>{
@@ -1406,13 +1556,13 @@ const $c79349f4444d81d7$var$createCustomStore = (enableConversationCookie, conve
1406
1556
  break;
1407
1557
  }
1408
1558
  case "DIRECT_LINE/POST_ACTIVITY":
1409
- var _action_payload_activity, _action_payload, _action_payload1;
1559
+ var _action_payload_activity, _action_payload, _action_payload_activity1, _action_payload1, _action_payload_activity_name, _action_payload2;
1410
1560
  // Prevent typing message from cancelling speech
1411
- if (((_action_payload = action.payload) === null || _action_payload === void 0 ? void 0 : (_action_payload_activity = _action_payload.activity) === null || _action_payload_activity === void 0 ? void 0 : _action_payload_activity.type) === "typing") return next(action);
1561
+ if (((_action_payload = action.payload) === null || _action_payload === void 0 ? void 0 : (_action_payload_activity = _action_payload.activity) === null || _action_payload_activity === void 0 ? void 0 : _action_payload_activity.type) === "typing" || ((_action_payload1 = action.payload) === null || _action_payload1 === void 0 ? void 0 : (_action_payload_activity1 = _action_payload1.activity) === null || _action_payload_activity1 === void 0 ? void 0 : _action_payload_activity1.type) === "event" && ((_action_payload_activity_name = action.payload.activity.name) === null || _action_payload_activity_name === void 0 ? void 0 : _action_payload_activity_name.toLowerCase().includes("davi.closewindow"))) return next(action);
1412
1562
  // Cancel playing utterance if there is one
1413
1563
  (0, $5f7f457957bd2c8d$export$d0df6aec4e971f52)(true);
1414
1564
  // Send pagination and position data in channelData on each activity sent to the chatbot, using local storage to get up to date data
1415
- if ((_action_payload1 = action.payload) === null || _action_payload1 === void 0 ? void 0 : _action_payload1.activity) {
1565
+ if ((_action_payload2 = action.payload) === null || _action_payload2 === void 0 ? void 0 : _action_payload2.activity) {
1416
1566
  const paginationAsString = localStorage.getItem("Retorik.Framework.Pagination");
1417
1567
  const positionAsString = localStorage.getItem("Retorik.Framework.Location");
1418
1568
  const position = positionAsString ? JSON.parse(positionAsString) : undefined;
@@ -1448,15 +1598,26 @@ const $c79349f4444d81d7$var$createCustomStore = (enableConversationCookie, conve
1448
1598
  };
1449
1599
  break;
1450
1600
  case "DIRECT_LINE/INCOMING_ACTIVITY":
1451
- var _action_payload_activity1, _action_payload2, _action_payload_activity2, _action_payload3, _action_payload_activity3, _action_payload4, _action_payload_activity4, _action_payload5, _action_payload_activity5, _action_payload6, _action_payload_activity6, _action_payload7;
1452
- if (((_action_payload2 = action.payload) === null || _action_payload2 === void 0 ? void 0 : (_action_payload_activity1 = _action_payload2.activity) === null || _action_payload_activity1 === void 0 ? void 0 : _action_payload_activity1.type) === "event" && ((_action_payload3 = action.payload) === null || _action_payload3 === void 0 ? void 0 : (_action_payload_activity2 = _action_payload3.activity) === null || _action_payload_activity2 === void 0 ? void 0 : _action_payload_activity2.name) === "EndOfSpeechEvent") return;
1601
+ var _action_payload_activity2, _action_payload3, _action_payload_activity3, _action_payload4, _action_payload_activity4, _action_payload5, _action_payload_activity_name1, _action_payload_activity5, _action_payload6, _action_payload_activity6, _action_payload7, _action_payload_activity7, _action_payload8, _action_payload_activity8, _action_payload9, _action_payload_activity9, _action_payload10;
1602
+ if (((_action_payload3 = action.payload) === null || _action_payload3 === void 0 ? void 0 : (_action_payload_activity2 = _action_payload3.activity) === null || _action_payload_activity2 === void 0 ? void 0 : _action_payload_activity2.type) === "event" && ((_action_payload4 = action.payload) === null || _action_payload4 === void 0 ? void 0 : (_action_payload_activity3 = _action_payload4.activity) === null || _action_payload_activity3 === void 0 ? void 0 : _action_payload_activity3.name) === "EndOfSpeechEvent") return;
1603
+ if (((_action_payload5 = action.payload) === null || _action_payload5 === void 0 ? void 0 : (_action_payload_activity4 = _action_payload5.activity) === null || _action_payload_activity4 === void 0 ? void 0 : _action_payload_activity4.type) === "event" && ((_action_payload6 = action.payload) === null || _action_payload6 === void 0 ? void 0 : (_action_payload_activity5 = _action_payload6.activity) === null || _action_payload_activity5 === void 0 ? void 0 : (_action_payload_activity_name1 = _action_payload_activity5.name) === null || _action_payload_activity_name1 === void 0 ? void 0 : _action_payload_activity_name1.toLowerCase()) === "davi.streammessageactivity") {
1604
+ var _action_payload_activity_text;
1605
+ if ((_action_payload_activity_text = action.payload.activity.text) === null || _action_payload_activity_text === void 0 ? void 0 : _action_payload_activity_text.trim().length) {
1606
+ // Create speak field from the text one
1607
+ const processedText = (0, $48f0df83bc0817a8$export$1b8fbc30fb87d9aa)(action.payload.activity.text, true);
1608
+ action.payload.activity.text = processedText.text;
1609
+ action.payload.activity.speak = processedText.text;
1610
+ (0, $9acd31406c230961$export$35bf93b87d9ffb15)(action.payload.activity);
1611
+ }
1612
+ return next(action);
1613
+ }
1453
1614
  // Only process message activities from the bot
1454
- if (((_action_payload4 = action.payload) === null || _action_payload4 === void 0 ? void 0 : (_action_payload_activity3 = _action_payload4.activity) === null || _action_payload_activity3 === void 0 ? void 0 : _action_payload_activity3.type) === "message" && action.payload.activity.from.role === "bot") {
1455
- var _action_payload_activity7, _action_payload8, _action_payload_activity_suggestedActions, _action_payload_activity_attachmentLayout, _action_payload_activity8;
1615
+ if (((_action_payload7 = action.payload) === null || _action_payload7 === void 0 ? void 0 : (_action_payload_activity6 = _action_payload7.activity) === null || _action_payload_activity6 === void 0 ? void 0 : _action_payload_activity6.type) === "message" && action.payload.activity.from.role === "bot") {
1616
+ var _action_payload_activity10, _action_payload11, _action_payload_activity_suggestedActions, _action_payload_activity_attachmentLayout, _action_payload_activity11;
1456
1617
  (0, $70e3d65f5a106231$export$f03cfde7db70aa27)(false);
1457
1618
  // If the application is used on a borne and there are attachments, check if a received attachment is a multi-link one.
1458
1619
  // If there is some, we need to split it in several attachments, one for each link.
1459
- if (isUsedOnBorne && ((_action_payload8 = action.payload) === null || _action_payload8 === void 0 ? void 0 : (_action_payload_activity7 = _action_payload8.activity) === null || _action_payload_activity7 === void 0 ? void 0 : _action_payload_activity7.attachments) && action.payload.activity.attachments.length > 0) {
1620
+ if (isUsedOnBorne && ((_action_payload11 = action.payload) === null || _action_payload11 === void 0 ? void 0 : (_action_payload_activity10 = _action_payload11.activity) === null || _action_payload_activity10 === void 0 ? void 0 : _action_payload_activity10.attachments) && action.payload.activity.attachments.length > 0) {
1460
1621
  var _attachment_content;
1461
1622
  let count = 0;
1462
1623
  const tempAttachments = [];
@@ -1528,7 +1689,7 @@ const $c79349f4444d81d7$var$createCustomStore = (enableConversationCookie, conve
1528
1689
  ] : action.payload.activity.attachments.push(suggestedActionAttachment);
1529
1690
  }
1530
1691
  // Deal with text containing [data command] data to make them usable in text mode
1531
- if (((_action_payload_activity8 = action.payload.activity) === null || _action_payload_activity8 === void 0 ? void 0 : _action_payload_activity8.text) && action.payload.activity.text.includes("{data-command=")) {
1692
+ if (((_action_payload_activity11 = action.payload.activity) === null || _action_payload_activity11 === void 0 ? void 0 : _action_payload_activity11.text) && action.payload.activity.text.includes("{data-command=")) {
1532
1693
  const splitText = action.payload.activity.text.split("{data-command=");
1533
1694
  const dataForAttachment = [];
1534
1695
  for(let i = 1; i < splitText.length; i++){
@@ -1562,9 +1723,9 @@ const $c79349f4444d81d7$var$createCustomStore = (enableConversationCookie, conve
1562
1723
  action.payload.activity.htmlText = action.payload.activity.htmlText.replaceAll($c79349f4444d81d7$var$regexDataCommand, "");
1563
1724
  }
1564
1725
  (0, $9acd31406c230961$export$210f7e70e69f7df5)(action.payload.activity);
1565
- } else if (((_action_payload5 = action.payload) === null || _action_payload5 === void 0 ? void 0 : (_action_payload_activity4 = _action_payload5.activity) === null || _action_payload_activity4 === void 0 ? void 0 : _action_payload_activity4.type) === "message" && action.payload.activity.from.role === "user") (0, $9acd31406c230961$export$f9786f6b1a1e81e3)(action.payload.activity);
1566
- else if (((_action_payload6 = action.payload) === null || _action_payload6 === void 0 ? void 0 : (_action_payload_activity5 = _action_payload6.activity) === null || _action_payload_activity5 === void 0 ? void 0 : _action_payload_activity5.type) === "event" && action.payload.activity.from.role === "bot") (0, $9acd31406c230961$export$f9786f6b1a1e81e3)(action.payload.activity);
1567
- else if (((_action_payload7 = action.payload) === null || _action_payload7 === void 0 ? void 0 : (_action_payload_activity6 = _action_payload7.activity) === null || _action_payload_activity6 === void 0 ? void 0 : _action_payload_activity6.type) === "event" && action.payload.activity.from.role === "user") (0, $9acd31406c230961$export$f9786f6b1a1e81e3)(action.payload.activity);
1726
+ } else if (((_action_payload8 = action.payload) === null || _action_payload8 === void 0 ? void 0 : (_action_payload_activity7 = _action_payload8.activity) === null || _action_payload_activity7 === void 0 ? void 0 : _action_payload_activity7.type) === "message" && action.payload.activity.from.role === "user") (0, $9acd31406c230961$export$f9786f6b1a1e81e3)(action.payload.activity);
1727
+ else if (((_action_payload9 = action.payload) === null || _action_payload9 === void 0 ? void 0 : (_action_payload_activity8 = _action_payload9.activity) === null || _action_payload_activity8 === void 0 ? void 0 : _action_payload_activity8.type) === "event" && action.payload.activity.from.role === "bot") (0, $9acd31406c230961$export$f9786f6b1a1e81e3)(action.payload.activity);
1728
+ else if (((_action_payload10 = action.payload) === null || _action_payload10 === void 0 ? void 0 : (_action_payload_activity9 = _action_payload10.activity) === null || _action_payload_activity9 === void 0 ? void 0 : _action_payload_activity9.type) === "event" && action.payload.activity.from.role === "user") (0, $9acd31406c230961$export$f9786f6b1a1e81e3)(action.payload.activity);
1568
1729
  break;
1569
1730
  case "WEB_CHAT/START_DICTATE":
1570
1731
  // Cancel playing utterance if there is one
@@ -1576,9 +1737,9 @@ const $c79349f4444d81d7$var$createCustomStore = (enableConversationCookie, conve
1576
1737
  break;
1577
1738
  case "WEB_CHAT/SUBMIT_SEND_BOX":
1578
1739
  {
1579
- var _action_payload_channelData, _action_payload9;
1740
+ var _action_payload_channelData, _action_payload12;
1580
1741
  // Send event containing the speech retrieved from speech recognition
1581
- const speech = (_action_payload9 = action.payload) === null || _action_payload9 === void 0 ? void 0 : (_action_payload_channelData = _action_payload9.channelData) === null || _action_payload_channelData === void 0 ? void 0 : _action_payload_channelData.speech;
1742
+ const speech = (_action_payload12 = action.payload) === null || _action_payload12 === void 0 ? void 0 : (_action_payload_channelData = _action_payload12.channelData) === null || _action_payload_channelData === void 0 ? void 0 : _action_payload_channelData.speech;
1582
1743
  if (speech) {
1583
1744
  const speechEvent = new CustomEvent("retorikSpeechRecognitionEnded", {
1584
1745
  detail: speech
@@ -1667,7 +1828,6 @@ const $c7242af7a2bc5e50$export$ca8db8ed18ea1d2c = (value)=>{
1667
1828
  });
1668
1829
  };
1669
1830
  const $c7242af7a2bc5e50$export$29ec02ff899d2b53 = (value)=>{
1670
- console.log("set layoutChanged", $c7242af7a2bc5e50$export$bd22554f31e5f96f.getState().layoutChanged, value);
1671
1831
  $c7242af7a2bc5e50$export$bd22554f31e5f96f.setState({
1672
1832
  layoutChanged: value
1673
1833
  });
@@ -2026,27 +2186,27 @@ $951e6c0f34dcf14e$exports = JSON.parse('{"1":"Startseite","2":"Live-Infokanal","
2026
2186
 
2027
2187
 
2028
2188
  var $3e7fcd5de3105b5a$exports = {};
2029
- $3e7fcd5de3105b5a$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."}}');
2189
+ $3e7fcd5de3105b5a$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"}}');
2030
2190
 
2031
2191
 
2032
2192
  var $53a0b5ae6dcafec1$exports = {};
2033
- $53a0b5ae6dcafec1$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."}}');
2193
+ $53a0b5ae6dcafec1$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"}}');
2034
2194
 
2035
2195
 
2036
2196
  var $baab15f78d193de4$exports = {};
2037
- $baab15f78d193de4$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."}}');
2197
+ $baab15f78d193de4$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"}}');
2038
2198
 
2039
2199
 
2040
2200
  var $5c03d927d50c9cfe$exports = {};
2041
- $5c03d927d50c9cfe$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."}}');
2201
+ $5c03d927d50c9cfe$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"}}');
2042
2202
 
2043
2203
 
2044
2204
  var $02f6577a03965692$exports = {};
2045
- $02f6577a03965692$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."}}');
2205
+ $02f6577a03965692$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"}}');
2046
2206
 
2047
2207
 
2048
2208
  var $bb85f87939e5d184$exports = {};
2049
- $bb85f87939e5d184$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."}}');
2209
+ $bb85f87939e5d184$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"}}');
2050
2210
 
2051
2211
 
2052
2212
  var $af55b141294954cc$exports = {};
@@ -2062,19 +2222,19 @@ $09e3c655db596397$exports = JSON.parse('{"1":"kotisivu","2":"live-uutiskanava","
2062
2222
 
2063
2223
 
2064
2224
  var $95d45285e8bde83a$exports = {};
2065
- $95d45285e8bde83a$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."}}');
2225
+ $95d45285e8bde83a$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"}}');
2066
2226
 
2067
2227
 
2068
2228
  var $097ad979da96f7cd$exports = {};
2069
- $097ad979da96f7cd$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."}}');
2229
+ $097ad979da96f7cd$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"}}');
2070
2230
 
2071
2231
 
2072
2232
  var $346507cd11192c21$exports = {};
2073
- $346507cd11192c21$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."}}');
2233
+ $346507cd11192c21$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"}}');
2074
2234
 
2075
2235
 
2076
2236
  var $622a013796bd38cb$exports = {};
2077
- $622a013796bd38cb$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."}}');
2237
+ $622a013796bd38cb$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"}}');
2078
2238
 
2079
2239
 
2080
2240
  var $dcb762542f944ac8$exports = {};
@@ -2213,7 +2373,7 @@ const $b6a8688e7db7a7b9$export$3118ae18000e2700 = ()=>{
2213
2373
  const $e37833e47d877d3a$var$useToggleMicrophone = ()=>{
2214
2374
  const mode = (0, $c7242af7a2bc5e50$export$bd22554f31e5f96f)((state)=>state.mode);
2215
2375
  const activeRecognitionState = (0, $5f7f457957bd2c8d$export$f299240efcda25a2)((state)=>state.activeRecognitionState);
2216
- const toggleMicrophone = (0, $dWhh5$react.useCallback)(()=>{
2376
+ const toggleMicrophone = (0, $dWhh5$react.useCallback)((fromExpectedInput)=>{
2217
2377
  if (mode === (0, $71c613e2e831c34c$export$9484bbecc3c49a2e).text) (0, $5f7f457957bd2c8d$export$45913366c4ba414f)((0, $71c613e2e831c34c$export$3f0071308968cd80).Closed);
2218
2378
  else switch(activeRecognitionState){
2219
2379
  // Do nothing if we are in a transition state
@@ -2226,7 +2386,7 @@ const $e37833e47d877d3a$var$useToggleMicrophone = ()=>{
2226
2386
  break;
2227
2387
  case (0, $71c613e2e831c34c$export$3f0071308968cd80).Closed:
2228
2388
  (0, $5f7f457957bd2c8d$export$45913366c4ba414f)((0, $71c613e2e831c34c$export$3f0071308968cd80).Initializing);
2229
- (0, $5f7f457957bd2c8d$export$d0df6aec4e971f52)(true);
2389
+ !fromExpectedInput && (0, $5f7f457957bd2c8d$export$d0df6aec4e971f52)(true);
2230
2390
  break;
2231
2391
  }
2232
2392
  }, [
@@ -2246,12 +2406,14 @@ var $071bb34c9db044ce$var$EventsReceived;
2246
2406
  EventsReceived[EventsReceived["retorikStartListening"] = 3] = "retorikStartListening";
2247
2407
  EventsReceived[EventsReceived["retorikDisplaySubtitles"] = 4] = "retorikDisplaySubtitles";
2248
2408
  })($071bb34c9db044ce$var$EventsReceived || ($071bb34c9db044ce$var$EventsReceived = {}));
2249
- const $071bb34c9db044ce$var$SendActivityEventListener = ({ isRetorikNews: isRetorikNews, hasConversationCookie: hasConversationCookie, userData: userData, changedLayout: changedLayout })=>{
2409
+ const $071bb34c9db044ce$var$SendActivityEventListener = ({ isRetorikNews: isRetorikNews, hasConversationCookie: hasConversationCookie, userData: userData })=>{
2250
2410
  const sendPostActivity = $071bb34c9db044ce$var$usePostActivity();
2251
2411
  const sendEvent = $071bb34c9db044ce$var$useSendEvent();
2252
2412
  const locale = (0, $b6a8688e7db7a7b9$export$6650dace022cfacc)((state)=>state.locale);
2253
2413
  const activityToSend = (0, $70e3d65f5a106231$export$77e4cc5334565f28)((state)=>state.activityToSend);
2254
2414
  const eventToSend = (0, $70e3d65f5a106231$export$77e4cc5334565f28)((state)=>state.eventToSend);
2415
+ const displayGDPR = (0, $70e3d65f5a106231$export$77e4cc5334565f28)((state)=>state.GDPRDisplay);
2416
+ const userConsent = (0, $70e3d65f5a106231$export$77e4cc5334565f28)((state)=>state.GDPRUserConsent);
2255
2417
  const { appAvailable: appAvailable, loaderClosed: loaderClosed, configuration: { skipWelcome: skipWelcome } } = (0, $1d4f8108de9ab73a$export$d8760bee47331b1d)();
2256
2418
  const toggleMicrophone = (0, $e37833e47d877d3a$export$2e2bcd8739ae039)();
2257
2419
  const [eventReceived, setEventReceived] = (0, $dWhh5$react.useState)(null);
@@ -2272,7 +2434,7 @@ const $071bb34c9db044ce$var$SendActivityEventListener = ({ isRetorikNews: isReto
2272
2434
  eventReceived.detail && sendEvent(eventReceived.detail.name, eventReceived.detail.value);
2273
2435
  }
2274
2436
  } catch (e) {
2275
- console.warn("Error on event reception");
2437
+ console.warn("Retorik Framework > Error on event reception");
2276
2438
  }
2277
2439
  }, [
2278
2440
  eventReceived
@@ -2295,22 +2457,27 @@ const $071bb34c9db044ce$var$SendActivityEventListener = ({ isRetorikNews: isReto
2295
2457
  };
2296
2458
  }, []);
2297
2459
  (0, $dWhh5$react.useEffect)(()=>{
2298
- if (isRetorikNews || hasConversationCookie) {
2299
- console.log("isRetorikNews || hasConversationCookie", isRetorikNews, hasConversationCookie);
2300
- (0, $c7242af7a2bc5e50$export$702dee93694750db)(true);
2301
- } else if (!userAlreadySet && (appAvailable || loaderClosed)) {
2302
- console.log("changedLayout", changedLayout, appAvailable, loaderClosed);
2460
+ if (isRetorikNews || hasConversationCookie) (0, $c7242af7a2bc5e50$export$702dee93694750db)(true);
2461
+ else if (!userAlreadySet && appAvailable && !displayGDPR) {
2303
2462
  (0, $c7242af7a2bc5e50$export$702dee93694750db)(true);
2463
+ // Send mandatory events : setUser to start conversation, Davi.GDPRConsent for GDPR module
2464
+ sendEvent("setUser", {
2465
+ user: {
2466
+ ...userData,
2467
+ gdprConsent: true
2468
+ },
2469
+ skipWelcome: !!skipWelcome
2470
+ });
2304
2471
  setTimeout(()=>{
2305
- sendEvent("setUser", {
2306
- user: userData,
2307
- skipWelcome: !!skipWelcome
2472
+ sendEvent("Davi.GDPRConsent", {
2473
+ userConsent: userConsent
2308
2474
  });
2309
- }, 1000);
2475
+ }, 100);
2310
2476
  }
2311
2477
  }, [
2312
2478
  appAvailable,
2313
- loaderClosed
2479
+ loaderClosed,
2480
+ displayGDPR
2314
2481
  ]);
2315
2482
  (0, $dWhh5$react.useEffect)(()=>{
2316
2483
  if (activityToSend) {
@@ -2597,7 +2764,10 @@ const $6acc5d637072b42e$var$ViewContextDefaultValues = {
2597
2764
  themeColors: (0, $04a533cfb295ca20$export$d80fe84b82195dbd),
2598
2765
  isTactile: false,
2599
2766
  isMobile: false,
2767
+ isWidget: false,
2768
+ isLandscape: true,
2600
2769
  isMobileLandscape: false,
2770
+ isBorne: false,
2601
2771
  displayControls: true,
2602
2772
  showHomeAttachments: undefined,
2603
2773
  mediumLandscape: false,
@@ -2623,11 +2793,10 @@ function $6acc5d637072b42e$export$50e22524de02f5db({ viewsConfiguration: viewsCo
2623
2793
  currentWidth
2624
2794
  ]);
2625
2795
  const [isTactile, setIsTactile] = (0, $dWhh5$react.useState)(false);
2626
- const isMobile = (0, $dWhh5$react.useMemo)(()=>{
2627
- return (0, $0b4f07c0f09dbbcf$export$78f16669b353a880).includes(currentDeviceType);
2628
- }, [
2629
- currentDeviceType
2630
- ]);
2796
+ const [isMobile, setIsMobile] = (0, $dWhh5$react.useState)((0, $0b4f07c0f09dbbcf$export$78f16669b353a880).includes(currentDeviceType));
2797
+ const [isWidget, setIsWidget] = (0, $dWhh5$react.useState)((0, $0b4f07c0f09dbbcf$export$909f4c209eb70365).includes(currentDeviceType));
2798
+ const [isLandscape, setIsLandscape] = (0, $dWhh5$react.useState)((0, $0b4f07c0f09dbbcf$export$baf53ca377ebf861).includes(currentDeviceType));
2799
+ const [isBorne, setIsBorne] = (0, $dWhh5$react.useState)((0, $0b4f07c0f09dbbcf$export$a8576d98c9c928de).includes(currentDeviceType));
2631
2800
  const isMobileLandscape = (0, $dWhh5$react.useMemo)(()=>{
2632
2801
  if (currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).mobile && currentHeight < currentWidth) return true;
2633
2802
  return false;
@@ -2647,6 +2816,9 @@ function $6acc5d637072b42e$export$50e22524de02f5db({ viewsConfiguration: viewsCo
2647
2816
  themeColors: themeColors,
2648
2817
  isTactile: isTactile,
2649
2818
  isMobile: isMobile,
2819
+ isWidget: isWidget,
2820
+ isLandscape: isLandscape,
2821
+ isBorne: isBorne,
2650
2822
  isMobileLandscape: isMobileLandscape,
2651
2823
  displayControls: displayControls,
2652
2824
  showHomeAttachments: showHomeAttachments,
@@ -2665,6 +2837,10 @@ function $6acc5d637072b42e$export$50e22524de02f5db({ viewsConfiguration: viewsCo
2665
2837
  currentWidth,
2666
2838
  themeColors,
2667
2839
  isTactile,
2840
+ isMobile,
2841
+ isWidget,
2842
+ isLandscape,
2843
+ isBorne,
2668
2844
  isMobileLandscape,
2669
2845
  displayControls,
2670
2846
  showHomeAttachments,
@@ -2676,6 +2852,14 @@ function $6acc5d637072b42e$export$50e22524de02f5db({ viewsConfiguration: viewsCo
2676
2852
  setDisplayControls,
2677
2853
  setShowHomeAttachments
2678
2854
  ]);
2855
+ (0, $dWhh5$react.useEffect)(()=>{
2856
+ setIsMobile((0, $0b4f07c0f09dbbcf$export$78f16669b353a880).includes(currentDeviceType));
2857
+ setIsWidget((0, $0b4f07c0f09dbbcf$export$909f4c209eb70365).includes(currentDeviceType));
2858
+ setIsLandscape((0, $0b4f07c0f09dbbcf$export$baf53ca377ebf861).includes(currentDeviceType));
2859
+ setIsBorne((0, $0b4f07c0f09dbbcf$export$a8576d98c9c928de).includes(currentDeviceType));
2860
+ }, [
2861
+ currentDeviceType
2862
+ ]);
2679
2863
  (0, $dWhh5$react.useEffect)(()=>{
2680
2864
  setIsTactile("ontouchstart" in window || navigator.maxTouchPoints > 0);
2681
2865
  }, []);
@@ -4496,7 +4680,7 @@ const $123aaace3a01fe9a$var$POIAttachment = ({ media: media, title: title, subti
4496
4680
  media && ((_media_ = media[0]) === null || _media_ === void 0 ? void 0 : _media_.url) ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
4497
4681
  className: "rf-relative rf-w-full rf-rounded rf-aspect-video",
4498
4682
  style: {
4499
- backgroundImage: `url(${media[0].url})`,
4683
+ backgroundImage: `url(${media[0].url.replaceAll("'", "%27")})`,
4500
4684
  backgroundSize: "cover",
4501
4685
  backgroundRepeat: "no-repeat",
4502
4686
  backgroundPosition: "center"
@@ -8313,6 +8497,7 @@ let $85d8b0d1ec40dae5$var$iconsInitialized = false;
8313
8497
 
8314
8498
 
8315
8499
 
8500
+
8316
8501
  // Add markdown-it to window for markdown processing
8317
8502
  window.markdownit = (0, ($parcel$interopDefault($dWhh5$markdownit)));
8318
8503
  (0, $85d8b0d1ec40dae5$export$6108075486421829)();
@@ -8372,6 +8557,8 @@ const $c610b7db00433cde$var$defaultUser = {
8372
8557
  conversationId: cookieConversationId,
8373
8558
  watermark: "0"
8374
8559
  }));
8560
+ // Tell the activity store that we will retrieve several activities from an existing conversation, so that it displays only the last one
8561
+ (0, $9acd31406c230961$export$d7e4f7861d387c67)(true);
8375
8562
  setHasConversationCookie(true);
8376
8563
  test = false;
8377
8564
  }
@@ -8398,9 +8585,13 @@ const $c610b7db00433cde$var$defaultUser = {
8398
8585
  }, [
8399
8586
  ponyfillCredentials
8400
8587
  ]);
8401
- // Initialize the store
8588
+ // Initialize the store on mount and close directline on unmount
8402
8589
  (0, $dWhh5$react.useEffect)(()=>{
8403
8590
  initStore();
8591
+ return ()=>{
8592
+ var _subscriptionRef_current;
8593
+ subscriptionRef === null || subscriptionRef === void 0 ? void 0 : (_subscriptionRef_current = subscriptionRef.current) === null || _subscriptionRef_current === void 0 ? void 0 : _subscriptionRef_current.unsubscribe();
8594
+ };
8404
8595
  }, []);
8405
8596
  // Create custom store
8406
8597
  function initStore() {
@@ -8427,10 +8618,6 @@ const $c610b7db00433cde$var$defaultUser = {
8427
8618
  if (directLine) subscriptionRef.current = directLine.connectionStatus$.subscribe((newStatus)=>{
8428
8619
  setConnectionStatus(newStatus);
8429
8620
  });
8430
- return ()=>{
8431
- var _subscriptionRef_current;
8432
- subscriptionRef === null || subscriptionRef === void 0 ? void 0 : (_subscriptionRef_current = subscriptionRef.current) === null || _subscriptionRef_current === void 0 ? void 0 : _subscriptionRef_current.unsubscribe();
8433
- };
8434
8621
  }, [
8435
8622
  directLine
8436
8623
  ]);
@@ -8518,35 +8705,34 @@ var $99db97028d95da41$export$2e2bcd8739ae039 = $99db97028d95da41$var$BackgroundV
8518
8705
 
8519
8706
 
8520
8707
 
8521
- const $b81eedb00aebd99e$var$useRefDimensions = (ref)=>{
8708
+ /**
8709
+ * Use javascript ResizeOberver object to catch element's resize and return current size
8710
+ * @param {React.RefObject<HTMLElement>} ref element for which we want to get the size when resized
8711
+ * @returns {Dimensions} dimension data (width, height)
8712
+ */ const $b81eedb00aebd99e$var$useRefDimensions = (ref)=>{
8522
8713
  const [dimensions, setDimensions] = (0, $dWhh5$react.useState)({
8523
8714
  width: 1,
8524
8715
  height: 1
8525
8716
  });
8526
- const [windowSize, setWindowSize] = (0, $dWhh5$react.useState)({
8527
- width: window.innerWidth,
8528
- height: window.innerHeight
8529
- });
8530
- const handleResize = ()=>{
8531
- setWindowSize({
8532
- width: window.innerWidth,
8533
- height: window.innerHeight
8717
+ const [observer, setObserver] = (0, $dWhh5$react.useState)();
8718
+ const handleResizeObserverTick = (entries)=>{
8719
+ entries.length && entries[0].contentBoxSize.length && setDimensions({
8720
+ width: entries[0].contentBoxSize[0].inlineSize,
8721
+ height: entries[0].contentBoxSize[0].blockSize
8534
8722
  });
8535
8723
  };
8536
- (0, $dWhh5$react.useEffect)(()=>{
8537
- window.addEventListener("resize", handleResize);
8538
- if (ref.current) {
8539
- const { width: width, height: height } = ref.current.getBoundingClientRect();
8540
- setDimensions({
8541
- width: width,
8542
- height: height
8543
- });
8724
+ (0, $dWhh5$react.useLayoutEffect)(()=>{
8725
+ if (!observer) {
8726
+ const obs = new ResizeObserver(handleResizeObserverTick);
8727
+ if (ref === null || ref === void 0 ? void 0 : ref.current) {
8728
+ obs.observe(ref.current);
8729
+ setObserver(obs);
8730
+ }
8544
8731
  }
8545
- return ()=>window.removeEventListener("resize", handleResize);
8546
- }, [
8547
- ref,
8548
- windowSize
8549
- ]);
8732
+ return ()=>{
8733
+ observer === null || observer === void 0 ? void 0 : observer.disconnect();
8734
+ };
8735
+ }, []);
8550
8736
  return dimensions;
8551
8737
  };
8552
8738
  var $b81eedb00aebd99e$export$2e2bcd8739ae039 = $b81eedb00aebd99e$var$useRefDimensions;
@@ -8711,11 +8897,11 @@ var $f49c2c2bc5cff629$export$2e2bcd8739ae039 = $f49c2c2bc5cff629$var$VoiceInput;
8711
8897
 
8712
8898
  const $6af0aee9119363c4$var$UserRequest = ()=>{
8713
8899
  const mode = (0, $c7242af7a2bc5e50$export$bd22554f31e5f96f)((state)=>state.mode);
8714
- const { isMobile: isMobile, currentDeviceType: currentDeviceType, mediumLandscape: mediumLandscape } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
8900
+ const { isMobile: isMobile, isBorne: isBorne, mediumLandscape: mediumLandscape } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
8715
8901
  return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, ($parcel$interopDefault($dWhh5$react))).Fragment, {
8716
8902
  children: !isMobile && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
8717
8903
  className: `rf-relative rf-h-full
8718
- ${currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).borne && mode === (0, $71c613e2e831c34c$export$9484bbecc3c49a2e).vocal ? "rf-w-4/9" : "rf-w-3/5"}
8904
+ ${isBorne && mode === (0, $71c613e2e831c34c$export$9484bbecc3c49a2e).vocal ? "rf-w-4/9" : "rf-w-3/5"}
8719
8905
  ${mode === (0, $71c613e2e831c34c$export$9484bbecc3c49a2e).text && mediumLandscape ? "rf-col-start-4" : "rf-col-start-5"} rf-col-span-full rf-row-start-1 ${mode === (0, $71c613e2e831c34c$export$9484bbecc3c49a2e).text ? "rf-row-end-4" : "rf-row-end-5"} rf-py-4
8720
8906
  large-vertical:rf-col-start-1 large-vertical:rf-col-span-full large-vertical:rf-row-start-5 large-vertical:rf-row-end-7
8721
8907
  large-vertical:rf-py-5
@@ -9017,7 +9203,6 @@ var $adcadcb46808f0da$export$2e2bcd8739ae039 = $adcadcb46808f0da$var$ListContext
9017
9203
 
9018
9204
 
9019
9205
 
9020
-
9021
9206
  const $d14cc799951c2f96$var$Desktop = ({ className: className, background: background, children: children })=>{
9022
9207
  return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
9023
9208
  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}`,
@@ -9428,7 +9613,7 @@ var $e30af8373281dae5$export$2e2bcd8739ae039 = $e30af8373281dae5$var$AbsoluteLar
9428
9613
 
9429
9614
 
9430
9615
  const $bd338a637fd5b066$var$SubMenu = ({ background: background, onClick: onClick, children: children })=>{
9431
- const { currentDeviceType: currentDeviceType, isMobile: isMobile } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
9616
+ const { isMobile: isMobile, isLandscape: isLandscape, isBorne: isBorne } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
9432
9617
  return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)((0, ($parcel$interopDefault($dWhh5$react))).Fragment, {
9433
9618
  children: [
9434
9619
  !isMobile && onClick && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $e30af8373281dae5$export$2e2bcd8739ae039), {
@@ -9436,14 +9621,14 @@ const $bd338a637fd5b066$var$SubMenu = ({ background: background, onClick: onClic
9436
9621
  zIndexClassname: "rf-z-util",
9437
9622
  onClick: onClick
9438
9623
  }),
9439
- currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).borne ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)((0, $e126bc061f6f032b$export$2e2bcd8739ae039), {
9624
+ isBorne ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)((0, $e126bc061f6f032b$export$2e2bcd8739ae039), {
9440
9625
  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",
9441
9626
  background: background || "#FFFFFF",
9442
9627
  children: [
9443
9628
  /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $85e61aba8b9a5198$export$2e2bcd8739ae039), {}),
9444
9629
  children
9445
9630
  ]
9446
- }) : currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).landscape ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $d14cc799951c2f96$export$2e2bcd8739ae039), {
9631
+ }) : isLandscape ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $d14cc799951c2f96$export$2e2bcd8739ae039), {
9447
9632
  background: background || "#FFFFFF",
9448
9633
  children: children
9449
9634
  }) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $5b0a263fc6ebfb59$export$2e2bcd8739ae039), {
@@ -9471,6 +9656,7 @@ const $a0e7200eb5fb20c5$var$BackButton = ({ title: title, className: className,
9471
9656
  className: `rf-flex rf-flex-row rf-items-center ${className}`,
9472
9657
  onClick: handleBack,
9473
9658
  "aria-label": title,
9659
+ "data-map": "fermer",
9474
9660
  children: [
9475
9661
  /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $cd300cd0eae996ab$export$2e2bcd8739ae039), {
9476
9662
  className: "rf-w-8"
@@ -10868,7 +11054,7 @@ var $0641c78f051b69fe$export$2e2bcd8739ae039 = $0641c78f051b69fe$var$SubMenuClos
10868
11054
 
10869
11055
 
10870
11056
  const $6597700a5925d4dd$var$FullScreenRemoteClosing = ({ className: className, background: background, closeButtonClassName: closeButtonClassName, remoteCloseButtonZIndex: remoteCloseButtonZIndex, mobileReturnTitle: mobileReturnTitle, handleClose: handleClose, onClick: onClick, animation: animation, children: children })=>{
10871
- const { currentDeviceType: currentDeviceType, isMobile: isMobile } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
11057
+ const { isMobile: isMobile, isLandscape: isLandscape, isBorne: isBorne } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
10872
11058
  return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)((0, ($parcel$interopDefault($dWhh5$react))).Fragment, {
10873
11059
  children: [
10874
11060
  /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)((0, $e126bc061f6f032b$export$2e2bcd8739ae039), {
@@ -10877,7 +11063,7 @@ const $6597700a5925d4dd$var$FullScreenRemoteClosing = ({ className: className, b
10877
11063
  onClick: onClick,
10878
11064
  animation: animation,
10879
11065
  children: [
10880
- currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).landscape && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $de01a0272b83cb88$export$2e2bcd8739ae039), {
11066
+ isLandscape && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $de01a0272b83cb88$export$2e2bcd8739ae039), {
10881
11067
  onClick: handleClose,
10882
11068
  className: closeButtonClassName,
10883
11069
  showLabel: true
@@ -10890,7 +11076,7 @@ const $6597700a5925d4dd$var$FullScreenRemoteClosing = ({ className: className, b
10890
11076
  children
10891
11077
  ]
10892
11078
  }),
10893
- currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).borne && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $e30af8373281dae5$export$2e2bcd8739ae039), {
11079
+ isBorne && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $e30af8373281dae5$export$2e2bcd8739ae039), {
10894
11080
  dashboardVisible: true,
10895
11081
  zIndexClassname: remoteCloseButtonZIndex,
10896
11082
  onClick: handleClose
@@ -11373,7 +11559,6 @@ var $c044fb293a895d75$export$2e2bcd8739ae039 = $c044fb293a895d75$var$MobileDispl
11373
11559
 
11374
11560
 
11375
11561
 
11376
-
11377
11562
  // Check if we should let the event propagate. For example leaflet events should pass to allow map panning
11378
11563
  const $9eb4669b72b0cf4a$var$checkShouldPropagate = (e)=>{
11379
11564
  if (e.target) try {
@@ -11416,8 +11601,20 @@ const $9eb4669b72b0cf4a$var$handleTouch = (e)=>{
11416
11601
  localStorage.setItem("Retorik.Framework.TouchY", `${e.touches[0].screenY}`);
11417
11602
  e.touches.length > 1 && !$9eb4669b72b0cf4a$var$checkShouldPropagate(e) && e.cancelable && e.preventDefault();
11418
11603
  };
11419
- const $9eb4669b72b0cf4a$var$preventEvents = (element, ref)=>{
11420
- if (ref && (ref === null || ref === void 0 ? void 0 : ref.current)) {
11604
+ /**
11605
+ * Attach wheel | touch events on either a HTMLElement or a reference to a HTMLDivElement to prevent the propagation of this events to parent window.
11606
+ * @param {HTMLElement | null} element HTMLElement to which we will attach the events
11607
+ * @param {React.RefObject<HTMLDivElement>} ref reference to the HTMLDivElement to which we will attach the events
11608
+ * @param {AbortSignal} signal abort signal to remove events when needed
11609
+ */ const $9eb4669b72b0cf4a$var$preventEvents = (element, ref, signal)=>{
11610
+ // Add abort signal to options if present
11611
+ const options = signal ? {
11612
+ passive: false,
11613
+ signal: signal
11614
+ } : {
11615
+ passive: false
11616
+ };
11617
+ if (ref === null || ref === void 0 ? void 0 : ref.current) {
11421
11618
  try {
11422
11619
  ref.current.removeEventListener("wheel", (e)=>$9eb4669b72b0cf4a$var$handleRefStop(e, ref));
11423
11620
  ref.current.removeEventListener("touchstart", (e)=>$9eb4669b72b0cf4a$var$handleTouch(e));
@@ -11425,25 +11622,13 @@ const $9eb4669b72b0cf4a$var$preventEvents = (element, ref)=>{
11425
11622
  } catch (err) {
11426
11623
  console.warn(err);
11427
11624
  }
11428
- ref.current.addEventListener("wheel", (e)=>$9eb4669b72b0cf4a$var$handleRefStop(e, ref), {
11429
- passive: false
11430
- });
11431
- ref.current.addEventListener("touchstart", (e)=>$9eb4669b72b0cf4a$var$handleTouch(e), {
11432
- passive: false
11433
- });
11434
- ref.current.addEventListener("touchmove", (e)=>$9eb4669b72b0cf4a$var$handleRefStop(e, ref), {
11435
- passive: false
11436
- });
11625
+ ref.current.addEventListener("wheel", (e)=>$9eb4669b72b0cf4a$var$handleRefStop(e, ref), options);
11626
+ ref.current.addEventListener("touchstart", (e)=>$9eb4669b72b0cf4a$var$handleTouch(e), options);
11627
+ ref.current.addEventListener("touchmove", (e)=>$9eb4669b72b0cf4a$var$handleRefStop(e, ref), options);
11437
11628
  } else if (element) {
11438
- element.addEventListener("wheel", (e)=>$9eb4669b72b0cf4a$var$handleStop(e), {
11439
- passive: false
11440
- });
11441
- element.addEventListener("touchstart", (e)=>$9eb4669b72b0cf4a$var$handleTouch(e), {
11442
- passive: false
11443
- });
11444
- element.addEventListener("touchmove", (e)=>$9eb4669b72b0cf4a$var$handleStop(e), {
11445
- passive: false
11446
- });
11629
+ element.addEventListener("wheel", (e)=>$9eb4669b72b0cf4a$var$handleStop(e), options);
11630
+ element.addEventListener("touchstart", (e)=>$9eb4669b72b0cf4a$var$handleTouch(e), options);
11631
+ element.addEventListener("touchmove", (e)=>$9eb4669b72b0cf4a$var$handleStop(e), options);
11447
11632
  }
11448
11633
  };
11449
11634
  var $9eb4669b72b0cf4a$export$2e2bcd8739ae039 = $9eb4669b72b0cf4a$var$preventEvents;
@@ -11452,12 +11637,12 @@ var $9eb4669b72b0cf4a$export$2e2bcd8739ae039 = $9eb4669b72b0cf4a$var$preventEven
11452
11637
  const $55a6a0d3c4977a41$var$FilterMobile = ({ className: className, setFiltersOpened: setFiltersOpened, handleClose: handleClose })=>{
11453
11638
  const translation = (0, $b6a8688e7db7a7b9$export$6650dace022cfacc)((state)=>state.currentTranslations);
11454
11639
  const { resetFilters: resetFilters } = (0, $4859746455f78ba2$export$f9763ecd339e95eb)();
11455
- const { currentDeviceType: currentDeviceType } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
11640
+ const { isWidget: isWidget } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
11456
11641
  const [open, setOpen] = (0, $dWhh5$react.useState)(false);
11457
11642
  const [currentOpened, setCurrentOpened] = (0, $dWhh5$react.useState)(undefined);
11458
11643
  const divRef = (0, $dWhh5$react.useRef)(null);
11459
11644
  (0, $dWhh5$react.useEffect)(()=>{
11460
- if (divRef === null || divRef === void 0 ? void 0 : divRef.current) currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widget && (0, $9eb4669b72b0cf4a$export$2e2bcd8739ae039)(null, divRef);
11645
+ if (divRef === null || divRef === void 0 ? void 0 : divRef.current) isWidget && (0, $9eb4669b72b0cf4a$export$2e2bcd8739ae039)(null, divRef);
11461
11646
  }, [
11462
11647
  divRef === null || divRef === void 0 ? void 0 : divRef.current
11463
11648
  ]);
@@ -11644,6 +11829,7 @@ const $48a18493bc0e99f6$export$93d01adc5582c83e = ({ direction: direction, displ
11644
11829
  };
11645
11830
 
11646
11831
 
11832
+
11647
11833
  const { useSendPostBack: $a0c42cb8428afc95$var$useSendPostBack } = (0, $dWhh5$botframeworkwebchatcomponent.hooks);
11648
11834
  let $a0c42cb8428afc95$var$timer = null;
11649
11835
  const $a0c42cb8428afc95$var$ListContainer = ({ hasFilterOrSuggestedAction: hasFilterOrSuggestedAction, numberOfResults: numberOfResults })=>{
@@ -11651,7 +11837,7 @@ const $a0c42cb8428afc95$var$ListContainer = ({ hasFilterOrSuggestedAction: hasFi
11651
11837
  const translation = (0, $b6a8688e7db7a7b9$export$6650dace022cfacc)((state)=>state.currentTranslations);
11652
11838
  const sendPostback = $a0c42cb8428afc95$var$useSendPostBack();
11653
11839
  const { content: content, selectedFilters: selectedFilters, loadingData: loadingData, setLoadingData: setLoadingData } = (0, $4859746455f78ba2$export$f9763ecd339e95eb)();
11654
- const { currentDeviceType: currentDeviceType, isMobile: isMobile } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
11840
+ const { currentDeviceType: currentDeviceType, isMobile: isMobile, isWidget: isWidget } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
11655
11841
  const currentPagination = (0, $c581f9c34f3754ec$export$2e2bcd8739ae039)();
11656
11842
  const [contentToDisplay, setContentToDisplay] = (0, $dWhh5$react.useState)([]);
11657
11843
  const [landscapeStyle, setLandscapeStyle] = (0, $dWhh5$react.useState)("large:rf-h-3/5");
@@ -11661,6 +11847,7 @@ const $a0c42cb8428afc95$var$ListContainer = ({ hasFilterOrSuggestedAction: hasFi
11661
11847
  const scrollRef = (0, $dWhh5$react.useRef)(null);
11662
11848
  const contentRef = (0, $dWhh5$react.useRef)(null);
11663
11849
  const numberOfDisplayed = (0, $dWhh5$react.useRef)();
11850
+ const [abortController, setAbortController] = (0, $dWhh5$react.useState)(null);
11664
11851
  (0, $dWhh5$react.useEffect)(()=>{
11665
11852
  setLandscapeStyle(hasFilterOrSuggestedAction ? "large:rf-h-[60vh]" : "");
11666
11853
  }, [
@@ -11750,6 +11937,21 @@ const $a0c42cb8428afc95$var$ListContainer = ({ hasFilterOrSuggestedAction: hasFi
11750
11937
  }, [
11751
11938
  contentToDisplay
11752
11939
  ]);
11940
+ (0, $dWhh5$react.useEffect)(()=>{
11941
+ if ((contentRef === null || contentRef === void 0 ? void 0 : contentRef.current) && isWidget) {
11942
+ if (currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widgetLandscape) {
11943
+ const ab = new AbortController();
11944
+ setAbortController(ab);
11945
+ (0, $9eb4669b72b0cf4a$export$2e2bcd8739ae039)(null, contentRef, ab.signal);
11946
+ } else {
11947
+ abortController === null || abortController === void 0 ? void 0 : abortController.abort();
11948
+ setAbortController(null);
11949
+ }
11950
+ }
11951
+ }, [
11952
+ contentRef === null || contentRef === void 0 ? void 0 : contentRef.current,
11953
+ currentDeviceType
11954
+ ]);
11753
11955
  /**
11754
11956
  * Click on 'see more' button in mobile mode or scroll to the end of the list in desktop / borne modes.
11755
11957
  * This will send a postback message with 'hospitality.pointOfInterest.nextPage' name to get new content
@@ -11770,7 +11972,8 @@ const $a0c42cb8428afc95$var$ListContainer = ({ hasFilterOrSuggestedAction: hasFi
11770
11972
  * Scroll to the scrollRef HTMLDivElement at the top of the view
11771
11973
  */ const scrollToRef = ()=>{
11772
11974
  if (scrollRef && scrollRef.current !== null) scrollRef.current.scrollIntoView({
11773
- behavior: "smooth"
11975
+ behavior: "smooth",
11976
+ block: "nearest"
11774
11977
  });
11775
11978
  setLoadingData(false);
11776
11979
  };
@@ -11960,10 +12163,10 @@ const $7a4829033e41af4d$var$List = ({ activity: activity, onClose: onClose })=>{
11960
12163
  var _content_channelData, _content_suggestedActions_actions, _content_suggestedActions, _content_channelData1, _content_suggestedActions1;
11961
12164
  const mode = (0, $c7242af7a2bc5e50$export$bd22554f31e5f96f)((state)=>state.mode);
11962
12165
  const sendEvent = (0, $dWhh5$botframeworkwebchatapilibhooks.useSendEvent)();
11963
- const { isMobile: isMobile, currentDeviceType: currentDeviceType } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
12166
+ const { isMobile: isMobile, isWidget: isWidget, currentDeviceType: currentDeviceType } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
11964
12167
  const { content: content, filters: filters, selectedFilters: selectedFilters, setContent: setContent } = (0, $4859746455f78ba2$export$f9763ecd339e95eb)();
11965
- const { locale: locale } = (0, $b6a8688e7db7a7b9$export$6650dace022cfacc)();
11966
- const { lastListActivity: lastListActivity } = (0, $70e3d65f5a106231$export$77e4cc5334565f28)();
12168
+ const locale = (0, $b6a8688e7db7a7b9$export$6650dace022cfacc)((state)=>state.locale);
12169
+ const lastListActivity = (0, $70e3d65f5a106231$export$77e4cc5334565f28)((state)=>state.lastListActivity);
11967
12170
  const [mobileFiltersOpened, setMobileFiltersOpened] = (0, $dWhh5$react.useState)(false);
11968
12171
  const [largeFilterOpenedKey, setLargeFilterOpenedKey] = (0, $dWhh5$react.useState)(undefined);
11969
12172
  const scrollRef = (0, $dWhh5$react.useRef)(null);
@@ -11974,6 +12177,7 @@ const $7a4829033e41af4d$var$List = ({ activity: activity, onClose: onClose })=>{
11974
12177
  }));
11975
12178
  const timerRef = (0, $dWhh5$react.useRef)(null);
11976
12179
  const divRef = (0, $dWhh5$react.useRef)(null);
12180
+ const [abortController, setAbortController] = (0, $dWhh5$react.useState)(null);
11977
12181
  /**
11978
12182
  * On call :
11979
12183
  * - set ListContext's content state to undefined
@@ -12020,13 +12224,24 @@ const $7a4829033e41af4d$var$List = ({ activity: activity, onClose: onClose })=>{
12020
12224
  * - scroll to the scrollRef HTML element at the top of the view
12021
12225
  */ const scrollToRef = ()=>{
12022
12226
  if (scrollRef && scrollRef.current !== null) scrollRef.current.scrollIntoView({
12023
- behavior: "smooth"
12227
+ behavior: "smooth",
12228
+ block: "nearest"
12024
12229
  });
12025
12230
  };
12026
12231
  (0, $dWhh5$react.useEffect)(()=>{
12027
- if (divRef === null || divRef === void 0 ? void 0 : divRef.current) currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widget && (0, $9eb4669b72b0cf4a$export$2e2bcd8739ae039)(null, divRef);
12232
+ if ((divRef === null || divRef === void 0 ? void 0 : divRef.current) && isWidget) {
12233
+ if (currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widget) {
12234
+ const ab = new AbortController();
12235
+ setAbortController(ab);
12236
+ (0, $9eb4669b72b0cf4a$export$2e2bcd8739ae039)(null, divRef, ab.signal);
12237
+ } else {
12238
+ abortController === null || abortController === void 0 ? void 0 : abortController.abort();
12239
+ setAbortController(null);
12240
+ }
12241
+ }
12028
12242
  }, [
12029
- divRef === null || divRef === void 0 ? void 0 : divRef.current
12243
+ divRef === null || divRef === void 0 ? void 0 : divRef.current,
12244
+ currentDeviceType
12030
12245
  ]);
12031
12246
  /**
12032
12247
  * On content change :
@@ -12152,10 +12367,12 @@ const $2a0863637e76884f$var$Card = ({ children: children, className: className,
12152
12367
  if (to === "bottom") setScrollButtonDirection("top");
12153
12368
  else setScrollButtonDirection("bottom");
12154
12369
  if (from === "button" && botEndRef && botEndRef.current !== null && to === "bottom") botEndRef.current.scrollIntoView({
12155
- behavior: "smooth"
12370
+ behavior: "smooth",
12371
+ block: "nearest"
12156
12372
  });
12157
12373
  else if (to === "top" && cardRef && cardRef.current) cardRef.current.children[1].scrollIntoView({
12158
- behavior: "smooth"
12374
+ behavior: "smooth",
12375
+ block: "nearest"
12159
12376
  });
12160
12377
  };
12161
12378
  const handleScroll = ()=>{
@@ -12311,6 +12528,8 @@ var $8bc9b4e77f6f09d6$export$2e2bcd8739ae039 = $8bc9b4e77f6f09d6$var$Swiper;
12311
12528
 
12312
12529
 
12313
12530
 
12531
+
12532
+
12314
12533
  const $872024d5c381e99a$var$springEnterDuration = 1000;
12315
12534
  // Cards' width coefficients depending on the mode and display type
12316
12535
  const $872024d5c381e99a$var$widthCoefficients = {
@@ -12336,7 +12555,7 @@ const $872024d5c381e99a$var$Carousel = /*#__PURE__*/ (0, ($parcel$interopDefault
12336
12555
  currentDeviceType
12337
12556
  ]);
12338
12557
  const coefficient = (0, $dWhh5$react.useMemo)(()=>{
12339
- return mode === (0, $71c613e2e831c34c$export$9484bbecc3c49a2e).vocal ? currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).landscape ? history ? $872024d5c381e99a$var$widthCoefficients.textAndVocalMobile : $872024d5c381e99a$var$widthCoefficients.vocalDesktop : currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).borne ? history ? $872024d5c381e99a$var$widthCoefficients.vocalDesktop : $872024d5c381e99a$var$widthCoefficients.vocalBorne : $872024d5c381e99a$var$widthCoefficients.textAndVocalMobile : $872024d5c381e99a$var$widthCoefficients.textAndVocalMobile;
12558
+ return mode === (0, $71c613e2e831c34c$export$9484bbecc3c49a2e).vocal ? currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).landscape || currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widgetLandscape ? history ? $872024d5c381e99a$var$widthCoefficients.textAndVocalMobile : $872024d5c381e99a$var$widthCoefficients.vocalDesktop : currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).borne || currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widgetBorne ? history ? $872024d5c381e99a$var$widthCoefficients.vocalDesktop : $872024d5c381e99a$var$widthCoefficients.vocalBorne : $872024d5c381e99a$var$widthCoefficients.textAndVocalMobile : $872024d5c381e99a$var$widthCoefficients.textAndVocalMobile;
12340
12559
  }, [
12341
12560
  mode,
12342
12561
  currentDeviceType
@@ -12353,6 +12572,7 @@ const $872024d5c381e99a$var$Carousel = /*#__PURE__*/ (0, ($parcel$interopDefault
12353
12572
  const [wheeling, setWheeling] = (0, $dWhh5$react.useState)(0);
12354
12573
  const divRef = (0, $dWhh5$react.useRef)(null);
12355
12574
  const timerRef = (0, $dWhh5$react.useRef)(null);
12575
+ const dimensions = (0, $b81eedb00aebd99e$export$2e2bcd8739ae039)(divRef);
12356
12576
  const [spring, api] = (0, $dWhh5$reactspringweb.useSpring)(()=>({
12357
12577
  from: {
12358
12578
  transform: "translateX(0%)"
@@ -12383,13 +12603,13 @@ const $872024d5c381e99a$var$Carousel = /*#__PURE__*/ (0, ($parcel$interopDefault
12383
12603
  * On component unmount :
12384
12604
  * - clear timeout
12385
12605
  */ (0, $dWhh5$react.useEffect)(()=>{
12386
- if (divRef.current) {
12387
- let newCardWidth = Math.floor(divRef.current.clientWidth * coefficient);
12606
+ if (dimensions) {
12607
+ let newCardWidth = Math.floor(dimensions.width * coefficient);
12388
12608
  if (forceMobileView && newCardWidth > 400) {
12389
12609
  newCardWidth = 400;
12390
- setCurrentPadding((divRef.current.clientWidth - newCardWidth - 5 * (nbCards - 1)) / 2);
12391
- if (nbCards * newCardWidth < divRef.current.clientWidth) setEnableTranslation(false);
12392
- } else setCurrentPadding((1 - coefficient) * divRef.current.clientWidth / 2);
12610
+ setCurrentPadding((dimensions.width - newCardWidth - 5 * (nbCards - 1)) / 2);
12611
+ if (nbCards * newCardWidth < dimensions.width) setEnableTranslation(false);
12612
+ } else setCurrentPadding((1 - coefficient) * dimensions.width / 2);
12393
12613
  const newCardHeight = Math.ceil(newCardWidth * 10 / 16);
12394
12614
  // Space needed to center to cards
12395
12615
  // Cards' width (all dispositions) and height (only used in vertical disposition)
@@ -12400,7 +12620,7 @@ const $872024d5c381e99a$var$Carousel = /*#__PURE__*/ (0, ($parcel$interopDefault
12400
12620
  }
12401
12621
  return ()=>timerRef && clearTimeout(timerRef.current);
12402
12622
  }, [
12403
- divRef,
12623
+ dimensions,
12404
12624
  coefficient,
12405
12625
  nbCards,
12406
12626
  currentDeviceType,
@@ -12457,6 +12677,8 @@ const $872024d5c381e99a$var$Carousel = /*#__PURE__*/ (0, ($parcel$interopDefault
12457
12677
  * @param distance : number
12458
12678
  * @param elpasedTime : number
12459
12679
  */ const onSwipeLeft = (distance, elapsedTime)=>{
12680
+ // Utils store util to show that the user is swiping
12681
+ (0, $70e3d65f5a106231$export$19e9368606a5170f)();
12460
12682
  const velocity = Math.abs(distance / elapsedTime);
12461
12683
  setTransitionDuration($872024d5c381e99a$var$defaultTransitionDuration);
12462
12684
  if (currentCard !== nbCards - 1 && cardWidth) {
@@ -12476,6 +12698,8 @@ const $872024d5c381e99a$var$Carousel = /*#__PURE__*/ (0, ($parcel$interopDefault
12476
12698
  * @param distance : number
12477
12699
  * @param elpasedTime : number
12478
12700
  */ const onSwipeRight = (distance, elapsedTime)=>{
12701
+ // Utils store util to show that the user is swiping
12702
+ (0, $70e3d65f5a106231$export$19e9368606a5170f)();
12479
12703
  const velocity = Math.abs(distance / elapsedTime);
12480
12704
  setTransitionDuration($872024d5c381e99a$var$defaultTransitionDuration);
12481
12705
  if (currentCard !== 0 && cardWidth) {
@@ -12540,6 +12764,8 @@ const $872024d5c381e99a$var$Carousel = /*#__PURE__*/ (0, ($parcel$interopDefault
12540
12764
  * - update currentCard state with the key parameter
12541
12765
  * @param key : number
12542
12766
  */ const handleClick = (key)=>{
12767
+ // Utils store util to show that the user is swiping
12768
+ (0, $70e3d65f5a106231$export$19e9368606a5170f)();
12543
12769
  setTransitionDuration($872024d5c381e99a$var$defaultTransitionDuration);
12544
12770
  setCurrentCard(key);
12545
12771
  };
@@ -12549,7 +12775,11 @@ const $872024d5c381e99a$var$Carousel = /*#__PURE__*/ (0, ($parcel$interopDefault
12549
12775
  * - set wheeling state to a positive or negative unique value (here Date.now() is used as unique)
12550
12776
  * @param delta : number
12551
12777
  */ const handleWheel = (delta)=>{
12552
- if (delta !== undefined) setWheeling(delta > 0 ? Date.now() : -Date.now());
12778
+ if (delta !== undefined) {
12779
+ // Utils store util to show that the user is swiping
12780
+ (0, $70e3d65f5a106231$export$19e9368606a5170f)();
12781
+ setWheeling(delta > 0 ? Date.now() : -Date.now());
12782
+ }
12553
12783
  };
12554
12784
  return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)((0, $dWhh5$reactspringweb.animated).div, {
12555
12785
  ref: divRef,
@@ -12893,7 +13123,7 @@ var $9e5ad86f0a7e1d05$export$2e2bcd8739ae039 = $9e5ad86f0a7e1d05$var$HistoryItem
12893
13123
 
12894
13124
  const $4c0e94df62fa6718$var$HistoryList = ()=>{
12895
13125
  const translation = (0, $b6a8688e7db7a7b9$export$6650dace022cfacc)((state)=>state.currentTranslations);
12896
- const { currentDeviceType: currentDeviceType } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
13126
+ const { isWidget: isWidget, isBorne: isBorne } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
12897
13127
  const activities = (0, $0a0255973b22d31f$export$2e2bcd8739ae039)();
12898
13128
  const scrollRef = (0, $dWhh5$react.useRef)(null);
12899
13129
  const divRef = (0, $dWhh5$react.useRef)(null);
@@ -12903,7 +13133,8 @@ const $4c0e94df62fa6718$var$HistoryList = ()=>{
12903
13133
  * - scroll to the scrollRef HTML element at the bottom of the view
12904
13134
  */ const scrollToRef = ()=>{
12905
13135
  if (scrollRef && scrollRef.current !== null) scrollRef.current.scrollIntoView({
12906
- behavior: "smooth"
13136
+ behavior: "smooth",
13137
+ block: "nearest"
12907
13138
  });
12908
13139
  };
12909
13140
  /**
@@ -12915,7 +13146,7 @@ const $4c0e94df62fa6718$var$HistoryList = ()=>{
12915
13146
  }, 200);
12916
13147
  }, []);
12917
13148
  (0, $dWhh5$react.useEffect)(()=>{
12918
- if (divRef === null || divRef === void 0 ? void 0 : divRef.current) currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widget && (0, $9eb4669b72b0cf4a$export$2e2bcd8739ae039)(null, divRef);
13149
+ (divRef === null || divRef === void 0 ? void 0 : divRef.current) && isWidget && (0, $9eb4669b72b0cf4a$export$2e2bcd8739ae039)(null, divRef);
12919
13150
  }, [
12920
13151
  divRef === null || divRef === void 0 ? void 0 : divRef.current
12921
13152
  ]);
@@ -12930,7 +13161,7 @@ const $4c0e94df62fa6718$var$HistoryList = ()=>{
12930
13161
  title: translation.history.title,
12931
13162
  children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
12932
13163
  ref: divRef,
12933
- className: `rf-pb-4 rf-overflow-y-scroll ${currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).borne ? "rf-scrollbar-thin" : "rf-scrollbar-hidden"}`,
13164
+ className: `rf-pb-4 rf-overflow-y-scroll ${isBorne ? "rf-scrollbar-thin" : "rf-scrollbar-hidden"}`,
12934
13165
  children: [
12935
13166
  activities.map((activity, key)=>{
12936
13167
  return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $9e5ad86f0a7e1d05$export$2e2bcd8739ae039), {
@@ -12957,16 +13188,21 @@ var $4c0e94df62fa6718$export$2e2bcd8739ae039 = $4c0e94df62fa6718$var$HistoryList
12957
13188
 
12958
13189
 
12959
13190
 
13191
+
12960
13192
  const $6bd994e5ef61a032$var$LanguageChoice = ()=>{
12961
13193
  const translation = (0, $b6a8688e7db7a7b9$export$6650dace022cfacc)((state)=>state.currentTranslations);
12962
13194
  const locale = (0, $b6a8688e7db7a7b9$export$6650dace022cfacc)((state)=>state.locale);
12963
13195
  const supported = (0, $b6a8688e7db7a7b9$export$6650dace022cfacc)((state)=>state.supported);
13196
+ const { configuration: { skipWelcome: skipWelcome } } = (0, $1d4f8108de9ab73a$export$d8760bee47331b1d)();
12964
13197
  const sendEvent = (0, $dWhh5$botframeworkwebchatapilibhooks.useSendEvent)();
12965
13198
  const [currentLanguage, setCurrentLanguage] = (0, $dWhh5$react.useState)(locale);
12966
- const handleClose = ()=>{
13199
+ const handleClose = (changed)=>{
12967
13200
  (0, $70e3d65f5a106231$export$f0c096b4ecd7115d)((0, $71c613e2e831c34c$export$f05d0fed0593ead7).none);
12968
- sendEvent("Davi.CloseWindow", null);
12969
- sendEvent("Davi.CloseWindowLanguages", null);
13201
+ // Only send events when language has not been changed, either way it will collide with the TriggerWelcome event
13202
+ if (!changed) {
13203
+ sendEvent("Davi.CloseWindow", null);
13204
+ sendEvent("Davi.CloseWindowLanguages", null);
13205
+ }
12970
13206
  };
12971
13207
  const handleChange = (language)=>{
12972
13208
  setCurrentLanguage(language);
@@ -12976,16 +13212,17 @@ const $6bd994e5ef61a032$var$LanguageChoice = ()=>{
12976
13212
  * Send a 'TriggerWelcome' event to get the welcome message in the new language.
12977
13213
  * @param language string
12978
13214
  */ const handleSelect = (language)=>{
12979
- if (language !== locale) {
13215
+ const changed = language !== locale;
13216
+ if (changed) {
12980
13217
  (0, $b6a8688e7db7a7b9$export$c8aadf3621e41efb)(language);
12981
- setTimeout(()=>{
13218
+ !skipWelcome && setTimeout(()=>{
12982
13219
  sendEvent("TriggerWelcome", undefined);
12983
13220
  }, 150);
12984
13221
  }
12985
- handleClose();
13222
+ handleClose(changed);
12986
13223
  };
12987
13224
  return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)((0, $0641c78f051b69fe$export$2e2bcd8739ae039), {
12988
- handleClose: handleClose,
13225
+ handleClose: ()=>handleClose(false),
12989
13226
  children: [
12990
13227
  /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
12991
13228
  className: "large:rf-mt-[20vh] large-tactile:rf-mt-0 rf-title-bold-size-auto rf-font-bold",
@@ -13464,12 +13701,11 @@ const $5565d7860328960f$var$DownloadQR = ({ url: url })=>{
13464
13701
  var $5565d7860328960f$export$2e2bcd8739ae039 = $5565d7860328960f$var$DownloadQR;
13465
13702
 
13466
13703
 
13467
-
13468
13704
  const $fe50c85aaca30261$var$DownloadQRHeight = 200;
13469
13705
  const $fe50c85aaca30261$var$DownloadSheetHeight = 100;
13470
13706
  const $fe50c85aaca30261$var$DetailedText = ({ text: text, otherInformations: otherInformations, color: color, url: url, titleHeight: titleHeight })=>{
13471
13707
  const { configuration: { isUsedOnBorne: isUsedOnBorne } } = (0, $1d4f8108de9ab73a$export$d8760bee47331b1d)();
13472
- const { currentDeviceType: currentDeviceType, currentHeight: currentHeight, isMobile: isMobile } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
13708
+ const { currentHeight: currentHeight, isMobile: isMobile, isLandscape: isLandscape } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
13473
13709
  const textRef = (0, $dWhh5$react.useRef)(null);
13474
13710
  const otherInformationsRef = (0, $dWhh5$react.useRef)(null);
13475
13711
  const [opacityStyle, setOpacityStyle] = (0, $dWhh5$react.useState)("");
@@ -13489,8 +13725,8 @@ const $fe50c85aaca30261$var$DetailedText = ({ text: text, otherInformations: oth
13489
13725
  const [otherInformationsMaxHeight, setOtherInformationsMaxHeight] = (0, $dWhh5$react.useState)(0);
13490
13726
  (0, $dWhh5$react.useEffect)(()=>{
13491
13727
  if ((textRef === null || textRef === void 0 ? void 0 : textRef.current) && (otherInformationsRef === null || otherInformationsRef === void 0 ? void 0 : otherInformationsRef.current) && textContainerMaxHeight && !isMobile) {
13492
- const textHeight = currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).landscape ? textContainerMaxHeight * 58 / 100 : currentHeight * 30 / 100;
13493
- const otherInformationsHeight = currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).landscape ? textContainerMaxHeight * 40 / 100 : currentHeight * 18 / 100;
13728
+ const textHeight = isLandscape ? textContainerMaxHeight * 58 / 100 : currentHeight * 30 / 100;
13729
+ const otherInformationsHeight = isLandscape ? textContainerMaxHeight * 40 / 100 : currentHeight * 18 / 100;
13494
13730
  if (textRef.current.scrollHeight > textHeight) {
13495
13731
  if (otherInformationsRef.current.scrollHeight > otherInformationsHeight) {
13496
13732
  setTextMaxHeight(textHeight);
@@ -13554,7 +13790,7 @@ const $fe50c85aaca30261$var$DetailedText = ({ text: text, otherInformations: oth
13554
13790
  /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
13555
13791
  className: "rf-w-full rf-flex rf-flex-col rf-items-start",
13556
13792
  style: {
13557
- maxHeight: currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).landscape ? textContainerMaxHeight : undefined
13793
+ maxHeight: isLandscape ? textContainerMaxHeight : undefined
13558
13794
  },
13559
13795
  children: [
13560
13796
  processedText && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
@@ -13600,7 +13836,7 @@ const $fe50c85aaca30261$var$DetailedText = ({ text: text, otherInformations: oth
13600
13836
  })
13601
13837
  ]
13602
13838
  }),
13603
- currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).landscape && url && (isUsedOnBorne ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $5565d7860328960f$export$2e2bcd8739ae039), {
13839
+ isLandscape && url && (isUsedOnBorne ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $5565d7860328960f$export$2e2bcd8739ae039), {
13604
13840
  url: url
13605
13841
  }) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $9982aaf71fbd3e1f$export$2e2bcd8739ae039), {
13606
13842
  url: url
@@ -14284,9 +14520,8 @@ var $c9b17a03b9c46905$export$2e2bcd8739ae039 = $c9b17a03b9c46905$var$Map;
14284
14520
 
14285
14521
 
14286
14522
 
14287
-
14288
14523
  const $6cacbade32b06d0d$var$DetailedAddress = ({ address: address, phoneNumber: phoneNumber, coordinates: coordinates, color: color, customerReviews: customerReviews, url: url })=>{
14289
- const { currentWidth: currentWidth, currentDeviceType: currentDeviceType, isMobile: isMobile } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
14524
+ const { currentWidth: currentWidth, isMobile: isMobile, isLandscape: isLandscape, isBorne: isBorne } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
14290
14525
  const { configuration: configuration } = (0, $1d4f8108de9ab73a$export$d8760bee47331b1d)();
14291
14526
  return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
14292
14527
  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",
@@ -14297,13 +14532,13 @@ const $6cacbade32b06d0d$var$DetailedAddress = ({ address: address, phoneNumber:
14297
14532
  customerReviews: customerReviews
14298
14533
  }),
14299
14534
  /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
14300
- className: `rf-px-6 rf-flex rf-flex-col large-vertical:rf-w-1/2 rf-items-center rf-text-center ${customerReviews ? currentDeviceType !== (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).borne ? "rf-bg-truewhite rf-justify-start" : "rf-bg-truewhite rf-justify-center" : "rf-justify-center"}`,
14535
+ 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"}`,
14301
14536
  style: {
14302
- height: isMobile ? customerReviews ? currentWidth : undefined : currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).landscape ? coordinates && coordinates.latitude && coordinates.longitude ? "50%" : "100%" : "calc(50vw - 3rem)"
14537
+ height: isMobile ? customerReviews ? currentWidth : undefined : isLandscape ? coordinates && coordinates.latitude && coordinates.longitude ? "50%" : "100%" : "calc(50vw - 3rem)"
14303
14538
  },
14304
14539
  children: [
14305
14540
  /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
14306
- className: customerReviews && currentDeviceType !== (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).borne ? currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).landscape ? "rf-pt-[26vh] rf-pb-12" : "rf-pt-11/20 rf-pb-12" : "rf-py-12",
14541
+ className: customerReviews && !isBorne ? isLandscape ? "rf-pt-[26vh] rf-pb-12" : "rf-pt-11/20 rf-pb-12" : "rf-py-12",
14307
14542
  children: address && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)((0, ($parcel$interopDefault($dWhh5$react))).Fragment, {
14308
14543
  children: [
14309
14544
  address.street && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
@@ -14318,7 +14553,7 @@ const $6cacbade32b06d0d$var$DetailedAddress = ({ address: address, phoneNumber:
14318
14553
  phoneNumber && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $2ed0c554c11c571c$export$2e2bcd8739ae039), {
14319
14554
  phoneNumber: phoneNumber
14320
14555
  }),
14321
- coordinates && coordinates.latitude && coordinates.longitude && currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).borne && url && (configuration.isUsedOnBorne ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $5565d7860328960f$export$2e2bcd8739ae039), {
14556
+ coordinates && coordinates.latitude && coordinates.longitude && isBorne && url && (configuration.isUsedOnBorne ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $5565d7860328960f$export$2e2bcd8739ae039), {
14322
14557
  url: url
14323
14558
  }) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $9982aaf71fbd3e1f$export$2e2bcd8739ae039), {
14324
14559
  className: "rf-justify-center",
@@ -14329,14 +14564,14 @@ const $6cacbade32b06d0d$var$DetailedAddress = ({ address: address, phoneNumber:
14329
14564
  coordinates && coordinates.latitude && coordinates.longitude ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
14330
14565
  className: "rf-relative large-vertical:rf-w-1/2",
14331
14566
  style: {
14332
- height: isMobile ? currentWidth : currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).landscape ? "50%" : "calc(50vw - 3rem)"
14567
+ height: isMobile ? currentWidth : isLandscape ? "50%" : "calc(50vw - 3rem)"
14333
14568
  },
14334
14569
  children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $c9b17a03b9c46905$export$2e2bcd8739ae039), {
14335
14570
  latitude: coordinates.latitude,
14336
14571
  longitude: coordinates.longitude,
14337
14572
  color: color
14338
14573
  })
14339
- }) : currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).borne ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
14574
+ }) : isBorne ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
14340
14575
  className: "rf-flex rf-justify-center rf-items-center rf-h-[calc(50vw-3rem)] rf-w-1/2",
14341
14576
  children: url && (configuration.isUsedOnBorne ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $5565d7860328960f$export$2e2bcd8739ae039), {
14342
14577
  url: url
@@ -14365,7 +14600,7 @@ const $d796192f79db347a$var$AttachmentDetails = ()=>{
14365
14600
  const locale = (0, $b6a8688e7db7a7b9$export$6650dace022cfacc)((state)=>state.locale);
14366
14601
  const { configuration: { isUsedOnBorne: isUsedOnBorne }, baseAddress: baseAddress } = (0, $1d4f8108de9ab73a$export$d8760bee47331b1d)();
14367
14602
  const mode = (0, $c7242af7a2bc5e50$export$bd22554f31e5f96f)((state)=>state.mode);
14368
- const { themeColors: themeColors, isMobile: isMobile, currentDeviceType: currentDeviceType } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
14603
+ const { themeColors: themeColors, isMobile: isMobile, isWidget: isWidget, currentDeviceType: currentDeviceType } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
14369
14604
  const [content, setContent] = (0, $dWhh5$react.useState)(undefined);
14370
14605
  const [color, setColor] = (0, $dWhh5$react.useState)(themeColors.secondary);
14371
14606
  const [titleHeight, setTitleHeight] = (0, $dWhh5$react.useState)(0);
@@ -14383,7 +14618,7 @@ const $d796192f79db347a$var$AttachmentDetails = ()=>{
14383
14618
  detailedItemContent
14384
14619
  ]);
14385
14620
  (0, $dWhh5$react.useLayoutEffect)(()=>{
14386
- if (divRef === null || divRef === void 0 ? void 0 : divRef.current) currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widget && (0, $9eb4669b72b0cf4a$export$2e2bcd8739ae039)(null, divRef);
14621
+ if (divRef === null || divRef === void 0 ? void 0 : divRef.current) isWidget && (0, $9eb4669b72b0cf4a$export$2e2bcd8739ae039)(null, divRef);
14387
14622
  });
14388
14623
  (0, $dWhh5$react.useEffect)(()=>{
14389
14624
  if (content) {
@@ -14840,7 +15075,7 @@ async function $ebb9a848c3dddb50$export$cdd2c9f4b3acf5fb(data) {
14840
15075
  const $2b55f3947c65e277$export$6478e9f7582bd8fc = ()=>{
14841
15076
  const translation = (0, $b6a8688e7db7a7b9$export$6650dace022cfacc)((state)=>state.currentTranslations);
14842
15077
  const { addressData: addressData } = (0, $1d4f8108de9ab73a$export$d8760bee47331b1d)();
14843
- const { isMobile: isMobile, currentDeviceType: currentDeviceType } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
15078
+ const { isMobile: isMobile, isWidget: isWidget } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
14844
15079
  const [municipalPoliceNumber, setMunicipalPoliceNumber] = (0, $dWhh5$react.useState)("");
14845
15080
  const [localHospitalName, setLocalHospitalName] = (0, $dWhh5$react.useState)("");
14846
15081
  const [localHospitalNumber, setLocalHospitalNumber] = (0, $dWhh5$react.useState)("");
@@ -14849,7 +15084,7 @@ const $2b55f3947c65e277$export$6478e9f7582bd8fc = ()=>{
14849
15084
  const subView = (0, $71c613e2e831c34c$export$3b4d92ba873f009a).emergency;
14850
15085
  const divRef = (0, $dWhh5$react.useRef)(null);
14851
15086
  (0, $dWhh5$react.useEffect)(()=>{
14852
- if (divRef === null || divRef === void 0 ? void 0 : divRef.current) currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widget && (0, $9eb4669b72b0cf4a$export$2e2bcd8739ae039)(null, divRef);
15087
+ if (divRef === null || divRef === void 0 ? void 0 : divRef.current) isWidget && (0, $9eb4669b72b0cf4a$export$2e2bcd8739ae039)(null, divRef);
14853
15088
  }, [
14854
15089
  divRef === null || divRef === void 0 ? void 0 : divRef.current
14855
15090
  ]);
@@ -15178,43 +15413,6 @@ var $7e9357b001e113dc$export$2e2bcd8739ae039 = $7e9357b001e113dc$var$SubViews;
15178
15413
 
15179
15414
 
15180
15415
 
15181
- const $1068fd56b5926747$export$d95eb9b67812311f = (0, $dWhh5$zustand.create)()(()=>{
15182
- return {
15183
- widgetDisplayType: "large",
15184
- open: false,
15185
- loaded: false
15186
- };
15187
- });
15188
- const $1068fd56b5926747$export$a1c83309c736819f = ()=>{
15189
- $1068fd56b5926747$export$d95eb9b67812311f.setState({
15190
- open: true,
15191
- loaded: true
15192
- });
15193
- };
15194
- const $1068fd56b5926747$export$d27f1b0993b666c = ()=>{
15195
- $1068fd56b5926747$export$d95eb9b67812311f.setState({
15196
- open: false,
15197
- loaded: true
15198
- });
15199
- };
15200
- const $1068fd56b5926747$export$77c0ba4d0d97cee5 = ()=>{
15201
- const open = $1068fd56b5926747$export$d95eb9b67812311f.getState().open;
15202
- $1068fd56b5926747$export$d95eb9b67812311f.setState({
15203
- open: !open,
15204
- loaded: true
15205
- });
15206
- };
15207
- const $1068fd56b5926747$export$f0e9d14ede4c01bd = ()=>{
15208
- const displayType = $1068fd56b5926747$export$d95eb9b67812311f.getState().widgetDisplayType;
15209
- $1068fd56b5926747$export$d95eb9b67812311f.setState({
15210
- widgetDisplayType: displayType === "large" ? "thumbnail" : "large"
15211
- });
15212
- };
15213
-
15214
-
15215
-
15216
-
15217
-
15218
15416
 
15219
15417
  function $970df85ce5628c51$export$2e2bcd8739ae039() {
15220
15418
  const activities = (0, $9acd31406c230961$export$b56465394e2b1287)((state)=>state.messageActivities);
@@ -15260,6 +15458,46 @@ function $970df85ce5628c51$export$2e2bcd8739ae039() {
15260
15458
 
15261
15459
 
15262
15460
 
15461
+ /* eslint-disable react/jsx-boolean-value */
15462
+
15463
+
15464
+
15465
+
15466
+
15467
+ const $1068fd56b5926747$export$d95eb9b67812311f = (0, $dWhh5$zustand.create)()(()=>{
15468
+ return {
15469
+ widgetDisplayType: "large",
15470
+ open: false,
15471
+ loaded: false
15472
+ };
15473
+ });
15474
+ const $1068fd56b5926747$export$a1c83309c736819f = ()=>{
15475
+ $1068fd56b5926747$export$d95eb9b67812311f.setState({
15476
+ open: true,
15477
+ loaded: true
15478
+ });
15479
+ };
15480
+ const $1068fd56b5926747$export$d27f1b0993b666c = ()=>{
15481
+ $1068fd56b5926747$export$d95eb9b67812311f.setState({
15482
+ open: false,
15483
+ loaded: true
15484
+ });
15485
+ };
15486
+ const $1068fd56b5926747$export$77c0ba4d0d97cee5 = ()=>{
15487
+ const open = $1068fd56b5926747$export$d95eb9b67812311f.getState().open;
15488
+ $1068fd56b5926747$export$d95eb9b67812311f.setState({
15489
+ open: !open,
15490
+ loaded: true
15491
+ });
15492
+ };
15493
+ const $1068fd56b5926747$export$f0e9d14ede4c01bd = ()=>{
15494
+ const displayType = $1068fd56b5926747$export$d95eb9b67812311f.getState().widgetDisplayType;
15495
+ $1068fd56b5926747$export$d95eb9b67812311f.setState({
15496
+ widgetDisplayType: displayType === "large" ? "thumbnail" : "large"
15497
+ });
15498
+ };
15499
+
15500
+
15263
15501
 
15264
15502
 
15265
15503
 
@@ -15268,7 +15506,8 @@ function $970df85ce5628c51$export$2e2bcd8739ae039() {
15268
15506
 
15269
15507
 
15270
15508
 
15271
- const $016ac743b008b7bc$export$aa0c5ba341a0028 = ({ agentName: agentName = "L\xe9a", companyName: companyName = "Davi", subCompanyMessage: subCompanyMessage, imageUrl: imageUrl = "", forceMobileView: forceMobileView = false })=>{
15509
+ const $016ac743b008b7bc$export$aa0c5ba341a0028 = ({ agentName: agentName = "L\xe9a", companyName: companyName, companyNameLocalized: companyNameLocalized, subCompanyMessage: subCompanyMessage, subCompanyMessageLocalized: subCompanyMessageLocalized, imageUrl: imageUrl = "" })=>{
15510
+ const locale = (0, $b6a8688e7db7a7b9$export$6650dace022cfacc)((state)=>state.locale);
15272
15511
  const translation = (0, $b6a8688e7db7a7b9$export$6650dace022cfacc)((state)=>state.currentTranslations);
15273
15512
  const { themeColors: themeColors } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
15274
15513
  return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
@@ -15280,7 +15519,7 @@ const $016ac743b008b7bc$export$aa0c5ba341a0028 = ({ agentName: agentName = "L\xe
15280
15519
  children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("img", {
15281
15520
  src: imageUrl,
15282
15521
  alt: "Agent",
15283
- className: `${forceMobileView ? "rf-m-auto rf-max-h-28" : "rf-w-full"} rf-aspect-square rf-rounded-half rf-border-secondary rf-border-2 rf-bg-truewhite`
15522
+ className: "rf-w-full rf-max-h-28 rf-aspect-square rf-rounded-half rf-border-secondary rf-border-2 rf-bg-truewhite"
15284
15523
  })
15285
15524
  }),
15286
15525
  /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
@@ -15288,11 +15527,11 @@ const $016ac743b008b7bc$export$aa0c5ba341a0028 = ({ agentName: agentName = "L\xe
15288
15527
  style: {
15289
15528
  color: themeColors.companyName
15290
15529
  },
15291
- children: companyName
15530
+ children: (companyNameLocalized === null || companyNameLocalized === void 0 ? void 0 : companyNameLocalized[locale]) || companyName || "Davi"
15292
15531
  }),
15293
15532
  /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
15294
15533
  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",
15295
- children: subCompanyMessage || `${agentName} ${translation.menu.answer}`
15534
+ children: (subCompanyMessageLocalized === null || subCompanyMessageLocalized === void 0 ? void 0 : subCompanyMessageLocalized[locale]) || subCompanyMessage || `${agentName} ${translation.menu.answer}`
15296
15535
  }),
15297
15536
  /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
15298
15537
  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",
@@ -15306,84 +15545,230 @@ const $016ac743b008b7bc$export$aa0c5ba341a0028 = ({ agentName: agentName = "L\xe
15306
15545
 
15307
15546
 
15308
15547
 
15309
- /**
15310
- * On call :
15311
- * - check if the activity data need a display as list to be triggered
15312
- * @param activity : RetorikActivity
15313
- * @returns boolean
15314
- */ function $248ff5c2ef55c790$var$checkListDisplay(activity) {
15315
- var _activity_attachmentLayout;
15316
- return activity && (((_activity_attachmentLayout = activity.attachmentLayout) === null || _activity_attachmentLayout === void 0 ? void 0 : _activity_attachmentLayout.toLowerCase()) === "davilist" || activity.attachmentLayout !== "carousel" && activity.attachments && activity.attachments.length > 1) || false;
15317
- }
15318
- const $248ff5c2ef55c790$export$a1f3f6b0b496333e = ()=>{
15319
- var _retorikConversationRef_current;
15320
- const activities = (0, $970df85ce5628c51$export$2e2bcd8739ae039)();
15321
- const { open: open } = (0, $1068fd56b5926747$export$d95eb9b67812311f)();
15322
- const { isMobile: isMobile, currentDeviceType: currentDeviceType, showHomeAttachments: showHomeAttachments, mediumLandscape: mediumLandscape } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
15323
- const listClosed = (0, $70e3d65f5a106231$export$77e4cc5334565f28)((state)=>state.listClosed);
15324
- const { configuration: configuration } = (0, $1d4f8108de9ab73a$export$d8760bee47331b1d)();
15325
- const agentData = (0, $c7242af7a2bc5e50$export$bd22554f31e5f96f)((state)=>state.agentData);
15326
- const [list, setList] = (0, $dWhh5$react.useState)();
15327
- const [scrollButtonDisplay, setScrollButtonDisplay] = (0, $dWhh5$react.useState)(false);
15328
- const [scrollButtonDirection, setScrollButtonDirection] = (0, $dWhh5$react.useState)("bottom");
15329
- const retorikConversationRef = (0, $dWhh5$react.useRef)(null);
15330
- const [preventScroll, setPreventScroll] = (0, $dWhh5$react.useState)(false);
15331
- const userQuestion = (0, $dWhh5$react.useMemo)(()=>{
15332
- if (activities && activities.length > 0 && !isMobile) {
15333
- const lastActivity = activities[activities.length - 1];
15334
- return lastActivity.question.text ? lastActivity.question : undefined;
15335
- } else return undefined;
15548
+
15549
+
15550
+
15551
+
15552
+
15553
+
15554
+
15555
+
15556
+
15557
+
15558
+ /**
15559
+ * Check if the activity data need a display as list to be triggered
15560
+ * @param activity : RetorikActivity
15561
+ * @returns boolean
15562
+ */ const $1a0bdae30bc87d45$export$7c55936a30618336 = (activity)=>{
15563
+ var _activity_attachmentLayout, _activity_attachments;
15564
+ return !!((activity === null || activity === void 0 ? void 0 : (_activity_attachmentLayout = activity.attachmentLayout) === null || _activity_attachmentLayout === void 0 ? void 0 : _activity_attachmentLayout.toLowerCase()) === "davilist" || (activity === null || activity === void 0 ? void 0 : activity.attachmentLayout) !== "carousel" && (activity === null || activity === void 0 ? void 0 : (_activity_attachments = activity.attachments) === null || _activity_attachments === void 0 ? void 0 : _activity_attachments.length) && activity.attachments.length > 1);
15565
+ };
15566
+
15567
+
15568
+ const $a2a195f52aaf1332$var$DisplayStandard = ({ botResponses: botResponses, isMobile: isMobile })=>{
15569
+ const locale = (0, $b6a8688e7db7a7b9$export$6650dace022cfacc)((state)=>state.locale);
15570
+ const { configuration: { forceMobileView: forceMobileView } } = (0, $1d4f8108de9ab73a$export$d8760bee47331b1d)();
15571
+ return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
15572
+ id: "retorik-botResponses",
15573
+ className: "rf-flex rf-flex-col rf-text-size-auto rf-gap-2 rf-scrollbar-hidden",
15574
+ children: botResponses.map((activity, key)=>{
15575
+ var _activity_attachments;
15576
+ const answerTime = activity.localTimestamp ? new Date(activity.localTimestamp) : activity.timestamp ? new Date(activity.timestamp) : new Date();
15577
+ return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
15578
+ className: `${key > 0 && "rf-pt-2"} rf-text-textModePanelConversationBot rf-animate-slideBottom rf-flex rf-flex-col rf-items-start rf-gap-2`,
15579
+ children: [
15580
+ isMobile && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
15581
+ className: "rf-px-4 rf-text-[#9A9A9A]",
15582
+ children: answerTime.toLocaleString(locale, {
15583
+ hour: "numeric",
15584
+ minute: "numeric"
15585
+ })
15586
+ }),
15587
+ activity.htmlText ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
15588
+ className: "rf-px-4",
15589
+ dangerouslySetInnerHTML: {
15590
+ __html: activity.htmlText
15591
+ }
15592
+ }) : activity.text ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
15593
+ className: "rf-px-4",
15594
+ children: (0, $547da4225675b90f$export$d6c6ec86eedacfd9)(activity.text)
15595
+ }) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, ($parcel$interopDefault($dWhh5$react))).Fragment, {}),
15596
+ !!(activity === null || activity === void 0 ? void 0 : (_activity_attachments = activity.attachments) === null || _activity_attachments === void 0 ? void 0 : _activity_attachments.length) && !(0, $1a0bdae30bc87d45$export$7c55936a30618336)(activity) && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
15597
+ className: `${forceMobileView ? "rf-m-auto" : "rf-w-full"} ${activity.attachments.length <= 1 && "rf-px-4"} rf-flex rf-flex-col rf-gap-2`,
15598
+ children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $c0f9a707e7db7f07$export$2e2bcd8739ae039), {
15599
+ activity: activity
15600
+ })
15601
+ })
15602
+ ]
15603
+ }, key);
15604
+ })
15605
+ });
15606
+ };
15607
+ var $a2a195f52aaf1332$export$2e2bcd8739ae039 = $a2a195f52aaf1332$var$DisplayStandard;
15608
+
15609
+
15610
+
15611
+
15612
+
15613
+ const $8113fa9a024156c4$var$interval = 25;
15614
+ const $8113fa9a024156c4$var$DisplayStreaming = ({ streamingQueue: streamingQueue, triggerScroll: triggerScroll })=>{
15615
+ const [streamingTextToDisplay, setStreamingTextToDisplay] = (0, $dWhh5$react.useState)("");
15616
+ const [currentTextEnded, setCurrentTextEnded] = (0, $dWhh5$react.useState)(true);
15617
+ const [currentQueueIndex, setCurrentQueueIndex] = (0, $dWhh5$react.useState)(0);
15618
+ const intervalRef = (0, $dWhh5$react.useRef)(null);
15619
+ const streamRef = (0, $dWhh5$react.useRef)([]);
15620
+ const handleNewStreaming = (text)=>{
15621
+ setCurrentTextEnded(false);
15622
+ // Create array containing indexes of \n parts to replace them with html <br /> tag later
15623
+ const slashNIndexesArray = [];
15624
+ let searchIndex = 0;
15625
+ while(text.indexOf("\n", searchIndex) !== -1){
15626
+ const index = text.indexOf("\n", searchIndex);
15627
+ slashNIndexesArray.push(index);
15628
+ searchIndex = index + 2;
15629
+ }
15630
+ streamRef.current = text.split("");
15631
+ let currentIndex = 0;
15632
+ intervalRef.current = setInterval(()=>{
15633
+ var _streamRef_current;
15634
+ if ((_streamRef_current = streamRef.current) === null || _streamRef_current === void 0 ? void 0 : _streamRef_current.length) {
15635
+ const current = streamRef.current[0];
15636
+ if (slashNIndexesArray.includes(currentIndex)) {
15637
+ // 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
15638
+ setStreamingTextToDisplay((value)=>`${value}<br />`);
15639
+ streamRef.current = streamRef.current.slice(1);
15640
+ } else {
15641
+ setStreamingTextToDisplay((value)=>`${value}${current}`);
15642
+ streamRef.current = streamRef.current.slice(1);
15643
+ }
15644
+ currentIndex++;
15645
+ } else {
15646
+ setCurrentTextEnded(true);
15647
+ intervalRef.current && clearInterval(intervalRef.current);
15648
+ }
15649
+ }, $8113fa9a024156c4$var$interval);
15650
+ };
15651
+ (0, $dWhh5$react.useEffect)(()=>{
15652
+ if ((streamingQueue === null || streamingQueue === void 0 ? void 0 : streamingQueue.length) && currentTextEnded) {
15653
+ if (streamingQueue.length > currentQueueIndex) {
15654
+ handleNewStreaming(streamingQueue[currentQueueIndex].text || "");
15655
+ setCurrentQueueIndex((value)=>value + 1);
15656
+ } else {
15657
+ setCurrentQueueIndex(0);
15658
+ (0, $5f7f457957bd2c8d$export$de8aad637f733113)(null);
15659
+ }
15660
+ }
15336
15661
  }, [
15337
- activities
15662
+ streamingQueue,
15663
+ currentTextEnded
15338
15664
  ]);
15339
- const botResponses = (0, $dWhh5$react.useMemo)(()=>{
15340
- if (activities && activities.length > 0 && !isMobile) {
15341
- const lastActivity = activities[activities.length - 1];
15342
- return lastActivity.answers;
15343
- } else return undefined;
15665
+ (0, $dWhh5$react.useEffect)(()=>{
15666
+ streamingTextToDisplay.length % 20 === 0 && triggerScroll();
15344
15667
  }, [
15345
- activities
15668
+ streamingTextToDisplay
15346
15669
  ]);
15670
+ (0, $dWhh5$react.useEffect)(()=>{
15671
+ return ()=>{
15672
+ (intervalRef === null || intervalRef === void 0 ? void 0 : intervalRef.current) && clearInterval(intervalRef.current);
15673
+ };
15674
+ }, []);
15675
+ return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
15676
+ id: "retorik-botResponses",
15677
+ className: "rf-flex rf-flex-col rf-text-size-auto rf-scrollbar-hidden",
15678
+ children: [
15679
+ streamingTextToDisplay && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
15680
+ className: "rf-px-4 rf-text-textModePanelConversationBot",
15681
+ dangerouslySetInnerHTML: {
15682
+ __html: streamingTextToDisplay
15683
+ }
15684
+ }),
15685
+ currentQueueIndex !== 0 && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
15686
+ className: "rf-px-4 rf-font-bold rf-text-textModePanelConversationBot rf-animate-blink",
15687
+ children: "..."
15688
+ })
15689
+ ]
15690
+ });
15691
+ };
15692
+ var $8113fa9a024156c4$export$2e2bcd8739ae039 = $8113fa9a024156c4$var$DisplayStreaming;
15693
+
15694
+
15695
+ const $4d9ea07b04f0d01b$var$ConversationDisplay = ({ userQuestion: userQuestion, botResponses: botResponses, streamingId: streamingId, streamingQueue: streamingQueue, userQuestionTime: userQuestionTime, isMobile: isMobile, triggerScroll: triggerScroll })=>{
15696
+ const locale = (0, $b6a8688e7db7a7b9$export$6650dace022cfacc)((state)=>state.locale);
15697
+ return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)((0, ($parcel$interopDefault($dWhh5$react))).Fragment, {
15698
+ children: [
15699
+ (userQuestion === null || userQuestion === void 0 ? void 0 : userQuestion.text) && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
15700
+ id: "retorik-userQuestion",
15701
+ 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",
15702
+ children: [
15703
+ userQuestionTime && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
15704
+ className: "rf-px-4 rf-text-[#9A9A9A]",
15705
+ children: userQuestionTime.toLocaleString(locale, {
15706
+ hour: "numeric",
15707
+ minute: "numeric"
15708
+ })
15709
+ }),
15710
+ /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
15711
+ className: "rf-px-4",
15712
+ children: userQuestion.text
15713
+ })
15714
+ ]
15715
+ }, userQuestion.id),
15716
+ streamingId && (streamingQueue === null || streamingQueue === void 0 ? void 0 : streamingQueue.length) ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $8113fa9a024156c4$export$2e2bcd8739ae039), {
15717
+ streamingQueue: streamingQueue,
15718
+ triggerScroll: triggerScroll
15719
+ }) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $a2a195f52aaf1332$export$2e2bcd8739ae039), {
15720
+ botResponses: botResponses || [],
15721
+ isMobile: isMobile
15722
+ })
15723
+ ]
15724
+ });
15725
+ };
15726
+ var $4d9ea07b04f0d01b$export$2e2bcd8739ae039 = $4d9ea07b04f0d01b$var$ConversationDisplay;
15727
+
15728
+
15729
+
15730
+ const $7df5d708684c32ba$var$ConversationPanelMobile = ({ homeActivity: homeActivity, itemsInConversation: itemsInConversation })=>{
15731
+ var _retorikConversationRef_current, _homeActivity_attachments;
15732
+ const activities = (0, $970df85ce5628c51$export$2e2bcd8739ae039)();
15733
+ const { configuration: configuration } = (0, $1d4f8108de9ab73a$export$d8760bee47331b1d)();
15734
+ const { currentDeviceType: currentDeviceType, isWidget: isWidget } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
15735
+ const listClosed = (0, $70e3d65f5a106231$export$77e4cc5334565f28)((state)=>state.listClosed);
15736
+ const open = (0, $1068fd56b5926747$export$d95eb9b67812311f)((state)=>state.open);
15737
+ const agentData = (0, $c7242af7a2bc5e50$export$bd22554f31e5f96f)((state)=>state.agentData);
15738
+ const [opacityStyle, setOpacityStyle] = (0, $dWhh5$react.useState)("");
15739
+ const [scrollButtonDisplay, setScrollButtonDisplay] = (0, $dWhh5$react.useState)(false);
15740
+ const [scrollButtonDirection, setScrollButtonDirection] = (0, $dWhh5$react.useState)("bottom");
15741
+ const [preventScroll, setPreventScroll] = (0, $dWhh5$react.useState)(false);
15742
+ const streamingId = (0, $5f7f457957bd2c8d$export$f299240efcda25a2)((state)=>state.streamingReplyToIdForText);
15743
+ const streamingQueue = (0, $5f7f457957bd2c8d$export$f299240efcda25a2)((state)=>state.streamingQueueForText);
15744
+ const retorikConversationRef = (0, $dWhh5$react.useRef)(null);
15347
15745
  const botEndRef = (0, $dWhh5$react.useRef)(null);
15348
15746
  const timerRef = (0, $dWhh5$react.useRef)(null);
15349
- const activitiesNumberWithResponse = (0, $dWhh5$react.useMemo)(()=>{
15350
- let number = 0;
15351
- activities.forEach((element)=>{
15352
- number += element.answers.length + 1;
15353
- });
15354
- return number;
15355
- }, [
15356
- activities
15357
- ]);
15358
- const [opacityStyle, setOpacityStyle] = (0, $dWhh5$react.useState)("");
15359
15747
  const handleScroll = ()=>{
15360
15748
  if (retorikConversationRef.current) {
15361
- const scrollHeight = retorikConversationRef.current.scrollHeight;
15362
- const scrollTop = retorikConversationRef.current.scrollTop;
15363
- const offsetHeight = retorikConversationRef.current.offsetHeight;
15364
- const clientHeight = retorikConversationRef.current.clientHeight;
15365
- if (scrollHeight > offsetHeight) {
15749
+ const current = retorikConversationRef.current;
15750
+ if (current.scrollHeight > current.offsetHeight) {
15366
15751
  setScrollButtonDisplay(true);
15367
- if (scrollHeight - scrollTop === clientHeight) setScrollButtonDirection("top");
15368
- else if (scrollHeight - scrollTop < clientHeight + 10) setScrollButtonDirection("top");
15752
+ if (current.scrollHeight - current.scrollTop === current.clientHeight) setScrollButtonDirection("top");
15753
+ else if (current.scrollHeight - current.scrollTop < current.clientHeight + 10) setScrollButtonDirection("top");
15369
15754
  else setScrollButtonDirection("bottom");
15370
15755
  }
15371
- const maxScroll = scrollHeight - clientHeight;
15372
- const percentage = Math.ceil(scrollTop / maxScroll * 15);
15756
+ const percentage = Math.ceil(current.scrollTop / (current.scrollHeight - current.clientHeight) * 15);
15373
15757
  setOpacityStyle(`linear-gradient(to top, black ${100 - percentage}%, transparent 100%)`);
15374
15758
  }
15375
15759
  };
15376
15760
  /**
15377
- * On call :
15378
- * - scroll to the botEndRef HTML element at the bottom of the view
15761
+ * Scroll to the botEndRef HTML element at the bottom of the view
15379
15762
  */ const scrollHandler = (to, from)=>{
15380
15763
  if (to === "bottom") setScrollButtonDirection("top");
15381
15764
  else setScrollButtonDirection("bottom");
15382
- if ((!preventScroll || from === "button") && botEndRef && botEndRef.current !== null && to === "bottom") botEndRef.current.scrollIntoView({
15383
- behavior: "smooth"
15765
+ if ((!preventScroll || from === "button") && (botEndRef === null || botEndRef === void 0 ? void 0 : botEndRef.current) && to === "bottom") botEndRef.current.scrollIntoView({
15766
+ behavior: "smooth",
15767
+ block: "nearest"
15384
15768
  });
15385
- else if (to === "top" && retorikConversationRef && retorikConversationRef.current) retorikConversationRef.current.children[1].scrollIntoView({
15386
- behavior: "smooth"
15769
+ else if (to === "top" && (retorikConversationRef === null || retorikConversationRef === void 0 ? void 0 : retorikConversationRef.current)) retorikConversationRef.current.children[1].scrollIntoView({
15770
+ behavior: "smooth",
15771
+ block: "nearest"
15387
15772
  });
15388
15773
  };
15389
15774
  (0, $dWhh5$react.useEffect)(()=>{
@@ -15395,9 +15780,12 @@ const $248ff5c2ef55c790$export$a1f3f6b0b496333e = ()=>{
15395
15780
  timerRef.current && clearTimeout(timerRef.current);
15396
15781
  };
15397
15782
  }, [
15398
- activitiesNumberWithResponse,
15783
+ itemsInConversation,
15399
15784
  retorikConversationRef === null || retorikConversationRef === void 0 ? void 0 : (_retorikConversationRef_current = retorikConversationRef.current) === null || _retorikConversationRef_current === void 0 ? void 0 : _retorikConversationRef_current.scrollHeight
15400
15785
  ]);
15786
+ (0, $dWhh5$react.useLayoutEffect)(()=>{
15787
+ if (retorikConversationRef === null || retorikConversationRef === void 0 ? void 0 : retorikConversationRef.current) isWidget && (0, $9eb4669b72b0cf4a$export$2e2bcd8739ae039)(null, retorikConversationRef);
15788
+ });
15401
15789
  /**
15402
15790
  * On retorikConversationRef change :
15403
15791
  * - check if retorikConversationRef.current is defined
@@ -15411,194 +15799,192 @@ const $248ff5c2ef55c790$export$a1f3f6b0b496333e = ()=>{
15411
15799
  }, [
15412
15800
  retorikConversationRef === null || retorikConversationRef === void 0 ? void 0 : retorikConversationRef.current
15413
15801
  ]);
15414
- (0, $dWhh5$react.useLayoutEffect)(()=>{
15415
- if (retorikConversationRef === null || retorikConversationRef === void 0 ? void 0 : retorikConversationRef.current) currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widget && (0, $9eb4669b72b0cf4a$export$2e2bcd8739ae039)(null, retorikConversationRef);
15416
- });
15417
- /**
15418
- * On call :
15419
- * - set listClosed state to true
15420
- */ const onCloseList = ()=>{
15421
- (0, $70e3d65f5a106231$export$f03cfde7db70aa27)(true);
15422
- };
15423
- /**
15424
- * On call :
15425
- * - scroll to the botEndRef HTML element at the bottom of the view
15426
- * - check if there is an activity in need of List display
15427
- * - set list state depending on the check's result
15428
- */ (0, $dWhh5$react.useEffect)(()=>{
15429
- setPreventScroll(false);
15430
- if (isMobile) {
15431
- const answers = activities && activities.length > 0 ? activities[activities.length - 1].answers : [];
15432
- setList(answers.some((activity)=>$248ff5c2ef55c790$var$checkListDisplay(activity)));
15433
- } else botResponses && setList(botResponses.some((activity)=>$248ff5c2ef55c790$var$checkListDisplay(activity)));
15434
- }, [
15435
- activitiesNumberWithResponse
15436
- ]);
15437
15802
  (0, $dWhh5$react.useEffect)(()=>{
15438
- if ((listClosed || showHomeAttachments) && botEndRef.current) {
15439
- const timer = setTimeout(()=>{
15803
+ if ((listClosed || homeActivity) && botEndRef.current) {
15804
+ timerRef.current && clearTimeout(timerRef.current);
15805
+ timerRef.current = setTimeout(()=>{
15440
15806
  scrollHandler("bottom", "newMessage");
15441
15807
  }, 100);
15442
- return ()=>timer && clearTimeout(timer);
15443
15808
  }
15444
- return ()=>{};
15445
15809
  }, [
15446
15810
  listClosed,
15447
- showHomeAttachments
15811
+ homeActivity
15448
15812
  ]);
15449
- return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $dWhh5$reactjsxruntime.Fragment), {
15450
- children: (userQuestion || botResponses || isMobile) && (list && !listClosed ? isMobile ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $81a0d7828d5a453d$export$2e2bcd8739ae039), {
15451
- activity: activities[activities.length - 1].answers.find((activity)=>$248ff5c2ef55c790$var$checkListDisplay(activity)),
15452
- onClose: onCloseList
15453
- }) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $81a0d7828d5a453d$export$2e2bcd8739ae039), {
15454
- activity: botResponses === null || botResponses === void 0 ? void 0 : botResponses.find((activity)=>$248ff5c2ef55c790$var$checkListDisplay(activity)),
15455
- onClose: onCloseList
15456
- }) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
15457
- className: `rf-relative rf-max-h-full ${isMobile && "rf-h-full"} rf-bg-textModePanelBackground ${(configuration === null || configuration === void 0 ? void 0 : 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 === null || configuration === void 0 ? void 0 : 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
15458
- 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`,
15459
- children: [
15460
- isMobile && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $016ac743b008b7bc$export$aa0c5ba341a0028), {
15461
- agentName: agentData === null || agentData === void 0 ? void 0 : agentData.name,
15462
- companyName: configuration === null || configuration === void 0 ? void 0 : configuration.companyName,
15463
- subCompanyMessage: configuration === null || configuration === void 0 ? void 0 : configuration.subCompanyMessage,
15464
- imageUrl: agentData === null || agentData === void 0 ? void 0 : agentData.portrait,
15465
- forceMobileView: configuration === null || configuration === void 0 ? void 0 : configuration.forceMobileView
15466
- }),
15467
- /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
15468
- ref: retorikConversationRef,
15469
- id: "retorik-conversation",
15470
- 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"}
15471
- 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]`,
15472
- style: {
15473
- WebkitMaskImage: currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).mobile ? opacityStyle : undefined
15474
- },
15475
- onScroll: handleScroll,
15476
- children: [
15477
- /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $48a18493bc0e99f6$export$93d01adc5582c83e), {
15478
- direction: scrollButtonDirection,
15479
- display: isMobile && scrollButtonDisplay && open,
15480
- scrollHandler: scrollHandler,
15481
- setPreventScroll: setPreventScroll,
15482
- 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"
15483
- }),
15484
- isMobile ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)($248ff5c2ef55c790$var$MultipleActivites, {
15485
- history: activities,
15486
- forceMobileView: configuration.forceMobileView
15487
- }) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)($248ff5c2ef55c790$var$SingleMessage, {
15488
- userQuestion: userQuestion,
15489
- botResponses: botResponses,
15490
- forceMobileView: configuration.forceMobileView
15491
- }),
15492
- /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
15493
- ref: botEndRef
15494
- })
15495
- ]
15496
- })
15497
- ]
15498
- }))
15499
- });
15500
- };
15501
- const $248ff5c2ef55c790$var$SingleMessage = ({ userQuestion: userQuestion, botResponses: botResponses, userClassName: userClassName = "", forceMobileView: forceMobileView = false })=>{
15502
- var _showHomeAttachments_attachments;
15503
- const locale = (0, $b6a8688e7db7a7b9$export$6650dace022cfacc)((state)=>state.locale);
15504
- const { isMobile: isMobile, showHomeAttachments: showHomeAttachments } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
15505
- const userQuestionTime = userQuestion ? userQuestion.localTimestamp ? new Date(userQuestion.localTimestamp) : userQuestion.timestamp ? new Date(userQuestion.timestamp) : new Date() : undefined;
15506
- return isMobile || !showHomeAttachments ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)((0, ($parcel$interopDefault($dWhh5$react))).Fragment, {
15813
+ return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
15814
+ 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",
15507
15815
  children: [
15508
- userQuestion && userQuestion.text && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
15509
- id: "retorik-userQuestion",
15510
- className: `rf-text-textModePanelConversationUser rf-animate-slideBottom rf-flex rf-flex-col rf-justify-start rf-text-size-auto rf-gap-2 ${userClassName}`,
15816
+ /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $016ac743b008b7bc$export$aa0c5ba341a0028), {
15817
+ agentName: agentData === null || agentData === void 0 ? void 0 : agentData.name,
15818
+ companyName: configuration === null || configuration === void 0 ? void 0 : configuration.companyName,
15819
+ companyNameLocalized: configuration === null || configuration === void 0 ? void 0 : configuration.companyNameLocalized,
15820
+ subCompanyMessage: configuration === null || configuration === void 0 ? void 0 : configuration.subCompanyMessage,
15821
+ subCompanyMessageLocalized: configuration === null || configuration === void 0 ? void 0 : configuration.subCompanyMessageLocalized,
15822
+ imageUrl: agentData === null || agentData === void 0 ? void 0 : agentData.portrait
15823
+ }),
15824
+ /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
15825
+ ref: retorikConversationRef,
15826
+ id: "retorik-conversation",
15827
+ 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]",
15828
+ style: {
15829
+ WebkitMaskImage: currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).mobile ? opacityStyle : undefined
15830
+ },
15831
+ onScroll: handleScroll,
15511
15832
  children: [
15512
- isMobile && userQuestionTime && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
15513
- className: "rf-px-4 rf-text-[#9A9A9A]",
15514
- children: userQuestionTime.toLocaleString(locale, {
15515
- hour: "numeric",
15516
- minute: "numeric"
15517
- })
15833
+ /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $48a18493bc0e99f6$export$93d01adc5582c83e), {
15834
+ direction: scrollButtonDirection,
15835
+ display: scrollButtonDisplay && open,
15836
+ scrollHandler: scrollHandler,
15837
+ setPreventScroll: setPreventScroll,
15838
+ 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"
15839
+ }),
15840
+ activities.map((activity, index)=>{
15841
+ const userQuestionTime = activity.question ? activity.question.localTimestamp ? new Date(activity.question.localTimestamp) : activity.question.timestamp ? new Date(activity.question.timestamp) : new Date() : undefined;
15842
+ return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
15843
+ className: "rf-pt-3",
15844
+ children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $4d9ea07b04f0d01b$export$2e2bcd8739ae039), {
15845
+ userQuestion: activity.question,
15846
+ botResponses: activity.answers,
15847
+ streamingId: index === activities.length - 1 ? streamingId : null,
15848
+ streamingQueue: streamingQueue,
15849
+ userQuestionTime: userQuestionTime,
15850
+ isMobile: true,
15851
+ triggerScroll: ()=>scrollHandler("bottom", "newMessage")
15852
+ })
15853
+ }, index);
15518
15854
  }),
15855
+ (homeActivity === null || homeActivity === void 0 ? void 0 : (_homeActivity_attachments = homeActivity.attachments) === null || _homeActivity_attachments === void 0 ? void 0 : _homeActivity_attachments.length) ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
15856
+ className: "rf-pt-4 rf-flex rf-flex-col rf-text-size-auto rf-gap-2",
15857
+ children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $c0f9a707e7db7f07$export$2e2bcd8739ae039), {
15858
+ activity: homeActivity
15859
+ })
15860
+ }) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, ($parcel$interopDefault($dWhh5$react))).Fragment, {}),
15519
15861
  /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
15520
- className: "rf-px-4",
15521
- children: userQuestion.text
15862
+ ref: botEndRef
15522
15863
  })
15523
15864
  ]
15524
- }, userQuestion.id),
15525
- botResponses && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
15526
- id: "retorik-botResponses",
15527
- className: `${userQuestion && "rf-pt-4"} rf-flex rf-flex-col rf-text-size-auto rf-gap-2 rf-scrollbar-hidden`,
15528
- children: botResponses.map((activity, key)=>{
15529
- const answerTime = activity.localTimestamp ? new Date(activity.localTimestamp) : activity.timestamp ? new Date(activity.timestamp) : new Date();
15530
- return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, ($parcel$interopDefault($dWhh5$react))).Fragment, {
15531
- children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)($248ff5c2ef55c790$var$BotMessageActivity, {
15532
- activity: activity,
15533
- answerTime: answerTime,
15534
- isMobile: isMobile,
15535
- mappingKey: key,
15536
- locale: locale,
15537
- forceMobileView: forceMobileView
15538
- })
15539
- }, key);
15540
- })
15541
15865
  })
15542
15866
  ]
15543
- }) : ((_showHomeAttachments_attachments = showHomeAttachments.attachments) === null || _showHomeAttachments_attachments === void 0 ? void 0 : _showHomeAttachments_attachments.length) > 0 ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
15544
- className: "rf-pt-4 rf-flex rf-flex-col rf-text-size-auto rf-gap-2",
15545
- children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $c0f9a707e7db7f07$export$2e2bcd8739ae039), {
15546
- activity: showHomeAttachments
15547
- })
15548
- }) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $dWhh5$reactjsxruntime.Fragment), {});
15867
+ });
15549
15868
  };
15550
- const $248ff5c2ef55c790$var$MultipleActivites = ({ history: history, forceMobileView: forceMobileView = false })=>{
15551
- var _showHomeAttachments_attachments;
15552
- const { showHomeAttachments: showHomeAttachments } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
15553
- return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)((0, $dWhh5$reactjsxruntime.Fragment), {
15554
- children: [
15555
- history && history.map((history, index)=>{
15556
- return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, ($parcel$interopDefault($dWhh5$react))).Fragment, {
15557
- children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)($248ff5c2ef55c790$var$SingleMessage, {
15558
- userClassName: "rf-pt-3",
15559
- userQuestion: history.question,
15560
- botResponses: history.answers,
15561
- forceMobileView: forceMobileView
15869
+ var $7df5d708684c32ba$export$2e2bcd8739ae039 = $7df5d708684c32ba$var$ConversationPanelMobile;
15870
+
15871
+
15872
+
15873
+
15874
+
15875
+
15876
+
15877
+
15878
+
15879
+ const $d65b086bfae1b3b3$var$ConversationPanelLarge = ({ homeActivity: homeActivity, itemsInConversation: itemsInConversation })=>{
15880
+ var _homeActivity_attachments, _homeActivity_attachments1;
15881
+ const activities = (0, $970df85ce5628c51$export$2e2bcd8739ae039)();
15882
+ const { mediumLandscape: mediumLandscape } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
15883
+ const streamingId = (0, $5f7f457957bd2c8d$export$f299240efcda25a2)((state)=>state.streamingReplyToIdForText);
15884
+ const streamingQueue = (0, $5f7f457957bd2c8d$export$f299240efcda25a2)((state)=>state.streamingQueueForText);
15885
+ const botEndRef = (0, $dWhh5$react.useRef)(null);
15886
+ const timerRef = (0, $dWhh5$react.useRef)(null);
15887
+ const userQuestion = (0, $dWhh5$react.useMemo)(()=>{
15888
+ var _activities__question;
15889
+ return activities.length && ((_activities__question = activities[activities.length - 1].question) === null || _activities__question === void 0 ? void 0 : _activities__question.text) ? activities[activities.length - 1].question : undefined;
15890
+ }, [
15891
+ activities
15892
+ ]);
15893
+ const botResponses = (0, $dWhh5$react.useMemo)(()=>{
15894
+ return activities.length ? activities[activities.length - 1].answers : undefined;
15895
+ }, [
15896
+ activities
15897
+ ]);
15898
+ const handleScroll = ()=>{
15899
+ var _botEndRef_current;
15900
+ botEndRef === null || botEndRef === void 0 ? void 0 : (_botEndRef_current = botEndRef.current) === null || _botEndRef_current === void 0 ? void 0 : _botEndRef_current.scrollIntoView({
15901
+ behavior: "smooth",
15902
+ block: "nearest"
15903
+ });
15904
+ };
15905
+ (0, $dWhh5$react.useEffect)(()=>{
15906
+ timerRef.current && clearTimeout(timerRef.current);
15907
+ timerRef.current = setTimeout(()=>{
15908
+ handleScroll();
15909
+ }, 100);
15910
+ return ()=>{
15911
+ timerRef.current && clearTimeout(timerRef.current);
15912
+ };
15913
+ }, [
15914
+ itemsInConversation
15915
+ ]);
15916
+ return (homeActivity === null || homeActivity === void 0 ? void 0 : (_homeActivity_attachments = homeActivity.attachments) === null || _homeActivity_attachments === void 0 ? void 0 : _homeActivity_attachments.length) || streamingId || userQuestion || botResponses ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
15917
+ 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`,
15918
+ children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
15919
+ id: "retorik-conversation",
15920
+ 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]",
15921
+ children: [
15922
+ (homeActivity === null || homeActivity === void 0 ? void 0 : (_homeActivity_attachments1 = homeActivity.attachments) === null || _homeActivity_attachments1 === void 0 ? void 0 : _homeActivity_attachments1.length) ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
15923
+ className: "rf-pt-4 rf-flex rf-flex-col rf-text-size-auto rf-gap-2",
15924
+ children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $c0f9a707e7db7f07$export$2e2bcd8739ae039), {
15925
+ activity: homeActivity
15562
15926
  })
15563
- }, index);
15564
- }),
15565
- showHomeAttachments && ((_showHomeAttachments_attachments = showHomeAttachments.attachments) === null || _showHomeAttachments_attachments === void 0 ? void 0 : _showHomeAttachments_attachments.length) > 0 && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
15566
- className: "rf-pt-4 rf-flex rf-flex-col rf-text-size-auto rf-gap-2",
15567
- children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $c0f9a707e7db7f07$export$2e2bcd8739ae039), {
15568
- activity: showHomeAttachments
15927
+ }) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $4d9ea07b04f0d01b$export$2e2bcd8739ae039), {
15928
+ userQuestion: userQuestion,
15929
+ botResponses: botResponses,
15930
+ streamingId: streamingId,
15931
+ streamingQueue: streamingQueue,
15932
+ triggerScroll: handleScroll
15933
+ }),
15934
+ /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
15935
+ ref: botEndRef
15569
15936
  })
15570
- })
15571
- ]
15572
- });
15937
+ ]
15938
+ })
15939
+ }) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, ($parcel$interopDefault($dWhh5$react))).Fragment, {});
15573
15940
  };
15574
- const $248ff5c2ef55c790$var$BotMessageActivity = ({ isMobile: isMobile, answerTime: answerTime, locale: locale, activity: activity, mappingKey: mappingKey, forceMobileView: forceMobileView })=>{
15575
- var _activity_attachments;
15576
- return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
15577
- className: `${mappingKey > 0 && "rf-pt-2"} rf-text-textModePanelConversationBot rf-animate-slideBottom rf-flex rf-flex-col rf-items-start rf-gap-2`,
15578
- children: [
15579
- isMobile && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
15580
- className: "rf-px-4 rf-text-[#9A9A9A]",
15581
- children: answerTime.toLocaleString(locale, {
15582
- hour: "numeric",
15583
- minute: "numeric"
15584
- })
15585
- }),
15586
- activity.htmlText ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
15587
- className: "rf-px-4",
15588
- dangerouslySetInnerHTML: {
15589
- __html: activity.htmlText
15590
- }
15591
- }) : activity.text ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
15592
- className: "rf-px-4",
15593
- children: (0, $547da4225675b90f$export$d6c6ec86eedacfd9)(activity.text)
15594
- }) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, ($parcel$interopDefault($dWhh5$react))).Fragment, {}),
15595
- !!(activity === null || activity === void 0 ? void 0 : (_activity_attachments = activity.attachments) === null || _activity_attachments === void 0 ? void 0 : _activity_attachments.length) && !$248ff5c2ef55c790$var$checkListDisplay(activity) && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
15596
- className: `${forceMobileView ? "rf-m-auto" : "rf-w-full"} ${activity.attachments.length <= 1 && "rf-px-4"} rf-flex rf-flex-col rf-gap-2`,
15597
- children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $c0f9a707e7db7f07$export$2e2bcd8739ae039), {
15598
- activity: activity
15599
- })
15600
- })
15601
- ]
15941
+ var $d65b086bfae1b3b3$export$2e2bcd8739ae039 = $d65b086bfae1b3b3$var$ConversationPanelLarge;
15942
+
15943
+
15944
+
15945
+ const $248ff5c2ef55c790$export$a1f3f6b0b496333e = ()=>{
15946
+ const activities = (0, $970df85ce5628c51$export$2e2bcd8739ae039)();
15947
+ const { configuration: { forceMobileView: forceMobileView } } = (0, $1d4f8108de9ab73a$export$d8760bee47331b1d)();
15948
+ const { isMobile: isMobile, showHomeAttachments: showHomeAttachments } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
15949
+ const listClosed = (0, $70e3d65f5a106231$export$77e4cc5334565f28)((state)=>state.listClosed);
15950
+ const [listActivity, setListActivity] = (0, $dWhh5$react.useState)(undefined);
15951
+ /**
15952
+ * Number of questions and answers in the conversation. Used to trigger useEffects more efficiently
15953
+ */ const itemsInConversation = (0, $dWhh5$react.useMemo)(()=>{
15954
+ let number = 0;
15955
+ activities.forEach((element)=>{
15956
+ number += element.answers.length + 1;
15957
+ });
15958
+ return number;
15959
+ }, [
15960
+ activities
15961
+ ]);
15962
+ /**
15963
+ * Scroll to the botEndRef HTML element at the bottom of the view, then check if there is an activity in need of List display.
15964
+ * Finally, set list state depending on the check's result.
15965
+ */ (0, $dWhh5$react.useEffect)(()=>{
15966
+ const answers = activities.length ? activities[activities.length - 1].answers : [];
15967
+ setListActivity(answers.find((activity)=>(0, $1a0bdae30bc87d45$export$7c55936a30618336)(activity)));
15968
+ }, [
15969
+ itemsInConversation
15970
+ ]);
15971
+ (0, $dWhh5$react.useEffect)(()=>{
15972
+ if (listClosed || showHomeAttachments) setListActivity(undefined);
15973
+ }, [
15974
+ listClosed,
15975
+ showHomeAttachments
15976
+ ]);
15977
+ return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, ($parcel$interopDefault($dWhh5$react))).Fragment, {
15978
+ children: listActivity && !listClosed ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $81a0d7828d5a453d$export$2e2bcd8739ae039), {
15979
+ activity: listActivity,
15980
+ onClose: ()=>(0, $70e3d65f5a106231$export$f03cfde7db70aa27)(true)
15981
+ }) : isMobile || forceMobileView ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $7df5d708684c32ba$export$2e2bcd8739ae039), {
15982
+ homeActivity: showHomeAttachments,
15983
+ itemsInConversation: itemsInConversation
15984
+ }) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $d65b086bfae1b3b3$export$2e2bcd8739ae039), {
15985
+ homeActivity: showHomeAttachments,
15986
+ itemsInConversation: itemsInConversation
15987
+ })
15602
15988
  });
15603
15989
  };
15604
15990
 
@@ -15853,14 +16239,13 @@ var $40c9c7ece5949bcc$export$2e2bcd8739ae039 = $40c9c7ece5949bcc$var$Mobile;
15853
16239
 
15854
16240
 
15855
16241
 
15856
-
15857
16242
  const $e2e69d564c00882c$var$ParametersAndDashboardContainer = ({ handleBack: handleBack, hideMenu: hideMenu = false })=>{
15858
16243
  const translation = (0, $b6a8688e7db7a7b9$export$6650dace022cfacc)((state)=>state.currentTranslations);
15859
16244
  const locale = (0, $b6a8688e7db7a7b9$export$6650dace022cfacc)((state)=>state.locale);
15860
- const { currentDeviceType: currentDeviceType } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
16245
+ const { isWidget: isWidget } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
15861
16246
  const divRef = (0, $dWhh5$react.useRef)(null);
15862
16247
  (0, $dWhh5$react.useEffect)(()=>{
15863
- (divRef === null || divRef === void 0 ? void 0 : divRef.current) && currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widget && (0, $9eb4669b72b0cf4a$export$2e2bcd8739ae039)(null, divRef);
16248
+ (divRef === null || divRef === void 0 ? void 0 : divRef.current) && isWidget && (0, $9eb4669b72b0cf4a$export$2e2bcd8739ae039)(null, divRef);
15864
16249
  }, [
15865
16250
  divRef.current
15866
16251
  ]);
@@ -16515,6 +16900,7 @@ var $d399eaf5da71d3d6$export$2e2bcd8739ae039 = $d399eaf5da71d3d6$var$News;
16515
16900
 
16516
16901
 
16517
16902
 
16903
+
16518
16904
  var $9b9bf2fb80ceb1cd$var$Steps;
16519
16905
  // Steps enum
16520
16906
  (function(Steps) {
@@ -16527,6 +16913,7 @@ var $9b9bf2fb80ceb1cd$var$Steps;
16527
16913
  const $9b9bf2fb80ceb1cd$var$NewsView = ({ chatbotData: chatbotData, hideMenu: hideMenu, isRetorikNews: isRetorikNews, handleEndedWithoutloop: handleEndedWithoutloop })=>{
16528
16914
  var _configurations_views_news;
16529
16915
  const translation = (0, $b6a8688e7db7a7b9$export$6650dace022cfacc)((state)=>state.currentTranslations);
16916
+ const sendEvent = (0, $dWhh5$botframeworkwebchatapilibhooks.useSendEvent)();
16530
16917
  const { configuration: configuration } = (0, $1d4f8108de9ab73a$export$d8760bee47331b1d)();
16531
16918
  const agentData = (0, $c7242af7a2bc5e50$export$bd22554f31e5f96f)((state)=>state.agentData);
16532
16919
  const muted = (0, $5f7f457957bd2c8d$export$f299240efcda25a2)((state)=>state.muted);
@@ -16546,6 +16933,10 @@ const $9b9bf2fb80ceb1cd$var$NewsView = ({ chatbotData: chatbotData, hideMenu: hi
16546
16933
  (0, $dWhh5$react.useEffect)(()=>{
16547
16934
  setDisplayControls(false);
16548
16935
  muted && (0, $5f7f457957bd2c8d$export$a1680ba91cc9be33)(false);
16936
+ return ()=>{
16937
+ sendEvent("Davi.CloseWindow", null);
16938
+ sendEvent("Davi.CloseWindowNews", null);
16939
+ };
16549
16940
  }, []);
16550
16941
  /**
16551
16942
  * On step change :
@@ -16696,14 +17087,15 @@ var $9b9bf2fb80ceb1cd$export$2e2bcd8739ae039 = $9b9bf2fb80ceb1cd$var$NewsView;
16696
17087
 
16697
17088
 
16698
17089
 
17090
+
16699
17091
  const $3b4c49538547c1bc$var$WarningBeforeNewsView = ({ propsToTransfer: propsToTransfer })=>{
16700
17092
  const translation = (0, $b6a8688e7db7a7b9$export$6650dace022cfacc)((state)=>state.currentTranslations);
17093
+ const sendEvent = (0, $dWhh5$botframeworkwebchatapilibhooks.useSendEvent)();
16701
17094
  const { setRoute: setRoute } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
16702
17095
  const [waiting, setWaiting] = (0, $dWhh5$react.useState)(true);
16703
- (0, $dWhh5$react.useEffect)(()=>{
16704
- setWaiting(true);
16705
- }, []);
16706
17096
  const handleClick = (goHome)=>{
17097
+ sendEvent("Davi.CloseWindow", null);
17098
+ sendEvent("Davi.CloseWindowNewsSoundActivated", null);
16707
17099
  goHome ? setRoute((0, $71c613e2e831c34c$export$3565eb3d00ca5a74).Home) : setWaiting(false);
16708
17100
  };
16709
17101
  return waiting ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
@@ -16866,12 +17258,7 @@ const $9242b50f1c1199a7$var$Container = ({ fullSize: fullSize, width: width, hei
16866
17258
  * - check and set the classes in the main div that will allow us to use tailwind variants
16867
17259
  * - set the main div dimensions in context
16868
17260
  */ (0, $dWhh5$react.useEffect)(()=>{
16869
- // Widget mode => portrait only
16870
- if (parent === (0, $71c613e2e831c34c$export$a31c5a03aaeee5f).widget) {
16871
- setPortrait("rf-portrait");
16872
- setLarge("");
16873
- setCurrentDeviceType((0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widget);
16874
- } else if (forceMobileView) {
17261
+ if (forceMobileView) {
16875
17262
  setLarge("");
16876
17263
  setCurrentDeviceType((0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).mobile);
16877
17264
  setPortrait("rf-portrait");
@@ -16880,27 +17267,28 @@ const $9242b50f1c1199a7$var$Container = ({ fullSize: fullSize, width: width, hei
16880
17267
  if (isPortrait) {
16881
17268
  if (dimensions.width > (0, $0b4f07c0f09dbbcf$export$2e65b7c7134e01f0)) {
16882
17269
  setLarge("rf-large");
16883
- setCurrentDeviceType((0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).borne);
17270
+ setCurrentDeviceType(parent === (0, $71c613e2e831c34c$export$a31c5a03aaeee5f).widget ? (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widgetBorne : (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).borne);
16884
17271
  } else {
16885
17272
  setLarge("");
16886
- setCurrentDeviceType((0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).mobile);
17273
+ setCurrentDeviceType(parent === (0, $71c613e2e831c34c$export$a31c5a03aaeee5f).widget ? (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widget : (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).mobile);
16887
17274
  }
16888
17275
  } else if (dimensions.height > (0, $0b4f07c0f09dbbcf$export$2e65b7c7134e01f0)) {
16889
17276
  setLarge("rf-large");
16890
- setCurrentDeviceType((0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).landscape);
17277
+ setCurrentDeviceType(parent === (0, $71c613e2e831c34c$export$a31c5a03aaeee5f).widget ? (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widgetLandscape : (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).landscape);
16891
17278
  } else {
16892
17279
  setLarge("");
16893
- setCurrentDeviceType((0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).mobile);
17280
+ setCurrentDeviceType(parent === (0, $71c613e2e831c34c$export$a31c5a03aaeee5f).widget ? (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widget : (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).mobile);
16894
17281
  }
16895
17282
  } else if (0, $dWhh5$reactdevicedetect.isMobile) {
16896
17283
  setPortrait("rf-portrait");
16897
17284
  setLarge("");
16898
- setCurrentDeviceType((0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).mobile);
17285
+ setCurrentDeviceType(parent === (0, $71c613e2e831c34c$export$a31c5a03aaeee5f).widget ? (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widget : (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).mobile);
16899
17286
  } else {
16900
17287
  const isPortrait = checkPortrait(dimensions.width, dimensions.height);
16901
17288
  // Check for 'rf-large' class
16902
- setLarge("rf-large");
16903
- setCurrentDeviceType(isPortrait ? (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).borne : (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).landscape);
17289
+ setLarge(parent === (0, $71c613e2e831c34c$export$a31c5a03aaeee5f).widget && dimensions.width < (0, $0b4f07c0f09dbbcf$export$2e65b7c7134e01f0) ? "" : "rf-large");
17290
+ if (isPortrait) setCurrentDeviceType(parent === (0, $71c613e2e831c34c$export$a31c5a03aaeee5f).widget ? dimensions.width > (0, $0b4f07c0f09dbbcf$export$2e65b7c7134e01f0) ? (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widgetBorne : (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widget : (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).borne);
17291
+ else setCurrentDeviceType(parent === (0, $71c613e2e831c34c$export$a31c5a03aaeee5f).widget ? (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widgetLandscape : (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).landscape);
16904
17292
  }
16905
17293
  dimensions.height && setCurrentHeight(dimensions.height);
16906
17294
  dimensions.width && setCurrentWidth(dimensions.width);
@@ -16908,7 +17296,7 @@ const $9242b50f1c1199a7$var$Container = ({ fullSize: fullSize, width: width, hei
16908
17296
  dimensions
16909
17297
  ]);
16910
17298
  (0, $dWhh5$react.useEffect)(()=>{
16911
- (container === null || container === void 0 ? void 0 : container.current) && currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widget && (0, $9eb4669b72b0cf4a$export$2e2bcd8739ae039)(container.current);
17299
+ (container === null || container === void 0 ? void 0 : container.current) && (0, $0b4f07c0f09dbbcf$export$909f4c209eb70365).includes(currentDeviceType) && (0, $9eb4669b72b0cf4a$export$2e2bcd8739ae039)(container.current);
16912
17300
  }, [
16913
17301
  container.current
16914
17302
  ]);
@@ -17155,6 +17543,8 @@ var $68ec406cc754e31c$export$2e2bcd8739ae039 = $68ec406cc754e31c$var$getThemeCol
17155
17543
 
17156
17544
  const $d441ea54333b2073$var$buildSSML = (activity, speechMarkdownParser, sayAsWords)=>{
17157
17545
  let speech = activity.speak || activity.text;
17546
+ // Replace character not recognized in Microsoft TTS
17547
+ speech = speech.replaceAll("\u2019", "'");
17158
17548
  if (sayAsWords && sayAsWords.length) {
17159
17549
  const wordsUsed = [];
17160
17550
  sayAsWords.forEach((tuple)=>{
@@ -17169,7 +17559,7 @@ const $d441ea54333b2073$var$buildSSML = (activity, speechMarkdownParser, sayAsWo
17169
17559
  try {
17170
17560
  textParsedAsSSML = speechMarkdownParser.toSSML(speech);
17171
17561
  } catch (e) {
17172
- console.warn("Error in speechmarkdown parser : ", e);
17562
+ console.warn("Retorik Framework > Error in speechmarkdown parser : ", e);
17173
17563
  }
17174
17564
  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>";
17175
17565
  };
@@ -17196,6 +17586,86 @@ function $d441ea54333b2073$export$2e2bcd8739ae039({ activity: activity, voice: v
17196
17586
 
17197
17587
 
17198
17588
 
17589
+ const $82efec5aad0741fa$export$52a3c04e084af2a0 = {
17590
+ onesecond: `${(0, $0b4f07c0f09dbbcf$export$eefca12493f9e9b9)}/onesecond.mp3`,
17591
+ speechrecognition: `${(0, $0b4f07c0f09dbbcf$export$eefca12493f9e9b9)}/blip.mp3`
17592
+ };
17593
+
17594
+
17595
+ class $e7fbc91b362e1033$var$IndexedDbManager {
17596
+ constructor(){
17597
+ this.version = 1;
17598
+ this.storeName = "speechSynthesisData";
17599
+ this.checkDB = async ()=>{
17600
+ return new Promise((resolve)=>{
17601
+ const request = indexedDB.open("retorik-framework-db", this.version);
17602
+ request.onsuccess = ()=>{
17603
+ resolve(true);
17604
+ };
17605
+ request.onerror = ()=>{
17606
+ resolve(false);
17607
+ };
17608
+ request.onupgradeneeded = ()=>{
17609
+ const db = request.result;
17610
+ // If the data object store doesn't exist, create it
17611
+ if (!db.objectStoreNames.contains(this.storeName)) db.createObjectStore(this.storeName, {
17612
+ keyPath: "id"
17613
+ });
17614
+ };
17615
+ });
17616
+ };
17617
+ this.addSpeechData = async (data)=>{
17618
+ return new Promise((resolve)=>{
17619
+ const request = indexedDB.open("retorik-framework-db", this.version);
17620
+ request.onsuccess = ()=>{
17621
+ const db = request.result;
17622
+ const tx = db.transaction(this.storeName, "readwrite");
17623
+ const store = tx.objectStore(this.storeName);
17624
+ // Base 64 encode
17625
+ data.id = window.btoa(encodeURI(data.id));
17626
+ store.add(data);
17627
+ resolve(true);
17628
+ };
17629
+ request.onerror = ()=>{
17630
+ resolve(false);
17631
+ };
17632
+ });
17633
+ };
17634
+ this.getSpeechData = async (id)=>{
17635
+ return new Promise((resolve)=>{
17636
+ const request = indexedDB.open("retorik-framework-db", this.version);
17637
+ request.onsuccess = ()=>{
17638
+ const db = request.result;
17639
+ const tx = db.transaction(this.storeName, "readonly");
17640
+ const store = tx.objectStore(this.storeName);
17641
+ // Base 64 encode
17642
+ const data = store.get(window.btoa(encodeURI(id)));
17643
+ data.onsuccess = ()=>{
17644
+ resolve(data.result);
17645
+ };
17646
+ };
17647
+ request.onerror = ()=>{
17648
+ resolve(null);
17649
+ };
17650
+ });
17651
+ };
17652
+ }
17653
+ }
17654
+ var $e7fbc91b362e1033$export$2e2bcd8739ae039 = $e7fbc91b362e1033$var$IndexedDbManager;
17655
+
17656
+
17657
+
17658
+
17659
+
17660
+
17661
+
17662
+
17663
+
17664
+
17665
+
17666
+
17667
+
17668
+
17199
17669
 
17200
17670
 
17201
17671
 
@@ -17214,47 +17684,66 @@ var $acf3b62642941e13$export$2e2bcd8739ae039 = $acf3b62642941e13$var$Animation;
17214
17684
 
17215
17685
 
17216
17686
 
17217
-
17218
-
17687
+ const $59a12b6e2b34e902$var$springEnterDuration = 500;
17688
+ const $59a12b6e2b34e902$var$springLeaveDuration = 1000;
17219
17689
  const $59a12b6e2b34e902$var$LoaderCallToAction = ({ handleValidation: handleValidation })=>{
17690
+ var _loaderInformationTextsLocalized_vocal_top, _loaderInformationTextsLocalized_vocal, _loaderInformationTextsLocalized_text_top, _loaderInformationTextsLocalized_text, _loaderInformationTextsLocalized_vocal_top1, _loaderInformationTextsLocalized_vocal1, _loaderInformationTexts_vocal, _loaderInformationTextsLocalized_text_top1, _loaderInformationTextsLocalized_text1, _loaderInformationTexts_text, _loaderInformationTexts_vocal1, _loaderInformationTexts_text1, _loaderInformationTextsLocalized_vocal_bottom, _loaderInformationTextsLocalized_vocal2, _loaderInformationTextsLocalized_text_bottom, _loaderInformationTextsLocalized_text2, _loaderInformationTextsLocalized_vocal_bottom1, _loaderInformationTextsLocalized_vocal3, _loaderInformationTexts_vocal2, _loaderInformationTextsLocalized_text_bottom1, _loaderInformationTextsLocalized_text3, _loaderInformationTexts_text2;
17691
+ const locale = (0, $b6a8688e7db7a7b9$export$6650dace022cfacc)((state)=>state.locale);
17220
17692
  const translation = (0, $b6a8688e7db7a7b9$export$6650dace022cfacc)((state)=>state.currentTranslations);
17221
- const { configuration: { loaderInformationTexts: loaderInformationTexts, hideRetorikLogo: hideRetorikLogo, disableSpeechMode: disabledSpeechMode } } = (0, $1d4f8108de9ab73a$export$d8760bee47331b1d)();
17693
+ const { configuration: { loaderInformationTexts: loaderInformationTexts, loaderInformationTextsLocalized: loaderInformationTextsLocalized, hideRetorikLogo: hideRetorikLogo, disableSpeechMode: disabledSpeechMode } } = (0, $1d4f8108de9ab73a$export$d8760bee47331b1d)();
17222
17694
  const mode = (0, $c7242af7a2bc5e50$export$bd22554f31e5f96f)((state)=>state.mode);
17223
- const { themeColors: themeColors, isMobile: isMobile, currentDeviceType: currentDeviceType } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
17224
- const [textSize, setTextSize] = (0, $dWhh5$react.useState)("landscape");
17695
+ const { themeColors: themeColors } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
17225
17696
  const container = (0, $dWhh5$react.useRef)(null);
17226
- const dimensions = (0, $b81eedb00aebd99e$export$2e2bcd8739ae039)(container);
17227
17697
  const [hover, setHover] = (0, $dWhh5$react.useState)(false);
17228
17698
  const animationColor = {
17229
17699
  "--rf-color-loader-animation": themeColors.loader.animation
17230
17700
  };
17231
- /**
17232
- * On container dimension change :
17233
- * - check which display mode is active (mobile, borne , landscape)
17234
- * - set text size depending on the display mode
17235
- */ (0, $dWhh5$react.useEffect)(()=>{
17236
- let isPortrait = true;
17237
- if (!(dimensions.width && dimensions.height && dimensions.width < dimensions.height)) isPortrait = false;
17238
- if (dimensions.width && dimensions.width > 600) setTextSize(isPortrait ? "rf-text-lgcustom" : "rf-text-basecustom");
17239
- else setTextSize("rf-text-sm");
17240
- }, [
17241
- dimensions
17242
- ]);
17701
+ const animationTimerRef = (0, $dWhh5$react.useRef)();
17702
+ const [spring, api] = (0, $dWhh5$reactspringweb.useSpring)(()=>({
17703
+ from: {
17704
+ opacity: 0
17705
+ }
17706
+ }));
17707
+ (0, $dWhh5$react.useEffect)(()=>{
17708
+ api.start({
17709
+ from: {
17710
+ opacity: 0
17711
+ },
17712
+ to: {
17713
+ opacity: 1
17714
+ },
17715
+ config: {
17716
+ duration: $59a12b6e2b34e902$var$springEnterDuration
17717
+ }
17718
+ });
17719
+ return ()=>{
17720
+ (animationTimerRef === null || animationTimerRef === void 0 ? void 0 : animationTimerRef.current) && clearTimeout(animationTimerRef.current);
17721
+ };
17722
+ }, []);
17243
17723
  const handleChange = (modeId)=>{
17244
17724
  const tempMode = modeId === 1 ? (0, $71c613e2e831c34c$export$9484bbecc3c49a2e).vocal : (0, $71c613e2e831c34c$export$9484bbecc3c49a2e).text;
17245
17725
  (0, $c7242af7a2bc5e50$export$d4f039427a1beff1)(tempMode);
17246
17726
  };
17247
- (0, $dWhh5$react.useEffect)(()=>{
17248
- if (container.current && currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).widget) (0, $9eb4669b72b0cf4a$export$2e2bcd8739ae039)(container.current);
17249
- }, [
17250
- container.current
17251
- ]);
17252
- return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
17253
- className: `rf-absolute rf-z-modal rf-top-0 rf-left-0 rf-h-full rf-w-full rf-font-default rf-flex rf-flex-col rf-items-center ${textSize} rf-animate-loaderFadeIn`,
17727
+ const handleValidate = ()=>{
17728
+ handleValidation();
17729
+ api.start({
17730
+ from: {
17731
+ opacity: 1
17732
+ },
17733
+ to: {
17734
+ opacity: 0
17735
+ },
17736
+ config: {
17737
+ duration: $59a12b6e2b34e902$var$springLeaveDuration
17738
+ }
17739
+ });
17740
+ };
17741
+ return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)((0, $dWhh5$reactspringweb.animated).div, {
17742
+ className: "rf-h-full rf-w-full rf-flex rf-flex-col rf-items-center rf-animate-loaderFadeIn",
17254
17743
  ref: container,
17255
17744
  style: {
17256
- background: themeColors.loader.background,
17257
- ...animationColor
17745
+ ...animationColor,
17746
+ ...spring
17258
17747
  },
17259
17748
  children: [
17260
17749
  /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
@@ -17270,14 +17759,14 @@ const $59a12b6e2b34e902$var$LoaderCallToAction = ({ handleValidation: handleVali
17270
17759
  color: themeColors.loader.text
17271
17760
  },
17272
17761
  children: [
17273
- (loaderInformationTexts === null || loaderInformationTexts === void 0 ? void 0 : loaderInformationTexts.vocal.top) && loaderInformationTexts.text.top ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("p", {
17274
- children: mode === (0, $71c613e2e831c34c$export$9484bbecc3c49a2e).vocal ? loaderInformationTexts === null || loaderInformationTexts === void 0 ? void 0 : loaderInformationTexts.vocal.top : loaderInformationTexts.text.top
17762
+ (loaderInformationTexts === null || loaderInformationTexts === void 0 ? void 0 : loaderInformationTexts.vocal.top) && loaderInformationTexts.text.top || (loaderInformationTextsLocalized === null || loaderInformationTextsLocalized === void 0 ? void 0 : (_loaderInformationTextsLocalized_vocal = loaderInformationTextsLocalized.vocal) === null || _loaderInformationTextsLocalized_vocal === void 0 ? void 0 : (_loaderInformationTextsLocalized_vocal_top = _loaderInformationTextsLocalized_vocal.top) === null || _loaderInformationTextsLocalized_vocal_top === void 0 ? void 0 : _loaderInformationTextsLocalized_vocal_top[locale]) && ((_loaderInformationTextsLocalized_text = loaderInformationTextsLocalized.text) === null || _loaderInformationTextsLocalized_text === void 0 ? void 0 : (_loaderInformationTextsLocalized_text_top = _loaderInformationTextsLocalized_text.top) === null || _loaderInformationTextsLocalized_text_top === void 0 ? void 0 : _loaderInformationTextsLocalized_text_top[locale]) ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("p", {
17763
+ children: mode === (0, $71c613e2e831c34c$export$9484bbecc3c49a2e).vocal ? (loaderInformationTextsLocalized === null || loaderInformationTextsLocalized === void 0 ? void 0 : (_loaderInformationTextsLocalized_vocal1 = loaderInformationTextsLocalized.vocal) === null || _loaderInformationTextsLocalized_vocal1 === void 0 ? void 0 : (_loaderInformationTextsLocalized_vocal_top1 = _loaderInformationTextsLocalized_vocal1.top) === null || _loaderInformationTextsLocalized_vocal_top1 === void 0 ? void 0 : _loaderInformationTextsLocalized_vocal_top1[locale]) || (loaderInformationTexts === null || loaderInformationTexts === void 0 ? void 0 : (_loaderInformationTexts_vocal = loaderInformationTexts.vocal) === null || _loaderInformationTexts_vocal === void 0 ? void 0 : _loaderInformationTexts_vocal.top) : (loaderInformationTextsLocalized === null || loaderInformationTextsLocalized === void 0 ? void 0 : (_loaderInformationTextsLocalized_text1 = loaderInformationTextsLocalized.text) === null || _loaderInformationTextsLocalized_text1 === void 0 ? void 0 : (_loaderInformationTextsLocalized_text_top1 = _loaderInformationTextsLocalized_text1.top) === null || _loaderInformationTextsLocalized_text_top1 === void 0 ? void 0 : _loaderInformationTextsLocalized_text_top1[locale]) || (loaderInformationTexts === null || loaderInformationTexts === void 0 ? void 0 : (_loaderInformationTexts_text = loaderInformationTexts.text) === null || _loaderInformationTexts_text === void 0 ? void 0 : _loaderInformationTexts_text.top)
17275
17764
  }) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("p", {
17276
17765
  children: mode === (0, $71c613e2e831c34c$export$9484bbecc3c49a2e).vocal ? translation.loader.loader.optimal : translation.loader.loader.classic
17277
17766
  }),
17278
- (loaderInformationTexts === null || loaderInformationTexts === void 0 ? void 0 : loaderInformationTexts.vocal.top) && loaderInformationTexts.text.top ? (loaderInformationTexts === null || loaderInformationTexts === void 0 ? void 0 : loaderInformationTexts.vocal.bottom) && loaderInformationTexts.text.bottom && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("p", {
17767
+ (loaderInformationTexts === null || loaderInformationTexts === void 0 ? void 0 : (_loaderInformationTexts_vocal1 = loaderInformationTexts.vocal) === null || _loaderInformationTexts_vocal1 === void 0 ? void 0 : _loaderInformationTexts_vocal1.bottom) && ((_loaderInformationTexts_text1 = loaderInformationTexts.text) === null || _loaderInformationTexts_text1 === void 0 ? void 0 : _loaderInformationTexts_text1.bottom) || (loaderInformationTextsLocalized === null || loaderInformationTextsLocalized === void 0 ? void 0 : (_loaderInformationTextsLocalized_vocal2 = loaderInformationTextsLocalized.vocal) === null || _loaderInformationTextsLocalized_vocal2 === void 0 ? void 0 : (_loaderInformationTextsLocalized_vocal_bottom = _loaderInformationTextsLocalized_vocal2.bottom) === null || _loaderInformationTextsLocalized_vocal_bottom === void 0 ? void 0 : _loaderInformationTextsLocalized_vocal_bottom[locale]) && ((_loaderInformationTextsLocalized_text2 = loaderInformationTextsLocalized.text) === null || _loaderInformationTextsLocalized_text2 === void 0 ? void 0 : (_loaderInformationTextsLocalized_text_bottom = _loaderInformationTextsLocalized_text2.bottom) === null || _loaderInformationTextsLocalized_text_bottom === void 0 ? void 0 : _loaderInformationTextsLocalized_text_bottom[locale]) ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("p", {
17279
17768
  className: "rf-font-bold",
17280
- children: mode === (0, $71c613e2e831c34c$export$9484bbecc3c49a2e).vocal ? loaderInformationTexts === null || loaderInformationTexts === void 0 ? void 0 : loaderInformationTexts.vocal.bottom : loaderInformationTexts.text.bottom
17769
+ children: mode === (0, $71c613e2e831c34c$export$9484bbecc3c49a2e).vocal ? (loaderInformationTextsLocalized === null || loaderInformationTextsLocalized === void 0 ? void 0 : (_loaderInformationTextsLocalized_vocal3 = loaderInformationTextsLocalized.vocal) === null || _loaderInformationTextsLocalized_vocal3 === void 0 ? void 0 : (_loaderInformationTextsLocalized_vocal_bottom1 = _loaderInformationTextsLocalized_vocal3.bottom) === null || _loaderInformationTextsLocalized_vocal_bottom1 === void 0 ? void 0 : _loaderInformationTextsLocalized_vocal_bottom1[locale]) || (loaderInformationTexts === null || loaderInformationTexts === void 0 ? void 0 : (_loaderInformationTexts_vocal2 = loaderInformationTexts.vocal) === null || _loaderInformationTexts_vocal2 === void 0 ? void 0 : _loaderInformationTexts_vocal2.bottom) : (loaderInformationTextsLocalized === null || loaderInformationTextsLocalized === void 0 ? void 0 : (_loaderInformationTextsLocalized_text3 = loaderInformationTextsLocalized.text) === null || _loaderInformationTextsLocalized_text3 === void 0 ? void 0 : (_loaderInformationTextsLocalized_text_bottom1 = _loaderInformationTextsLocalized_text3.bottom) === null || _loaderInformationTextsLocalized_text_bottom1 === void 0 ? void 0 : _loaderInformationTextsLocalized_text_bottom1[locale]) || (loaderInformationTexts === null || loaderInformationTexts === void 0 ? void 0 : (_loaderInformationTexts_text2 = loaderInformationTexts.text) === null || _loaderInformationTexts_text2 === void 0 ? void 0 : _loaderInformationTexts_text2.bottom)
17281
17770
  }) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("p", {
17282
17771
  className: "rf-font-bold",
17283
17772
  children: mode === (0, $71c613e2e831c34c$export$9484bbecc3c49a2e).vocal ? translation.loader.loader.vocal : translation.loader.loader.text
@@ -17286,48 +17775,38 @@ const $59a12b6e2b34e902$var$LoaderCallToAction = ({ handleValidation: handleVali
17286
17775
  })
17287
17776
  ]
17288
17777
  }),
17289
- /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
17778
+ /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
17290
17779
  className: `rf-w-full rf-h-1/2 rf-flex rf-flex-col ${hideRetorikLogo ? "rf-justify-start" : "rf-justify-between"} rf-items-center`,
17291
- children: [
17292
- /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
17293
- className: "rf-flex rf-flex-col rf-items-center",
17294
- children: [
17295
- /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $60db13994a4969cf$export$2e2bcd8739ae039), {
17296
- texts: {
17297
- left: translation.loader.modes.vocal,
17298
- leftId: 1,
17299
- right: translation.loader.modes.text,
17300
- rightId: 2
17301
- },
17302
- colors: themeColors.loader.toggle,
17303
- defaultChecked: mode,
17304
- handleChange: handleChange,
17305
- showLeft: !disabledSpeechMode,
17306
- showRight: true
17307
- }),
17308
- /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("button", {
17309
- className: "rf-font-bold rf-border-2 rf-rounded-lg rf-px-6 rf-py-3 rf-mt-8",
17310
- style: {
17311
- color: hover ? themeColors.loader.button.text.hover : themeColors.loader.button.text.default,
17312
- borderColor: hover ? themeColors.loader.button.border.hover : themeColors.loader.button.border.default,
17313
- background: hover ? themeColors.loader.button.background.hover : themeColors.loader.button.background.default
17314
- },
17315
- onClick: handleValidation,
17316
- onMouseEnter: ()=>setHover(true),
17317
- onMouseLeave: ()=>setHover(false),
17318
- children: translation.loader.loaderValidation
17319
- })
17320
- ]
17321
- }),
17322
- !hideRetorikLogo && (isMobile ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $2fd3bc7c6f6085ca$export$2e2bcd8739ae039), {
17323
- className: "rf-mb-10 rf-h-14"
17324
- }) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
17325
- className: "rf-w-full rf-flex rf-justify-start",
17326
- children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $2fd3bc7c6f6085ca$export$2e2bcd8739ae039), {
17327
- className: "rf-ml-4 rf-mb-4 rf-h-14"
17780
+ children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
17781
+ className: "rf-flex rf-flex-col rf-items-center",
17782
+ children: [
17783
+ /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $60db13994a4969cf$export$2e2bcd8739ae039), {
17784
+ texts: {
17785
+ left: translation.loader.modes.vocal,
17786
+ leftId: 1,
17787
+ right: translation.loader.modes.text,
17788
+ rightId: 2
17789
+ },
17790
+ colors: themeColors.loader.toggle,
17791
+ defaultChecked: mode,
17792
+ handleChange: handleChange,
17793
+ showLeft: !disabledSpeechMode,
17794
+ showRight: true
17795
+ }),
17796
+ /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("button", {
17797
+ className: "rf-font-bold rf-border-2 rf-rounded-lg rf-px-6 rf-py-3 rf-mt-8",
17798
+ style: {
17799
+ color: hover ? themeColors.loader.button.text.hover : themeColors.loader.button.text.default,
17800
+ borderColor: hover ? themeColors.loader.button.border.hover : themeColors.loader.button.border.default,
17801
+ background: hover ? themeColors.loader.button.background.hover : themeColors.loader.button.background.default
17802
+ },
17803
+ onClick: handleValidate,
17804
+ onMouseEnter: ()=>setHover(true),
17805
+ onMouseLeave: ()=>setHover(false),
17806
+ children: translation.loader.loaderValidation
17328
17807
  })
17329
- }))
17330
- ]
17808
+ ]
17809
+ })
17331
17810
  })
17332
17811
  ]
17333
17812
  });
@@ -17336,81 +17815,244 @@ var $59a12b6e2b34e902$export$2e2bcd8739ae039 = $59a12b6e2b34e902$var$LoaderCallT
17336
17815
 
17337
17816
 
17338
17817
 
17339
- const $82efec5aad0741fa$export$52a3c04e084af2a0 = {
17340
- onesecond: `${(0, $0b4f07c0f09dbbcf$export$eefca12493f9e9b9)}/onesecond.mp3`,
17341
- speechrecognition: `${(0, $0b4f07c0f09dbbcf$export$eefca12493f9e9b9)}/blip.mp3`
17342
- };
17343
17818
 
17344
17819
 
17345
- class $e7fbc91b362e1033$var$IndexedDbManager {
17346
- constructor(){
17347
- this.version = 1;
17348
- this.storeName = "speechSynthesisData";
17349
- this.checkDB = async ()=>{
17350
- return new Promise((resolve)=>{
17351
- const request = indexedDB.open("retorik-framework-db", this.version);
17352
- request.onsuccess = ()=>{
17353
- resolve(true);
17354
- };
17355
- request.onerror = ()=>{
17356
- resolve(false);
17357
- };
17358
- request.onupgradeneeded = ()=>{
17359
- const db = request.result;
17360
- // If the data object store doesn't exist, create it
17361
- if (!db.objectStoreNames.contains(this.storeName)) db.createObjectStore(this.storeName, {
17362
- keyPath: "id"
17363
- });
17364
- };
17365
- });
17820
+
17821
+
17822
+
17823
+
17824
+ const $7f65f9ca51e19c19$var$springDuration = 500;
17825
+ const $7f65f9ca51e19c19$var$finalMessageDisplayDuration = 2500;
17826
+ const $7f65f9ca51e19c19$var$GdprWindow = ({ titleTextSize: titleTextSize })=>{
17827
+ const data = (0, $70e3d65f5a106231$export$77e4cc5334565f28)((state)=>state.GDPRWindowData);
17828
+ const translation = (0, $b6a8688e7db7a7b9$export$6650dace022cfacc)((state)=>state.currentTranslations);
17829
+ const locale = (0, $b6a8688e7db7a7b9$export$6650dace022cfacc)((state)=>state.locale);
17830
+ const { themeColors: themeColors, isMobile: isMobile } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
17831
+ const [finalMessage, setFinalMessage] = (0, $dWhh5$react.useState)(null);
17832
+ const finalMessageTimerRef = (0, $dWhh5$react.useRef)();
17833
+ const animationTimerRef = (0, $dWhh5$react.useRef)();
17834
+ const [spring, api] = (0, $dWhh5$reactspringweb.useSpring)(()=>({
17835
+ from: {
17836
+ opacity: 0
17837
+ }
17838
+ }));
17839
+ (0, $dWhh5$react.useEffect)(()=>{
17840
+ api.start({
17841
+ from: {
17842
+ opacity: 0
17843
+ },
17844
+ to: {
17845
+ opacity: 1
17846
+ },
17847
+ config: {
17848
+ duration: $7f65f9ca51e19c19$var$springDuration
17849
+ }
17850
+ });
17851
+ return ()=>{
17852
+ (finalMessageTimerRef === null || finalMessageTimerRef === void 0 ? void 0 : finalMessageTimerRef.current) && clearTimeout(finalMessageTimerRef.current);
17853
+ (animationTimerRef === null || animationTimerRef === void 0 ? void 0 : animationTimerRef.current) && clearTimeout(animationTimerRef.current);
17366
17854
  };
17367
- this.addSpeechData = async (data)=>{
17368
- return new Promise((resolve)=>{
17369
- const request = indexedDB.open("retorik-framework-db", this.version);
17370
- request.onsuccess = ()=>{
17371
- const db = request.result;
17372
- const tx = db.transaction(this.storeName, "readwrite");
17373
- const store = tx.objectStore(this.storeName);
17374
- // Base 64 encode
17375
- data.id = window.btoa(encodeURI(data.id));
17376
- store.add(data);
17377
- resolve(true);
17378
- };
17379
- request.onerror = ()=>{
17380
- resolve(false);
17381
- };
17382
- });
17855
+ }, []);
17856
+ const texts = (0, $dWhh5$react.useMemo)(()=>{
17857
+ var _data_title, _data_message, _data_link, _data_buttonAccept, _data_buttonRefuse, _data_messageAccepted, _data_messageRefused;
17858
+ return {
17859
+ title: (data === null || data === void 0 ? void 0 : (_data_title = data.title) === null || _data_title === void 0 ? void 0 : _data_title[locale]) || translation.GDPR.title,
17860
+ message: (data === null || data === void 0 ? void 0 : (_data_message = data.message) === null || _data_message === void 0 ? void 0 : _data_message[locale]) || translation.GDPR.message,
17861
+ link: (data === null || data === void 0 ? void 0 : (_data_link = data.link) === null || _data_link === void 0 ? void 0 : _data_link[locale]) || translation.GDPR.link,
17862
+ buttonAccept: (data === null || data === void 0 ? void 0 : (_data_buttonAccept = data.buttonAccept) === null || _data_buttonAccept === void 0 ? void 0 : _data_buttonAccept[locale]) || translation.GDPR.buttonAccept,
17863
+ buttonRefuse: (data === null || data === void 0 ? void 0 : (_data_buttonRefuse = data.buttonRefuse) === null || _data_buttonRefuse === void 0 ? void 0 : _data_buttonRefuse[locale]) || translation.GDPR.buttonRefuse,
17864
+ messageAccepted: (data === null || data === void 0 ? void 0 : (_data_messageAccepted = data.messageAccepted) === null || _data_messageAccepted === void 0 ? void 0 : _data_messageAccepted[locale]) || translation.GDPR.messageAccepted,
17865
+ messageRefused: (data === null || data === void 0 ? void 0 : (_data_messageRefused = data.messageRefused) === null || _data_messageRefused === void 0 ? void 0 : _data_messageRefused[locale]) || translation.GDPR.messageRefused
17383
17866
  };
17384
- this.getSpeechData = async (id)=>{
17385
- return new Promise((resolve)=>{
17386
- const request = indexedDB.open("retorik-framework-db", this.version);
17387
- request.onsuccess = ()=>{
17388
- const db = request.result;
17389
- const tx = db.transaction(this.storeName, "readonly");
17390
- const store = tx.objectStore(this.storeName);
17391
- // Base 64 encode
17392
- const data = store.get(window.btoa(encodeURI(id)));
17393
- data.onsuccess = ()=>{
17394
- resolve(data.result);
17395
- };
17396
- };
17397
- request.onerror = ()=>{
17398
- resolve(null);
17399
- };
17867
+ }, [
17868
+ translation,
17869
+ locale
17870
+ ]);
17871
+ const handleCheck = (value)=>{
17872
+ (0, $70e3d65f5a106231$export$7a09e6b3c59f37ad)(value);
17873
+ setFinalMessage(value ? texts.messageAccepted : texts.messageRefused);
17874
+ finalMessageTimerRef.current = setTimeout(()=>{
17875
+ api.start({
17876
+ from: {
17877
+ opacity: 1
17878
+ },
17879
+ to: {
17880
+ opacity: 0
17881
+ },
17882
+ config: {
17883
+ duration: $7f65f9ca51e19c19$var$springDuration
17884
+ }
17400
17885
  });
17401
- };
17402
- }
17403
- }
17404
- var $e7fbc91b362e1033$export$2e2bcd8739ae039 = $e7fbc91b362e1033$var$IndexedDbManager;
17886
+ }, $7f65f9ca51e19c19$var$finalMessageDisplayDuration);
17887
+ animationTimerRef.current = setTimeout(()=>{
17888
+ (0, $70e3d65f5a106231$export$ff26692bd8e0fbbd)(false);
17889
+ }, $7f65f9ca51e19c19$var$springDuration + $7f65f9ca51e19c19$var$finalMessageDisplayDuration);
17890
+ };
17891
+ return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)((0, $dWhh5$reactspringweb.animated).div, {
17892
+ className: "rf-h-full rf-w-full rf-flex rf-flex-col rf-gap-12 rf-justify-center rf-items-center rf-text-center",
17893
+ style: {
17894
+ ...spring
17895
+ },
17896
+ children: [
17897
+ /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
17898
+ className: `${isMobile ? "rf-w-3/4" : "rf-w-1/2"} ${titleTextSize}`,
17899
+ children: (0, $04321743da31c8db$export$d07f57595c356899)(texts.title, locale)
17900
+ }),
17901
+ /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
17902
+ className: `${isMobile ? "rf-w-3/4" : "rf-w-1/2"} rf-flex rf-flex-col rf-items-center rf-gap-4`,
17903
+ children: [
17904
+ /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
17905
+ dangerouslySetInnerHTML: {
17906
+ __html: (0, $04321743da31c8db$export$d07f57595c356899)(texts.message, locale).replaceAll("\n", "<br>")
17907
+ }
17908
+ }),
17909
+ (data === null || data === void 0 ? void 0 : data.linkURL) && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("a", {
17910
+ href: data.linkURL,
17911
+ target: "_blank",
17912
+ rel: "noreferrer noopener",
17913
+ style: {
17914
+ color: themeColors.primary,
17915
+ textDecoration: "underline"
17916
+ },
17917
+ children: (0, $04321743da31c8db$export$d07f57595c356899)(texts.link, locale)
17918
+ })
17919
+ ]
17920
+ }),
17921
+ /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
17922
+ className: "rf-w-full rf-h-16 rf-flex rf-flex-row rf-justify-center rf-gap-4",
17923
+ children: finalMessage ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
17924
+ className: `${isMobile ? "rf-w-3/4" : "rf-w-1/2"} rf-animate-fadeIn`,
17925
+ children: (0, $04321743da31c8db$export$d07f57595c356899)(finalMessage, locale)
17926
+ }) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)((0, ($parcel$interopDefault($dWhh5$react))).Fragment, {
17927
+ children: [
17928
+ /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("button", {
17929
+ className: "rf-h-fit rf-px-4 rf-py-2 rf-rounded-lg",
17930
+ onClick: ()=>handleCheck(true),
17931
+ style: {
17932
+ color: themeColors.loader.toggle.text,
17933
+ background: themeColors.loader.toggle.background,
17934
+ borderColor: themeColors.loader.toggle.background
17935
+ },
17936
+ children: (0, $04321743da31c8db$export$d07f57595c356899)(texts.buttonAccept, locale)
17937
+ }),
17938
+ /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("button", {
17939
+ className: "rf-h-fit rf-px-4 rf-py-2 rf-rounded-lg",
17940
+ onClick: ()=>handleCheck(false),
17941
+ style: {
17942
+ color: themeColors.loader.toggle.text,
17943
+ background: themeColors.loader.toggle.background,
17944
+ borderColor: themeColors.loader.toggle.background
17945
+ },
17946
+ children: (0, $04321743da31c8db$export$d07f57595c356899)(texts.buttonRefuse, locale)
17947
+ })
17948
+ ]
17949
+ })
17950
+ })
17951
+ ]
17952
+ });
17953
+ };
17954
+ var $7f65f9ca51e19c19$export$2e2bcd8739ae039 = $7f65f9ca51e19c19$var$GdprWindow;
17405
17955
 
17406
17956
 
17957
+ const $9a1eaae49cbafe0e$var$springEnterDuration = 500;
17958
+ const $9a1eaae49cbafe0e$var$springLeaveDuration = 1000;
17959
+ const $9a1eaae49cbafe0e$var$GdprAndLoader = ({ appAvailable: appAvailable, handleValidation: handleValidation })=>{
17960
+ const displayGDPR = (0, $70e3d65f5a106231$export$77e4cc5334565f28)((state)=>state.GDPRDisplay);
17961
+ const { configuration: { hideRetorikLogo: hideRetorikLogo }, loaderClosed: loaderClosed } = (0, $1d4f8108de9ab73a$export$d8760bee47331b1d)();
17962
+ const { themeColors: themeColors, isMobile: isMobile, isWidget: isWidget } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
17963
+ const [textSize, setTextSize] = (0, $dWhh5$react.useState)("");
17964
+ const [titleTextSize, setTitleTextSize] = (0, $dWhh5$react.useState)();
17965
+ const container = (0, $dWhh5$react.useRef)(null);
17966
+ const dimensions = (0, $b81eedb00aebd99e$export$2e2bcd8739ae039)(container);
17967
+ const animationTimerRef = (0, $dWhh5$react.useRef)();
17968
+ const [spring, api] = (0, $dWhh5$reactspringweb.useSpring)(()=>({
17969
+ from: {
17970
+ opacity: 0
17971
+ }
17972
+ }));
17973
+ (0, $dWhh5$react.useEffect)(()=>{
17974
+ api.start({
17975
+ from: {
17976
+ opacity: 0
17977
+ },
17978
+ to: {
17979
+ opacity: 1
17980
+ },
17981
+ config: {
17982
+ duration: $9a1eaae49cbafe0e$var$springEnterDuration
17983
+ }
17984
+ });
17985
+ return ()=>{
17986
+ (animationTimerRef === null || animationTimerRef === void 0 ? void 0 : animationTimerRef.current) && clearTimeout(animationTimerRef.current);
17987
+ };
17988
+ }, []);
17989
+ (0, $dWhh5$react.useEffect)(()=>{
17990
+ if (dimensions.width && dimensions.height && dimensions.width > 600) {
17991
+ if (dimensions.width < dimensions.height) {
17992
+ setTextSize("rf-text-lgcustom");
17993
+ setTitleTextSize("rf-text-3xl");
17994
+ } else {
17995
+ setTextSize("rf-text-basecustom");
17996
+ setTitleTextSize("rf-text-4xl");
17997
+ }
17998
+ } else {
17999
+ setTextSize("rf-text-sm");
18000
+ setTitleTextSize("rf-text-2xl");
18001
+ }
18002
+ }, [
18003
+ dimensions
18004
+ ]);
18005
+ const handleValidate = ()=>{
18006
+ handleValidation();
18007
+ api.start({
18008
+ from: {
18009
+ opacity: 1
18010
+ },
18011
+ to: {
18012
+ opacity: 0
18013
+ },
18014
+ config: {
18015
+ duration: $9a1eaae49cbafe0e$var$springLeaveDuration
18016
+ }
18017
+ });
18018
+ };
18019
+ (0, $dWhh5$react.useEffect)(()=>{
18020
+ (container === null || container === void 0 ? void 0 : container.current) && isWidget && (0, $9eb4669b72b0cf4a$export$2e2bcd8739ae039)(container.current);
18021
+ }, [
18022
+ container === null || container === void 0 ? void 0 : container.current
18023
+ ]);
18024
+ return displayGDPR || !(appAvailable || loaderClosed) ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)((0, $dWhh5$reactspringweb.animated).div, {
18025
+ id: "retorik-GDPR-and-loader",
18026
+ className: `rf-absolute rf-z-modal rf-top-0 rf-left-0 rf-h-full rf-w-full rf-font-default
18027
+ ${textSize}`,
18028
+ ref: container,
18029
+ style: {
18030
+ background: themeColors.loader.background,
18031
+ color: themeColors.loader.text,
18032
+ ...spring
18033
+ },
18034
+ children: [
18035
+ displayGDPR ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $7f65f9ca51e19c19$export$2e2bcd8739ae039), {
18036
+ titleTextSize: titleTextSize
18037
+ }) : !(appAvailable || loaderClosed) ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $59a12b6e2b34e902$export$2e2bcd8739ae039), {
18038
+ handleValidation: handleValidate
18039
+ }) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, ($parcel$interopDefault($dWhh5$react))).Fragment, {}),
18040
+ !hideRetorikLogo && (isMobile ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $2fd3bc7c6f6085ca$export$2e2bcd8739ae039), {
18041
+ className: "rf-absolute rf-bottom-10 rf-h-14"
18042
+ }) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $2fd3bc7c6f6085ca$export$2e2bcd8739ae039), {
18043
+ className: "rf-absolute rf-left-4 rf-bottom-4 rf-h-14"
18044
+ }))
18045
+ ]
18046
+ }) : /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, ($parcel$interopDefault($dWhh5$react))).Fragment, {});
18047
+ };
18048
+ var $9a1eaae49cbafe0e$export$2e2bcd8739ae039 = $9a1eaae49cbafe0e$var$GdprAndLoader;
17407
18049
 
17408
18050
 
17409
18051
  const $d31b268c3b702355$var$DBManager = new (0, $e7fbc91b362e1033$export$2e2bcd8739ae039)();
17410
18052
  const $d31b268c3b702355$var$tagsRemoverRegex = /<[^<>]+>/g;
17411
- const $d31b268c3b702355$var$RetorikSpeech = ({ ponyfill: ponyfill, onEnd: onEnd, onError: onError, onStart: onStart, utterance: utterance, appAvailable: appAvailable })=>{
18053
+ const $d31b268c3b702355$var$RetorikSpeech = ({ ponyfill: ponyfill, onEnd: onEnd, onError: onError, onStart: onStart, utterance: utterance, nextUtterance: nextUtterance, appAvailable: appAvailable })=>{
17412
18054
  const locale = (0, $b6a8688e7db7a7b9$export$6650dace022cfacc)((state)=>state.locale);
17413
- const { loaderClosed: loaderClosed, setLoaderClosed: setLoaderClosed, configuration: { enableSpeechCaching: enableSpeechCaching, speechRecognitionOptions: speechRecognitionOptions } } = (0, $1d4f8108de9ab73a$export$d8760bee47331b1d)();
18055
+ const { loaderClosed: loaderClosed, setLoaderClosed: setLoaderClosed, configuration: { enableSpeechCaching: enableSpeechCaching, speechRecognitionOptions: speechRecognitionOptions, isUsedOnBorne: isUsedOnBorne } } = (0, $1d4f8108de9ab73a$export$d8760bee47331b1d)();
17414
18056
  const { voice: voice } = (0, $df401eb9a10f9e0e$export$57e792e009c800a0)();
17415
18057
  const muted = (0, $5f7f457957bd2c8d$export$f299240efcda25a2)((state)=>state.muted);
17416
18058
  const activeRecognitionState = (0, $5f7f457957bd2c8d$export$f299240efcda25a2)((state)=>state.activeRecognitionState);
@@ -17419,6 +18061,9 @@ const $d31b268c3b702355$var$RetorikSpeech = ({ ponyfill: ponyfill, onEnd: onEnd,
17419
18061
  const speechRecognitionAudioRef = (0, $dWhh5$react.useRef)(null);
17420
18062
  const [DBReady, setDBReady] = (0, $dWhh5$react.useState)(false);
17421
18063
  const [playingBlob, setPlayingBlob] = (0, $dWhh5$react.useState)(false);
18064
+ const [nextUtteranceData, setNextUtteranceData] = (0, $dWhh5$react.useState)(null);
18065
+ const nextUtteranceBoundariesRef = (0, $dWhh5$react.useRef)([]);
18066
+ const nextUtteranceVisemesRef = (0, $dWhh5$react.useRef)([]);
17422
18067
  const emptyTextUtteranceRef = (0, $dWhh5$react.useRef)(null);
17423
18068
  (0, $dWhh5$react.useEffect)(()=>{
17424
18069
  $d31b268c3b702355$var$DBManager.checkDB().then((result)=>setDBReady(result));
@@ -17428,70 +18073,103 @@ const $d31b268c3b702355$var$RetorikSpeech = ({ ponyfill: ponyfill, onEnd: onEnd,
17428
18073
  var _audioRef_current;
17429
18074
  // Cancel synthesis if using synthesizer
17430
18075
  if (!playingBlob) ponyfill && ponyfill.speechSynthesis.cancel();
18076
+ resetNextUtteranceData();
17431
18077
  if (audioRef.current && !((_audioRef_current = audioRef.current) === null || _audioRef_current === void 0 ? void 0 : _audioRef_current.paused)) {
17432
18078
  audioRef.current.pause();
17433
18079
  handleEnd();
17434
18080
  }
17435
18081
  }
17436
18082
  };
18083
+ const attachEvents = (tempUtterance, isMainUtterance)=>{
18084
+ tempUtterance.onerror = (event)=>{
18085
+ isMainUtterance ? handleError(event) : setNextUtteranceData(null);
18086
+ };
18087
+ tempUtterance.onsynthesiscompleted = ()=>{
18088
+ const endBoundary = {
18089
+ word: "",
18090
+ startTime: 0,
18091
+ endTime: 0,
18092
+ boundaryType: "EndBoundary"
18093
+ };
18094
+ if (isMainUtterance) {
18095
+ const tempBoundaries = (boundaryRef === null || boundaryRef === void 0 ? void 0 : boundaryRef.current) || [];
18096
+ boundaryRef.current = [
18097
+ ...tempBoundaries,
18098
+ endBoundary
18099
+ ];
18100
+ (0, $5f7f457957bd2c8d$export$c24886139fddc386)([
18101
+ ...tempBoundaries,
18102
+ endBoundary
18103
+ ]);
18104
+ } else nextUtteranceBoundariesRef.current = [
18105
+ ...nextUtteranceBoundariesRef.current,
18106
+ endBoundary
18107
+ ];
18108
+ };
18109
+ tempUtterance.onboundary = (event)=>{
18110
+ if (event.boundaryType !== "Viseme") {
18111
+ const newBoundary = {
18112
+ word: event.name,
18113
+ startTime: event.elapsedTime,
18114
+ endTime: event.elapsedTime + event.duration,
18115
+ boundaryType: event.boundaryType
18116
+ };
18117
+ if (isMainUtterance) {
18118
+ // Update the boundaryData state with the new data.
18119
+ const tempBoundaries = (boundaryRef === null || boundaryRef === void 0 ? void 0 : boundaryRef.current) || [];
18120
+ boundaryRef.current = [
18121
+ ...tempBoundaries,
18122
+ newBoundary
18123
+ ];
18124
+ (0, $5f7f457957bd2c8d$export$c24886139fddc386)([
18125
+ ...tempBoundaries,
18126
+ newBoundary
18127
+ ]);
18128
+ } else nextUtteranceBoundariesRef.current = [
18129
+ ...nextUtteranceBoundariesRef.current,
18130
+ newBoundary
18131
+ ];
18132
+ }
18133
+ };
18134
+ tempUtterance.onviseme = (event)=>{
18135
+ const newViseme = {
18136
+ word: event.name,
18137
+ startTime: event.elapsedTime,
18138
+ endTime: event.elapsedTime + event.duration,
18139
+ boundaryType: event.boundaryType
18140
+ };
18141
+ if (isMainUtterance) ;
18142
+ else nextUtteranceVisemesRef.current = [
18143
+ ...nextUtteranceVisemesRef.current,
18144
+ newViseme
18145
+ ];
18146
+ };
18147
+ return tempUtterance;
18148
+ };
18149
+ const processNextData = (data)=>{
18150
+ setNextUtteranceData((data === null || data === void 0 ? void 0 : data.byteLength) ? {
18151
+ speechData: data,
18152
+ boundaries: nextUtteranceBoundariesRef.current,
18153
+ visemes: nextUtteranceVisemesRef.current
18154
+ } : null);
18155
+ // Reset boundary / viseme data
18156
+ resetNextUtteranceData(true);
18157
+ };
18158
+ const resetNextUtteranceData = (keepArrayBufferData)=>{
18159
+ !keepArrayBufferData && setNextUtteranceData(null);
18160
+ nextUtteranceBoundariesRef.current = [];
18161
+ nextUtteranceVisemesRef.current = [];
18162
+ };
17437
18163
  (0, $dWhh5$react.useEffect)(()=>{
17438
18164
  if (utterance) {
17439
18165
  if (utterance.text) {
17440
18166
  if (ponyfill && (audioRef === null || audioRef === void 0 ? void 0 : audioRef.current)) {
17441
- utterance.onerror = (event)=>{
17442
- handleError(event);
17443
- };
17444
- utterance.onsynthesiscompleted = ()=>{
17445
- const endBoundary = {
17446
- word: "",
17447
- startTime: 0,
17448
- endTime: 0,
17449
- boundaryType: "EndBoundary"
17450
- };
17451
- const tempBoundaries = (boundaryRef === null || boundaryRef === void 0 ? void 0 : boundaryRef.current) || [];
17452
- boundaryRef.current = [
17453
- ...tempBoundaries,
17454
- endBoundary
17455
- ];
17456
- (0, $5f7f457957bd2c8d$export$c24886139fddc386)([
17457
- ...tempBoundaries,
17458
- endBoundary
17459
- ]);
17460
- };
17461
- utterance.onboundary = (event)=>{
17462
- if (event.boundaryType !== "Viseme") {
17463
- // Get the current word and its start time and end time.
17464
- const word = event.name;
17465
- const startTime = event.elapsedTime;
17466
- const endTime = event.elapsedTime + event.duration;
17467
- const boundaryType = event.boundaryType;
17468
- // Update the boundaryData state with the new data.
17469
- const tempBoundaries = (boundaryRef === null || boundaryRef === void 0 ? void 0 : boundaryRef.current) || [];
17470
- boundaryRef.current = [
17471
- ...tempBoundaries,
17472
- {
17473
- word: word,
17474
- startTime: startTime,
17475
- endTime: endTime,
17476
- boundaryType: boundaryType
17477
- }
17478
- ];
17479
- (0, $5f7f457957bd2c8d$export$c24886139fddc386)([
17480
- ...tempBoundaries,
17481
- {
17482
- word: word,
17483
- startTime: startTime,
17484
- endTime: endTime,
17485
- boundaryType: boundaryType
17486
- }
17487
- ]);
17488
- }
17489
- };
17490
- utterance.onviseme = ()=>{
17491
- // console.log('Viseme : ', e)
17492
- };
17493
- // Play utterance whether by asking for a speech synthesis, or by retrieving data fro indexeddb
17494
- playUtterance();
18167
+ if (nextUtteranceData) {
18168
+ boundaryRef.current = nextUtteranceData.boundaries;
18169
+ (0, $5f7f457957bd2c8d$export$c24886139fddc386)(nextUtteranceData.boundaries);
18170
+ processData(nextUtteranceData.speechData, true);
18171
+ } else // Play utterance whether by asking for a speech synthesis, or by retrieving data fro indexeddb
18172
+ playUtterance(attachEvents(utterance, true));
17495
18173
  } else stopCurrentPlaying();
17496
18174
  } else handleEmptyTextUtterance();
17497
18175
  } else stopCurrentPlaying();
@@ -17502,33 +18180,43 @@ const $d31b268c3b702355$var$RetorikSpeech = ({ ponyfill: ponyfill, onEnd: onEnd,
17502
18180
  }, [
17503
18181
  utterance
17504
18182
  ]);
17505
- const playUtterance = async ()=>{
17506
- if (DBReady && enableSpeechCaching !== false && utterance) {
17507
- const dataFromIndexedDB = await $d31b268c3b702355$var$DBManager.getSpeechData(`${locale}.${voice === null || voice === void 0 ? void 0 : voice.name}.${utterance.text.replace($d31b268c3b702355$var$tagsRemoverRegex, "").substring(0, 50)}`);
18183
+ (0, $dWhh5$react.useEffect)(()=>{
18184
+ if ((nextUtterance === null || nextUtterance === void 0 ? void 0 : nextUtterance.text) && ponyfill) {
18185
+ const tempUtterance = attachEvents(nextUtterance);
18186
+ ponyfill.speechSynthesis.synthesizeAndGetArrayData(tempUtterance, processNextData);
18187
+ } else resetNextUtteranceData();
18188
+ }, [
18189
+ nextUtterance
18190
+ ]);
18191
+ const playUtterance = async (utt)=>{
18192
+ if (DBReady && enableSpeechCaching !== false && utt) {
18193
+ const dataFromIndexedDB = await $d31b268c3b702355$var$DBManager.getSpeechData(`${locale}.${voice === null || voice === void 0 ? void 0 : voice.name}.${utt.text.replace($d31b268c3b702355$var$tagsRemoverRegex, "").substring(0, 50)}`);
17508
18194
  if (dataFromIndexedDB) {
17509
18195
  boundaryRef.current = dataFromIndexedDB.boundaries;
17510
18196
  (0, $5f7f457957bd2c8d$export$c24886139fddc386)(dataFromIndexedDB.boundaries);
17511
18197
  processData(dataFromIndexedDB.value, true);
17512
- } else ponyfill === null || ponyfill === void 0 ? void 0 : ponyfill.speechSynthesis.synthesizeAndGetArrayData(utterance, processData);
17513
- } else ponyfill === null || ponyfill === void 0 ? void 0 : ponyfill.speechSynthesis.synthesizeAndGetArrayData(utterance, processData);
18198
+ } else ponyfill === null || ponyfill === void 0 ? void 0 : ponyfill.speechSynthesis.synthesizeAndGetArrayData(utt, processData);
18199
+ } else ponyfill === null || ponyfill === void 0 ? void 0 : ponyfill.speechSynthesis.synthesizeAndGetArrayData(utt, processData);
17514
18200
  };
17515
18201
  const processData = (data, alreadyExistsInDB)=>{
17516
- const blob = new Blob([
17517
- data
17518
- ], {
17519
- type: "audio/mp3"
17520
- });
17521
- enableSpeechCaching !== false && !alreadyExistsInDB && DBReady && (boundaryRef === null || boundaryRef === void 0 ? void 0 : boundaryRef.current) && utterance && $d31b268c3b702355$var$DBManager.addSpeechData({
17522
- id: `${locale}.${voice === null || voice === void 0 ? void 0 : voice.name}.${utterance.text.replace($d31b268c3b702355$var$tagsRemoverRegex, "").substring(0, 50)}`,
17523
- value: data,
17524
- boundaries: boundaryRef.current
17525
- });
17526
- const url = URL.createObjectURL(blob);
17527
- if (audioRef === null || audioRef === void 0 ? void 0 : audioRef.current) {
17528
- setPlayingBlob(true);
17529
- audioRef.current.src = url;
17530
- audioRef.current.play().catch((e)=>console.warn(e));
17531
- }
18202
+ if (data === null || data === void 0 ? void 0 : data.byteLength) {
18203
+ const blob = new Blob([
18204
+ data
18205
+ ], {
18206
+ type: "audio/mp3"
18207
+ });
18208
+ enableSpeechCaching !== false && !alreadyExistsInDB && DBReady && (boundaryRef === null || boundaryRef === void 0 ? void 0 : boundaryRef.current) && utterance && $d31b268c3b702355$var$DBManager.addSpeechData({
18209
+ id: `${locale}.${voice === null || voice === void 0 ? void 0 : voice.name}.${utterance.text.replace($d31b268c3b702355$var$tagsRemoverRegex, "").substring(0, 50)}`,
18210
+ value: data,
18211
+ boundaries: boundaryRef.current
18212
+ });
18213
+ const url = URL.createObjectURL(blob);
18214
+ if (audioRef === null || audioRef === void 0 ? void 0 : audioRef.current) {
18215
+ setPlayingBlob(true);
18216
+ audioRef.current.src = url;
18217
+ audioRef.current.play().catch((e)=>console.warn(e));
18218
+ }
18219
+ } else handleEmptyTextUtterance();
17532
18220
  };
17533
18221
  const resetData = ()=>{
17534
18222
  boundaryRef.current = [];
@@ -17536,7 +18224,7 @@ const $d31b268c3b702355$var$RetorikSpeech = ({ ponyfill: ponyfill, onEnd: onEnd,
17536
18224
  setPlayingBlob(false);
17537
18225
  };
17538
18226
  const handleStart = ()=>{
17539
- if (appAvailable || loaderClosed) onStart && onStart();
18227
+ if (appAvailable || loaderClosed) onStart === null || onStart === void 0 ? void 0 : onStart();
17540
18228
  };
17541
18229
  const handleEnd = ()=>{
17542
18230
  if (appAvailable || loaderClosed) {
@@ -17591,7 +18279,8 @@ const $d31b268c3b702355$var$RetorikSpeech = ({ ponyfill: ponyfill, onEnd: onEnd,
17591
18279
  preload: "auto",
17592
18280
  muted: appAvailable || loaderClosed ? muted : true
17593
18281
  }),
17594
- !(appAvailable || loaderClosed) && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $59a12b6e2b34e902$export$2e2bcd8739ae039), {
18282
+ !isUsedOnBorne && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $9a1eaae49cbafe0e$export$2e2bcd8739ae039), {
18283
+ appAvailable: appAvailable,
17595
18284
  handleValidation: primeRetorikSpeech
17596
18285
  })
17597
18286
  ]
@@ -17681,6 +18370,9 @@ const $5679d80e89b3df01$export$4bf371fc4fa74a28 = (voices, locale, customVoice,
17681
18370
 
17682
18371
  const $ad561f5c61e38c20$var$SynthesisManager = ({ isRetorikNews: isRetorikNews })=>{
17683
18372
  const cancel = (0, $5f7f457957bd2c8d$export$f299240efcda25a2)((state)=>state.cancel);
18373
+ const streamingReplyToId = (0, $5f7f457957bd2c8d$export$f299240efcda25a2)((state)=>state.streamingReplyToId);
18374
+ const streamingQueue = (0, $5f7f457957bd2c8d$export$f299240efcda25a2)((state)=>state.streamingQueue);
18375
+ const cancelRef = (0, $dWhh5$react.useRef)(false);
17684
18376
  const currentPlaying = (0, $5f7f457957bd2c8d$export$f299240efcda25a2)((state)=>state.currentPlaying);
17685
18377
  const currentReplyToId = (0, $5f7f457957bd2c8d$export$f299240efcda25a2)((state)=>state.currentReplyToId);
17686
18378
  const endedActivities = (0, $5f7f457957bd2c8d$export$f299240efcda25a2)((state)=>state.endedActivities);
@@ -17694,6 +18386,7 @@ const $ad561f5c61e38c20$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
17694
18386
  const lastBotActivity = (0, $9acd31406c230961$export$b56465394e2b1287)((state)=>state.lastBotMessageActivity);
17695
18387
  const toggleMicrophone = (0, $e37833e47d877d3a$export$2e2bcd8739ae039)();
17696
18388
  const [utterance, setUtterance] = (0, $dWhh5$react.useState)(null);
18389
+ const [nextUtterance, setNextUtterance] = (0, $dWhh5$react.useState)(null);
17697
18390
  const [utteranceEnded, setUtteranceEnded] = (0, $dWhh5$react.useState)(false);
17698
18391
  const queuedActivitiesRef = (0, $dWhh5$react.useRef)([]);
17699
18392
  const currentActivityRef = (0, $dWhh5$react.useRef)(null);
@@ -17703,6 +18396,7 @@ const $ad561f5c61e38c20$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
17703
18396
  const [ponyfill, setPonyfill] = (0, $dWhh5$react.useState)(undefined);
17704
18397
  const refreshTimerRef = (0, $dWhh5$react.useRef)(null);
17705
18398
  const [lastListTextPlayed, setLastListTextPlayed] = (0, $dWhh5$react.useState)("");
18399
+ const tempCurrentStreamingRef = (0, $dWhh5$react.useRef)(null);
17706
18400
  /**
17707
18401
  * Async function to retrieve a new token and assign it to the speechConfig inside ponyfill.speechSynthesis
17708
18402
  * @param region string
@@ -17859,6 +18553,7 @@ const $ad561f5c61e38c20$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
17859
18553
  queuedActivitiesRef.current = [];
17860
18554
  (0, $5f7f457957bd2c8d$export$d0df6aec4e971f52)(false);
17861
18555
  setUtterance(null);
18556
+ setNextUtterance(null);
17862
18557
  !isRetorikNews && setIsNewsView(route === (0, $71c613e2e831c34c$export$3565eb3d00ca5a74).News);
17863
18558
  }, [
17864
18559
  route
@@ -17869,7 +18564,8 @@ const $ad561f5c61e38c20$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
17869
18564
  * - no utterance is created while appAvailable isn't true
17870
18565
  * - if during the waiting time, some activities were queued, when appAvailable comes to true, let's begin creating the utterances and playing them
17871
18566
  */ (0, $dWhh5$react.useEffect)(()=>{
17872
- if (appAvailable && queuedActivitiesRef.current && queuedActivitiesRef.current.length > 0) {
18567
+ var _queuedActivitiesRef_current;
18568
+ if (appAvailable && ((_queuedActivitiesRef_current = queuedActivitiesRef.current) === null || _queuedActivitiesRef_current === void 0 ? void 0 : _queuedActivitiesRef_current.length)) {
17873
18569
  const activity = queuedActivitiesRef.current[0];
17874
18570
  currentActivityRef.current = activity;
17875
18571
  const params = {
@@ -17893,8 +18589,11 @@ const $ad561f5c61e38c20$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
17893
18589
  * - if an utterance is being played, set it to null to stop playing and prevent data in queue from being played
17894
18590
  * - setting an utterance to null will trigger the handleUtteranceEnded method automatically
17895
18591
  */ (0, $dWhh5$react.useEffect)(()=>{
17896
- cancel && !utterance && (0, $5f7f457957bd2c8d$export$d0df6aec4e971f52)(false);
17897
- cancel && utterance && setUtterance(null);
18592
+ cancelRef.current = cancel;
18593
+ if (cancel) {
18594
+ utterance ? setUtterance(null) : (0, $5f7f457957bd2c8d$export$d0df6aec4e971f52)(false);
18595
+ setNextUtterance(null);
18596
+ }
17898
18597
  }, [
17899
18598
  cancel
17900
18599
  ]);
@@ -17908,67 +18607,76 @@ const $ad561f5c61e38c20$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
17908
18607
  * - 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)
17909
18608
  * - if an utterance has to be created, create it and set the utterance state
17910
18609
  */ (0, $dWhh5$react.useEffect)(()=>{
17911
- if (ponyfill && voice) {
17912
- if (lastBotActivity && lastBotActivity.id) {
17913
- let createNewUtterance = false;
17914
- if (!lastBotActivity.replyToId) {
17915
- if (isNewsView) ;
17916
- else if (currentPlaying || queuedActivitiesRef.current && queuedActivitiesRef.current.length > 0) queuedActivitiesRef.current = [
18610
+ if (ponyfill && voice && (lastBotActivity === null || lastBotActivity === void 0 ? void 0 : lastBotActivity.id)) {
18611
+ let createNewUtterance = false;
18612
+ if (!lastBotActivity.replyToId) {
18613
+ var _queuedActivitiesRef_current;
18614
+ if (isNewsView) ;
18615
+ else if (currentPlaying || ((_queuedActivitiesRef_current = queuedActivitiesRef.current) === null || _queuedActivitiesRef_current === void 0 ? void 0 : _queuedActivitiesRef_current.length)) queuedActivitiesRef.current = [
18616
+ ...queuedActivitiesRef.current,
18617
+ lastBotActivity
18618
+ ];
18619
+ else if (endedActivities.length === 0 || endedActivities[endedActivities.length - 1] !== lastBotActivity.id) createNewUtterance = true;
18620
+ } else if (lastBotActivity.replyToId === streamingReplyToId) {
18621
+ var _lastBotActivity_value;
18622
+ if ((_lastBotActivity_value = lastBotActivity.value) === null || _lastBotActivity_value === void 0 ? void 0 : _lastBotActivity_value.streamingId) {
18623
+ (0, $5f7f457957bd2c8d$export$b03f86112d469252)(lastBotActivity);
18624
+ currentPlayingRef.current = lastBotActivity;
18625
+ } else queuedActivitiesRef.current = [
18626
+ ...queuedActivitiesRef.current,
18627
+ lastBotActivity
18628
+ ];
18629
+ } else if (!appAvailable) {
18630
+ if (!currentReplyToId) {
18631
+ (0, $5f7f457957bd2c8d$export$96a5fb7d9bf39b8a)(lastBotActivity.replyToId);
18632
+ queuedActivitiesRef.current = [
18633
+ lastBotActivity
18634
+ ];
18635
+ } else if (currentReplyToId === lastBotActivity.replyToId) {
18636
+ var _queuedActivitiesRef_current1;
18637
+ let count = 0;
18638
+ if ((_queuedActivitiesRef_current1 = queuedActivitiesRef.current) === null || _queuedActivitiesRef_current1 === void 0 ? void 0 : _queuedActivitiesRef_current1.length) queuedActivitiesRef.current.forEach((activity)=>{
18639
+ if (activity.id === lastBotActivity.id) count++;
18640
+ });
18641
+ if (count === 0) queuedActivitiesRef.current = [
17917
18642
  ...queuedActivitiesRef.current,
17918
18643
  lastBotActivity
17919
18644
  ];
17920
- else if (endedActivities.length === 0 || endedActivities[endedActivities.length - 1] !== lastBotActivity.id) createNewUtterance = true;
17921
- } else if (!appAvailable) {
17922
- if (!currentReplyToId) {
17923
- (0, $5f7f457957bd2c8d$export$96a5fb7d9bf39b8a)(lastBotActivity.replyToId);
17924
- queuedActivitiesRef.current = [
17925
- lastBotActivity
17926
- ];
17927
- } else if (currentReplyToId === lastBotActivity.replyToId) {
17928
- let count = 0;
17929
- if (queuedActivitiesRef.current && queuedActivitiesRef.current.length > 0) queuedActivitiesRef.current.forEach((activity)=>{
17930
- if (activity.id === lastBotActivity.id) count++;
17931
- });
17932
- if (count === 0) queuedActivitiesRef.current = [
17933
- ...queuedActivitiesRef.current,
17934
- lastBotActivity
17935
- ];
17936
- } else {
17937
- (0, $5f7f457957bd2c8d$export$96a5fb7d9bf39b8a)(lastBotActivity.replyToId);
17938
- queuedActivitiesRef.current = [
17939
- lastBotActivity
17940
- ];
17941
- }
17942
- } else if (currentActivityRef === null || currentActivityRef === void 0 ? void 0 : currentActivityRef.current) {
17943
- const returnCode = (0, $549323f244f4782c$export$2e2bcd8739ae039)(lastBotActivity, currentActivityRef.current, currentReplyToId, queuedActivitiesRef.current, endedActivities);
17944
- const queue = [
17945
- ...queuedActivitiesRef.current
18645
+ } else {
18646
+ (0, $5f7f457957bd2c8d$export$96a5fb7d9bf39b8a)(lastBotActivity.replyToId);
18647
+ queuedActivitiesRef.current = [
18648
+ lastBotActivity
17946
18649
  ];
17947
- switch(returnCode){
17948
- case 0:
17949
- break;
17950
- case 1:
17951
- // Add the activity to the queue
17952
- queue.push(lastBotActivity);
17953
- queuedActivitiesRef.current = queue;
17954
- break;
17955
- case 2:
17956
- // Stop current activity and play the new one
17957
- queuedActivitiesRef.current = [];
17958
- createNewUtterance = true;
17959
- break;
17960
- }
17961
- } else createNewUtterance = !endedActivities.includes(lastBotActivity.id);
17962
- if (createNewUtterance) {
17963
- currentActivityRef.current = lastBotActivity;
17964
- (0, $5f7f457957bd2c8d$export$96a5fb7d9bf39b8a)(lastBotActivity.replyToId || "customReplyToIdIfNotPresent");
17965
- const params = {
17966
- activity: lastBotActivity,
17967
- voice: getVoiceAfterCheckingActivityLocale(lastBotActivity.locale || locale),
17968
- locale: lastBotActivity.locale || locale
17969
- };
17970
- setUtterance(checkActivityAndCreateUtterance(params));
17971
18650
  }
18651
+ } else if (currentActivityRef === null || currentActivityRef === void 0 ? void 0 : currentActivityRef.current) {
18652
+ const returnCode = (0, $549323f244f4782c$export$2e2bcd8739ae039)(lastBotActivity, currentActivityRef.current, currentReplyToId, queuedActivitiesRef.current, endedActivities);
18653
+ const queue = [
18654
+ ...queuedActivitiesRef.current
18655
+ ];
18656
+ switch(returnCode){
18657
+ case 0:
18658
+ break;
18659
+ case 1:
18660
+ // Add the activity to the queue
18661
+ queue.push(lastBotActivity);
18662
+ queuedActivitiesRef.current = queue;
18663
+ break;
18664
+ case 2:
18665
+ // Stop current activity and play the new one
18666
+ queuedActivitiesRef.current = [];
18667
+ createNewUtterance = true;
18668
+ break;
18669
+ }
18670
+ } else createNewUtterance = !endedActivities.includes(lastBotActivity.id);
18671
+ if (createNewUtterance) {
18672
+ currentActivityRef.current = lastBotActivity;
18673
+ (0, $5f7f457957bd2c8d$export$96a5fb7d9bf39b8a)(lastBotActivity.replyToId || "customReplyToIdIfNotPresent");
18674
+ const params = {
18675
+ activity: lastBotActivity,
18676
+ voice: getVoiceAfterCheckingActivityLocale(lastBotActivity.locale || locale),
18677
+ locale: lastBotActivity.locale || locale
18678
+ };
18679
+ setUtterance(checkActivityAndCreateUtterance(params));
17972
18680
  }
17973
18681
  }
17974
18682
  }, [
@@ -17976,6 +18684,24 @@ const $ad561f5c61e38c20$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
17976
18684
  ponyfill,
17977
18685
  voice
17978
18686
  ]);
18687
+ (0, $dWhh5$react.useEffect)(()=>{
18688
+ if (streamingReplyToId && streamingQueue.length) {
18689
+ const tempActivity = streamingQueue[0];
18690
+ const params = {
18691
+ activity: tempActivity,
18692
+ voice: getVoiceAfterCheckingActivityLocale(locale),
18693
+ locale: locale
18694
+ };
18695
+ (0, $5f7f457957bd2c8d$export$eb50624bfd363865)();
18696
+ setUtterance(checkSayAsWordsAndCreateUtterance(params));
18697
+ (0, $5f7f457957bd2c8d$export$b03f86112d469252)(undefined);
18698
+ currentPlayingRef.current = null;
18699
+ currentActivityRef.current = null;
18700
+ tempCurrentStreamingRef.current = tempActivity.text || null;
18701
+ }
18702
+ }, [
18703
+ streamingReplyToId
18704
+ ]);
17979
18705
  /**
17980
18706
  * On utteranceEnded state change :
17981
18707
  * - if the state is true, an utterance just ended, so the steps are :
@@ -18005,6 +18731,20 @@ const $ad561f5c61e38c20$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
18005
18731
  currentPlayingRef.current = currentActivityRef.current;
18006
18732
  }
18007
18733
  dispatchSpeechEvent(true);
18734
+ // Set next utterance to prepare synthesis data in order to improve fluidity
18735
+ if (streamingReplyToId && streamingQueue.length) {
18736
+ const tempActivity = streamingQueue[0];
18737
+ if (tempActivity.text) {
18738
+ const params = {
18739
+ activity: tempActivity,
18740
+ voice: getVoiceAfterCheckingActivityLocale(locale),
18741
+ locale: locale
18742
+ };
18743
+ const tempUtterance = checkSayAsWordsAndCreateUtterance(params);
18744
+ tempUtterance.text !== (nextUtterance === null || nextUtterance === void 0 ? void 0 : nextUtterance.text) ? setNextUtterance(tempUtterance) : setNextUtterance(null);
18745
+ } else setNextUtterance(null);
18746
+ } else setNextUtterance(null);
18747
+ (0, $5f7f457957bd2c8d$export$d300d9470f5679ba)(tempCurrentStreamingRef === null || tempCurrentStreamingRef === void 0 ? void 0 : tempCurrentStreamingRef.current);
18008
18748
  };
18009
18749
  /**
18010
18750
  * On call :
@@ -18016,7 +18756,7 @@ const $ad561f5c61e38c20$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
18016
18756
  dispatchSpeechEvent(false);
18017
18757
  };
18018
18758
  const checkDictateState = ()=>{
18019
- !preventExpectedInputHint && mode === (0, $71c613e2e831c34c$export$9484bbecc3c49a2e).vocal && toggleMicrophone();
18759
+ !preventExpectedInputHint && mode === (0, $71c613e2e831c34c$export$9484bbecc3c49a2e).vocal && toggleMicrophone(true);
18020
18760
  };
18021
18761
  /**
18022
18762
  * On call :
@@ -18025,7 +18765,7 @@ const $ad561f5c61e38c20$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
18025
18765
  * - if it wasn't a cancel, deal with the queue
18026
18766
  * - if this was the last activity of the queue, check if the microphone has to be opened automatically (inputHint = expectingInput)
18027
18767
  */ const handleEnded = ()=>{
18028
- let nextUtterance = null;
18768
+ let futureUtterance = null;
18029
18769
  const ended = [
18030
18770
  ...endedActivities
18031
18771
  ];
@@ -18037,13 +18777,27 @@ const $ad561f5c61e38c20$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
18037
18777
  (0, $5f7f457957bd2c8d$export$b03f86112d469252)(undefined);
18038
18778
  (0, $5f7f457957bd2c8d$export$7cbdb517d05b0ba6)(ended);
18039
18779
  // Check if the audio ended because of a cancel call
18040
- if (cancel) {
18780
+ if (cancelRef.current) {
18041
18781
  queuedActivitiesRef.current = [];
18782
+ (0, $5f7f457957bd2c8d$export$614a80601162ec38)(null);
18783
+ tempCurrentStreamingRef.current = null;
18784
+ (0, $5f7f457957bd2c8d$export$87afd75c41a617d7)([]);
18042
18785
  (0, $5f7f457957bd2c8d$export$d0df6aec4e971f52)(false);
18786
+ } else if (streamingQueue.length) {
18787
+ const tempActivity = streamingQueue[0];
18788
+ const params = {
18789
+ activity: tempActivity,
18790
+ voice: getVoiceAfterCheckingActivityLocale(locale),
18791
+ locale: locale
18792
+ };
18793
+ (0, $5f7f457957bd2c8d$export$eb50624bfd363865)();
18794
+ futureUtterance = checkSayAsWordsAndCreateUtterance(params);
18795
+ tempCurrentStreamingRef.current = tempActivity.text || null;
18043
18796
  } else {
18044
- var _currentPlayingRef_current;
18797
+ var _queuedActivitiesRef_current, _currentPlayingRef_current;
18798
+ (0, $5f7f457957bd2c8d$export$614a80601162ec38)(null);
18045
18799
  // Launch next activity in the queue and remove it from the queue
18046
- if (queuedActivitiesRef.current && queuedActivitiesRef.current.length > 0) {
18800
+ if ((_queuedActivitiesRef_current = queuedActivitiesRef.current) === null || _queuedActivitiesRef_current === void 0 ? void 0 : _queuedActivitiesRef_current.length) {
18047
18801
  const activity = queuedActivitiesRef.current[0];
18048
18802
  currentActivityRef.current = activity;
18049
18803
  const params = {
@@ -18051,7 +18805,7 @@ const $ad561f5c61e38c20$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
18051
18805
  voice: getVoiceAfterCheckingActivityLocale(activity.locale || locale),
18052
18806
  locale: activity.locale || locale
18053
18807
  };
18054
- nextUtterance = checkActivityAndCreateUtterance(params);
18808
+ futureUtterance = checkActivityAndCreateUtterance(params);
18055
18809
  const queue = [
18056
18810
  ...queuedActivitiesRef.current
18057
18811
  ];
@@ -18060,12 +18814,13 @@ const $ad561f5c61e38c20$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
18060
18814
  } else if ((currentPlayingRef === null || currentPlayingRef === void 0 ? void 0 : (_currentPlayingRef_current = currentPlayingRef.current) === null || _currentPlayingRef_current === void 0 ? void 0 : _currentPlayingRef_current.inputHint) === "expectingInput") checkDictateState();
18061
18815
  }
18062
18816
  currentPlayingRef.current = null;
18063
- setUtterance(nextUtterance);
18817
+ setUtterance(futureUtterance);
18064
18818
  };
18065
18819
  return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $d31b268c3b702355$export$2e2bcd8739ae039), {
18066
18820
  ponyfill: ponyfill,
18067
18821
  appAvailable: appAvailable,
18068
18822
  utterance: utterance,
18823
+ nextUtterance: nextUtterance,
18069
18824
  onStart: handleUtteranceStart,
18070
18825
  onError: handleUtteranceEnd,
18071
18826
  onEnd: handleUtteranceEnd
@@ -18294,6 +19049,52 @@ var $9e19251bfed127fc$export$2e2bcd8739ae039 = $9e19251bfed127fc$var$SpeechManag
18294
19049
 
18295
19050
 
18296
19051
 
19052
+
19053
+ const $fa132146e65c60c8$var$FocusManager = ()=>{
19054
+ const { currentDeviceType: currentDeviceType } = (0, $6acc5d637072b42e$export$3abe3478af3cb63b)();
19055
+ const muted = (0, $5f7f457957bd2c8d$export$f299240efcda25a2)((state)=>state.muted);
19056
+ const activeRecognitionState = (0, $5f7f457957bd2c8d$export$f299240efcda25a2)((state)=>state.activeRecognitionState);
19057
+ const focusedRef = (0, $dWhh5$react.useRef)(true);
19058
+ const oldMutedRef = (0, $dWhh5$react.useRef)(muted);
19059
+ const recognitionStateRef = (0, $dWhh5$react.useRef)(activeRecognitionState);
19060
+ (0, $dWhh5$react.useEffect)(()=>{
19061
+ focusedRef.current && (oldMutedRef.current = muted);
19062
+ }, [
19063
+ muted
19064
+ ]);
19065
+ (0, $dWhh5$react.useEffect)(()=>{
19066
+ recognitionStateRef.current = activeRecognitionState;
19067
+ }, [
19068
+ activeRecognitionState
19069
+ ]);
19070
+ const handleVisibilityChange = ()=>{
19071
+ if (document.visibilityState === "visible") {
19072
+ focusedRef.current = true;
19073
+ oldMutedRef.current === false && (0, $5f7f457957bd2c8d$export$a1680ba91cc9be33)(false);
19074
+ } else {
19075
+ focusedRef.current = false;
19076
+ (0, $5f7f457957bd2c8d$export$d0df6aec4e971f52)(true);
19077
+ (0, $5f7f457957bd2c8d$export$a1680ba91cc9be33)(true);
19078
+ recognitionStateRef.current === (0, $71c613e2e831c34c$export$3f0071308968cd80).Listening && (0, $5f7f457957bd2c8d$export$45913366c4ba414f)((0, $71c613e2e831c34c$export$3f0071308968cd80).ForceClosing);
19079
+ }
19080
+ };
19081
+ (0, $dWhh5$react.useEffect)(()=>{
19082
+ currentDeviceType === (0, $71c613e2e831c34c$export$ec1e04e4e5ef8233).mobile && document.addEventListener("visibilitychange", handleVisibilityChange);
19083
+ return ()=>{
19084
+ document.removeEventListener("visibilitychange", handleVisibilityChange);
19085
+ };
19086
+ }, [
19087
+ currentDeviceType
19088
+ ]);
19089
+ return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, ($parcel$interopDefault($dWhh5$react))).Fragment, {});
19090
+ };
19091
+ var $fa132146e65c60c8$export$2e2bcd8739ae039 = $fa132146e65c60c8$var$FocusManager;
19092
+
19093
+
19094
+
19095
+
19096
+
19097
+
18297
19098
  const $184baaa1aacf568a$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=";
18298
19099
 
18299
19100
 
@@ -18392,14 +19193,16 @@ const $4b02e31a53a4d2e7$var$SendTypingIndicator = ()=>{
18392
19193
  const listOpened = (0, $70e3d65f5a106231$export$77e4cc5334565f28)((state)=>state.listOpened);
18393
19194
  const retorikEvent = (0, $70e3d65f5a106231$export$77e4cc5334565f28)((state)=>state.retorikEvent);
18394
19195
  const userIsTyping = (0, $70e3d65f5a106231$export$77e4cc5334565f28)((state)=>state.userIsTyping);
19196
+ const userIsSwiping = (0, $70e3d65f5a106231$export$77e4cc5334565f28)((state)=>state.userIsSwiping);
18395
19197
  const dataRef = (0, $dWhh5$react.useRef)(false);
18396
19198
  (0, $dWhh5$react.useEffect)(()=>{
18397
- dataRef.current = !loaderClosed || lastRecognitionInterim !== "" || userIsTyping || speaking || currentSubView !== (0, $71c613e2e831c34c$export$f05d0fed0593ead7).none || route === (0, $71c613e2e831c34c$export$3565eb3d00ca5a74).News || retorikEvent === (0, $71c613e2e831c34c$export$4f7cd669585dc69f).DetailViewOpen || listOpened;
19199
+ dataRef.current = !loaderClosed || lastRecognitionInterim !== "" || userIsTyping || userIsSwiping || speaking || currentSubView !== (0, $71c613e2e831c34c$export$f05d0fed0593ead7).none || route === (0, $71c613e2e831c34c$export$3565eb3d00ca5a74).News || retorikEvent === (0, $71c613e2e831c34c$export$4f7cd669585dc69f).DetailViewOpen || listOpened;
18398
19200
  }, [
18399
19201
  appAvailable,
18400
19202
  loaderClosed,
18401
19203
  lastRecognitionInterim,
18402
19204
  userIsTyping,
19205
+ userIsSwiping,
18403
19206
  speaking,
18404
19207
  currentSubView,
18405
19208
  route,
@@ -18455,6 +19258,7 @@ const $bbc725a084d1069a$var$RetorikContainer = ({ parent: parent, isConfigUpdate
18455
19258
  /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $9e19251bfed127fc$export$2e2bcd8739ae039), {
18456
19259
  isRetorikNews: parent === (0, $71c613e2e831c34c$export$a31c5a03aaeee5f).news
18457
19260
  }),
19261
+ /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $fa132146e65c60c8$export$2e2bcd8739ae039), {}),
18458
19262
  /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $9242b50f1c1199a7$export$2e2bcd8739ae039), {
18459
19263
  fullSize: parent !== (0, $71c613e2e831c34c$export$a31c5a03aaeee5f).widget && props.config.fullSize !== false,
18460
19264
  width: props.width,
@@ -18559,7 +19363,9 @@ const $ba3150a69d33f468$var$processJson = (json, retorikProps, baseAddress)=>{
18559
19363
  pagination: undefined,
18560
19364
  remote: undefined,
18561
19365
  companyName: json.companyName,
19366
+ companyNameLocalized: json.companyNameLocalized,
18562
19367
  subCompanyMessage: json.subCompanyMessage,
19368
+ subCompanyMessageLocalized: json.subCompanyMessageLocalized,
18563
19369
  loaderInformationTexts: {
18564
19370
  text: {
18565
19371
  top: json.textModeHomeTitle,
@@ -18570,6 +19376,16 @@ const $ba3150a69d33f468$var$processJson = (json, retorikProps, baseAddress)=>{
18570
19376
  bottom: json.voiceModeHomeSubtitle
18571
19377
  }
18572
19378
  },
19379
+ loaderInformationTextsLocalized: {
19380
+ text: {
19381
+ top: json.textModeHomeTitleLocalized,
19382
+ bottom: json.textModeHomeSubtitleLocalized
19383
+ },
19384
+ vocal: {
19385
+ top: json.voiceModeHomeTitleLocalized,
19386
+ bottom: json.voiceModeHomeSubtitleLocalized
19387
+ }
19388
+ },
18573
19389
  hideRetorikLogo: json.hideRetorikLogo,
18574
19390
  baseMenu: retorikProps === null || retorikProps === void 0 ? void 0 : (_retorikProps_menuConfig = retorikProps.menuConfig) === null || _retorikProps_menuConfig === void 0 ? void 0 : _retorikProps_menuConfig.baseMenu,
18575
19391
  customMenu: retorikProps === null || retorikProps === void 0 ? void 0 : (_retorikProps_menuConfig1 = retorikProps.menuConfig) === null || _retorikProps_menuConfig1 === void 0 ? void 0 : _retorikProps_menuConfig1.customMenu,
@@ -18835,6 +19651,68 @@ var $9569bd86e01b07fd$export$2e2bcd8739ae039 = $9569bd86e01b07fd$var$Loader;
18835
19651
 
18836
19652
 
18837
19653
 
19654
+
19655
+
19656
+
19657
+ const $9b7229e19d910060$export$284b58786299e6c5 = async ({ configurationData: configurationData, addressData: addressData })=>{
19658
+ if (configurationData) {
19659
+ if (typeof configurationData.userConsent === "boolean") return {
19660
+ displayGDPR: false,
19661
+ userConsent: configurationData.userConsent
19662
+ };
19663
+ else return {
19664
+ displayGDPR: true,
19665
+ data: configurationData
19666
+ };
19667
+ } else {
19668
+ var _addressData_baseURI;
19669
+ const baseAddress = `${((_addressData_baseURI = addressData.baseURI) === null || _addressData_baseURI === void 0 ? void 0 : _addressData_baseURI.length) ? (0, $82b306c512e33035$export$2e2bcd8739ae039)(addressData.baseURI) : (0, $c6d7669b9282aea4$export$2e2bcd8739ae039)(addressData.prefix)}/${addressData.tenant ? addressData.tenant + "/" : ""}`;
19670
+ const fullAddress = `${baseAddress}api/gdpr/settings`;
19671
+ const response = await fetch(fullAddress).then((res)=>res.json()).catch((error)=>{
19672
+ console.warn(error);
19673
+ return undefined;
19674
+ });
19675
+ if (response) {
19676
+ // Format response data to get a GDPR-type object
19677
+ const responseToData = {
19678
+ title: {},
19679
+ message: {},
19680
+ link: {},
19681
+ linkURL: undefined,
19682
+ buttonAccept: {},
19683
+ buttonRefuse: {},
19684
+ messageAccepted: {},
19685
+ messageRefused: {}
19686
+ };
19687
+ for(const locale in response.localizationContainer){
19688
+ var // Title
19689
+ _response_localizationContainer_locale, _response_localizationContainer_locale1, // Message
19690
+ _response_localizationContainer_locale2, _response_localizationContainer_locale3, // Link
19691
+ _response_localizationContainer_locale4, _response_localizationContainer_locale5, // Message accepted
19692
+ _response_localizationContainer_locale6, _response_localizationContainer_locale7, // Message refused
19693
+ _response_localizationContainer_locale8, _response_localizationContainer_locale9;
19694
+ ((_response_localizationContainer_locale = response.localizationContainer[locale]) === null || _response_localizationContainer_locale === void 0 ? void 0 : _response_localizationContainer_locale.ConsentTitle) && (responseToData.title[locale] = (_response_localizationContainer_locale1 = response.localizationContainer[locale]) === null || _response_localizationContainer_locale1 === void 0 ? void 0 : _response_localizationContainer_locale1.ConsentTitle);
19695
+ ((_response_localizationContainer_locale2 = response.localizationContainer[locale]) === null || _response_localizationContainer_locale2 === void 0 ? void 0 : _response_localizationContainer_locale2.ConsentBody) && (responseToData.message[locale] = (_response_localizationContainer_locale3 = response.localizationContainer[locale]) === null || _response_localizationContainer_locale3 === void 0 ? void 0 : _response_localizationContainer_locale3.ConsentBody);
19696
+ ((_response_localizationContainer_locale4 = response.localizationContainer[locale]) === null || _response_localizationContainer_locale4 === void 0 ? void 0 : _response_localizationContainer_locale4.PrivacyStatementTitle) && (responseToData.link[locale] = (_response_localizationContainer_locale5 = response.localizationContainer[locale]) === null || _response_localizationContainer_locale5 === void 0 ? void 0 : _response_localizationContainer_locale5.PrivacyStatementTitle);
19697
+ ((_response_localizationContainer_locale6 = response.localizationContainer[locale]) === null || _response_localizationContainer_locale6 === void 0 ? void 0 : _response_localizationContainer_locale6.ConsentAknowledgementAccepted) && (responseToData.messageAccepted[locale] = (_response_localizationContainer_locale7 = response.localizationContainer[locale]) === null || _response_localizationContainer_locale7 === void 0 ? void 0 : _response_localizationContainer_locale7.ConsentAknowledgementAccepted);
19698
+ ((_response_localizationContainer_locale8 = response.localizationContainer[locale]) === null || _response_localizationContainer_locale8 === void 0 ? void 0 : _response_localizationContainer_locale8.ConsentAknowledgementRefused) && (responseToData.messageRefused[locale] = (_response_localizationContainer_locale9 = response.localizationContainer[locale]) === null || _response_localizationContainer_locale9 === void 0 ? void 0 : _response_localizationContainer_locale9.ConsentAknowledgementRefused);
19699
+ }
19700
+ // LinkURl is the same for all languages
19701
+ responseToData.linkURL = response.privacyStatementUrl;
19702
+ return {
19703
+ displayGDPR: response.enableConsent,
19704
+ data: responseToData
19705
+ };
19706
+ }
19707
+ }
19708
+ return {
19709
+ displayGDPR: false,
19710
+ userConsent: false
19711
+ };
19712
+ };
19713
+
19714
+
19715
+
18838
19716
  const $ce7633a58d99dcca$var$RetorikConfigHandler = (props)=>{
18839
19717
  var _mainConfig_config;
18840
19718
  const [mainConfig, setMainConfig] = (0, $dWhh5$react.useState)(undefined);
@@ -18852,8 +19730,9 @@ const $ce7633a58d99dcca$var$RetorikConfigHandler = (props)=>{
18852
19730
  ...configuration
18853
19731
  };
18854
19732
  if (!data) {
18855
- var _tempConfiguration_config_baseMenu, _tempConfiguration_config;
18856
- const tempBaseMenu = (_tempConfiguration_config = tempConfiguration.config) === null || _tempConfiguration_config === void 0 ? void 0 : (_tempConfiguration_config_baseMenu = _tempConfiguration_config.baseMenu) === null || _tempConfiguration_config_baseMenu === void 0 ? void 0 : _tempConfiguration_config_baseMenu.filter((menu)=>// @ts-ignore : error on menu.view that doesn't exist in type CustomMenu
19733
+ var _tempConfiguration_config;
19734
+ const views = ((_tempConfiguration_config = tempConfiguration.config) === null || _tempConfiguration_config === void 0 ? void 0 : _tempConfiguration_config.baseMenu) || (0, $0b4f07c0f09dbbcf$export$9bbca248acc786d3);
19735
+ const tempBaseMenu = views.filter((menu)=>// @ts-ignore : error on menu.view that doesn't exist in type CustomMenu
18857
19736
  !menu.view || menu.view !== (0, $71c613e2e831c34c$export$3b4d92ba873f009a).emergency);
18858
19737
  tempConfiguration.config && (tempConfiguration.config.baseMenu = tempBaseMenu);
18859
19738
  }
@@ -18866,8 +19745,7 @@ const $ce7633a58d99dcca$var$RetorikConfigHandler = (props)=>{
18866
19745
  const getUpdatedConfig = async ()=>{
18867
19746
  const fetchedConfig = await (0, $ba3150a69d33f468$export$2e2bcd8739ae039)(props);
18868
19747
  if (fetchedConfig && fetchedConfig.config) {
18869
- 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 }, externalConfigEnabled: externalConfigEnabled } = fetchedConfig;
18870
- console.log(externalConfigEnabled);
19748
+ 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;
18871
19749
  const fetchedMainConfig = {
18872
19750
  config: _config,
18873
19751
  viewsConfig: viewsConfig,
@@ -18889,7 +19767,7 @@ const $ce7633a58d99dcca$var$RetorikConfigHandler = (props)=>{
18889
19767
  }
18890
19768
  };
18891
19769
  if (props.config !== undefined) {
18892
- console.log("Get config from manualConfig");
19770
+ console.log("Retorik Framework > Get config from manualConfig");
18893
19771
  // Check mandatory properties
18894
19772
  if (props.viewsConfig && props.chatbotData && props.agentData && props.ponyfillFactoryCredentials) {
18895
19773
  const copyConfig = {
@@ -18900,19 +19778,34 @@ const $ce7633a58d99dcca$var$RetorikConfigHandler = (props)=>{
18900
19778
  checkEmergencyAndSetConfig(copyConfig);
18901
19779
  } else {
18902
19780
  // Warnings for missing data in props
18903
- console.warn("Mandatory configuration data missing : ");
19781
+ console.warn("Retorik Framework > Mandatory configuration data missing : ");
18904
19782
  !props.viewsConfig && console.warn(" * viewsConfig");
18905
19783
  !props.chatbotData && console.warn(" * chatbotData");
18906
19784
  !props.agentData && console.warn(" * agentData");
18907
19785
  !props.ponyfillFactoryCredentials && console.warn(" * ponyfillFactoryCredentials");
18908
19786
  }
18909
19787
  } else if (!isConfigUpdated) {
18910
- console.log("Get config from Retorik");
19788
+ console.log("Retorik Framework > Get config from Retorik Studio");
18911
19789
  getUpdatedConfig();
18912
19790
  }
18913
19791
  }, [
18914
19792
  props
18915
19793
  ]);
19794
+ /**
19795
+ * Set GDPR data from either manual configuration or fetch from Retorik Studio
19796
+ */ (0, $dWhh5$react.useEffect)(()=>{
19797
+ const checkGDPR = async ()=>{
19798
+ const data = await (0, $9b7229e19d910060$export$284b58786299e6c5)({
19799
+ configurationData: props.GDPR,
19800
+ addressData: props.addressData
19801
+ });
19802
+ // Set GDPR data in utilsStore
19803
+ data.data && (0, $70e3d65f5a106231$export$2d640df2114a2d77)(data.data);
19804
+ (0, $70e3d65f5a106231$export$ff26692bd8e0fbbd)(data.displayGDPR);
19805
+ typeof data.userConsent === "boolean" && (0, $70e3d65f5a106231$export$7a09e6b3c59f37ad)(data.userConsent);
19806
+ };
19807
+ props.addressData && checkGDPR();
19808
+ }, []);
18916
19809
  return mainConfig && configurationFetchingEnded ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $bbc725a084d1069a$export$2e2bcd8739ae039), {
18917
19810
  parent: props.parent,
18918
19811
  config: mainConfig,
@@ -18984,11 +19877,12 @@ const $cb4344834e1c512f$export$5bc78eab59412c50 = (buttonData)=>{
18984
19877
 
18985
19878
 
18986
19879
  const $5f80e5f73a172bb5$var$LayoutHandler = (props)=>{
18987
- var _props_retorikProps_widgetConfig, _props_retorikProps_widgetConfig_button, _props_retorikProps_widgetConfig1, _props_retorikProps_widgetConfig_button_text, _props_retorikProps_widgetConfig_button1, _props_retorikProps_widgetConfig2, _props_retorikProps_widgetConfig_button_background, _props_retorikProps_widgetConfig_button2, _props_retorikProps_widgetConfig3, _props_retorikProps_widgetConfig_button_border, _props_retorikProps_widgetConfig_button3, _props_retorikProps_widgetConfig4, _props_retorikProps_widgetConfig_button_border1, _props_retorikProps_widgetConfig_button4, _props_retorikProps_widgetConfig5, _props_retorikProps_widgetConfig_button_border2, _props_retorikProps_widgetConfig_button5, _props_retorikProps_widgetConfig6, _props_retorikProps_widgetConfig_button_position, _props_retorikProps_widgetConfig_button6, _props_retorikProps_widgetConfig7, _props_retorikProps_widgetConfig_button_position1, _props_retorikProps_widgetConfig_button7, _props_retorikProps_widgetConfig8, _props_retorikProps_widgetConfig_button_position2, _props_retorikProps_widgetConfig_button8, _props_retorikProps_widgetConfig9, _props_retorikProps_widgetConfig_button_position3, _props_retorikProps_widgetConfig_button9, _props_retorikProps_widgetConfig10, _props_retorikProps_widgetConfig_button_position4, _props_retorikProps_widgetConfig_button10, _props_retorikProps_widgetConfig11, _props_retorikProps_widgetConfig_button_position5, _props_retorikProps_widgetConfig_button11, _props_retorikProps_widgetConfig12, _props_retorikProps_widgetConfig_button_position6, _props_retorikProps_widgetConfig_button12, _props_retorikProps_widgetConfig13, _props_retorikProps_widgetConfig_button_position7, _props_retorikProps_widgetConfig_button13, _props_retorikProps_widgetConfig14, _props_retorikProps_widgetConfig_button_position8, _props_retorikProps_widgetConfig_button14, _props_retorikProps_widgetConfig15, _props_retorikProps_widgetConfig_button_position9, _props_retorikProps_widgetConfig_button15, _props_retorikProps_widgetConfig16, _props_retorikProps_widgetConfig_button_position10, _props_retorikProps_widgetConfig_button16, _props_retorikProps_widgetConfig17, _props_retorikProps_widgetConfig_button_position11, _props_retorikProps_widgetConfig_button17, _props_retorikProps_widgetConfig18, _props_retorikProps_widgetConfig_button_image, _props_retorikProps_widgetConfig_button18, _props_retorikProps_widgetConfig19, _props_retorikProps_widgetConfig_button_image1, _props_retorikProps_widgetConfig_button19, _props_retorikProps_widgetConfig20, _props_retorikProps_widgetConfig_button20, _props_retorikProps_widgetConfig21, _props_retorikProps_widgetConfig_button21, _props_retorikProps_widgetConfig22, _props_retorikProps_widgetConfig_button_text1, _props_retorikProps_widgetConfig_button22, _props_retorikProps_widgetConfig23, _props_retorikProps_widgetConfig_button_image2, _props_retorikProps_widgetConfig_button23, _props_retorikProps_widgetConfig24, _props_retorikProps_widgetConfig_button_image3, _props_retorikProps_widgetConfig_button24, _props_retorikProps_widgetConfig25, _props_retorikProps_widgetConfig_button25, _props_retorikProps_widgetConfig26, _props_retorikProps_widgetConfig_button26, _props_retorikProps_widgetConfig27;
19880
+ var _props_widgetConfig, _props_widgetConfig_button, _props_widgetConfig1, _props_widgetConfig_button_text, _props_widgetConfig_button1, _props_widgetConfig2, _props_widgetConfig_button_background, _props_widgetConfig_button2, _props_widgetConfig3, _props_widgetConfig_button_border, _props_widgetConfig_button3, _props_widgetConfig4, _props_widgetConfig_button_border1, _props_widgetConfig_button4, _props_widgetConfig5, _props_widgetConfig_button_border2, _props_widgetConfig_button5, _props_widgetConfig6, _props_widgetConfig_button_position, _props_widgetConfig_button6, _props_widgetConfig7, _props_widgetConfig_button_position1, _props_widgetConfig_button7, _props_widgetConfig8, _props_widgetConfig_button_position2, _props_widgetConfig_button8, _props_widgetConfig9, _props_widgetConfig_button_position3, _props_widgetConfig_button9, _props_widgetConfig10, _props_widgetConfig_button_position4, _props_widgetConfig_button10, _props_widgetConfig11, _props_widgetConfig_button_position5, _props_widgetConfig_button11, _props_widgetConfig12, _props_widgetConfig_button_position6, _props_widgetConfig_button12, _props_widgetConfig13, _props_widgetConfig_button_position7, _props_widgetConfig_button13, _props_widgetConfig14, _props_widgetConfig_button_position8, _props_widgetConfig_button14, _props_widgetConfig15, _props_widgetConfig_button_position9, _props_widgetConfig_button15, _props_widgetConfig16, _props_widgetConfig_button_position10, _props_widgetConfig_button16, _props_widgetConfig17, _props_widgetConfig_button_position11, _props_widgetConfig_button17, _props_widgetConfig18, _props_widgetConfig_button_image, _props_widgetConfig_button18, _props_widgetConfig19, _props_widgetConfig_button_image1, _props_widgetConfig_button19, _props_widgetConfig20, _props_widgetConfig_button20, _props_widgetConfig21, _props_widgetConfig_button21, _props_widgetConfig22, _props_widgetConfig_button_text1, _props_widgetConfig_button22, _props_widgetConfig23, _props_widgetConfig_button_image2, _props_widgetConfig_button23, _props_widgetConfig24, _props_widgetConfig_button_image3, _props_widgetConfig_button24, _props_widgetConfig25, _props_widgetConfig_button25, _props_widgetConfig26, _props_widgetConfig_button26, _props_widgetConfig27;
18988
19881
  const translation = (0, $b6a8688e7db7a7b9$export$6650dace022cfacc)((state)=>state.currentTranslations);
19882
+ const currentLayout = (0, $c7242af7a2bc5e50$export$bd22554f31e5f96f)((state)=>state.currentLayout);
18989
19883
  const displayChangeLayoutButton = (0, $c7242af7a2bc5e50$export$bd22554f31e5f96f)((state)=>state.changeLayoutButtonDisplay);
18990
19884
  const { open: open, loaded: loaded, widgetDisplayType: widgetDisplayType } = (0, $1068fd56b5926747$export$d95eb9b67812311f)();
18991
- const [currentConfiguration, setCurrentConfiguration] = (0, $dWhh5$react.useState)((_props_retorikProps_widgetConfig = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig === void 0 ? void 0 : _props_retorikProps_widgetConfig.large);
19885
+ const [currentConfiguration, setCurrentConfiguration] = (0, $dWhh5$react.useState)((_props_widgetConfig = props.widgetConfig) === null || _props_widgetConfig === void 0 ? void 0 : _props_widgetConfig.large);
18992
19886
  const [widgetButton, setWidgetButton] = (0, $dWhh5$react.useState)("");
18993
19887
  const [widgetBorder, setWidgetBorder] = (0, $dWhh5$react.useState)("");
18994
19888
  const [mobileWidth, setMobileWidth] = (0, $dWhh5$react.useState)(window.innerWidth < 600);
@@ -18997,8 +19891,8 @@ const $5f80e5f73a172bb5$var$LayoutHandler = (props)=>{
18997
19891
  setMobileWidth(window.innerWidth < 600);
18998
19892
  };
18999
19893
  (0, $dWhh5$react.useEffect)(()=>{
19000
- var _props_retorikProps_widgetConfig;
19001
- setWidgetButton((0, $cb4344834e1c512f$export$5bc78eab59412c50)((_props_retorikProps_widgetConfig = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig === void 0 ? void 0 : _props_retorikProps_widgetConfig.button));
19894
+ var _props_widgetConfig;
19895
+ setWidgetButton((0, $cb4344834e1c512f$export$5bc78eab59412c50)((_props_widgetConfig = props.widgetConfig) === null || _props_widgetConfig === void 0 ? void 0 : _props_widgetConfig.button));
19002
19896
  window.addEventListener("resize", handleResize);
19003
19897
  return ()=>window.removeEventListener("resize", handleResize);
19004
19898
  }, []);
@@ -19021,14 +19915,14 @@ const $5f80e5f73a172bb5$var$LayoutHandler = (props)=>{
19021
19915
  (0, $dWhh5$react.useEffect)(()=>{
19022
19916
  switch(widgetDisplayType){
19023
19917
  case "large":
19024
- var _props_retorikProps_widgetConfig, _props_retorikProps_widgetConfig_large, _props_retorikProps_widgetConfig1;
19025
- setCurrentConfiguration((_props_retorikProps_widgetConfig = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig === void 0 ? void 0 : _props_retorikProps_widgetConfig.large);
19026
- setWidgetBorder((0, $cb4344834e1c512f$export$d6ad062ea094ff6f)((_props_retorikProps_widgetConfig1 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig1 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_large = _props_retorikProps_widgetConfig1.large) === null || _props_retorikProps_widgetConfig_large === void 0 ? void 0 : _props_retorikProps_widgetConfig_large.border));
19918
+ var _props_widgetConfig, _props_widgetConfig_large, _props_widgetConfig1;
19919
+ setCurrentConfiguration((_props_widgetConfig = props.widgetConfig) === null || _props_widgetConfig === void 0 ? void 0 : _props_widgetConfig.large);
19920
+ setWidgetBorder((0, $cb4344834e1c512f$export$d6ad062ea094ff6f)((_props_widgetConfig1 = props.widgetConfig) === null || _props_widgetConfig1 === void 0 ? void 0 : (_props_widgetConfig_large = _props_widgetConfig1.large) === null || _props_widgetConfig_large === void 0 ? void 0 : _props_widgetConfig_large.border));
19027
19921
  break;
19028
19922
  case "thumbnail":
19029
- var _props_retorikProps_widgetConfig2, _props_retorikProps_widgetConfig3, _props_retorikProps_widgetConfig_thumbnail, _props_retorikProps_widgetConfig4, _props_retorikProps_widgetConfig_large1, _props_retorikProps_widgetConfig5;
19030
- setCurrentConfiguration(((_props_retorikProps_widgetConfig2 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig2 === void 0 ? void 0 : _props_retorikProps_widgetConfig2.thumbnail) || ((_props_retorikProps_widgetConfig3 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig3 === void 0 ? void 0 : _props_retorikProps_widgetConfig3.large));
19031
- setWidgetBorder((0, $cb4344834e1c512f$export$d6ad062ea094ff6f)(((_props_retorikProps_widgetConfig4 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig4 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_thumbnail = _props_retorikProps_widgetConfig4.thumbnail) === null || _props_retorikProps_widgetConfig_thumbnail === void 0 ? void 0 : _props_retorikProps_widgetConfig_thumbnail.border) || ((_props_retorikProps_widgetConfig5 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig5 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_large1 = _props_retorikProps_widgetConfig5.large) === null || _props_retorikProps_widgetConfig_large1 === void 0 ? void 0 : _props_retorikProps_widgetConfig_large1.border)));
19923
+ var _props_widgetConfig2, _props_widgetConfig3, _props_widgetConfig_thumbnail, _props_widgetConfig4, _props_widgetConfig_large1, _props_widgetConfig5;
19924
+ setCurrentConfiguration(((_props_widgetConfig2 = props.widgetConfig) === null || _props_widgetConfig2 === void 0 ? void 0 : _props_widgetConfig2.thumbnail) || ((_props_widgetConfig3 = props.widgetConfig) === null || _props_widgetConfig3 === void 0 ? void 0 : _props_widgetConfig3.large));
19925
+ setWidgetBorder((0, $cb4344834e1c512f$export$d6ad062ea094ff6f)(((_props_widgetConfig4 = props.widgetConfig) === null || _props_widgetConfig4 === void 0 ? void 0 : (_props_widgetConfig_thumbnail = _props_widgetConfig4.thumbnail) === null || _props_widgetConfig_thumbnail === void 0 ? void 0 : _props_widgetConfig_thumbnail.border) || ((_props_widgetConfig5 = props.widgetConfig) === null || _props_widgetConfig5 === void 0 ? void 0 : (_props_widgetConfig_large1 = _props_widgetConfig5.large) === null || _props_widgetConfig_large1 === void 0 ? void 0 : _props_widgetConfig_large1.border)));
19032
19926
  break;
19033
19927
  default:
19034
19928
  break;
@@ -19037,92 +19931,96 @@ const $5f80e5f73a172bb5$var$LayoutHandler = (props)=>{
19037
19931
  widgetDisplayType
19038
19932
  ]);
19039
19933
  const extendButtonHandler = ()=>{
19040
- var _props_retorikProps_widgetConfig, _props_retorikProps_widgetConfig1;
19934
+ var _props_widgetConfig, _props_widgetConfig1;
19041
19935
  // if different display type available
19042
- if (((_props_retorikProps_widgetConfig = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig === void 0 ? void 0 : _props_retorikProps_widgetConfig.large) && ((_props_retorikProps_widgetConfig1 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig1 === void 0 ? void 0 : _props_retorikProps_widgetConfig1.thumbnail)) (0, $1068fd56b5926747$export$f0e9d14ede4c01bd)();
19936
+ if (((_props_widgetConfig = props.widgetConfig) === null || _props_widgetConfig === void 0 ? void 0 : _props_widgetConfig.large) && ((_props_widgetConfig1 = props.widgetConfig) === null || _props_widgetConfig1 === void 0 ? void 0 : _props_widgetConfig1.thumbnail)) (0, $1068fd56b5926747$export$f0e9d14ede4c01bd)();
19043
19937
  else {
19044
19938
  (0, $c7242af7a2bc5e50$export$29ec02ff899d2b53)(true);
19045
19939
  (0, $c7242af7a2bc5e50$export$e8437af1f2483b8e)((0, $71c613e2e831c34c$export$a31c5a03aaeee5f).agent);
19046
19940
  }
19047
19941
  };
19048
- return props.currentLayout === (0, $71c613e2e831c34c$export$a31c5a03aaeee5f).widget ? /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)((0, $dWhh5$reactjsxruntime.Fragment), {
19942
+ return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)((0, $dWhh5$reactjsxruntime.Fragment), {
19049
19943
  children: [
19050
- ((_props_retorikProps_widgetConfig1 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig1 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button = _props_retorikProps_widgetConfig1.button) === null || _props_retorikProps_widgetConfig_button === void 0 ? void 0 : _props_retorikProps_widgetConfig_button.display) !== false && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("button", {
19944
+ ((_props_widgetConfig1 = props.widgetConfig) === null || _props_widgetConfig1 === void 0 ? void 0 : (_props_widgetConfig_button = _props_widgetConfig1.button) === null || _props_widgetConfig_button === void 0 ? void 0 : _props_widgetConfig_button.display) !== false && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("button", {
19051
19945
  className: `rf-fixed rf-px-2 rf-flex rf-flex-row rf-items-center ${widgetButton}`,
19052
19946
  style: {
19053
- color: ((_props_retorikProps_widgetConfig2 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig2 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button1 = _props_retorikProps_widgetConfig2.button) === null || _props_retorikProps_widgetConfig_button1 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button_text = _props_retorikProps_widgetConfig_button1.text) === null || _props_retorikProps_widgetConfig_button_text === void 0 ? void 0 : _props_retorikProps_widgetConfig_button_text.color) || (0, $04a533cfb295ca20$export$4aebf65ed07cf17b).rgb,
19054
- backgroundColor: ((_props_retorikProps_widgetConfig3 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig3 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button2 = _props_retorikProps_widgetConfig3.button) === null || _props_retorikProps_widgetConfig_button2 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button_background = _props_retorikProps_widgetConfig_button2.background) === null || _props_retorikProps_widgetConfig_button_background === void 0 ? void 0 : _props_retorikProps_widgetConfig_button_background.color) || "transparent",
19055
- borderWidth: ((_props_retorikProps_widgetConfig4 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig4 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button3 = _props_retorikProps_widgetConfig4.button) === null || _props_retorikProps_widgetConfig_button3 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button_border = _props_retorikProps_widgetConfig_button3.border) === null || _props_retorikProps_widgetConfig_button_border === void 0 ? void 0 : _props_retorikProps_widgetConfig_button_border.thickness) !== undefined ? `${(_props_retorikProps_widgetConfig5 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig5 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button4 = _props_retorikProps_widgetConfig5.button) === null || _props_retorikProps_widgetConfig_button4 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button_border1 = _props_retorikProps_widgetConfig_button4.border) === null || _props_retorikProps_widgetConfig_button_border1 === void 0 ? void 0 : _props_retorikProps_widgetConfig_button_border1.thickness}px` : "1px",
19056
- borderColor: ((_props_retorikProps_widgetConfig6 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig6 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button5 = _props_retorikProps_widgetConfig6.button) === null || _props_retorikProps_widgetConfig_button5 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button_border2 = _props_retorikProps_widgetConfig_button5.border) === null || _props_retorikProps_widgetConfig_button_border2 === void 0 ? void 0 : _props_retorikProps_widgetConfig_button_border2.color) || (0, $04a533cfb295ca20$export$4aebf65ed07cf17b).rgb,
19057
- top: (_props_retorikProps_widgetConfig7 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig7 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button6 = _props_retorikProps_widgetConfig7.button) === null || _props_retorikProps_widgetConfig_button6 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button_position = _props_retorikProps_widgetConfig_button6.position) === null || _props_retorikProps_widgetConfig_button_position === void 0 ? void 0 : _props_retorikProps_widgetConfig_button_position.top,
19058
- bottom: ((_props_retorikProps_widgetConfig8 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig8 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button7 = _props_retorikProps_widgetConfig8.button) === null || _props_retorikProps_widgetConfig_button7 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button_position1 = _props_retorikProps_widgetConfig_button7.position) === null || _props_retorikProps_widgetConfig_button_position1 === void 0 ? void 0 : _props_retorikProps_widgetConfig_button_position1.bottom) ? (_props_retorikProps_widgetConfig9 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig9 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button8 = _props_retorikProps_widgetConfig9.button) === null || _props_retorikProps_widgetConfig_button8 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button_position2 = _props_retorikProps_widgetConfig_button8.position) === null || _props_retorikProps_widgetConfig_button_position2 === void 0 ? void 0 : _props_retorikProps_widgetConfig_button_position2.bottom : ((_props_retorikProps_widgetConfig10 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig10 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button9 = _props_retorikProps_widgetConfig10.button) === null || _props_retorikProps_widgetConfig_button9 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button_position3 = _props_retorikProps_widgetConfig_button9.position) === null || _props_retorikProps_widgetConfig_button_position3 === void 0 ? void 0 : _props_retorikProps_widgetConfig_button_position3.top) || ((_props_retorikProps_widgetConfig11 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig11 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button10 = _props_retorikProps_widgetConfig11.button) === null || _props_retorikProps_widgetConfig_button10 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button_position4 = _props_retorikProps_widgetConfig_button10.position) === null || _props_retorikProps_widgetConfig_button_position4 === void 0 ? void 0 : _props_retorikProps_widgetConfig_button_position4.left) || ((_props_retorikProps_widgetConfig12 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig12 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button11 = _props_retorikProps_widgetConfig12.button) === null || _props_retorikProps_widgetConfig_button11 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button_position5 = _props_retorikProps_widgetConfig_button11.position) === null || _props_retorikProps_widgetConfig_button_position5 === void 0 ? void 0 : _props_retorikProps_widgetConfig_button_position5.right) ? undefined : "1rem",
19059
- left: (_props_retorikProps_widgetConfig13 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig13 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button12 = _props_retorikProps_widgetConfig13.button) === null || _props_retorikProps_widgetConfig_button12 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button_position6 = _props_retorikProps_widgetConfig_button12.position) === null || _props_retorikProps_widgetConfig_button_position6 === void 0 ? void 0 : _props_retorikProps_widgetConfig_button_position6.left,
19060
- right: ((_props_retorikProps_widgetConfig14 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig14 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button13 = _props_retorikProps_widgetConfig14.button) === null || _props_retorikProps_widgetConfig_button13 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button_position7 = _props_retorikProps_widgetConfig_button13.position) === null || _props_retorikProps_widgetConfig_button_position7 === void 0 ? void 0 : _props_retorikProps_widgetConfig_button_position7.right) ? (_props_retorikProps_widgetConfig15 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig15 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button14 = _props_retorikProps_widgetConfig15.button) === null || _props_retorikProps_widgetConfig_button14 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button_position8 = _props_retorikProps_widgetConfig_button14.position) === null || _props_retorikProps_widgetConfig_button_position8 === void 0 ? void 0 : _props_retorikProps_widgetConfig_button_position8.right : ((_props_retorikProps_widgetConfig16 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig16 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button15 = _props_retorikProps_widgetConfig16.button) === null || _props_retorikProps_widgetConfig_button15 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button_position9 = _props_retorikProps_widgetConfig_button15.position) === null || _props_retorikProps_widgetConfig_button_position9 === void 0 ? void 0 : _props_retorikProps_widgetConfig_button_position9.top) || ((_props_retorikProps_widgetConfig17 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig17 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button16 = _props_retorikProps_widgetConfig17.button) === null || _props_retorikProps_widgetConfig_button16 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button_position10 = _props_retorikProps_widgetConfig_button16.position) === null || _props_retorikProps_widgetConfig_button_position10 === void 0 ? void 0 : _props_retorikProps_widgetConfig_button_position10.bottom) || ((_props_retorikProps_widgetConfig18 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig18 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button17 = _props_retorikProps_widgetConfig18.button) === null || _props_retorikProps_widgetConfig_button17 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button_position11 = _props_retorikProps_widgetConfig_button17.position) === null || _props_retorikProps_widgetConfig_button_position11 === void 0 ? void 0 : _props_retorikProps_widgetConfig_button_position11.left) ? undefined : "1rem"
19947
+ color: ((_props_widgetConfig2 = props.widgetConfig) === null || _props_widgetConfig2 === void 0 ? void 0 : (_props_widgetConfig_button1 = _props_widgetConfig2.button) === null || _props_widgetConfig_button1 === void 0 ? void 0 : (_props_widgetConfig_button_text = _props_widgetConfig_button1.text) === null || _props_widgetConfig_button_text === void 0 ? void 0 : _props_widgetConfig_button_text.color) || (0, $04a533cfb295ca20$export$4aebf65ed07cf17b).rgb,
19948
+ backgroundColor: ((_props_widgetConfig3 = props.widgetConfig) === null || _props_widgetConfig3 === void 0 ? void 0 : (_props_widgetConfig_button2 = _props_widgetConfig3.button) === null || _props_widgetConfig_button2 === void 0 ? void 0 : (_props_widgetConfig_button_background = _props_widgetConfig_button2.background) === null || _props_widgetConfig_button_background === void 0 ? void 0 : _props_widgetConfig_button_background.color) || "transparent",
19949
+ borderWidth: ((_props_widgetConfig4 = props.widgetConfig) === null || _props_widgetConfig4 === void 0 ? void 0 : (_props_widgetConfig_button3 = _props_widgetConfig4.button) === null || _props_widgetConfig_button3 === void 0 ? void 0 : (_props_widgetConfig_button_border = _props_widgetConfig_button3.border) === null || _props_widgetConfig_button_border === void 0 ? void 0 : _props_widgetConfig_button_border.thickness) !== undefined ? `${(_props_widgetConfig5 = props.widgetConfig) === null || _props_widgetConfig5 === void 0 ? void 0 : (_props_widgetConfig_button4 = _props_widgetConfig5.button) === null || _props_widgetConfig_button4 === void 0 ? void 0 : (_props_widgetConfig_button_border1 = _props_widgetConfig_button4.border) === null || _props_widgetConfig_button_border1 === void 0 ? void 0 : _props_widgetConfig_button_border1.thickness}px` : "1px",
19950
+ borderColor: ((_props_widgetConfig6 = props.widgetConfig) === null || _props_widgetConfig6 === void 0 ? void 0 : (_props_widgetConfig_button5 = _props_widgetConfig6.button) === null || _props_widgetConfig_button5 === void 0 ? void 0 : (_props_widgetConfig_button_border2 = _props_widgetConfig_button5.border) === null || _props_widgetConfig_button_border2 === void 0 ? void 0 : _props_widgetConfig_button_border2.color) || (0, $04a533cfb295ca20$export$4aebf65ed07cf17b).rgb,
19951
+ top: (_props_widgetConfig7 = props.widgetConfig) === null || _props_widgetConfig7 === void 0 ? void 0 : (_props_widgetConfig_button6 = _props_widgetConfig7.button) === null || _props_widgetConfig_button6 === void 0 ? void 0 : (_props_widgetConfig_button_position = _props_widgetConfig_button6.position) === null || _props_widgetConfig_button_position === void 0 ? void 0 : _props_widgetConfig_button_position.top,
19952
+ bottom: ((_props_widgetConfig8 = props.widgetConfig) === null || _props_widgetConfig8 === void 0 ? void 0 : (_props_widgetConfig_button7 = _props_widgetConfig8.button) === null || _props_widgetConfig_button7 === void 0 ? void 0 : (_props_widgetConfig_button_position1 = _props_widgetConfig_button7.position) === null || _props_widgetConfig_button_position1 === void 0 ? void 0 : _props_widgetConfig_button_position1.bottom) ? (_props_widgetConfig9 = props.widgetConfig) === null || _props_widgetConfig9 === void 0 ? void 0 : (_props_widgetConfig_button8 = _props_widgetConfig9.button) === null || _props_widgetConfig_button8 === void 0 ? void 0 : (_props_widgetConfig_button_position2 = _props_widgetConfig_button8.position) === null || _props_widgetConfig_button_position2 === void 0 ? void 0 : _props_widgetConfig_button_position2.bottom : ((_props_widgetConfig10 = props.widgetConfig) === null || _props_widgetConfig10 === void 0 ? void 0 : (_props_widgetConfig_button9 = _props_widgetConfig10.button) === null || _props_widgetConfig_button9 === void 0 ? void 0 : (_props_widgetConfig_button_position3 = _props_widgetConfig_button9.position) === null || _props_widgetConfig_button_position3 === void 0 ? void 0 : _props_widgetConfig_button_position3.top) || ((_props_widgetConfig11 = props.widgetConfig) === null || _props_widgetConfig11 === void 0 ? void 0 : (_props_widgetConfig_button10 = _props_widgetConfig11.button) === null || _props_widgetConfig_button10 === void 0 ? void 0 : (_props_widgetConfig_button_position4 = _props_widgetConfig_button10.position) === null || _props_widgetConfig_button_position4 === void 0 ? void 0 : _props_widgetConfig_button_position4.left) || ((_props_widgetConfig12 = props.widgetConfig) === null || _props_widgetConfig12 === void 0 ? void 0 : (_props_widgetConfig_button11 = _props_widgetConfig12.button) === null || _props_widgetConfig_button11 === void 0 ? void 0 : (_props_widgetConfig_button_position5 = _props_widgetConfig_button11.position) === null || _props_widgetConfig_button_position5 === void 0 ? void 0 : _props_widgetConfig_button_position5.right) ? undefined : "1rem",
19953
+ left: (_props_widgetConfig13 = props.widgetConfig) === null || _props_widgetConfig13 === void 0 ? void 0 : (_props_widgetConfig_button12 = _props_widgetConfig13.button) === null || _props_widgetConfig_button12 === void 0 ? void 0 : (_props_widgetConfig_button_position6 = _props_widgetConfig_button12.position) === null || _props_widgetConfig_button_position6 === void 0 ? void 0 : _props_widgetConfig_button_position6.left,
19954
+ right: ((_props_widgetConfig14 = props.widgetConfig) === null || _props_widgetConfig14 === void 0 ? void 0 : (_props_widgetConfig_button13 = _props_widgetConfig14.button) === null || _props_widgetConfig_button13 === void 0 ? void 0 : (_props_widgetConfig_button_position7 = _props_widgetConfig_button13.position) === null || _props_widgetConfig_button_position7 === void 0 ? void 0 : _props_widgetConfig_button_position7.right) ? (_props_widgetConfig15 = props.widgetConfig) === null || _props_widgetConfig15 === void 0 ? void 0 : (_props_widgetConfig_button14 = _props_widgetConfig15.button) === null || _props_widgetConfig_button14 === void 0 ? void 0 : (_props_widgetConfig_button_position8 = _props_widgetConfig_button14.position) === null || _props_widgetConfig_button_position8 === void 0 ? void 0 : _props_widgetConfig_button_position8.right : ((_props_widgetConfig16 = props.widgetConfig) === null || _props_widgetConfig16 === void 0 ? void 0 : (_props_widgetConfig_button15 = _props_widgetConfig16.button) === null || _props_widgetConfig_button15 === void 0 ? void 0 : (_props_widgetConfig_button_position9 = _props_widgetConfig_button15.position) === null || _props_widgetConfig_button_position9 === void 0 ? void 0 : _props_widgetConfig_button_position9.top) || ((_props_widgetConfig17 = props.widgetConfig) === null || _props_widgetConfig17 === void 0 ? void 0 : (_props_widgetConfig_button16 = _props_widgetConfig17.button) === null || _props_widgetConfig_button16 === void 0 ? void 0 : (_props_widgetConfig_button_position10 = _props_widgetConfig_button16.position) === null || _props_widgetConfig_button_position10 === void 0 ? void 0 : _props_widgetConfig_button_position10.bottom) || ((_props_widgetConfig18 = props.widgetConfig) === null || _props_widgetConfig18 === void 0 ? void 0 : (_props_widgetConfig_button17 = _props_widgetConfig18.button) === null || _props_widgetConfig_button17 === void 0 ? void 0 : (_props_widgetConfig_button_position11 = _props_widgetConfig_button17.position) === null || _props_widgetConfig_button_position11 === void 0 ? void 0 : _props_widgetConfig_button_position11.left) ? undefined : "1rem"
19061
19955
  },
19062
19956
  onClick: (0, $1068fd56b5926747$export$77c0ba4d0d97cee5),
19063
19957
  id: "retorik-widget-button",
19064
19958
  children: [
19065
- ((_props_retorikProps_widgetConfig19 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig19 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button18 = _props_retorikProps_widgetConfig19.button) === null || _props_retorikProps_widgetConfig_button18 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button_image = _props_retorikProps_widgetConfig_button18.image) === null || _props_retorikProps_widgetConfig_button_image === void 0 ? void 0 : _props_retorikProps_widgetConfig_button_image.url) && ((_props_retorikProps_widgetConfig20 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig20 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button19 = _props_retorikProps_widgetConfig20.button) === null || _props_retorikProps_widgetConfig_button19 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button_image1 = _props_retorikProps_widgetConfig_button19.image) === null || _props_retorikProps_widgetConfig_button_image1 === void 0 ? void 0 : _props_retorikProps_widgetConfig_button_image1.position) !== "right" && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("img", {
19066
- className: `${((_props_retorikProps_widgetConfig21 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig21 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button20 = _props_retorikProps_widgetConfig21.button) === null || _props_retorikProps_widgetConfig_button20 === void 0 ? void 0 : _props_retorikProps_widgetConfig_button20.image.marginY) === false ? "" : "rf-my-1"}`,
19067
- src: `${props.retorikProps.widgetConfig.button.image.url}`,
19959
+ ((_props_widgetConfig19 = props.widgetConfig) === null || _props_widgetConfig19 === void 0 ? void 0 : (_props_widgetConfig_button18 = _props_widgetConfig19.button) === null || _props_widgetConfig_button18 === void 0 ? void 0 : (_props_widgetConfig_button_image = _props_widgetConfig_button18.image) === null || _props_widgetConfig_button_image === void 0 ? void 0 : _props_widgetConfig_button_image.url) && ((_props_widgetConfig20 = props.widgetConfig) === null || _props_widgetConfig20 === void 0 ? void 0 : (_props_widgetConfig_button19 = _props_widgetConfig20.button) === null || _props_widgetConfig_button19 === void 0 ? void 0 : (_props_widgetConfig_button_image1 = _props_widgetConfig_button19.image) === null || _props_widgetConfig_button_image1 === void 0 ? void 0 : _props_widgetConfig_button_image1.position) !== "right" && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("img", {
19960
+ className: `${((_props_widgetConfig21 = props.widgetConfig) === null || _props_widgetConfig21 === void 0 ? void 0 : (_props_widgetConfig_button20 = _props_widgetConfig21.button) === null || _props_widgetConfig_button20 === void 0 ? void 0 : _props_widgetConfig_button20.image.marginY) === false ? "" : "rf-my-1"}`,
19961
+ src: `${props.widgetConfig.button.image.url}`,
19068
19962
  alt: "Retorik widget",
19069
19963
  style: {
19070
- height: ((_props_retorikProps_widgetConfig22 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig22 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button21 = _props_retorikProps_widgetConfig22.button) === null || _props_retorikProps_widgetConfig_button21 === void 0 ? void 0 : _props_retorikProps_widgetConfig_button21.image.height) || "2rem"
19964
+ height: ((_props_widgetConfig22 = props.widgetConfig) === null || _props_widgetConfig22 === void 0 ? void 0 : (_props_widgetConfig_button21 = _props_widgetConfig22.button) === null || _props_widgetConfig_button21 === void 0 ? void 0 : _props_widgetConfig_button21.image.height) || "2rem"
19071
19965
  }
19072
19966
  }),
19073
19967
  /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
19074
19968
  className: "rf-py-2 rf-ml-1",
19075
- children: ((_props_retorikProps_widgetConfig23 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig23 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button22 = _props_retorikProps_widgetConfig23.button) === null || _props_retorikProps_widgetConfig_button22 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button_text1 = _props_retorikProps_widgetConfig_button22.text) === null || _props_retorikProps_widgetConfig_button_text1 === void 0 ? void 0 : _props_retorikProps_widgetConfig_button_text1.content) || translation.common.needhelp
19969
+ children: ((_props_widgetConfig23 = props.widgetConfig) === null || _props_widgetConfig23 === void 0 ? void 0 : (_props_widgetConfig_button22 = _props_widgetConfig23.button) === null || _props_widgetConfig_button22 === void 0 ? void 0 : (_props_widgetConfig_button_text1 = _props_widgetConfig_button22.text) === null || _props_widgetConfig_button_text1 === void 0 ? void 0 : _props_widgetConfig_button_text1.content) || translation.common.needhelp
19076
19970
  }),
19077
- ((_props_retorikProps_widgetConfig24 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig24 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button23 = _props_retorikProps_widgetConfig24.button) === null || _props_retorikProps_widgetConfig_button23 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button_image2 = _props_retorikProps_widgetConfig_button23.image) === null || _props_retorikProps_widgetConfig_button_image2 === void 0 ? void 0 : _props_retorikProps_widgetConfig_button_image2.url) && ((_props_retorikProps_widgetConfig25 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig25 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button24 = _props_retorikProps_widgetConfig25.button) === null || _props_retorikProps_widgetConfig_button24 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button_image3 = _props_retorikProps_widgetConfig_button24.image) === null || _props_retorikProps_widgetConfig_button_image3 === void 0 ? void 0 : _props_retorikProps_widgetConfig_button_image3.position) === "right" && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("img", {
19078
- className: `${((_props_retorikProps_widgetConfig26 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig26 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button25 = _props_retorikProps_widgetConfig26.button) === null || _props_retorikProps_widgetConfig_button25 === void 0 ? void 0 : _props_retorikProps_widgetConfig_button25.image.marginY) === false ? "" : "rf-my-1"}`,
19079
- src: `${props.retorikProps.widgetConfig.button.image.url}`,
19971
+ ((_props_widgetConfig24 = props.widgetConfig) === null || _props_widgetConfig24 === void 0 ? void 0 : (_props_widgetConfig_button23 = _props_widgetConfig24.button) === null || _props_widgetConfig_button23 === void 0 ? void 0 : (_props_widgetConfig_button_image2 = _props_widgetConfig_button23.image) === null || _props_widgetConfig_button_image2 === void 0 ? void 0 : _props_widgetConfig_button_image2.url) && ((_props_widgetConfig25 = props.widgetConfig) === null || _props_widgetConfig25 === void 0 ? void 0 : (_props_widgetConfig_button24 = _props_widgetConfig25.button) === null || _props_widgetConfig_button24 === void 0 ? void 0 : (_props_widgetConfig_button_image3 = _props_widgetConfig_button24.image) === null || _props_widgetConfig_button_image3 === void 0 ? void 0 : _props_widgetConfig_button_image3.position) === "right" && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("img", {
19972
+ className: `${((_props_widgetConfig26 = props.widgetConfig) === null || _props_widgetConfig26 === void 0 ? void 0 : (_props_widgetConfig_button25 = _props_widgetConfig26.button) === null || _props_widgetConfig_button25 === void 0 ? void 0 : _props_widgetConfig_button25.image.marginY) === false ? "" : "rf-my-1"}`,
19973
+ src: `${props.widgetConfig.button.image.url}`,
19080
19974
  alt: "Retorik widget",
19081
19975
  style: {
19082
- height: ((_props_retorikProps_widgetConfig27 = props.retorikProps.widgetConfig) === null || _props_retorikProps_widgetConfig27 === void 0 ? void 0 : (_props_retorikProps_widgetConfig_button26 = _props_retorikProps_widgetConfig27.button) === null || _props_retorikProps_widgetConfig_button26 === void 0 ? void 0 : _props_retorikProps_widgetConfig_button26.image.height) || "2rem"
19976
+ height: ((_props_widgetConfig27 = props.widgetConfig) === null || _props_widgetConfig27 === void 0 ? void 0 : (_props_widgetConfig_button26 = _props_widgetConfig27.button) === null || _props_widgetConfig_button26 === void 0 ? void 0 : _props_widgetConfig_button26.image.height) || "2rem"
19083
19977
  }
19084
19978
  })
19085
19979
  ]
19086
19980
  }),
19087
19981
  loaded && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)("div", {
19088
- className: "rf-fixed rf-pt-8 rf-height-fill-available rf-transition-all rf-overflow-hidden rf-max-w-[100vw]",
19089
- style: {
19982
+ className: `${currentLayout === (0, $71c613e2e831c34c$export$a31c5a03aaeee5f).widget ? "rf-fixed rf-pt-8 rf-height-fill-available rf-transition-all rf-overflow-hidden rf-max-w-[100vw]" : ""}`,
19983
+ style: currentLayout === (0, $71c613e2e831c34c$export$a31c5a03aaeee5f).widget ? {
19090
19984
  ...frameStyle,
19091
19985
  width: open ? mobileWidth ? "100%" : (currentConfiguration === null || currentConfiguration === void 0 ? void 0 : currentConfiguration.width) || "400px" : "0px",
19092
19986
  height: (currentConfiguration === null || currentConfiguration === void 0 ? void 0 : currentConfiguration.height) || (mobileWidth ? "100%" : "630px")
19093
- },
19987
+ } : {},
19094
19988
  "data-testid": "widget-wrapper",
19095
19989
  children: [
19096
- displayChangeLayoutButton && !mobileWidth && props.currentLayout === (0, $71c613e2e831c34c$export$a31c5a03aaeee5f).widget && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("button", {
19097
- onClick: extendButtonHandler,
19098
- "aria-label": "Extend",
19099
- 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",
19100
- children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $d2c0480827389113$export$2e2bcd8739ae039), {
19101
- className: "rf-h-4 rf-w-4",
19102
- color: "#000000",
19103
- extended: false
19104
- })
19105
- }),
19106
- /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("button", {
19107
- onClick: (0, $1068fd56b5926747$export$77c0ba4d0d97cee5),
19108
- "aria-label": "Close",
19109
- 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",
19110
- children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $45c71bcc2a927bde$export$2e2bcd8739ae039), {
19111
- className: "rf-h-4 rf-w-4",
19112
- color: "#000000"
19113
- })
19990
+ currentLayout === (0, $71c613e2e831c34c$export$a31c5a03aaeee5f).widget && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsxs)((0, ($parcel$interopDefault($dWhh5$react))).Fragment, {
19991
+ children: [
19992
+ displayChangeLayoutButton && !mobileWidth && /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("button", {
19993
+ onClick: extendButtonHandler,
19994
+ "aria-label": "Extend",
19995
+ 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",
19996
+ children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $d2c0480827389113$export$2e2bcd8739ae039), {
19997
+ className: "rf-h-4 rf-w-4",
19998
+ color: "#000000",
19999
+ extended: false
20000
+ })
20001
+ }),
20002
+ /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("button", {
20003
+ onClick: (0, $1068fd56b5926747$export$77c0ba4d0d97cee5),
20004
+ "aria-label": "Close",
20005
+ 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",
20006
+ children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $45c71bcc2a927bde$export$2e2bcd8739ae039), {
20007
+ className: "rf-h-4 rf-w-4",
20008
+ color: "#000000"
20009
+ })
20010
+ })
20011
+ ]
19114
20012
  }),
19115
20013
  /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)("div", {
19116
- className: `rf-relative rf-h-full rf-w-full rf-overflow-hidden ${!mobileWidth && widgetBorder}`,
19117
- style: {
20014
+ className: `${currentLayout === (0, $71c613e2e831c34c$export$a31c5a03aaeee5f).widget ? `rf-relative rf-h-full rf-w-full rf-overflow-hidden ${!mobileWidth && widgetBorder}` : ""}`,
20015
+ style: currentLayout === (0, $71c613e2e831c34c$export$a31c5a03aaeee5f).widget ? {
19118
20016
  borderColor: frameStyle.borderColor
19119
- },
20017
+ } : {},
19120
20018
  children: props.children
19121
20019
  })
19122
20020
  ]
19123
20021
  })
19124
20022
  ]
19125
- }) : props.children;
20023
+ });
19126
20024
  };
19127
20025
  var $5f80e5f73a172bb5$export$2e2bcd8739ae039 = $5f80e5f73a172bb5$var$LayoutHandler;
19128
20026
 
@@ -19141,28 +20039,17 @@ const $09a824b6b849eeca$var$RetorikWidget = (props)=>{
19141
20039
  // Ne mettre ici que de la logique spécifique au widget
19142
20040
  // Ce qui est commun avec RetorikAgent ou autres doit aller dans RetorikComposer ou ContextProvider
19143
20041
  // -------------------------
19144
- const currentLayout = (0, $c7242af7a2bc5e50$export$bd22554f31e5f96f)((state)=>state.currentLayout);
19145
20042
  (0, $dWhh5$react.useEffect)(()=>{
19146
20043
  (0, $c7242af7a2bc5e50$export$e8437af1f2483b8e)((0, $71c613e2e831c34c$export$a31c5a03aaeee5f).widget);
19147
20044
  }, []);
19148
- const [mobileWidth, setMobileWidth] = (0, $dWhh5$react.useState)(window.innerWidth < 600);
19149
- const handleResize = ()=>{
19150
- setMobileWidth(window.innerWidth < 600);
19151
- };
19152
- (0, $dWhh5$react.useEffect)(()=>{
19153
- window.addEventListener("resize", handleResize);
19154
- return ()=>window.removeEventListener("resize", handleResize);
19155
- }, []);
19156
20045
  return /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $06e5942c9d4d6916$export$2e2bcd8739ae039), {
19157
20046
  children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $5f80e5f73a172bb5$export$2e2bcd8739ae039), {
19158
- currentLayout: currentLayout,
19159
- retorikProps: props,
20047
+ ...props,
19160
20048
  children: /*#__PURE__*/ (0, $dWhh5$reactjsxruntime.jsx)((0, $ce7633a58d99dcca$export$2e2bcd8739ae039), {
19161
- parent: currentLayout,
19162
20049
  ...props,
19163
20050
  width: "full",
19164
20051
  height: "full",
19165
- mobile: mobileWidth
20052
+ parent: (0, $71c613e2e831c34c$export$a31c5a03aaeee5f).widget
19166
20053
  })
19167
20054
  })
19168
20055
  });