1"use strict";(self.webpackChunkfranceinfo_package=self.webpackChunkfranceinfo_package||[]).push([[7156],{2746:function(t,e,i){function n(t,e,i){return(e=function(t){var e=function(t){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,"string");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:e+""}(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}class s{constructor(t,e,i,s,a){var r;this.utils=t,this.auth=e,this.stickyOrchestrator=i,this.piano=s,this.rootElement=a,n(this,"BTN_DISABLED_CLASS","fi-button--disabled"),n(this,"BTN_OPTIN_SUCCESS_CLASS","fi-button--icon-visible"),n(this,"BTN_INFO_ICON_CLASS","glx-icon-info-outlined"),n(this,"DIALOG_EVENTS_BINDED","dialog-events-binded"),n(this,"LEGAL_TEXT_EXPANDED_CLASS","banner-newsletter__legal-text--expanded"),n(this,"EVENT_OPTIN","BannerNewsletter::optin"),n(this,"EVENT_OPTOUT","BannerNewsletter::optout"),n(this,"dialogFormEl",void 0),n(this,"dialogSuccessEl",void 0),n(this,"dialogUnsubscribeEl",void 0),n(this,"nlAction",void 0),n(this,"nlBehavior",void 0),n(this,"trackingZone",""),n(this,"nlForm",void 0),n(this,"nlTitle",void 0),n(this,"nlInputEmail",void 0),n(this,"nlBtn",void 0),n(this,"nlActionUrl",void 0),n(this,"nlInputDetailSource",void 0),n(this,"userEmail",void 0),n(this,"snackbar",void 0),this.nlAction="unsubscribe"===this.rootElement.dataset.action?"unsubscribe":"subscribe",this.nlBehavior="dialog"===this.rootElement.dataset.behavior?"dialog":"snackbar",this.trackingZone=null!==(r=this.rootElement.dataset.zone)&&void 0!==r?r:"",this.dialogFormEl=this.rootElement.querySelector(".banner-newsletter__dialog-form"),this.dialogSuccessEl=this.rootElement.querySelector(".banner-newsletter__dialog-success"),this.dialogUnsubscribeEl=this.rootElement.querySelector(".banner-newsletter__dialog-unsubscribe"),this.nlForm=this.rootElement.querySelector(".banner-newsletter__form"),this.nlBtn=this.rootElement.querySelector(".banner-newsletter__button"),this.nlTitle=this.rootElement.querySelector(".banner-newsletter__title").textContent.trim(),this.nlInputDetailSource=this.nlForm.querySelector("input[name='detailSource']"),this.nlInputEmail=this.nlForm.querySelector(".newsletter__email"),this.nlActionUrl=this.nlForm.getAttribute("action-xhr"),this.init()}
1async init(){var t;if(this.userEmail=null!==(t=this.rootElement.dataset.email)&&void 0!==t?t:null,!this.userEmail){var e;const t=await this.auth.getUserInfo();this.userEmail=t.connected&&null!==(e=t.data.user.email)&&void 0!==e?e:null}this.nlInputDetailSource.value=this.determineDetailSource(),this.nlBtn.addEventListener("click",()=>{"unsubscribe"===this.nlAction?(this.piano.sendClick({feature:"desinscription_newsletter",zone:this.trackingZone,click:"se_desinscrire"}),this.optOutLoggedUser()):(this.piano.sendClick({feature:"bandeau_newsletter",zone:this.trackingZone,click:"s_inscrire"}),(this.userEmail&&"snackbar"===this.nlBehavior?this.optinNlWithSnackbar.bind(this):this.optinNlWithDialog.bind(this))())})}async loadSnackbar(){if(!this.snackbar){const t=(await i.e(1026).then(i.bind(i,7659))).default;this.snackbar=new t(this.utils,this.stickyOrchestrator)}return this.snackbar}async optinNlWithSnackbar(){if(this.userEmail){await this.loadSnackbar(),this.setButtonState(this.nlBtn,"loading");try{const t=await this.sendNLData(this.nlActionUrl,this.userEmail,this.nlInputDetailSource.value),e=await t.json();t.ok?(this.piano.sendClick({feature:"bandeau_newsletter",zone:this.trackingZone,click:"confirmation_inscription_newsletter_succes"}),this.snackbar.show(`Votre inscription à la newsletter â${this.nlTitle}â a bien été prise en compte.`,"success"),this.setButtonState(this.nlBtn,"success"),this.dispatchGlobalEvent(this.EVENT_OPTIN)):(this.piano.sendClick({feature:"bandeau_newsletter",zone:this.trackingZone,click:"confirmation_inscription_newsletter_echec"}),this.snackbar.show(e.message,"info"),this.setButtonState(this.nlBtn,"already_optin"))}catch(t){this.piano.sendClick({feature:"bandeau_newsletter",zone:this.trackingZone,click:"confirmation_inscription_newsletter_echec"}),this.snackbar.show("Un problème réseau est survenu.","warning"),this.setButtonState(this.nlBtn,"ready")}}else console.error("Erreur: Utilisateur connecté sans email.")}async optinNlWithDialog(){var t,e=this;this.userEmail&&(this.nlInputEmail.value=this.userEmail,this.nlInputEmail.dispatchEvent(new Event("input")));const n=(await i.e(3244).then(i.bind(i,5531))).default,s=new n(this.dialogFormEl,this.utils,this.stickyOrchestrator),a=new n(this.dialogSuccessEl,this.utils,this.stickyOrchestrator),r=this.dialogFormEl.querySelector(".dialog__primary");if(s.show(),this.dialogFormEl.classList.contains(this.DIALOG_EVENTS_BINDED))return;this.dialogFormEl.classList.add(this.DIALOG_EVENTS_BINDED);const o=this.dialogFormEl.querySelector(".banner-newsletter__legal-text");null==o||null===(t=o.querySelector(".banner-newsletter__legal-text-more"))||void 0===t||t.addEventListener("click",t=>{t.preventDefault(),o.classList.add(this.LEGAL_TEXT_EXPANDED_CLASS)}),this.nlForm.addEventListener("submit",async function(t){if(t.preventDefault(),e.nlInputEmail.checkValidity()){e.setButtonState(r,"loading");try{const t=await e.sendNLData(e.nlActionUrl,e.nlInputEmail.value,e.nlInputDetailSource.value),i=await t.json();t.ok?(e.piano.sendClick({feature:"bandeau_newsletter",zone:e.trackingZone,click:"confirmation_inscription_newsletter_succes"}),s.hide(),a.show(),e.setButtonState(e.nlBtn,"success"),e.dispatchGlobalEvent(e.EVENT_OPTIN)):(e.piano.sendClick({feature:"bandeau_newsletter",zone:e.trackingZone,click:"confirmation_inscription_newsletter_echec"}),e.dispatchInputError(e.nlInputEmail,i.message))}catch(t){e.piano.sendClick({feature:"bandeau_newsletter",zone:e.trackingZone,click:"confirmation_inscription_newsletter_echec"}),e.dispatchInputError(e.nlInputEmail,"Un problème réseau est survenu.")}finally{e.setButtonState(r,"ready")}}else e.nlInputEmail.focus()}),a.onPrimary(()=>{a.hide()}),a.onSecondary(()=>{a.hide()})}async optOutLoggedUser(){var t=this;if(!this.userEmail)return void console.error("Erreur: Utilisateur connecté sans email.");await this.loadSnackbar();const e=new(0,(await i.e(3244).then(i.bind(i,5531))).default)(this.dialogUnsubscribeEl,this.utils,this.stickyOrchestrator);e.show(),this.dialogUnsubscribeEl.classList.contains(this.DIALOG_EVENTS_BINDED)||(this.dialogUnsubscribeEl.classList.add(this.DIALOG_EVENTS_BINDED),e.onPrimary(async function(){try{const i=await t.sendNLData(t.nlActionUrl,t.userEmail,t.nlInputDetailSource.value),n=await i.json();i.ok?(t.piano.sendClick({feature:"desinscription_newsletter",zone:t.trackingZone,click:"confirmation_desinscription_newsletter"}
1),t.setButtonState(t.nlBtn,"ready"),e.hide(),t.dispatchGlobalEvent(t.EVENT_OPTOUT)):t.snackbar.show(n.message,"info")}catch(e){t.snackbar.show("Un problème réseau est survenu.","warning")}}),e.onSecondary(()=>{e.hide()}))}dispatchInputError(t,e){t.dispatchEvent(new CustomEvent("input-error",{detail:e})),t.focus()}setButtonState(t,e){switch(t.classList.remove(this.BTN_DISABLED_CLASS,this.BTN_OPTIN_SUCCESS_CLASS),t.removeAttribute("disabled"),e){case"loading":t.classList.add(this.BTN_DISABLED_CLASS),t.setAttribute("disabled","true");break;case"success":{t.setAttribute("disabled","true"),t.classList.add(this.BTN_OPTIN_SUCCESS_CLASS,this.BTN_DISABLED_CLASS);const e=t.querySelector(".fi-button__text");e&&(e.textContent="inscrit",e.setAttribute("role","status"));break}case"already_optin":{t.setAttribute("disabled","true");const e=t.querySelector(".fi-button__start-icon");e&&(Array.from(e.classList).filter(t=>t.startsWith("glx-icon-")&&!t.startsWith("glx-icon--")).forEach(t=>e.classList.remove(t)),e.classList.add(this.BTN_INFO_ICON_CLASS)),t.classList.add(this.BTN_OPTIN_SUCCESS_CLASS,this.BTN_DISABLED_CLASS);const i=t.querySelector(".fi-button__text");i&&(i.textContent="déjà inscrit",i.setAttribute("role","alert"));break}}}determineDetailSource(){let t=this.nlInputDetailSource.dataset.source;if(!t){t="encartsite-franceinfo",t+=window.location.pathname.includes(".html")?"-content":"-taxonomy";const e=window.location.pathname.split("/");e.pop(),t+=`-${e.pop()||"homepage"}`}return t+=this.utils.isMobileDevice()?"-mobile ":"-desktop",t}sendNLData(t,e,i){const n=new FormData;return n.append("email",e),n.append("detailSource",i),fetch(t,{method:"POST",body:n})}dispatchGlobalEvent(t){document.dispatchEvent(new CustomEvent(t,{detail:this.rootElement}))}}new Promise(async t=>{const e=await i.e(9980).then(i.bind(i,2885)),n=await(await i.e(4895).then(i.bind(i,4284))).default,a=await(await i.e(3708).then(i.bind(i,3157))).default,r=await(await i.e(9292).then(i.bind(i,3703))).default,o={},l=()=>{document.querySelectorAll(".banner-newsletter:not(.banner-newsletter--activated)").forEach(t=>{t.classList.add("banner-newsletter--activated");const i=new s(e,n,a,r,t);t.getAttribute("id")&&(o[t.getAttribute("id")]=i)})};l(),document.addEventListener("EsiBlock::replaceBlockByEsiContent",()=>{l()}),t(o)})}},function(t){t(t.s=2746)}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.