{"version":3,"sources":["webpack:///./LeLab.Gcv.Web/src/atomic/molecule/m-filter-date-range/m-filter-date-range.chunk.js","webpack:///./LeLab.Gcv.Web/src/atomic/molecule/m-filter-date-range/m-filter-date-range.scss"],"names":["require","Logger","$","pickmeup","currentLang","attr","$document","document","isFrench","moment","locale","defaults","locales","days","daysShort","daysMin","months","monthsShort","CalendarRange","container","Log","calendarInstance","$container","dayInMs","calendar","find","get","dateSelectedEventSuffix","data","$loading","$available","$error","$startDateModeButton","$endDateModeButton","$startDateText","$endDateText","startDate","toDate","endDate","behavior","loading","isStart","startTime","endTime","getMinDate","dateString","date","getMaxDate","getNbOfNights","nbOfNights","diff","today","Date","getFullYear","getMonth","getDate","destroy","pmu","current","class_name","flat","first_day","mode","min","format","render","off","on","toStartDateMode","update","toEndDateMode","ev","start","end","minDate","clear","setVisibleDate","addEventListener","onDateChanged","detail","updateButtons","dates","newStartDate","nights","add","rangeBetweenDates","getTime","removeClass","addClass","displayFormat","text","show","hide","doNotToggle","valueOf","shouldToggle","trigger","syncOtherElements","$tabSection","closest","ticketDateElement","length","TicketDateHandler","updateDates","lodgingChoicesElement","Molecule","syncTicketDateOrganism","syncLodgingChoicesMolecule","StartDate","NumberOfNights","name","createEvent","initEvent","dispatchEvent","$element","$unavailable","set_date","scrollTop","disabled","selected","maxDate","setHours","dateDay","push","join","init","each","reset"],"mappings":";;;;;;;;;;;;AAAA,mBAAAA,CAAQ,EAAR;AACA,mBAAAA,CAAQ,GAAR;AACA,IAAIC,SAAS,mBAAAD,CAAQ,EAAR,CAAb;;AAEA,IAAME,IAAI,mBAAAF,CAAQ,CAAR,CAAV;AAAA,IACIG,WAAW,mBAAAH,CAAQ,EAAR,CADf;AAAA,IAEII,cAAcF,EAAE,MAAF,EAAUG,IAAV,CAAe,MAAf,CAFlB;AAGA,IAAIC,YAAYJ,EAAEK,QAAF,CAAhB;;AAEA,IAAMC,WAAWJ,gBAAgB,IAAjC;AACA,IAAMK,SAAS,mBAAAT,CAAQ,CAAR,CAAf;AACA,mBAAAA,CAAQ,EAAR;AACA,mBAAAA,CAAQ,EAAR;AACAS,OAAOC,MAAP,CAAcF,WAAW,OAAX,GAAqB,OAAnC;;AAEAL,SAASQ,QAAT,CAAkBC,OAAlB,CAA0B,IAA1B,IAAkC;AAC9BC,UAAM,CAAC,UAAD,EAAa,OAAb,EAAsB,OAAtB,EAA+B,UAA/B,EAA2C,OAA3C,EAAoD,UAApD,EAAgE,QAAhE,CADwB;AAE9BC,eAAW,CAAC,KAAD,EAAQ,KAAR,EAAe,KAAf,EAAsB,KAAtB,EAA6B,KAA7B,EAAoC,KAApC,EAA2C,KAA3C,CAFmB;AAG9BC,aAAS,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0B,GAA1B,EAA+B,GAA/B,CAHqB;AAI9BC,YAAQ,CAAC,SAAD,EAAY,SAAZ,EAAuB,MAAvB,EAA+B,OAA/B,EAAwC,KAAxC,EAA+C,MAA/C,EAAuD,SAAvD,EAAkE,MAAlE,EAA0E,WAA1E,EAAuF,SAAvF,EAAkG,UAAlG,EAA8G,UAA9G,CAJsB;AAK9BC,iBAAa,CAAC,KAAD,EAAQ,KAAR,EAAe,KAAf,EAAsB,KAAtB,EAA6B,KAA7B,EAAoC,KAApC,EAA2C,KAA3C,EAAkD,MAAlD,EAA0D,KAA1D,EAAiE,KAAjE,EAAwE,KAAxE,EAA+E,KAA/E;AALiB,CAAlC;;AAQAd,SAASQ,QAAT,CAAkBC,OAAlB,CAA0B,IAA1B,IAAkC;AAC9BC,UAAM,CAAC,QAAD,EAAW,QAAX,EAAqB,SAArB,EAAgC,WAAhC,EAA6C,UAA7C,EAAyD,QAAzD,EAAmE,UAAnE,CADwB;AAE9BC,eAAW,CAAC,KAAD,EAAQ,KAAR,EAAe,KAAf,EAAsB,KAAtB,EAA6B,KAA7B,EAAoC,KAApC,EAA2C,KAA3C,CAFmB;AAG9BC,aAAS,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0B,GAA1B,EAA+B,GAA/B,CAHqB;AAI9BC,YAAQ,CAAC,SAAD,EAAY,UAAZ,EAAwB,OAAxB,EAAiC,OAAjC,EAA0C,KAA1C,EAAiD,MAAjD,EAAyD,MAAzD,EAAiE,QAAjE,EAA2E,WAA3E,EAAwF,SAAxF,EAAmG,UAAnG,EAA+G,UAA/G,CAJsB;AAK9BC,iBAAa,CAAC,KAAD,EAAQ,KAAR,EAAe,KAAf,EAAsB,KAAtB,EAA6B,KAA7B,EAAoC,KAApC,EAA2C,KAA3C,EAAkD,KAAlD,EAAyD,KAAzD,EAAgE,KAAhE,EAAuE,KAAvE,EAA8E,KAA9E;AALiB,CAAlC;;IAQMC,a;AACF,2BAAYC,SAAZ,EAAuB;AAAA;;AAAA;;AAEnBlB,eAAOmB,GAAP,CAAW,mCAAX,EAAgD,oBAAhD;;AAEA,YAAIC,mBAAmB,IAAvB;AACA,YAAMC,aAAa,KAAKA,UAAL,GAAkBpB,EAAEiB,SAAF,CAArC;AACA,aAAKI,OAAL,GAAe,QAAf;;AAEA;AACA,YAAMC,WAAWF,WAAWG,IAAX,CAAgB,uBAAhB,EAAyCC,GAAzC,CAA6C,CAA7C,CAAjB;AACA,aAAKC,uBAAL,GAA+BL,WAAWM,IAAX,CAAgB,gCAAhB,CAA/B;;AAEA;AACA,aAAKC,QAAL,GAAgBP,WAAWG,IAAX,CAAgB,yBAAhB,CAAhB;AACA,aAAKK,UAAL,GAAkBR,WAAWG,IAAX,CAAgB,2BAAhB,CAAlB;AACA,aAAKM,MAAL,GAAcT,WAAWG,IAAX,CAAgB,uBAAhB,CAAd;;AAEA,aAAKO,oBAAL,GAA4BV,WAAWG,IAAX,CAAgB,0BAAhB,CAA5B;AACA,aAAKQ,kBAAL,GAA0BX,WAAWG,IAAX,CAAgB,wBAAhB,CAA1B;;AAEA,aAAKS,cAAL,GAAsBZ,WAAWG,IAAX,CAAgB,wBAAhB,CAAtB;AACA,aAAKU,YAAL,GAAoBb,WAAWG,IAAX,CAAgB,sBAAhB,CAApB;;AAEA,aAAKW,SAAL,GAAiB3B,OAAOa,WAAWM,IAAX,CAAgB,YAAhB,CAAP,EAAsC,qBAAtC,EAA6DS,MAA7D,EAAjB;AACA,aAAKC,OAAL,GAAe7B,OAAOa,WAAWM,IAAX,CAAgB,UAAhB,CAAP,EAAoC,qBAApC,EAA2DS,MAA3D,EAAf;;AAEA;AACA,aAAKE,QAAL,GAAgBjB,WAAWM,IAAX,CAAgB,mBAAhB,CAAhB;;AAEA;AACA,aAAKY,OAAL,GAAe,KAAf;;AAEA,aAAKC,OAAL,GAAe,IAAf;;AAEA;AACA,aAAKC,SAAL,GAAiB,CAAjB;AACA,aAAKC,OAAL,GAAe,CAAf;;AAEA,aAAKC,UAAL,GAAkB,YAAY;AAC1B,gBAAIC,aAAavB,WAAWjB,IAAX,CAAgB,wBAAhB,CAAjB;;AAEA,gBAAIwC,UAAJ,EAAgB;AACZ,oBAAIC,OAAOrC,OAAOoC,UAAP,EAAmB,YAAnB,EAAiCR,MAAjC,EAAX;;AAEA,uBAAOS,IAAP;AACH;;AAED,mBAAO,IAAP;AACH,SAVD;;AAYA,aAAKC,UAAL,GAAkB,YAAY;AAC1B,gBAAIF,aAAavB,WAAWjB,IAAX,CAAgB,wBAAhB,CAAjB;;AAEA,gBAAIwC,UAAJ,EAAgB;AACZ,oBAAIC,OAAOrC,OAAOoC,UAAP,EAAmB,YAAnB,EAAiCR,MAAjC,EAAX;;AAEA;AACA;;AAEA,uBAAOS,IAAP;AACH;;AAED,mBAAO,IAAP;AACH,SAbD;;AAeA,aAAKE,aAAL,GAAqB,YAAY;AAC7B,gBAAMC,aAAaxC,OAAO,KAAK6B,OAAZ,EAAqBY,IAArB,CAA0BzC,OAAO,KAAK2B,SAAZ,CAA1B,EAAkD,MAAlD,CAAnB;AACA,mBAAOa,UAAP;AACH,SAHD;;AAKA,YAAME,QAAQ,IAAIC,IAAJ,EAAd;AACA,aAAKD,KAAL,GAAa,IAAIC,IAAJ,CAASD,MAAME,WAAN,EAAT,EAA8BF,MAAMG,QAAN,EAA9B,EAAgDH,MAAMI,OAAN,EAAhD,CAAb;;AAEApD,iBAASqB,QAAT,EAAmBgC,OAAnB;AACA,aAAKC,GAAL,GAAWtD,SAASqB,QAAT,EAAmB;AAC1BkC,qBAAS,KAAKd,UAAL,MAAqB,KAAKR,SADT;AAE1BuB,wBAAY,+BAFc;AAG1BC,kBAAM,IAHoB;AAI1BC,uBAAW,CAJe;AAK1BC,kBAAM,QALoB;AAM1BC,iBAAK,SANqB;AAO1BC,oBAAQ,OAPkB;AAQ1BtD,oBAAQN,WARkB;AAS1B6D,oBAAQ,gBAAUnB,IAAV,EAAgB;AACpB,uBAAOzB,iBAAiB4C,MAAjB,CAAwBnB,IAAxB,CAAP;AACH;AAXyB,SAAnB,CAAX;;AAcAxB,mBAAWG,IAAX,CAAgB,0BAAhB,EAA4CyC,GAA5C,CAAgD,+CAAhD;AACA5C,mBAAWG,IAAX,CAAgB,0BAAhB,EAA4C0C,EAA5C,CAA+C,+CAA/C,EAAgG,YAAY;AACxG9C,6BAAiB+C,eAAjB;AACA/C,6BAAiBoC,GAAjB,CAAqBY,MAArB;AACH,SAHD;;AAKA/C,mBAAWG,IAAX,CAAgB,wBAAhB,EAA0CyC,GAA1C,CAA8C,+CAA9C;AACA5C,mBAAWG,IAAX,CAAgB,wBAAhB,EAA0C0C,EAA1C,CAA6C,+CAA7C,EAA8F,YAAY;AACtG,gBAAI,CAAC9C,iBAAiBe,SAAtB,EAAiC;AACjCf,6BAAiBiD,aAAjB;AACAjD,6BAAiBoC,GAAjB,CAAqBY,MAArB;AACH,SAJD;;AAMA;AACA/C,mBAAW4C,GAAX,CAAe,iFAAf;AACA5C,mBAAW6C,EAAX,CAAc,iFAAd,EAAiG,UAAUI,EAAV,EAAcC,KAAd,EAAqBC,GAArB,EAA0B;AACvHpD,6BAAiBe,SAAjB,GAA6B3B,OAAO+D,KAAP,EAAc,qBAAd,EAAqCnC,MAArC,EAA7B;AACAhB,6BAAiBiB,OAAjB,GAA2B7B,OAAOgE,GAAP,EAAY,qBAAZ,EAAmCpC,MAAnC,EAA3B;AACAhB,6BAAiB+C,eAAjB;AACH,SAJD;;AAMA;AACA9C,mBAAW4C,GAAX,CAAe,+EAAf;AACA5C,mBAAW6C,EAAX,CAAc,+EAAd,EAA+F,UAAUI,EAAV,EAAcC,KAAd,EAAqBC,GAArB,EAA0B;AACrHpD,6BAAiBe,SAAjB,GAA6B3B,OAAO+D,KAAP,EAAc,qBAAd,EAAqCnC,MAArC,EAA7B;AACAhB,6BAAiBiB,OAAjB,GAA2B7B,OAAOgE,GAAP,EAAY,qBAAZ,EAAmCpC,MAAnC,EAA3B;AACAhB,6BAAiBiD,aAAjB;AACH,SAJD;;AAMAhD,mBAAW4C,GAAX,CAAe,kEAAf;AACA5C,mBAAW6C,EAAX,CAAc,kEAAd,EAAkF,YAAY;;AAE1FlE,mBAAOmB,GAAP,CAAW,mCAAX,EAAgD,+CAAhD;;AAEA,gBAAIsD,UAAUrD,iBAAiBuB,UAAjB,EAAd;AACAvB,6BAAiBoC,GAAjB,CAAqBkB,KAArB;AACAtD,6BAAiBuD,cAAjB,CAAgCF,OAAhC;AACArD,6BAAiBoC,GAAjB,CAAqBY,MAArB;AACH,SARD;AASA7C,iBAASqD,gBAAT,CAA0B,iBAA1B,EAA6C,cAAM;AAC/C5E,mBAAOmB,GAAP,CAAW,eAAX,EAA4B,gCAA5B;AACA,kBAAK0D,aAAL,CAAmBP,GAAGQ,MAAH,CAAUjC,IAA7B;AACH,SAHD;AAIA,aAAKkC,aAAL;AACH;;;;oCAEWC,K,EAAO;;AAEfhF,mBAAOmB,GAAP,CAAW,2BAAX,EAAwC6D,KAAxC;;AAEA,gBAAIC,eAAeD,MAAM7C,SAAzB;AACA,gBAAI8C,YAAJ,EAAkB;;AAEd,oBAAIA,iBAAiB,KAAK9C,SAA1B,EAAqC;AACjC;AACH;;AAED,oBAAI6C,MAAME,MAAV,EAAkB;AACd,yBAAK/C,SAAL,GAAiB8C,YAAjB;AACA,yBAAK5C,OAAL,GAAe7B,OAAOyE,YAAP,EAAqBE,GAArB,CAAyBH,MAAME,MAA/B,EAAuC,KAAvC,EAA8C9C,MAA9C,EAAf;AACH,iBAHD,MAGO;AACH,wBAAIgD,oBAAoB,KAAK/C,OAAL,CAAagD,OAAb,KAAyB,KAAKlD,SAAL,CAAekD,OAAf,EAAjD;AACA,yBAAKlD,SAAL,GAAiB8C,YAAjB;AACA,yBAAK5C,OAAL,GAAe,IAAIc,IAAJ,CAAS,KAAKhB,SAAL,CAAekD,OAAf,KAA2BD,iBAApC,CAAf;AACH;;AAED,qBAAKL,aAAL;AACA,qBAAKvB,GAAL,CAASY,MAAT;AACH;AACJ;;;wCAEe;AACZ,gBAAI,KAAK5B,OAAT,EAAkB;AACd,qBAAKR,kBAAL,CAAwBsD,WAAxB,CAAoC,mCAApC;AACA,qBAAKvD,oBAAL,CAA0BuD,WAA1B,CAAsC,mCAAtC,EAA2EC,QAA3E,CAAoF,mCAApF;AACH,aAHD,MAGO;AACH,qBAAKxD,oBAAL,CAA0BuD,WAA1B,CAAsC,mCAAtC;AACA,qBAAKtD,kBAAL,CAAwBsD,WAAxB,CAAoC,mCAApC,EAAyEC,QAAzE,CAAkF,mCAAlF;AACH;;AAED,gBAAIC,gBAAgBjF,WAAW,QAAX,GAAsB,SAA1C;;AAEA,gBAAI,KAAK8B,OAAT,EAAkB;AACd,qBAAKL,kBAAL,CAAwByD,IAAxB,CAA6BjF,OAAO,KAAK6B,OAAZ,EAAqB0B,MAArB,CAA4ByB,aAA5B,CAA7B;AACAvF,kBAAE,8BAAF,EAAkC0B,IAAlC,CAAuC,gBAAvC,EAAyDnB,OAAO,KAAK6B,OAAZ,EAAqB0B,MAArB,CAA4B,YAA5B,CAAzD,EAFc,CAEuF;AACxG;;AAED,gBAAI,KAAK5B,SAAT,EAAoB;AAChB,qBAAKJ,oBAAL,CAA0B0D,IAA1B,CAA+BjF,OAAO,KAAK2B,SAAZ,EAAuB4B,MAAvB,CAA8ByB,aAA9B,CAA/B;AACAvF,kBAAE,gCAAF,EAAoC0B,IAApC,CAAyC,gBAAzC,EAA2DnB,OAAO,KAAK2B,SAAZ,EAAuB4B,MAAvB,CAA8B,YAA9B,CAA3D,EAFgB,CAEyF;AAC5G;AACJ;;;0CAEiB;AACd,iBAAKvB,OAAL,GAAe,IAAf;AACA,iBAAKP,cAAL,CAAoByD,IAApB;AACA,iBAAKxD,YAAL,CAAkByD,IAAlB;AACA,iBAAKZ,aAAL;AACA,iBAAKvB,GAAL,CAASY,MAAT;AACH;;;wCAEe;AACZ,gBAAI,CAAC,KAAKjC,SAAV,EACI;;AAEJ,iBAAKK,OAAL,GAAe,KAAf;AACA,iBAAKP,cAAL,CAAoB0D,IAApB;AACA,iBAAKzD,YAAL,CAAkBwD,IAAlB;AACA,iBAAKX,aAAL;AACA,iBAAKvB,GAAL,CAASY,MAAT;AACH;;;sCAEavB,I,EAAM+C,W,EAAa;AAC7B;AACA,gBAAI,CAAC,KAAKpD,OAAN,IAAiBK,KAAKgD,OAAL,OAAmB,KAAK1D,SAAL,CAAe0D,OAAf,EAAxC,EAAkE;;AAElE,gBAAIC,eAAe,IAAnB;;AAEA,gBAAI,KAAKtD,OAAT,EAAkB;AACd,qBAAKL,SAAL,GAAiBU,IAAjB;AACH,aAFD,MAEO;AACH,oBAAIA,OAAO,KAAKV,SAAhB,EAA2B;AACvB,yBAAKE,OAAL,GAAeQ,IAAf;AACH,iBAFD,MAEO;AACHiD,mCAAe,KAAf;AACH;;AAEDzF,0BAAU0F,OAAV,CAAkB,iBAAlB;AACA,qBAAKC,iBAAL;AACH;;AAED,gBAAIF,gBAAgB,CAACF,WAArB,EAAkC;AAC9B,oBAAI,KAAKpD,OAAT,EAAkB,KAAK6B,aAAL,GAAlB,KACK,KAAKF,eAAL;AACR;;AAED,iBAAKY,aAAL;AACH;;;+CAEsBC,K,EAAO;;AAE1B;AACA,gBAAIiB,cAAc,KAAK5E,UAAL,CAAgB6E,OAAhB,CAAwB,oBAAxB,CAAlB;AACA,gBAAIC,0BAAJ;;AAEA,gBAAIF,eAAeA,YAAYG,MAAZ,GAAqB,CAAxC,EAA2C;AACvCD,oCAAoBF,YAAYzE,IAAZ,CAAiB,gBAAjB,EAAmCC,GAAnC,CAAuC,CAAvC,CAApB;AACH,aAFD,MAEO;AACH0E,oCAAoB9F,UAAUmB,IAAV,CAAe,gBAAf,EAAiCC,GAAjC,CAAqC,CAArC,CAApB;AACH;;AAED,gBAAI0E,qBAAqBA,kBAAkBE,iBAA3C,EAA8D;AAC1DF,kCAAkBE,iBAAlB,CAAoCC,WAApC,CAAgDtB,KAAhD;AACH;AACJ;;;mDAE0BA,K,EAAO;;AAE9B;AACA,gBAAIiB,cAAc,KAAK5E,UAAL,CAAgB6E,OAAhB,CAAwB,oBAAxB,CAAlB;AACA,gBAAIK,8BAAJ;;AAEA,gBAAIN,eAAeA,YAAYG,MAAZ,GAAqB,CAAxC,EAA2C;AACvCG,wCAAwBN,YAAYzE,IAAZ,CAAiB,0BAAjB,EAA6CC,GAA7C,CAAiD,CAAjD,CAAxB;AACH,aAFD,MAEO;AACH8E,wCAAwBlG,UAAUmB,IAAV,CAAe,0BAAf,EAA2CC,GAA3C,CAA+C,CAA/C,CAAxB;AACH;;AAED,gBAAI8E,yBAAyBA,sBAAsBC,QAAnD,EAA6D;AACzDD,sCAAsBC,QAAtB,CAA+BF,WAA/B,CAA2CtB,KAA3C;AACH;AACJ;;;4CAEmB;AAChB,gBAAIA,QAAQ;AACR7C,2BAAW,KAAKA,SADR;AAERE,yBAAS,KAAKA,OAFN;AAGR6C,wBAAQ,KAAKnC,aAAL;AAHA,aAAZ;;AAMA,iBAAK0D,sBAAL,CAA4BzB,KAA5B;AACA,iBAAK0B,0BAAL,CAAgC1B,KAAhC;;AAEA,iBAAK3D,UAAL,CAAgBM,IAAhB,CAAqB,YAArB,EAAmCnB,OAAO,KAAK2B,SAAZ,EAAuB4B,MAAvB,CAA8B,qBAA9B,CAAnC;AACA,iBAAK1C,UAAL,CAAgBM,IAAhB,CAAqB,UAArB,EAAiCnB,OAAO,KAAK6B,OAAZ,EAAqB0B,MAArB,CAA4B,qBAA5B,CAAjC;;AAEA,iBAAK1C,UAAL,CAAgB0E,OAAhB,CAAwB,iBAAxB,EAA2C;AACvCY,2BAAWnG,OAAO,KAAK2B,SAAZ,EAAuB4B,MAAvB,CAA8B,qBAA9B,CAD4B;AAEvC6C,gCAAgBpG,OAAO,KAAK6B,OAAZ,EAAqBY,IAArB,CAA0BzC,OAAO,KAAK2B,SAAZ,CAA1B,EAAkD,MAAlD;AAFuB,aAA3C;AAIH;;;sCAEa0E,I,EAAMlF,I,EAAM;;AAEtB3B,mBAAOmB,GAAP,CAAW,yDAAX,EAAsE0F,IAAtE;AACA7G,mBAAOmB,GAAP,CAAW,yDAAX,EAAsEQ,IAAtE;;AAEA,gBAAM2C,KAAKhE,SAASwG,WAAT,CAAqB,OAArB,CAAX;AACAxC,eAAGQ,MAAH,GAAYnD,IAAZ;AACA2C,eAAGyC,SAAH,CAAaF,IAAb,EAAmB,IAAnB,EAAyB,KAAzB;;AAEA,iBAAKxF,UAAL,CAAgBI,GAAhB,CAAoB,CAApB,EAAuBuF,aAAvB,CAAqC1C,EAArC;AACH;;;oCAEW2C,Q,EAAU;AAClB,iBAAKrF,QAAL,CAAc+D,IAAd;AACA,iBAAK9D,UAAL,CAAgB8D,IAAhB;AACA,iBAAKuB,YAAL,CAAkBvB,IAAlB;AACA,iBAAK7D,MAAL,CAAY6D,IAAZ;;AAEAsB,wBAAYA,SAASvB,IAAT,EAAZ;AACH;;;uCAEc7C,I,EAAM;AACjB,iBAAKW,GAAL,CAAS2D,QAAT,CAAkBtE,IAAlB;AACH;;;wCAEe;AACZ,iBAAKxB,UAAL,CAAgB6E,OAAhB,CAAwB,wBAAxB,EAAkDkB,SAAlD,CAA4D,IAA5D;AACH;;;+BAEMvE,I,EAAM;;AAET;;AAEA,gBAAIwE,WAAW,KAAf;AACA,gBAAIC,WAAW,KAAf;;AAEA,gBAAI7C,UAAU,KAAK9B,UAAL,EAAd;AACA,gBAAI4E,UAAU,KAAKzE,UAAL,EAAd;;AAEA,gBAAID,OAAO,KAAKK,KAAZ,IACCuB,WAAW5B,OAAO4B,OADnB,IAEC8C,WAAW1E,OAAO0E,OAFnB,IAGC,CAAC,KAAKlF,OAAN,IAAiB,KAAKF,SAAtB,IAAmCU,KAAKgD,OAAL,KAAiB,KAAK1D,SAAL,CAAe0D,OAAf,EAHzD,EAGoF;AAChFwB,2BAAW,IAAX;AACH;;AAED,gBAAI,CAAC,KAAK7E,OAAN,IAAiBK,OAAO,KAAKV,SAAjC,EAA4C;AACxCkF,2BAAW,IAAX;AACH;;AAED,gBAAInE,QAAQ,IAAIC,IAAJ,EAAZ;AACAD,kBAAMsE,QAAN,CAAe,CAAf,EAAkB,CAAlB,EAAqB,CAArB,EAAwB,CAAxB;AACA,gBAAIC,UAAU5E,IAAd;AACA4E,oBAAQD,QAAR,CAAiB,CAAjB,EAAoB,CAApB,EAAuB,CAAvB,EAA0B,CAA1B;AACA,gBAAIC,QAAQ5B,OAAR,KAAoB3C,MAAM2C,OAAN,EAAxB,EAAyC;AACrC,uBAAO,EAACyB,UAAU,KAAX,EAAkBD,UAAU,IAA5B,EAAP;AACH;;AAED,gBAAI,KAAKlF,SAAL,IAAkB,KAAKE,OAAvB,IAAkCQ,QAAQ,KAAKV,SAA/C,IAA4DU,QAAQ,KAAKR,OAA7E,EAAsF;AAClFiF,2BAAW,IAAX;AACH;;AAED,gBAAI5D,aAAa,EAAjB;;AAEA,gBAAI,KAAKvB,SAAL,IAAkBU,KAAKgD,OAAL,OAAmB,KAAK1D,SAAL,CAAe0D,OAAf,EAAzC,EAAmE;AAC/DyB,2BAAW,IAAX;AACA5D,2BAAWgE,IAAX,CAAgB,oBAAhB;AACH;AACD,gBAAI,KAAKrF,OAAL,IAAgBQ,KAAKgD,OAAL,OAAmB,KAAKxD,OAAL,CAAawD,OAAb,EAAvC,EAA+D;AAC3DyB,2BAAW,IAAX;AACA5D,2BAAWgE,IAAX,CAAgB,mBAAhB;AACH;;AAED,mBAAO;AACHhE,4BAAYA,WAAWiE,IAAX,CAAgB,GAAhB,CADT;AAEHL,0BAAUA,QAFP;AAGHD,0BAAUA;AAHP,aAAP;AAKH;;;;;;AAGL,IAAIO,OAAO,SAAPA,IAAO,GAAY;AACnB3H,MAAE,4BAAF,EAAgC4H,IAAhC,CAAqC,YAAY;AAC7C,YAAI,KAAK5G,aAAT,EACI;AACJ,aAAKA,aAAL,GAAqB,IAAIA,aAAJ,CAAkB,IAAlB,CAArB;AACH,KAJD;AAKH,CAND;;AAQA,IAAI6G,QAAQ,SAARA,KAAQ,GAAY;AACpB7H,MAAE,4BAAF,EAAgC4H,IAAhC,CAAqC,YAAY;AAC7C,YAAI,KAAK5G,aAAT,EAAwB;AACpBhB,cAAE,IAAF,EAAQgE,GAAR,CAAY,OAAZ;AACAhE,cAAE,IAAF,EAAQgE,GAAR,CAAY,iBAAZ;AACA,mBAAO,KAAKhD,aAAZ;AACH;AACD,aAAKA,aAAL,GAAqB,IAAIA,aAAJ,CAAkB,IAAlB,CAArB;AACH,KAPD;AAQH,CATD;;AAWA2G;;AAEAvH,UAAU4D,GAAV,CAAc,0DAAd;AACA5D,UAAU6D,EAAV,CAAa,0DAAb,EAAyE0D,IAAzE,E;;;;;;;AC/ZA,yC","file":"m-filter-date-range.js","sourcesContent":["require(\"pickmeup/css/pickmeup.scss\");\r\nrequire(\"./m-filter-date-range.scss\");\r\nlet Logger = require(\"utils/log-utils\");\r\n\r\nconst $ = require('jquery'),\r\n pickmeup = require(\"pickmeup/dist/pickmeup.min.js\"),\r\n currentLang = $('html').attr('lang');\r\nlet $document = $(document);\r\n\r\nconst isFrench = currentLang === \"fr\";\r\nconst moment = require(\"moment\");\r\nrequire(\"moment/locale/fr-ca\");\r\nrequire(\"moment/locale/en-ca\");\r\nmoment.locale(isFrench ? \"fr-ca\" : \"en-ca\");\r\n\r\npickmeup.defaults.locales['fr'] = {\r\n days: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],\r\n daysShort: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'],\r\n daysMin: ['D', 'L', 'M', 'M', 'J', 'V', 'S'],\r\n months: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],\r\n monthsShort: ['Jan', 'Fév', 'Mar', 'Avr', 'Mai', 'Jun', 'Jul', 'Août', 'Sep', 'Oct', 'Nov', 'Déc']\r\n};\r\n\r\npickmeup.defaults.locales['en'] = {\r\n days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\r\n daysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\r\n daysMin: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\r\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\r\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']\r\n};\r\n\r\nclass CalendarRange {\r\n constructor(container) {\r\n\r\n Logger.Log(\"CalendarRange m-filter-date-range\", \"Constructor called\");\r\n\r\n var calendarInstance = this;\r\n const $container = this.$container = $(container);\r\n this.dayInMs = 86400000;\r\n\r\n // L'élément contenant le calendrier\r\n const calendar = $container.find(\"[data-calendar-range]\").get(0);\r\n this.dateSelectedEventSuffix = $container.data(\"calendar-selected-event-suffix\");\r\n\r\n // Éléments contenant des messages\r\n this.$loading = $container.find(\"[data-calendar-loading]\");\r\n this.$available = $container.find(\"[data-calendar-available]\");\r\n this.$error = $container.find(\"[data-calendar-error]\");\r\n\r\n this.$startDateModeButton = $container.find(\"[data-filter-date-start]\");\r\n this.$endDateModeButton = $container.find(\"[data-filter-date-end]\");\r\n\r\n this.$startDateText = $container.find(\"[data-start-date-text]\");\r\n this.$endDateText = $container.find(\"[data-end-date-text]\");\r\n\r\n this.startDate = moment($container.data(\"start-date\"), \"YYYY-MM-DD HH:mm:ss\").toDate();\r\n this.endDate = moment($container.data(\"end-date\"), \"YYYY-MM-DD HH:mm:ss\").toDate();\r\n\r\n // Est-ce qu'on veut la mécanique de vérification de dispos, ou seulement la sélection de date\r\n this.behavior = $container.data(\"calendar-behavior\");\r\n\r\n // Lorsque true, toutes les dates sont désactivées\r\n this.loading = false;\r\n\r\n this.isStart = true;\r\n\r\n // Utilisé pour marquer des dates comme sélectionnées\r\n this.startTime = 0;\r\n this.endTime = 0;\r\n\r\n this.getMinDate = function () {\r\n var dateString = $container.attr(\"data-calendar-min-date\");\r\n\r\n if (dateString) {\r\n let date = moment(dateString, \"YYYY-MM-DD\").toDate();\r\n\r\n return date;\r\n }\r\n\r\n return null;\r\n };\r\n\r\n this.getMaxDate = function () {\r\n var dateString = $container.attr(\"data-calendar-max-date\");\r\n\r\n if (dateString) {\r\n let date = moment(dateString, \"YYYY-MM-DD\").toDate();\r\n\r\n // Ici, c'est correct de ne pas soustraire \"1\" jour du max date, \r\n // car l'utilisateur sélectionne la date de checkout.\r\n\r\n return date;\r\n }\r\n\r\n return null;\r\n };\r\n\r\n this.getNbOfNights = function () {\r\n const nbOfNights = moment(this.endDate).diff(moment(this.startDate), 'days');\r\n return nbOfNights;\r\n };\r\n\r\n const today = new Date();\r\n this.today = new Date(today.getFullYear(), today.getMonth(), today.getDate());\r\n\r\n pickmeup(calendar).destroy();\r\n this.pmu = pickmeup(calendar, {\r\n current: this.getMinDate() || this.startDate,\r\n class_name: 'm-filter-date-range__pickmeup',\r\n flat: true,\r\n first_day: 0,\r\n mode: 'single',\r\n min: 'current',\r\n format: 'Y-m-d',\r\n locale: currentLang,\r\n render: function (date) {\r\n return calendarInstance.render(date);\r\n }\r\n });\r\n\r\n $container.find(\"[data-filter-date-start]\").off(\"click.m-filter-date-range__events-regroupment\");\r\n $container.find(\"[data-filter-date-start]\").on(\"click.m-filter-date-range__events-regroupment\", function () {\r\n calendarInstance.toStartDateMode();\r\n calendarInstance.pmu.update();\r\n });\r\n\r\n $container.find(\"[data-filter-date-end]\").off(\"click.m-filter-date-range__events-regroupment\");\r\n $container.find(\"[data-filter-date-end]\").on(\"click.m-filter-date-range__events-regroupment\", function () {\r\n if (!calendarInstance.startDate) return;\r\n calendarInstance.toEndDateMode();\r\n calendarInstance.pmu.update();\r\n });\r\n\r\n // Est appelé dans le fichier m-lodging-choices.chunk.js. (lorsque le user clique sur le bouton de date de début)\r\n $container.off('m-filter-date-range_set-start-date-mode.m-filter-date-range__events-regroupment');\r\n $container.on('m-filter-date-range_set-start-date-mode.m-filter-date-range__events-regroupment', function (ev, start, end) {\r\n calendarInstance.startDate = moment(start, \"YYYY-MM-DD HH:mm:ss\").toDate();\r\n calendarInstance.endDate = moment(end, \"YYYY-MM-DD HH:mm:ss\").toDate();\r\n calendarInstance.toStartDateMode();\r\n });\r\n\r\n // Est appelé dans le fichier m-lodging-choices.chunk.js (lorsque le user clique sur le bouton de date de fin)\r\n $container.off('m-filter-date-range_set-end-date-mode.m-filter-date-range__events-regroupment');\r\n $container.on('m-filter-date-range_set-end-date-mode.m-filter-date-range__events-regroupment', function (ev, start, end) {\r\n calendarInstance.startDate = moment(start, \"YYYY-MM-DD HH:mm:ss\").toDate();\r\n calendarInstance.endDate = moment(end, \"YYYY-MM-DD HH:mm:ss\").toDate();\r\n calendarInstance.toEndDateMode();\r\n });\r\n\r\n $container.off('m-filter-date__do-update.m-filter-date-range__events-regroupment');\r\n $container.on('m-filter-date__do-update.m-filter-date-range__events-regroupment', function () {\r\n\r\n Logger.Log(\"CalendarRange m-filter-date-range\", \"do-update event listened, should do an update\");\r\n\r\n var minDate = calendarInstance.getMinDate();\r\n calendarInstance.pmu.clear();\r\n calendarInstance.setVisibleDate(minDate);\r\n calendarInstance.pmu.update();\r\n });\r\n calendar.addEventListener('pickmeup-change', ev => {\r\n Logger.Log(\"CalendarRange\", \"listened pickmeup-change event\");\r\n this.onDateChanged(ev.detail.date);\r\n });\r\n this.updateButtons();\r\n }\r\n\r\n updateDates(dates) {\r\n\r\n Logger.Log(\"CalendarRange updateDates\", dates);\r\n\r\n var newStartDate = dates.startDate;\r\n if (newStartDate) {\r\n\r\n if (newStartDate === this.startDate) {\r\n return;\r\n }\r\n\r\n if (dates.nights) {\r\n this.startDate = newStartDate;\r\n this.endDate = moment(newStartDate).add(dates.nights, 'day').toDate();\r\n } else {\r\n var rangeBetweenDates = this.endDate.getTime() - this.startDate.getTime();\r\n this.startDate = newStartDate;\r\n this.endDate = new Date(this.startDate.getTime() + rangeBetweenDates);\r\n }\r\n\r\n this.updateButtons();\r\n this.pmu.update();\r\n }\r\n }\r\n\r\n updateButtons() {\r\n if (this.isStart) {\r\n this.$endDateModeButton.removeClass(\"m-filter-date-range__date--active\");\r\n this.$startDateModeButton.removeClass(\"m-filter-date-range__date--active\").addClass(\"m-filter-date-range__date--active\");\r\n } else {\r\n this.$startDateModeButton.removeClass(\"m-filter-date-range__date--active\");\r\n this.$endDateModeButton.removeClass(\"m-filter-date-range__date--active\").addClass(\"m-filter-date-range__date--active\");\r\n }\r\n\r\n var displayFormat = isFrench ? \"D MMMM\" : \"MMMM Do\";\r\n\r\n if (this.endDate) {\r\n this.$endDateModeButton.text(moment(this.endDate).format(displayFormat));\r\n $(\"[data-end-date-open-overlay]\").data(\"displayed-date\", moment(this.endDate).format('YYYY-MM-DD')); // l'ouverture du overlay se fait sur le clique de ce bouton avec ce data attribute, dans le fichier m-lodging-choices\r\n }\r\n\r\n if (this.startDate) {\r\n this.$startDateModeButton.text(moment(this.startDate).format(displayFormat));\r\n $(\"[data-start-date-open-overlay]\").data(\"displayed-date\", moment(this.startDate).format('YYYY-MM-DD')); // l'ouverture du overlay se fait sur le clique de ce bouton avec ce data attribute, dans le fichier m-lodging-choices\r\n }\r\n }\r\n\r\n toStartDateMode() {\r\n this.isStart = true;\r\n this.$startDateText.show();\r\n this.$endDateText.hide();\r\n this.updateButtons();\r\n this.pmu.update();\r\n }\r\n\r\n toEndDateMode() {\r\n if (!this.startDate)\r\n return;\r\n\r\n this.isStart = false;\r\n this.$startDateText.hide();\r\n this.$endDateText.show();\r\n this.updateButtons();\r\n this.pmu.update();\r\n }\r\n\r\n onDateChanged(date, doNotToggle) {\r\n //if end date is the same as start date\r\n if (!this.isStart && date.valueOf() === this.startDate.valueOf()) return;\r\n\r\n var shouldToggle = true;\r\n\r\n if (this.isStart) {\r\n this.startDate = date;\r\n } else {\r\n if (date > this.startDate) {\r\n this.endDate = date;\r\n } else {\r\n shouldToggle = false;\r\n }\r\n\r\n $document.trigger('overlayCloseAll');\r\n this.syncOtherElements();\r\n }\r\n\r\n if (shouldToggle && !doNotToggle) {\r\n if (this.isStart) this.toEndDateMode();\r\n else this.toStartDateMode();\r\n }\r\n\r\n this.updateButtons();\r\n }\r\n\r\n syncTicketDateOrganism(dates) {\r\n\r\n // Si la molécule est dans un onglet on doit aller chercher le bon ticketDateElement du bon onglet.\r\n let $tabSection = this.$container.closest('[data-tab-section]');\r\n let ticketDateElement;\r\n\r\n if ($tabSection && $tabSection.length > 0) {\r\n ticketDateElement = $tabSection.find(\".o-ticket-date\").get(0);\r\n } else {\r\n ticketDateElement = $document.find(\".o-ticket-date\").get(0);\r\n }\r\n\r\n if (ticketDateElement && ticketDateElement.TicketDateHandler) {\r\n ticketDateElement.TicketDateHandler.updateDates(dates);\r\n }\r\n }\r\n\r\n syncLodgingChoicesMolecule(dates) {\r\n\r\n // Si la molécule est dans un onglet on doit aller chercher le bon lodgingChoicesElement du bon onglet.\r\n let $tabSection = this.$container.closest('[data-tab-section]');\r\n let lodgingChoicesElement;\r\n\r\n if ($tabSection && $tabSection.length > 0) {\r\n lodgingChoicesElement = $tabSection.find(\"[data-m-lodging-choices]\").get(0);\r\n } else {\r\n lodgingChoicesElement = $document.find(\"[data-m-lodging-choices]\").get(0);\r\n }\r\n\r\n if (lodgingChoicesElement && lodgingChoicesElement.Molecule) {\r\n lodgingChoicesElement.Molecule.updateDates(dates);\r\n }\r\n }\r\n\r\n syncOtherElements() {\r\n var dates = {\r\n startDate: this.startDate,\r\n endDate: this.endDate,\r\n nights: this.getNbOfNights()\r\n };\r\n\r\n this.syncTicketDateOrganism(dates);\r\n this.syncLodgingChoicesMolecule(dates);\r\n\r\n this.$container.data(\"start-date\", moment(this.startDate).format(\"YYYY-MM-DD HH:mm:ss\"));\r\n this.$container.data(\"end-date\", moment(this.endDate).format(\"YYYY-MM-DD HH:mm:ss\"));\r\n\r\n this.$container.trigger(\"params-selected\", {\r\n StartDate: moment(this.startDate).format(\"YYYY-MM-DD HH:mm:ss\"),\r\n NumberOfNights: moment(this.endDate).diff(moment(this.startDate), 'days')\r\n });\r\n }\r\n\r\n dispatchEvent(name, data) {\r\n\r\n Logger.Log('m-filter-date-range.chunk.js:dispatchEvent (Event Name)', name);\r\n Logger.Log('m-filter-date-range.chunk.js:dispatchEvent (Event Data)', data);\r\n\r\n const ev = document.createEvent(\"Event\");\r\n ev.detail = data;\r\n ev.initEvent(name, true, false);\r\n\r\n this.$container.get(0).dispatchEvent(ev);\r\n }\r\n\r\n showMessage($element) {\r\n this.$loading.hide();\r\n this.$available.hide();\r\n this.$unavailable.hide();\r\n this.$error.hide();\r\n\r\n $element && $element.show();\r\n }\r\n\r\n setVisibleDate(date) {\r\n this.pmu.set_date(date);\r\n }\r\n\r\n scrollOverlay() {\r\n this.$container.closest(\"[data-overlay-content]\").scrollTop(9999);\r\n }\r\n\r\n render(date) {\r\n\r\n //Logger.Log(\"CalendarRange\", \"Render Calendar\");\r\n\r\n var disabled = false;\r\n var selected = false;\r\n\r\n var minDate = this.getMinDate();\r\n var maxDate = this.getMaxDate();\r\n\r\n if (date < this.today ||\r\n (minDate && date < minDate) ||\r\n (maxDate && date > maxDate) ||\r\n (!this.endDate && this.startDate && date.valueOf() < this.startDate.valueOf())) {\r\n disabled = true;\r\n }\r\n\r\n if (!this.isStart && date < this.startDate) {\r\n disabled = true;\r\n }\r\n\r\n var today = new Date();\r\n today.setHours(0, 0, 0, 0);\r\n var dateDay = date;\r\n dateDay.setHours(0, 0, 0, 0);\r\n if (dateDay.valueOf() < today.valueOf()) {\r\n return {selected: false, disabled: true};\r\n }\r\n\r\n if (this.startDate && this.endDate && date >= this.startDate && date <= this.endDate) {\r\n selected = true;\r\n }\r\n\r\n var class_name = [];\r\n\r\n if (this.startDate && date.valueOf() === this.startDate.valueOf()) {\r\n selected = true;\r\n class_name.push('pmu-selected-first');\r\n }\r\n if (this.endDate && date.valueOf() === this.endDate.valueOf()) {\r\n selected = true;\r\n class_name.push('pmu-selected-last');\r\n }\r\n\r\n return {\r\n class_name: class_name.join(' '),\r\n selected: selected,\r\n disabled: disabled\r\n };\r\n }\r\n}\r\n\r\nlet init = function () {\r\n $(\"[data-m-filter-date-range]\").each(function () {\r\n if (this.CalendarRange)\r\n return;\r\n this.CalendarRange = new CalendarRange(this);\r\n });\r\n};\r\n\r\nlet reset = function () {\r\n $(\"[data-m-filter-date-range]\").each(function () {\r\n if (this.CalendarRange) {\r\n $(this).off(\"click\");\r\n $(this).off(\"pickmeup-change\");\r\n delete this.CalendarRange;\r\n }\r\n this.CalendarRange = new CalendarRange(this);\r\n });\r\n};\r\n\r\ninit();\r\n\r\n$document.off('jsInitAllScripts.m-filter-date-range__events-regroupment');\r\n$document.on('jsInitAllScripts.m-filter-date-range__events-regroupment', init);\r\n\n\n\n// WEBPACK FOOTER //\n// ./LeLab.Gcv.Web/src/atomic/molecule/m-filter-date-range/m-filter-date-range.chunk.js","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./LeLab.Gcv.Web/src/atomic/molecule/m-filter-date-range/m-filter-date-range.scss\n// module id = 386\n// module chunks = 140"],"sourceRoot":""}