var __awaiter=this&&this.__awaiter||function(t,e,n,i){function a(t){return t instanceof n?t:new n((function(e){e(t)}))}return new(n||(n=Promise))((function(n,r){function o(t){try{c(i.next(t))}catch(t){r(t)}}function s(t){try{c(i["throw"](t))}catch(t){r(t)}}function c(t){t.done?n(t.value):a(t.value).then(o,s)}c((i=i.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var n={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},i,a,r,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function s(t){return function(e){return c([t,e])}}function c(s){if(i)throw new TypeError("Generator is already executing.");while(o&&(o=0,s[0]&&(n=0)),n)try{if(i=1,a&&(r=s[0]&2?a["return"]:s[0]?a["throw"]||((r=a["return"])&&r.call(a),0):a.next)&&!(r=r.call(a,s[1])).done)return r;if(a=0,r)s=[s[0]&2,r.value];switch(s[0]){case 0:case 1:r=s;break;case 4:n.label++;return{value:s[1],done:false};case 5:n.label++;a=s[1];s=[0];continue;case 7:s=n.ops.pop();n.trys.pop();continue;default:if(!(r=n.trys,r=r.length>0&&r[r.length-1])&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!r||s[1]>r[0]&&s[1]0?k:[f()]);if(!_){return}var j=_[0];var O=l(h,x);n.dateText=n.timeText=undefined;switch(d){case"date-time":case"time-date":var I=m(h,j,(t=v===null||v===void 0?void 0:v.date)!==null&&t!==void 0?t:{month:"short",day:"numeric",year:"numeric"});var E=p(h,j,O,v===null||v===void 0?void 0:v.time);if(y){n.dateText="".concat(I," ").concat(E)}else{n.dateText=I;n.timeText=E}break;case"date":if(g&&k.length!==1){var D="".concat(k.length," days");if(w!==undefined){try{D=w(k)}catch(t){s("[ion-datetime-button] - Exception in provided `titleSelectedDatesFormatter`:",t)}}n.dateText=D}else{n.dateText=m(h,j,(e=v===null||v===void 0?void 0:v.date)!==null&&e!==void 0?e:{month:"short",day:"numeric",year:"numeric"})}break;case"time":n.timeText=p(h,j,O,v===null||v===void 0?void 0:v.time);break;case"month-year":n.dateText=m(h,j,(i=v===null||v===void 0?void 0:v.date)!==null&&i!==void 0?i:{month:"long",year:"numeric"});break;case"month":n.dateText=m(h,j,(a=v===null||v===void 0?void 0:v.time)!==null&&a!==void 0?a:{month:"long"});break;case"year":n.dateText=m(h,j,(r=v===null||v===void 0?void 0:v.time)!==null&&r!==void 0?r:{year:"numeric"});break}};this.waitForDatetimeChanges=function(){return __awaiter(n,void 0,void 0,(function(){var t;return __generator(this,(function(e){t=this.datetimeEl;if(!t){return[2,Promise.resolve()]}return[2,new Promise((function(e){r(t,"ionRender",e,{once:true})}))]}))}))};this.handleDateClick=function(t){return __awaiter(n,void 0,void 0,(function(){var e,n,i,a,r;return __generator(this,(function(o){e=this,n=e.datetimeEl,i=e.datetimePresentation;if(!n){return[2]}a=false;switch(i){case"date-time":case"time-date":r=n.presentation!=="date";if(!n.preferWheel&&r){n.presentation="date";a=true}break}this.selectedButton="date";this.presentOverlay(t,a,this.dateTargetEl);return[2]}))}))};this.handleTimeClick=function(t){var e=n,i=e.datetimeEl,a=e.datetimePresentation;if(!i){return}var r=false;switch(a){case"date-time":case"time-date":var o=i.presentation!=="time";if(o){i.presentation="time";r=true}break}n.selectedButton="time";n.presentOverlay(t,r,n.timeTargetEl)};this.presentOverlay=function(t,e,i){return __awaiter(n,void 0,void 0,(function(){var n;return __generator(this,(function(a){switch(a.label){case 0:n=this.overlayEl;if(!n){return[2]}if(!(n.tagName==="ION-POPOVER"))return[3,3];if(!e)return[3,2];return[4,this.waitForDatetimeChanges()];case 1:a.sent();a.label=2;case 2:n.present(Object.assign(Object.assign({},t),{detail:{ionShadowTarget:i}}));return[3,4];case 3:n.present();a.label=4;case 4:return[2]}}))}))};this.datetimePresentation="date-time";this.dateText=undefined;this.timeText=undefined;this.datetimeActive=false;this.selectedButton=undefined;this.color="primary";this.disabled=false;this.datetime=undefined}t.prototype.componentWillLoad=function(){return __awaiter(this,void 0,void 0,(function(){var t,e,n,i;var a=this;return __generator(this,(function(c){t=this.datetime;if(!t){s("[ion-datetime-button] - An ID associated with an ion-datetime instance is required to function properly.",this.el);return[2]}e=this.datetimeEl=document.getElementById(t);if(!e){s("[ion-datetime-button] - No ion-datetime instance found for ID '".concat(t,"'."),this.el);return[2]}if(e.tagName!=="ION-DATETIME"){s("[ion-datetime-button] - Expected an ion-datetime instance for ID '".concat(t,"' but received '").concat(e.tagName.toLowerCase(),"' instead."),e);return[2]}n=new IntersectionObserver((function(t){var e=t[0];a.datetimeActive=e.isIntersecting}),{threshold:.01});n.observe(e);i=this.overlayEl=e.closest("ion-modal, ion-popover");if(i){i.classList.add("ion-datetime-button-overlay")}o(e,(function(){var t=a.datetimePresentation=e.presentation||"date-time";a.setDateTimeText();r(e,"ionValueChange",a.setDateTimeText);switch(t){case"date-time":case"date":case"month-year":case"month":case"year":a.selectedButton="date";break;case"time-date":case"time":a.selectedButton="time";break}}));return[2]}))}))};t.prototype.render=function(){var t;var e=this;var a=this,r=a.color,o=a.dateText,s=a.timeText,u=a.selectedButton,f=a.datetimeActive,l=a.disabled;var m=d(this);return n(i,{key:"11d037e6ab061e5116842970760b04850b42f2c7",class:c(r,(t={},t[m]=true,t["".concat(u,"-active")]=f,t["datetime-button-disabled"]=l,t))},o&&n("button",{key:"08ecb62da0fcbf7466a1f2403276712a3ff17fbc",class:"ion-activatable",id:"date-button","aria-expanded":f?"true":"false",onClick:this.handleDateClick,disabled:l,part:"native",ref:function(t){return e.dateTargetEl=t}},n("slot",{key:"1c04853d4d23c0f1a594602bde44511c98355644",name:"date-target"},o),m==="md"&&n("ion-ripple-effect",{key:"5fc566cd4bc885bcf983ce99e3dc65d7f485bf9b"})),s&&n("button",{key:"c9c5c34ac338badf8659da22bea5829d62c51169",class:"ion-activatable",id:"time-button","aria-expanded":f?"true":"false",onClick:this.handleTimeClick,disabled:l,part:"native",ref:function(t){return e.timeTargetEl=t}},n("slot",{key:"147a9d2069dbf737f6fc64787823d6d5af5aa653",name:"time-target"},s),m==="md"&&n("ion-ripple-effect",{key:"70a5e25b75ed90ac6bba003468435f67aa9d8f0a"})))};Object.defineProperty(t.prototype,"el",{get:function(){return a(this)},enumerable:false,configurable:true});return t}());y.style={ios:h,md:x}}}}));