花桐はづき/伊藤さくら/鹿野レイ

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

5/4sat、ヤマブキ 花桐はづき/伊藤さくら/鹿野レイ OPEN18:00 START18:30 ADV¥3 […]

¥3000

實石亜也子/すずきゆい/ちょねさゆ

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

5/5sun、アイリス 實石亜也子/すずきゆい/ちょねさゆ OPEN18:00 START18:30 ADV¥ […]

¥3000

実歩 / みかんちょこ / RIJU / 久保田れな

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

5/6mon休夜、シラン 実歩 / みかんちょこ / RIJU / 久保田れな OPEN18:00 START […]

¥3000

百華勇乱/小川桃果/丸橋ミケ

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

5/9thu、Music Park #71 百華勇乱/小川桃果/丸橋ミケ OPEN18:30 START19: […]

¥3000

そたか/Kyon/mona

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

5/10fri、アヤメ そたか/Kyon/mona OPEN18:30 START19:00 ADV¥3000 […]

¥3000

佐京こはな / 真野琴々奏/世手子

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

5/12sun夜、ツンベルギア 佐京こはな / 真野琴々奏/世手子 OPEN18:00 START18:30 […]

¥3000

重田基喜/ガムガム/さのめいみ。

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

5/15wed、Music Park #72 重田基喜/ガムガム/さのめいみ。 OPEN19:00 START […]

flowered gem/すずもあゆみ/宮本沙也佳

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

5/18sat、ペチュニア flowered gem/すずもあゆみ/宮本沙也佳 OPEN11:30 START […]

¥3000

ユメギワユイ/大谷萌/sanoha/鈴木千絵

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

5/18sat、5月のお誕生日をお祝い ユメギワユイ/大谷萌/sanoha/鈴木千絵 OPEN18:00 ST […]

¥3000

野崎万葉

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

5/19sun昼、野崎万葉🐶ひろはっぴーぷちわんまん!vol.6 名前ぷちだけど内容プチじゃないですワンマン […]

¥3000

@ろくたん/胡桃沢はな/ARK

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

5/19sun、シャクヤク @ろくたん/胡桃沢はな/ARK OPEN18:00 START18:30 ADV¥ […]

Novaurelia/Moelys/相澤香純。/清野あやね

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

5/24fri、アカツメクサ Novaurelia/Moelys/相澤香純。/清野あやね OPEN18:30 […]

イトウカオル/つみキャロ/幻奏法師

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

5/25sat、ユズ イトウカオル/つみキャロ/幻奏法師 OPEN11:30 START12:00 ADV¥3 […]

はらあやの / 花桐はづき

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

5/25sat夜、ayano & Partenaire presents「濃いめ」 はらあやの / 花 […]

小松みゆ/大谷萌/藤本あかり

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

5/26sun、オリーブ 小松みゆ/大谷萌/藤本あかり OPEN11:30 START12:00 ADV¥30 […]

純美音/鳥居れな/りつフラワー

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

5/26sun、純美音&Partenaire presents【bouquet project】vol […]

高尾彩佳/Moelys/younA

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

5/27mon、Music Park #74 高尾彩佳/Moelys/younA OPEN18:30 STAR […]

百山月花/おおきあさみ/乙羽ゆか

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

5/28tue夜、御茶ノ水最高裁判所 5 (20) MC:百山月花 ゲスト: おおきあさみ / 乙羽ゆか OP […]

¥3000

實石亜也子/牧野くみ/そたか

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

5/30thu、Music Park #76 實石亜也子/牧野くみ/そたか OPEN18:30 START19 […]

きぬか/実歩/彩未凛/幻奏法師

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

6/1sat、カスミソウ きぬか/実歩/彩未凛/幻奏法師 OPEN18:00 START18:30 ADV¥3 […]

柊弥。/森田竜也/飛遥/dual6

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

6/5wed、Music Park #77 柊弥。/森田竜也/飛遥/dual6 OPEN18:30 START […]

せりかな/清原ありさ/marina

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

6/8sat、ジャスミン せりかな/清原ありさ/marina OPEN11:30 START12:00 ADV […]

SAEKA/tami/成田あより/mibuki

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

6/8sat、パルトネール×mibuki presents.「HOPE」〜リリース記念イベント〜 SAEKA/ […]

¥3000

相澤香純。 / Moelys / おおきあさみ

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

6/9sun昼、タイサンボク 相澤香純。 / Moelys / おおきあさみ OPEN11:30 START1 […]

川口心/小川桃果/CAVO/モリタクロウ

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

6/12wed、Music Park #78 川口心/小川桃果/CAVO/モリタクロウ OPEN18:30 S […]

¥3000

宮本沙也佳/藤本あかり/清野あやね

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

6/14fri、シモツケ 宮本沙也佳/藤本あかり/清野あやね OPEN18:30 START19:00 ADV […]

¥3000

真理/鈴木千絵/牛島隆太/前田有加里

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

は6/15sat、ヤマボウシ 真理/鈴木千絵/牛島隆太/前田有加里 OPEN11:30 START12:00 […]

¥3000

世莉奈/純美音/長澤明日香/近藤佑香

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

6/15sat、カーネーション〜近藤佑香ワンマン応援企画〜 世莉奈/純美音/長澤明日香/近藤佑香 OPEN18 […]

佑月/凪波/蜜城結々/そたか

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

6/16sun、ベロニカ 佑月/凪波/蜜城結々/そたか OPEN18:00 START18:30 ADV¥30 […]

¥3000

春歌/大希幸子/佐々木かの

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

6/17mon、Music Park #79 春歌/大希幸子/佐々木かの OPEN18:30 START19: […]

柊弥。 / 成家ひかる / 小平まりこ

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

6/21fri夜、アマリリス 柊弥。 / 成家ひかる / 小平まりこ OPEN18:30 START19:00 […]

冴夜 / 大谷萌 / 野崎万葉

御茶ノ水パルトネール 千代田区神田駿河台3-1大雅ビル3F 東京都 日本

6/22sat昼、スイカズラ 冴夜 / 大谷萌 / 野崎万葉 OPEN11:30 START12:00 ADV […]

`,props)} var external_wp_i18n_=__webpack_require__("l3Sj");function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})),keys.push.apply(keys,symbols)}return keys} function _objectSpread(target){for(var i=1;i{if(timerElement.dataset.token&&timerElement.dataset.postId&&timerElement.dataset.redirectUrl){token=timerElement.dataset.token;postId=timerElement.dataset.postId;redirectUrl=timerElement.dataset.redirectUrl;return!0} return!1});if(!(token&&postId&&redirectUrl)){return null} return{token,postId,redirectUrl}} function setTimerTimeLeft(timerElement,minutes,seconds){timerElement.classList.remove(hiddenClassName);const minutesElement=timerElement.querySelector('.tec-tickets-seating__time-minutes');const secondsElement=timerElement.querySelector('.tec-tickets-seating__time-seconds');if(!minutesElement||!secondsElement){return} minutesElement.innerText=minutes;secondsElement.innerText=String(seconds).padStart(2,'0')} function fetchInterruptModalData(){return _fetchInterruptModalData.apply(this,arguments)} function _fetchInterruptModalData(){_fetchInterruptModalData=asyncToGenerator_default()(function*(){const{postId,token}=findTimerData();const requestUrl=new URL(ajaxUrl);requestUrl.searchParams.set('_ajaxNonce',ajaxNonce);requestUrl.searchParams.set('action',ACTION_INTERRUPT_GET_DATA);requestUrl.searchParams.set('postId',postId);requestUrl.searchParams.set('token',token);const response=yield fetch(requestUrl.toString(),{method:'GET'});const defaultData={title:Object(external_wp_i18n_._x)('Time limit expired','Seat selection expired timer title','event-tickets'),content:Object(external_wp_i18n_._x)('Your seat selections are no longer reserved, but tickets are still available.','Seat selection expired timer content','event-tickets'),buttonLabel:Object(external_wp_i18n_._x)('Find Seats','Seat selection expired timer button label','event-tickets'),redirectUrl:window.location.href};if(!response.ok){console.error('Failed to fetch interrupt modal data');return defaultData} const responseJson=yield response.json();if(!(responseJson.success&&responseJson.data)){console.error('Failed to fetch interrupt modal data');return defaultData} return{title:responseJson.data.title||defaultData.title,content:responseJson.data.content||defaultData.content,buttonLabel:responseJson.data.buttonLabel||defaultData.buttonLabel,redirectUrl:responseJson.data.redirectUrl||defaultData.redirectUrl}});return _fetchInterruptModalData.apply(this,arguments)} function getInterruptDialogElement(){return _getInterruptDialogElement.apply(this,arguments)} function _getInterruptDialogElement(){_getInterruptDialogElement=asyncToGenerator_default()(function*(){var _getTimerElements;const firstTimerElement=(_getTimerElements=getTimerElements())===null||_getTimerElements===void 0?void 0:_getTimerElements[0];if(!firstTimerElement){console.warn('No timer element found');return null} const dialogDataJSAttribute='dialog-content-tec-tickets-seating-timer-interrupt';const{title,content,buttonLabel,redirectUrl}=yield fetchInterruptModalData();firstTimerElement.dataset.content=dialogDataJSAttribute;let appendTarget='.tec-tickets-seating__timer';const dialogParent=firstTimerElement.closest('.tribe-dialog');if(dialogParent){appendTarget='.tribe-tickets__tickets-form, .tec-tickets-seating__tickets-block'} if(!interruptDialogElement){var _targetDom$querySelec;interruptDialogElement=InterruptDialogComponent({dataJs:dialogDataJSAttribute,title,content,buttonLabel,redirectUrl});(_targetDom$querySelec=targetDom.querySelector(appendTarget))===null||_targetDom$querySelec===void 0?void 0:_targetDom$querySelec.appendChild(interruptDialogElement)} return new A11yDialog({trigger:'.tec-tickets-seating__timer',appendTarget,wrapperClasses:'tribe-dialog',overlayClasses:'tribe-dialog__overlay tribe-modal__overlay',contentClasses:'tribe-dialog__wrapper tribe-tickets-seating__interrupt-wrapper',overlayClickCloses:!1})});return _getInterruptDialogElement.apply(this,arguments)} function interrupt(){return _interrupt.apply(this,arguments)} function _interrupt(){_interrupt=asyncToGenerator_default()(function*(){if(!isInterruptable()){return} setIsInterruptable(!0);getTimerElements().forEach(timerElement=>{setTimerTimeLeft(timerElement,0,0)});setIsExpired(!0);clearTimeout(countdownTimeoutId);countdownTimeoutId=null;clearTimeout(healthCheckTimeoutId);healthCheckTimeoutId=null;const interruptDialog=yield getInterruptDialogElement();Object(external_wp_hooks_.doAction)('tec.tickets.seating.timer_interrupt');if(interruptDialog){interruptDialog.show();interruptDialog.shown=!1} setIsInterruptable(!1)});return _interrupt.apply(this,arguments)} function beaconInterrupt(){if(!isInterruptable()){return} const{postId,token}=findTimerData();const requestUrl=new URL(ajaxUrl);requestUrl.searchParams.set('_ajaxNonce',ajaxNonce);requestUrl.searchParams.set('action',ACTION_INTERRUPT_GET_DATA);requestUrl.searchParams.set('postId',postId);requestUrl.searchParams.set('token',token);window.navigator.sendBeacon(requestUrl.toString())} function startCountdownLoop(secondsLeft){if(!isInterruptable()){return} if(secondsLeft<=0){interrupt();return} setIsStarted(!0);countdownTimeoutId=setTimeout(()=>{secondsLeft-=1;getTimerElements().forEach(timerElement=>{setTimerTimeLeft(timerElement,Math.floor(secondsLeft/60),secondsLeft%60)});if(!isExpired()){startCountdownLoop(secondsLeft)}},1000)} function startHealthCheckLoop(){if(isExpired()||!isInterruptable()){return} healthCheckTimeoutId=setTimeout(asyncToGenerator_default()(function*(){yield syncWithBackend();startHealthCheckLoop()}),3*1000)} function syncWithBackend(){return _syncWithBackend.apply(this,arguments)} function _syncWithBackend(){_syncWithBackend=asyncToGenerator_default()(function*(){if(isExpired()||getTimerElements().length===0||!isInterruptable()){return} const secondsLeft=yield requestToBackend(ACTION_SYNC);if(secondsLeft<=0){interrupt();return} if(countdownTimeoutId){clearTimeout(countdownTimeoutId);countdownTimeoutId=null} startCountdownLoop(secondsLeft);if(!healthCheckTimeoutId){startHealthCheckLoop()}});return _syncWithBackend.apply(this,arguments)} function requestToBackend(_x2){return _requestToBackend.apply(this,arguments)} function _requestToBackend(){_requestToBackend=asyncToGenerator_default()(function*(action){const timerData=findTimerData();if(timerData===null){return!1} if([ACTION_START,ACTION_SYNC].indexOf(action)===-1){return!1} const requestUrl=new URL(ajaxUrl);requestUrl.searchParams.set('_ajaxNonce',ajaxNonce);requestUrl.searchParams.set('action',action);requestUrl.searchParams.set('token',timerData.token);requestUrl.searchParams.set('postId',timerData.postId);const response=yield fetch(requestUrl.toString(),{method:'POST'});if(!response.ok){return!1} const responseJson=yield response.json();if(!(responseJson.success&&responseJson.data.secondsLeft&&responseJson.data.timestamp)){console.error('Failed to communicate with the backend');return!1} const startTimerResponse=responseJson.data;return startTimerResponse.secondsLeft-Math.max(0,Math.floor(startTimerResponse.timestamp-Date.now()/1000))});return _requestToBackend.apply(this,arguments)} function start(){return _start.apply(this,arguments)} function _start(){_start=asyncToGenerator_default()(function*(){if(setIsStarted()||getTimerElements().length===0){return} const secondsLeft=yield requestToBackend(ACTION_START);const{postId,token}=findTimerData();if(!(secondsLeft&&postId&&token)){interrupt();return} const minutes=Math.floor(secondsLeft/60);const seconds=secondsLeft%60;getTimerElements().forEach(timerElement=>{setTimerTimeLeft(timerElement,minutes,seconds)});setIsStarted(!0);startCountdownLoop(secondsLeft);startHealthCheckLoop()});return _start.apply(this,arguments)} function session_reset(){if(countdownTimeoutId){clearTimeout(countdownTimeoutId)} if(healthCheckTimeoutId){clearTimeout(healthCheckTimeoutId)} if(resumeTimeoutId){clearTimeout(resumeTimeoutId)} started=!1;expired=!1;healthCheckTimeoutId=null;countdownTimeoutId=null;resumeTimeoutId=null;interruptable=!0;stopWatchingCheckoutControls()} function pause(){setIsInterruptable(!1);if(healthCheckTimeoutId){clearTimeout(healthCheckTimeoutId);healthCheckTimeoutId=null} if(countdownTimeoutId){clearTimeout(countdownTimeoutId);countdownTimeoutId=null} resumeTimeoutId=setTimeout(resume,30000)} function resume(){return _resume.apply(this,arguments)} function _resume(){_resume=asyncToGenerator_default()(function*(){if(resumeTimeoutId){clearTimeout(resumeTimeoutId);resumeTimeoutId=null} setIsInterruptable(!0);yield syncWithBackend()});return _resume.apply(this,arguments)} function setTargetDom(targetDocument){targetDom=targetDocument||document} function syncOnLoad(){return _syncOnLoad.apply(this,arguments)} function _syncOnLoad(){_syncOnLoad=asyncToGenerator_default()(function*(){const syncTimerElements=Array.from(getTimerElements()).filter(syncTimerElement=>{return'syncOnLoad' in syncTimerElement.dataset});if(syncTimerElements.length===0){return} setIsInterruptable(!0);window.addEventListener('beforeunload',beaconInterrupt);yield syncWithBackend()});return _syncOnLoad.apply(this,arguments)} function watchCheckoutControls(){const filteredCheckoutControls=Object(external_wp_hooks_.applyFilters)('tec.tickets.seating.frontend.session.checkoutControls',checkoutControlsSelectors);const checkoutControlElements=targetDom.querySelectorAll(filteredCheckoutControls);checkoutControlElements.forEach(checkoutControlElement=>{watchedCheckoutControls.push(checkoutControlElement);checkoutControlElement.addEventListener('click',pause);checkoutControlElement.addEventListener('submit',pause)})} function stopWatchingCheckoutControls(){watchedCheckoutControls.forEach(checkoutControlElement=>{checkoutControlElement.removeEventListener('click',pause);checkoutControlElement.removeEventListener('submit',pause)});watchedCheckoutControls=[]} function getWatchedCheckoutControls(){return watchedCheckoutControls} function setHealthcheckLoopId(id){healthCheckTimeoutId=id;return healthCheckTimeoutId} function getHealthcheckTimeoutId(){return healthCheckTimeoutId} function getCountdownTimeoutId(){return countdownTimeoutId} function getResumeTimeoutId(){return resumeTimeoutId} Object(external_tec_tickets_seating_utils_.onReady)(()=>syncOnLoad());Object(external_tec_tickets_seating_utils_.onReady)(()=>watchCheckoutControls());window.tec=window.tec||{};window.tec.tickets=window.tec.tickets||{};window.tec.tickets.seating=window.tec.tickets.seating||{};window.tec.tickets.seating.frontend=window.tec.tickets.seating.frontend||{};window.tec.tickets.seating.frontend.session=_objectSpread(_objectSpread({},window.tec.tickets.seating.frontend.session||{}),{},{start,reset:session_reset,syncOnLoad,interrupt,setIsInterruptable})}),"MsaN":(function(module,exports){module.exports=tec.tickets.seating.utils}),"g56x":(function(module,exports){module.exports=wp.hooks}),"l3Sj":(function(module,exports){module.exports=wp.i18n}),"lo4d":(function(module,exports,__webpack_require__){})})