UNPKG

framework7

Version:

Full featured mobile HTML framework for building iOS & Android apps

1 lines 33.7 kB
(function framework7ComponentLoader(e,a){void 0===a&&(a=!0);document,window;var b=e.$,c=(e.Template7,e.utils),t=(e.device,e.support,e.Class),n=(e.Modal,e.ConstructorMethods);e.ModalMethods;function s(e,a,t){return"[object Date]"===Object.prototype.toString.call(e)&&(t=e.getDate(),a=e.getMonth()+1,e=e.getFullYear()),function(e){var a,t,n,r=p(e).gy,o=r-621,l=d(o),s=h(r,3,l.march);if(0<=(n=e-s)){if(n<=185)return t=1+u(n,31),a=m(n,31)+1,{jy:o,jm:t,jd:a};n-=186}else o-=1,n+=179,1===l.leap&&(n+=1);return t=7+u(n,30),a=m(n,30)+1,{jy:o,jm:t,jd:a}}(h(e,a,t))}function i(e,a,t){return p((n=a,r=t,h((o=d(e)).gy,3,o.march)+31*(n-1)-u(n,7)*(n-7)+r-1));var n,r,o}function r(e,a){return a<=6?31:a<=11?30:0===d(e).leap?30:29}function d(e){var a,t,n,r,o,l,s=[-61,9,38,199,426,686,756,818,1111,1181,1210,1635,2060,2097,2192,2262,2324,2394,2456,3178],i=s.length,d=e+621,c=-14,h=s[0];if(e<h||s[i-1]<=e)throw new Error("Invalid Jalaali year "+e);for(l=1;l<i&&(t=(a=s[l])-h,!(e<a));l+=1)c=c+8*u(t,33)+u(m(t,33),4),h=a;return c=c+8*u(o=e-h,33)+u(m(o,33)+3,4),4===m(t,33)&&t-o==4&&(c+=1),r=20+c-(u(d,4)-u(3*(u(d,100)+1),4)-150),t-o<6&&(o=o-t+33*u(t+4,33)),-1===(n=m(m(o+1,33)-1,4))&&(n=4),{leap:n,gy:d,march:r}}function h(e,a,t){var n=u(1461*(e+u(a-8,6)+100100),4)+u(153*m(a+9,12)+2,5)+t-34840408;return n=n-u(3*u(e+100100+u(a-8,6),100),4)+752}function p(e){var a,t,n,r;return n=u(m(t=5*u(m(a=(a=4*e+139361631)+4*u(3*u(4*e+183187720,146097),4)-3908,1461),4)+308,153),5)+1,r=m(u(t,153),12)+1,{gy:u(a,1461)-100100+u(8-r,6),gm:r,gd:n}}function u(e,a){return~~(e/a)}function m(e,a){return e-~~(e/a)*a}function v(e,a,t){for(11<a&&(e+=Math.floor(a/12),a%=12);a<0;)e-=1,a+=12;for(;t>r(e,a+1);)t-=r(e=0===(a=11!==a?a+1:0)?e+1:e,a+1);for(;t<=0;)t+=r(e=11===(a=0!==a?a-1:11)?e-1:e,a+1);return[e,a||0,t||1]}var g=["getHours","getMilliseconds","getMinutes","getSeconds","getTime","getTimezoneOffset","getUTCDate","getUTCDay","getUTCFullYear","getUTCHours","getUTCMilliseconds","getUTCMinutes","getUTCMonth","getUTCSeconds","now","parse","setHours","setMilliseconds","setMinutes","setSeconds","setTime","setUTCDate","setUTCFullYear","setUTCHours","setUTCMilliseconds","setUTCMinutes","setUTCMonth","setUTCSeconds","toDateString","toISOString","toJSON","toLocaleDateString","toLocaleTimeString","toLocaleString","toTimeString","toUTCString","UTC","valueOf"],f=["Shanbe","Yekshanbe","Doshanbe","Seshanbe","Chaharshanbe","Panjshanbe","Jom'e"],y=["شنبه","یکشنبه","دوشنبه","سه‌شنبه","چهارشنبه","پنجشنبه","جمعه"],C=["Farvardin","Ordibehesht","Khordad","Tir","Mordad","Shahrivar","Mehr","Aban","Azar","Dey","Bahman","Esfand"],M=["فروردین","اردیبهشت","خرداد","تیر","مرداد","شهریور","مهر","آبان","آذر","دی","بهمن","اسفند"],D=["۰","۱","۲","۳","۴","۵","۶","۷","۸","۹"],T=function(o){function l(){var e;o.call(this);var a=Array.from(arguments);if(0===a.length)e=o.now();else if(1===a.length)e=a[0]instanceof o?a[0].getTime():a[0];else{var t=v(a[0],a[1]||0,void 0===a[2]?1:a[2]),n=i(t[0],t[1]+1,t[2]);e=[n.gy,n.gm-1,n.gd].concat([a[3]||0,a[4]||0,a[5]||0,a[6]||0])}Array.isArray(e)?this.gdate=new(Function.prototype.bind.apply(o,[null].concat(e))):this.gdate=new o(e);var r=s(this.gdate.getFullYear(),this.gdate.getMonth()+1,this.gdate.getDate());this.jdate=[r.jy,r.jm-1,r.jd],g.forEach(function(a){l.prototype[a]=function(){var e;return(e=this.gdate)[a].apply(e,arguments)}})}return o&&(l.__proto__=o),((l.prototype=Object.create(o&&o.prototype)).constructor=l).prototype.getFullYear=function(){return this.jdate[0]},l.prototype.setFullYear=function(e){return this.jdate=v(e,this.jdate[1],this.jdate[2]),this.syncDate(),this.gdate.getTime()},l.prototype.getMonth=function(){return this.jdate[1]},l.prototype.setMonth=function(e){return this.jdate=v(this.jdate[0],e,this.jdate[2]),this.syncDate(),this.gdate.getTime()},l.prototype.getDate=function(){return this.jdate[2]},l.prototype.setDate=function(e){return this.jdate=v(this.jdate[0],this.jdate[1],e),this.syncDate(),this.gdate.getTime()},l.prototype.getDay=function(){return(this.gdate.getDay()+1)%7},l.prototype.syncDate=function(){var e=i(this.jdate[0],this.jdate[1]+1,this.jdate[2]);this.gdate.setFullYear(e.gy),this.gdate.setMonth(e.gm-1),this.gdate.setDate(e.gd)},l.prototype.toString=function(e){void 0===e&&(e=!0);var a=function(e){return 1===e.toString().length?"0"+e:e.toString()},t=a(this.getHours())+":"+a(this.getMinutes())+":"+a(this.getSeconds());return e?(y[this.getDay()]+" "+this.getDate()+" "+M[this.getMonth()]+" "+this.getFullYear()+" ساعت "+t).replace(/./g,function(e){return D[e]||e}):f[this.getDay()]+" "+this.getDate()+" "+C[this.getMonth()]+" "+this.getFullYear()+" "+t},l}(Date),o=function(d){function e($,a){void 0===a&&(a={}),d.call(this,a,[$]);var e,t,n,k=this;if(k.params=c.extend({},$.params.calendar,a),"jalali"===k.params.calendarType&&Object.keys(k.params.jalali).forEach(function(e){a[e]||(k.params[e]=k.params.jalali[e])}),"jalali"===k.params.calendarType?k.DateHandleClass=T:k.DateHandleClass=Date,k.params.containerEl&&0===(e=b(k.params.containerEl)).length)return k;k.params.inputEl&&(t=b(k.params.inputEl)),t&&(n=t.parents(".view").length&&t.parents(".view")[0].f7View),n||(n=$.views.main);var r="horizontal"===k.params.direction,o=1;function l(){k.open()}function s(e){e.preventDefault()}function i(e){var a=b(e.target);k.isPopover()||k.opened&&!k.closing&&(a.closest('[class*="backdrop"]').length||(t&&0<t.length?a[0]!==t[0]&&0===a.closest(".sheet-modal, .calendar-modal").length&&k.close():0===b(e.target).closest(".sheet-modal, .calendar-modal").length&&k.close()))}return r&&(o=$.rtl?-1:1),c.extend(k,{app:$,$containerEl:e,containerEl:e&&e[0],inline:e&&0<e.length,$inputEl:t,inputEl:t&&t[0],initialized:!1,opened:!1,url:k.params.url,isHorizontal:r,inverter:o,view:n,animating:!1}),c.extend(k,{attachInputEvents:function(){k.$inputEl.on("click",l),k.params.inputReadOnly&&k.$inputEl.on("focus mousedown",s)},detachInputEvents:function(){k.$inputEl.off("click",l),k.params.inputReadOnly&&k.$inputEl.off("focus mousedown",s)},attachHtmlEvents:function(){$.on("click",i)},detachHtmlEvents:function(){$.off("click",i)}}),k.attachCalendarEvents=function(){var t,n,r,o,l,s,a,i,d,c,h,p,u,m=!0,e=k.$el,v=k.$wrapperEl;function g(e){n||t||(t=!0,r="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,l=r,o="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY,s=o,a=(new k.DateHandleClass).getTime(),m=!(h=0),u=void 0,i=k.monthsTranslate)}function f(e){if(t){var a=k.isHorizontal;l="touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,s="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,void 0===u&&(u=!!(u||Math.abs(s-o)>Math.abs(l-r))),a&&u?t=!1:(e.preventDefault(),k.animating?t=!1:(m=!1,n||(n=!0,d=v[0].offsetWidth,c=v[0].offsetHeight,v.transition(0)),h=(p=a?l-r:s-o)/(a?d:c),i=100*(k.monthsTranslate*k.inverter+h),v.transform("translate3d("+(a?i:0)+"%, "+(a?0:i)+"%, 0)")))}}function y(){t&&n?(n=t=!1,(new k.DateHandleClass).getTime()-a<300?Math.abs(p)<10?k.resetMonth():10<=p?$.rtl?k.nextMonth():k.prevMonth():$.rtl?k.prevMonth():k.nextMonth():h<=-.5?$.rtl?k.prevMonth():k.nextMonth():.5<=h?$.rtl?k.nextMonth():k.prevMonth():k.resetMonth(),setTimeout(function(){m=!0},100)):n=t=!1}function C(e){if(m){var a=b(e.target).parents(".calendar-day");if(0===a.length&&b(e.target).hasClass("calendar-day")&&(a=b(e.target)),0!==a.length&&!a.hasClass("calendar-day-disabled")){k.params.rangePicker||(a.hasClass("calendar-day-next")&&k.nextMonth(),a.hasClass("calendar-day-prev")&&k.prevMonth());var t=parseInt(a.attr("data-year"),10),n=parseInt(a.attr("data-month"),10),r=parseInt(a.attr("data-day"),10);k.emit("local::dayClick calendarDayClick",k,a[0],t,n,r),(!a.hasClass("calendar-day-selected")||k.params.multiple||k.params.rangePicker)&&k.addValue(new k.DateHandleClass(t,n,r,0,0,0)),k.params.closeOnSelect&&(k.params.rangePicker&&2===k.value.length||!k.params.rangePicker)&&k.close()}}}function M(){k.nextMonth()}function D(){k.prevMonth()}function T(){k.nextYear()}function w(){k.prevYear()}var H=!("touchstart"!==$.touchEvents.start||!$.support.passiveListener)&&{passive:!0,capture:!1};e.find(".calendar-prev-month-button").on("click",D),e.find(".calendar-next-month-button").on("click",M),e.find(".calendar-prev-year-button").on("click",w),e.find(".calendar-next-year-button").on("click",T),v.on("click",C),k.params.touchMove&&(v.on($.touchEvents.start,g,H),$.on("touchmove:active",f),$.on("touchend:passive",y)),k.detachCalendarEvents=function(){e.find(".calendar-prev-month-button").off("click",D),e.find(".calendar-next-month-button").off("click",M),e.find(".calendar-prev-year-button").off("click",w),e.find(".calendar-next-year-button").off("click",T),v.off("click",C),k.params.touchMove&&(v.off($.touchEvents.start,g,H),$.off("touchmove:active",f),$.off("touchend:passive",y))}},k.init(),k}return d&&(e.__proto__=d),((e.prototype=Object.create(d&&d.prototype)).constructor=e).prototype.normalizeDate=function(e){var a=new this.DateHandleClass(e);return new this.DateHandleClass(a.getFullYear(),a.getMonth(),a.getDate())},e.prototype.normalizeValues=function(e){var a=this,t=[];return e&&Array.isArray(e)&&(t=e.map(function(e){return a.normalizeDate(e)})),t},e.prototype.initInput=function(){this.$inputEl&&this.params.inputReadOnly&&this.$inputEl.prop("readOnly",!0)},e.prototype.isPopover=function(){var e=this,a=e.app,t=e.modal,n=e.params;if("sheet"===n.openIn)return!1;if(t&&"popover"!==t.type)return!1;if(!e.inline&&e.inputEl){if("popover"===n.openIn)return!0;if(a.device.ios)return!!a.device.ipad;if(768<=a.width)return!0}return!1},e.prototype.formatDate=function(e){var a=new this.DateHandleClass(e),t=a.getFullYear(),n=a.getMonth(),r=n+1,o=a.getDate(),l=a.getDay(),s=this.params,i=s.dateFormat,d=s.monthNames,c=s.monthNamesShort,h=s.dayNames,p=s.dayNamesShort;return i.replace(/yyyy/g,t).replace(/yy/g,String(t).substring(2)).replace(/mm/g,r<10?"0"+r:r).replace(/m(\W+)/g,r+"$1").replace(/MM/g,d[n]).replace(/M(\W+)/g,c[n]+"$1").replace(/dd/g,o<10?"0"+o:o).replace(/d(\W+)/g,o+"$1").replace(/DD/g,h[l]).replace(/D(\W+)/g,p[l]+"$1")},e.prototype.formatValue=function(){var a=this,e=a.value;return a.params.formatValue?a.params.formatValue.call(a,e):e.map(function(e){return a.formatDate(e)}).join(a.params.rangePicker?" - ":", ")},e.prototype.addValue=function(e){var a=this,t=a.params,n=t.multiple,r=t.rangePicker,o=t.rangePickerMinDays,l=t.rangePickerMaxDays;if(n){var s;a.value||(a.value=[]);for(var i=0;i<a.value.length;i+=1)new a.DateHandleClass(e).getTime()===new a.DateHandleClass(a.value[i]).getTime()&&(s=i);void 0===s?a.value.push(e):a.value.splice(s,1),a.updateValue()}else r?(a.value||(a.value=[]),2!==a.value.length&&0!==a.value.length||(a.value=[]),0===a.value.length||Math.abs(a.value[0].getTime()-e.getTime())>=60*(o-1)*60*24*1e3&&(0===l||Math.abs(a.value[0].getTime()-e.getTime())<=60*(l-1)*60*24*1e3)?a.value.push(e):a.value=[],a.value.sort(function(e,a){return e-a})):a.value=[e],a.updateValue()},e.prototype.setValue=function(e){this.value=e,this.updateValue()},e.prototype.getValue=function(){return this.value},e.prototype.updateValue=function(e){var a,t,n=this,r=n.$el,o=n.$wrapperEl,l=n.$inputEl,s=n.value,i=n.params;if(r&&0<r.length)if(o.find(".calendar-day-selected").removeClass("calendar-day-selected"),i.rangePicker&&2===s.length)for(a=new n.DateHandleClass(s[0]).getTime();a<=new n.DateHandleClass(s[1]).getTime();a+=864e5)t=new n.DateHandleClass(a),o.find('.calendar-day[data-date="'+t.getFullYear()+"-"+t.getMonth()+"-"+t.getDate()+'"]').addClass("calendar-day-selected");else for(a=0;a<n.value.length;a+=1)t=new n.DateHandleClass(s[a]),o.find('.calendar-day[data-date="'+t.getFullYear()+"-"+t.getMonth()+"-"+t.getDate()+'"]').addClass("calendar-day-selected");if(e||n.emit("local::change calendarChange",n,s),l&&l.length||i.header){var d=n.formatValue(s);i.header&&r&&r.length&&r.find(".calendar-selected-date").text(d),l&&l.length&&!e&&(l.val(d),l.trigger("change"))}},e.prototype.updateCurrentMonthYear=function(e){var a=this,t=a.$months,n=a.$el,r=a.params;a.currentYear=void 0===e?(a.currentMonth=parseInt(t.eq(1).attr("data-month"),10),parseInt(t.eq(1).attr("data-year"),10)):(a.currentMonth=parseInt(t.eq("next"===e?t.length-1:0).attr("data-month"),10),parseInt(t.eq("next"===e?t.length-1:0).attr("data-year"),10)),n.find(".current-month-value").text(r.monthNames[a.currentMonth]),n.find(".current-year-value").text(a.currentYear)},e.prototype.update=function(){var t=this,e=t.currentYear,a=t.currentMonth,n=t.$wrapperEl,r=new t.DateHandleClass(e,a),o=t.renderMonth(r,"prev"),l=t.renderMonth(r),s=t.renderMonth(r,"next");n.transition(0).html(""+o+l+s).transform("translate3d(0,0,0)"),t.$months=n.find(".calendar-month"),t.monthsTranslate=0,t.setMonthsTranslate(),t.$months.each(function(e,a){t.emit("local::monthAdd calendarMonthAdd",a)})},e.prototype.onMonthChangeStart=function(e){var a=this,t=a.$months,n=a.currentYear,r=a.currentMonth;a.updateCurrentMonthYear(e),t.removeClass("calendar-month-current calendar-month-prev calendar-month-next");var o="next"===e?t.length-1:0;t.eq(o).addClass("calendar-month-current"),t.eq("next"===e?o-1:o+1).addClass("next"===e?"calendar-month-prev":"calendar-month-next"),a.emit("local::monthYearChangeStart calendarMonthYearChangeStart",a,n,r)},e.prototype.onMonthChangeEnd=function(e,a){var t,n,r,o=this,l=o.currentYear,s=o.currentMonth,i=o.$wrapperEl,d=o.monthsTranslate;o.animating=!1,i.find(".calendar-month:not(.calendar-month-prev):not(.calendar-month-current):not(.calendar-month-next)").remove(),void 0===e&&(e="next",a=!0),a?(i.find(".calendar-month-next, .calendar-month-prev").remove(),n=o.renderMonth(new o.DateHandleClass(l,s),"prev"),t=o.renderMonth(new o.DateHandleClass(l,s),"next")):r=o.renderMonth(new o.DateHandleClass(l,s),e),("next"===e||a)&&i.append(r||t),("prev"===e||a)&&i.prepend(r||n);var c=i.find(".calendar-month");o.$months=c,o.setMonthsTranslate(d),o.emit("local::monthAdd calendarMonthAdd",o,"next"===e?c.eq(c.length-1)[0]:c.eq(0)[0]),o.emit("local::monthYearChangeEnd calendarMonthYearChangeEnd",o,l,s)},e.prototype.setMonthsTranslate=function(e){var a=this,t=a.$months,n=a.isHorizontal,r=a.inverter;e=e||a.monthsTranslate||0,void 0===a.monthsTranslate&&(a.monthsTranslate=e),t.removeClass("calendar-month-current calendar-month-prev calendar-month-next");var o=100*-(e+1)*r,l=100*-e*r,s=100*-(e-1)*r;t.eq(0).transform("translate3d("+(n?o:0)+"%, "+(n?0:o)+"%, 0)").addClass("calendar-month-prev"),t.eq(1).transform("translate3d("+(n?l:0)+"%, "+(n?0:l)+"%, 0)").addClass("calendar-month-current"),t.eq(2).transform("translate3d("+(n?s:0)+"%, "+(n?0:s)+"%, 0)").addClass("calendar-month-next")},e.prototype.nextMonth=function(e){var a=this,t=a.params,n=a.$wrapperEl,r=a.inverter,o=a.isHorizontal;void 0!==e&&"object"!=typeof e||(e="",t.animate||(e=0));var l=parseInt(a.$months.eq(a.$months.length-1).attr("data-month"),10),s=parseInt(a.$months.eq(a.$months.length-1).attr("data-year"),10),i=new a.DateHandleClass(s,l).getTime(),d=!a.animating;if(t.maxDate&&i>new a.DateHandleClass(t.maxDate).getTime())a.resetMonth();else{if(a.monthsTranslate-=1,l===a.currentMonth){var c=100*-a.monthsTranslate*r,h=b(a.renderMonth(i,"next")).transform("translate3d("+(o?c:0)+"%, "+(o?0:c)+"%, 0)").addClass("calendar-month-next");n.append(h[0]),a.$months=n.find(".calendar-month"),a.emit("local::monthAdd calendarMonthAdd",a.$months.eq(a.$months.length-1)[0])}a.animating=!0,a.onMonthChangeStart("next");var p=100*a.monthsTranslate*r;n.transition(e).transform("translate3d("+(o?p:0)+"%, "+(o?0:p)+"%, 0)"),d&&n.transitionEnd(function(){a.onMonthChangeEnd("next")}),t.animate||a.onMonthChangeEnd("next")}},e.prototype.prevMonth=function(e){var a=this,t=a.params,n=a.$wrapperEl,r=a.inverter,o=a.isHorizontal;void 0!==e&&"object"!=typeof e||(e="",t.animate||(e=0));var l=parseInt(a.$months.eq(0).attr("data-month"),10),s=parseInt(a.$months.eq(0).attr("data-year"),10),i=new a.DateHandleClass(s,l+1,-1).getTime(),d=!a.animating;if(t.minDate){var c=new a.DateHandleClass(t.minDate);if(i<(c=new a.DateHandleClass(c.getFullYear(),c.getMonth(),1)).getTime())return void a.resetMonth()}if(a.monthsTranslate+=1,l===a.currentMonth){var h=100*-a.monthsTranslate*r,p=b(a.renderMonth(i,"prev")).transform("translate3d("+(o?h:0)+"%, "+(o?0:h)+"%, 0)").addClass("calendar-month-prev");n.prepend(p[0]),a.$months=n.find(".calendar-month"),a.emit("local::monthAdd calendarMonthAdd",a.$months.eq(0)[0])}a.animating=!0,a.onMonthChangeStart("prev");var u=100*a.monthsTranslate*r;n.transition(e).transform("translate3d("+(o?u:0)+"%, "+(o?0:u)+"%, 0)"),d&&n.transitionEnd(function(){a.onMonthChangeEnd("prev")}),t.animate||a.onMonthChangeEnd("prev")},e.prototype.resetMonth=function(e){void 0===e&&(e="");var a=this.$wrapperEl,t=this.inverter,n=this.isHorizontal,r=100*this.monthsTranslate*t;a.transition(e).transform("translate3d("+(n?r:0)+"%, "+(n?0:r)+"%, 0)")},e.prototype.setYearMonth=function(e,a,t){var n,r=this,o=r.params,l=r.isHorizontal,s=r.$wrapperEl,i=r.inverter;if(void 0===e&&(e=r.currentYear),void 0===a&&(a=r.currentMonth),void 0!==t&&"object"!=typeof t||(t="",o.animate||(t=0)),n=e<r.currentYear?new r.DateHandleClass(e,a+1,-1).getTime():new r.DateHandleClass(e,a).getTime(),o.maxDate&&n>new r.DateHandleClass(o.maxDate).getTime())return!1;if(o.minDate){var d=new r.DateHandleClass(o.minDate);if(n<(d=new r.DateHandleClass(d.getFullYear(),d.getMonth(),1)).getTime())return!1}var c=new r.DateHandleClass(r.currentYear,r.currentMonth).getTime(),h=c<n?"next":"prev",p=r.renderMonth(new r.DateHandleClass(e,a));r.monthsTranslate=r.monthsTranslate||0;var u,m=r.monthsTranslate,v=!r.animating;c<n?(r.monthsTranslate-=1,r.animating||r.$months.eq(r.$months.length-1).remove(),s.append(p),r.$months=s.find(".calendar-month"),u=100*-(m-1)*i,r.$months.eq(r.$months.length-1).transform("translate3d("+(l?u:0)+"%, "+(l?0:u)+"%, 0)").addClass("calendar-month-next")):(r.monthsTranslate+=1,r.animating||r.$months.eq(0).remove(),s.prepend(p),r.$months=s.find(".calendar-month"),u=100*-(m+1)*i,r.$months.eq(0).transform("translate3d("+(l?u:0)+"%, "+(l?0:u)+"%, 0)").addClass("calendar-month-prev")),r.emit("local::monthAdd calendarMonthAdd","next"===h?r.$months.eq(r.$months.length-1)[0]:r.$months.eq(0)[0]),r.animating=!0,r.onMonthChangeStart(h);var g=100*r.monthsTranslate*i;s.transition(t).transform("translate3d("+(l?g:0)+"%, "+(l?0:g)+"%, 0)"),v&&s.transitionEnd(function(){r.onMonthChangeEnd(h,!0)}),o.animate||r.onMonthChangeEnd(h)},e.prototype.nextYear=function(){this.setYearMonth(this.currentYear+1)},e.prototype.prevYear=function(){this.setYearMonth(this.currentYear-1)},e.prototype.dateInRange=function(e,a){var t,n=this,r=!1;if(!a)return!1;if(Array.isArray(a))for(t=0;t<a.length;t+=1)a[t].from||a[t].to?a[t].from&&a[t].to?e<=new n.DateHandleClass(a[t].to).getTime()&&e>=new n.DateHandleClass(a[t].from).getTime()&&(r=!0):a[t].from?e>=new n.DateHandleClass(a[t].from).getTime()&&(r=!0):a[t].to&&e<=new n.DateHandleClass(a[t].to).getTime()&&(r=!0):a[t].date?e===new n.DateHandleClass(a[t].date).getTime()&&(r=!0):e===new n.DateHandleClass(a[t]).getTime()&&(r=!0);else a.from||a.to?a.from&&a.to?e<=new n.DateHandleClass(a.to).getTime()&&e>=new n.DateHandleClass(a.from).getTime()&&(r=!0):a.from?e>=new n.DateHandleClass(a.from).getTime()&&(r=!0):a.to&&e<=new n.DateHandleClass(a.to).getTime()&&(r=!0):a.date?r=e===new n.DateHandleClass(a.date).getTime():"function"==typeof a&&(r=a(new n.DateHandleClass(e)));return r},e.prototype.daysInMonth=function(e){var a=new this.DateHandleClass(e);return new this.DateHandleClass(a.getFullYear(),a.getMonth()+1,0).getDate()},e.prototype.renderMonths=function(e){var a=this;return a.params.renderMonths?a.params.renderMonths.call(a,e):('\n <div class="calendar-months-wrapper">\n '+a.renderMonth(e,"prev")+"\n "+a.renderMonth(e)+"\n "+a.renderMonth(e,"next")+"\n </div>\n ").trim()},e.prototype.renderMonth=function(e,a){var c=this,h=c.params,t=c.value;if(h.renderMonth)return h.renderMonth.call(c,e,a);var n=new c.DateHandleClass(e),p=n.getFullYear(),u=n.getMonth();"next"===a&&(n=11===u?new c.DateHandleClass(p+1,0):new c.DateHandleClass(p,u+1,1)),"prev"===a&&(n=0===u?new c.DateHandleClass(p-1,11):new c.DateHandleClass(p,u-1,1)),"next"!==a&&"prev"!==a||(u=n.getMonth(),p=n.getFullYear());var m,v,g=[],f=(new c.DateHandleClass).setHours(0,0,0,0),y=h.minDate?new c.DateHandleClass(h.minDate).getTime():null,C=h.maxDate?new c.DateHandleClass(h.maxDate).getTime():null,M=c.daysInMonth(new c.DateHandleClass(n.getFullYear(),n.getMonth()).getTime()-864e6),D=c.daysInMonth(n),T=6===h.firstDay?0:1,r="",w=h.firstDay-1+0,H=new c.DateHandleClass(n.getFullYear(),n.getMonth()).getDay();if(0===H&&(H=7),t&&t.length)for(var o=0;o<t.length;o+=1)g.push(new c.DateHandleClass(t[o]).setHours(0,0,0,0));for(var $=1;$<=6;$+=1){for(var k="",l=function(e){var t=void 0,a=(w+=1)-H,n="";1===$&&1===e&&T<a&&1!==h.firstDay&&(a=(w-=7)-H);var r=6<e-1+h.firstDay?e-1-7+h.firstDay:e-1+h.firstDay;(t=a<0?(a=M+a+1,n+=" calendar-day-prev",new c.DateHandleClass(u-1<0?p-1:p,u-1<0?11:u-1,a).getTime()):D<(a+=1)?(a-=D,n+=" calendar-day-next",new c.DateHandleClass(11<u+1?p+1:p,11<u+1?0:u+1,a).getTime()):new c.DateHandleClass(p,u,a).getTime())===f&&(n+=" calendar-day-today"),h.rangePicker&&2===g.length?t>=g[0]&&t<=g[1]&&(n+=" calendar-day-selected"):0<=g.indexOf(t)&&(n+=" calendar-day-selected"),0<=h.weekendDays.indexOf(r)&&(n+=" calendar-day-weekend");var o="";if(v=!1,h.events&&c.dateInRange(t,h.events)&&(v=!0),v&&(n+=" calendar-day-has-events",o='\n <span class="calendar-day-events">\n <span class="calendar-day-event"></span>\n </span>\n ',Array.isArray(h.events))){var l=[];h.events.forEach(function(e){var a=e.color||"";l.indexOf(a)<0&&c.dateInRange(t,e)&&l.push(a)}),o='\n <span class="calendar-day-events">\n '+l.map(function(e){return('\n <span class="calendar-day-event" style="'+(e?"background-color: "+e:"")+'"></span>\n ').trim()}).join("")+"\n </span>\n "}if(h.rangesClasses)for(var s=0;s<h.rangesClasses.length;s+=1)c.dateInRange(t,h.rangesClasses[s].range)&&(n+=" "+h.rangesClasses[s].cssClass);m=!1,(y&&t<y||C&&C<t)&&(m=!0),h.disabled&&c.dateInRange(t,h.disabled)&&(m=!0),m&&(n+=" calendar-day-disabled");var i=(t=new c.DateHandleClass(t)).getFullYear(),d=t.getMonth();k+=('\n <div data-year="'+i+'" data-month="'+d+'" data-day="'+a+'" class="calendar-day'+n+'" data-date="'+i+"-"+d+"-"+a+'">\n <span class="calendar-day-number">'+a+o+"</span>\n </div>").trim()},s=1;s<=7;s+=1)l(s);r+='<div class="calendar-row">'+k+"</div>"}return r='<div class="calendar-month" data-year="'+p+'" data-month="'+u+'">'+r+"</div>"},e.prototype.renderWeekHeader=function(){if(this.params.renderWeekHeader)return this.params.renderWeekHeader.call(this);for(var e=this.params,a="",t=0;t<7;t+=1){var n=6<t+e.firstDay?t-7+e.firstDay:t+e.firstDay;a+='<div class="calendar-week-day">'+e.dayNamesShort[n]+"</div>"}return('\n <div class="calendar-week-header">\n '+a+"\n </div>\n ").trim()},e.prototype.renderMonthSelector=function(){var e,a=this,t=a.app;if(a.params.renderMonthSelector)return a.params.renderMonthSelector.call(a);a.inline&&0===a.$containerEl.closest(".theme-dark").length?e=!0:0===t.root.closest(".theme-dark").length&&(e=!0);var n="md"===t.theme&&e?"color-black":"";return('\n <div class="calendar-month-selector">\n <a href="#" class="link icon-only calendar-prev-month-button">\n <i class="icon icon-prev '+n+'"></i>\n </a>\n <span class="current-month-value"></span>\n <a href="#" class="link icon-only calendar-next-month-button">\n <i class="icon icon-next '+n+'"></i>\n </a>\n </div>\n ').trim()},e.prototype.renderYearSelector=function(){var e,a=this,t=a.app;if(a.params.renderYearSelector)return a.params.renderYearSelector.call(a);a.inline&&0===a.$containerEl.closest(".theme-dark").length?e=!0:0===t.root.closest(".theme-dark").length&&(e=!0);var n="md"===t.theme&&e?"color-black":"";return('\n <div class="calendar-year-selector">\n <a href="#" class="link icon-only calendar-prev-year-button">\n <i class="icon icon-prev '+n+'"></i>\n </a>\n <span class="current-year-value"></span>\n <a href="#" class="link icon-only calendar-next-year-button">\n <i class="icon icon-next '+n+'"></i>\n </a>\n </div>\n ').trim()},e.prototype.renderHeader=function(){return this.params.renderHeader?this.params.renderHeader.call(this):('\n <div class="calendar-header">\n <div class="calendar-selected-date">'+this.params.headerPlaceholder+"</div>\n </div>\n ").trim()},e.prototype.renderFooter=function(){var e=this,a=e.app;return e.params.renderFooter?e.params.renderFooter.call(e):('\n <div class="calendar-footer">\n <a href="#" class="'+("md"===a.theme?"button":"link")+' calendar-close sheet-close popover-close">'+e.params.toolbarCloseText+"</a>\n </div>\n ").trim()},e.prototype.renderToolbar=function(){var e=this;return e.params.renderToolbar?e.params.renderToolbar.call(e,e):('\n <div class="toolbar no-shadow">\n <div class="toolbar-inner">\n '+e.renderMonthSelector()+"\n "+e.renderYearSelector()+"\n </div>\n </div>\n ").trim()},e.prototype.renderInline=function(){var e=this,a=e.params,t=a.cssClass,n=a.toolbar,r=a.header,o=a.footer,l=a.rangePicker,s=a.weekHeader,i=e.value,d=i&&i.length?i[0]:(new e.DateHandleClass).setHours(0,0,0);return('\n <div class="calendar calendar-inline '+(l?"calendar-range":"")+" "+(t||"")+'">\n '+(r?e.renderHeader():"")+"\n "+(n?e.renderToolbar():"")+"\n "+(s?e.renderWeekHeader():"")+'\n <div class="calendar-months">\n '+e.renderMonths(d)+"\n </div>\n "+(o?e.renderFooter():"")+"\n </div>\n ").trim()},e.prototype.renderCustomModal=function(){var e=this,a=e.params,t=a.cssClass,n=a.toolbar,r=a.header,o=a.footer,l=a.rangePicker,s=a.weekHeader,i=e.value,d=i&&i.length?i[0]:(new e.DateHandleClass).setHours(0,0,0);return('\n <div class="calendar calendar-modal '+(l?"calendar-range":"")+" "+(t||"")+'">\n '+(r?e.renderHeader():"")+"\n "+(n?e.renderToolbar():"")+"\n "+(s?e.renderWeekHeader():"")+'\n <div class="calendar-months">\n '+e.renderMonths(d)+"\n </div>\n "+(o?e.renderFooter():"")+"\n </div>\n ").trim()},e.prototype.renderSheet=function(){var e=this,a=e.params,t=a.cssClass,n=a.toolbar,r=a.header,o=a.footer,l=a.rangePicker,s=a.weekHeader,i=e.value,d=i&&i.length?i[0]:(new e.DateHandleClass).setHours(0,0,0);return('\n <div class="sheet-modal calendar calendar-sheet '+(l?"calendar-range":"")+" "+(t||"")+'">\n '+(r?e.renderHeader():"")+"\n "+(n?e.renderToolbar():"")+"\n "+(s?e.renderWeekHeader():"")+'\n <div class="sheet-modal-inner calendar-months">\n '+e.renderMonths(d)+"\n </div>\n "+(o?e.renderFooter():"")+"\n </div>\n ").trim()},e.prototype.renderPopover=function(){var e=this,a=e.params,t=a.cssClass,n=a.toolbar,r=a.header,o=a.footer,l=a.rangePicker,s=a.weekHeader,i=e.value,d=i&&i.length?i[0]:(new e.DateHandleClass).setHours(0,0,0);return('\n <div class="popover calendar-popover">\n <div class="popover-inner">\n <div class="calendar '+(l?"calendar-range":"")+" "+(t||"")+'">\n '+(r?e.renderHeader():"")+"\n "+(n?e.renderToolbar():"")+"\n "+(s?e.renderWeekHeader():"")+'\n <div class="calendar-months">\n '+e.renderMonths(d)+"\n </div>\n "+(o?e.renderFooter():"")+"\n </div>\n </div>\n </div>\n ").trim()},e.prototype.render=function(){var e=this,a=e.params;if(a.render)return a.render.call(e);if(e.inline)return e.renderInline();var t=a.openIn;return"auto"===t&&(t=e.isPopover()?"popover":"sheet"),"popover"===t?e.renderPopover():"sheet"===t?e.renderSheet():e.renderCustomModal()},e.prototype.onOpen=function(){var t=this,e=t.initialized,a=t.$el,n=t.app,r=t.$inputEl,o=t.inline,l=t.value,s=t.params;t.closing=!1,t.opened=!0,t.opening=!0,t.attachCalendarEvents();var i=!l&&s.value;e?l&&t.setValue(l,0):l?t.setValue(l,0):s.value&&t.setValue(t.normalizeValues(s.value),0),t.updateCurrentMonthYear(),t.monthsTranslate=0,t.setMonthsTranslate(),i?t.updateValue():s.header&&l&&t.updateValue(!0),!o&&r&&r.length&&"md"===n.theme&&r.trigger("focus"),t.initialized=!0,t.$months.each(function(e,a){t.emit("local::monthAdd calendarMonthAdd",a)}),a&&a.trigger("calendar:open",t),r&&r.trigger("calendar:open",t),t.emit("local::open calendarOpen",t)},e.prototype.onOpened=function(){var e=this;e.opening=!1,e.$el&&e.$el.trigger("calendar:opened",e),e.$inputEl&&e.$inputEl.trigger("calendar:opened",e),e.emit("local::opened calendarOpened",e)},e.prototype.onClose=function(){var e=this,a=e.app;e.opening=!1,e.closing=!0,e.$inputEl&&"md"===a.theme&&e.$inputEl.trigger("blur"),e.detachCalendarEvents&&e.detachCalendarEvents(),e.$el&&e.$el.trigger("calendar:close",e),e.$inputEl&&e.$inputEl.trigger("calendar:close",e),e.emit("local::close calendarClose",e)},e.prototype.onClosed=function(){var e=this;e.opened=!1,e.closing=!1,e.inline||c.nextTick(function(){e.modal&&e.modal.el&&e.modal.destroy&&(e.params.routableModals||e.modal.destroy()),delete e.modal}),e.$el&&e.$el.trigger("calendar:closed",e),e.$inputEl&&e.$inputEl.trigger("calendar:closed",e),e.emit("local::closed calendarClosed",e)},e.prototype.open=function(){var e,a=this,t=a.app,n=a.opened,r=a.inline,o=a.$inputEl,l=a.params;if(!n){if(r)return a.$el=b(a.render()),(a.$el[0].f7Calendar=a).$wrapperEl=a.$el.find(".calendar-months-wrapper"),a.$months=a.$wrapperEl.find(".calendar-month"),a.$containerEl.append(a.$el),a.onOpen(),void a.onOpened();var s=l.openIn;"auto"===s&&(s=a.isPopover()?"popover":"sheet");var i=a.render(),d={targetEl:o,scrollToEl:a.params.scrollToInput?o:void 0,content:i,backdrop:!0===a.params.backdrop||"popover"===s&&!1!==t.params.popover.backdrop&&!1!==a.params.backdrop,closeByBackdropClick:a.params.closeByBackdropClick,on:{open:function(){a.modal=this,a.$el="popover"===s?this.$el.find(".calendar"):this.$el,a.$wrapperEl=a.$el.find(".calendar-months-wrapper"),a.$months=a.$wrapperEl.find(".calendar-month"),a.$el[0].f7Calendar=a,"customModal"===s&&b(a.$el).find(".calendar-close").once("click",function(){a.close()}),a.onOpen()},opened:function(){a.onOpened()},close:function(){a.onClose()},closed:function(){a.onClosed()}}};a.params.routableModals?a.view.router.navigate({url:a.url,route:(e={path:a.url},e[s]=d,e)}):(a.modal=t[s].create(d),a.modal.open())}},e.prototype.close=function(){var e=this,a=e.opened,t=e.inline;if(a)return t?(e.onClose(),void e.onClosed()):void(e.params.routableModals?e.view.router.back():e.modal.close())},e.prototype.init=function(){var e=this;if(e.initInput(),e.inline)return e.open(),void e.emit("local::init calendarInit",e);!e.initialized&&e.params.value&&e.setValue(e.normalizeValues(e.params.value)),e.$inputEl&&e.attachInputEvents(),e.params.closeByOutsideClick&&e.attachHtmlEvents(),e.emit("local::init calendarInit",e)},e.prototype.destroy=function(){var e=this;if(!e.destroyed){var a=e.$el;e.emit("local::beforeDestroy calendarBeforeDestroy",e),a&&a.trigger("calendar:beforedestroy",e),e.close(),e.$inputEl&&e.detachInputEvents(),e.params.closeByOutsideClick&&e.detachHtmlEvents(),a&&a.length&&delete e.$el[0].f7Calendar,c.deleteProps(e),e.destroyed=!0}},e}(t),l={name:"calendar",static:{Calendar:o},create:function(){this.calendar=n({defaultSelector:".calendar",constructor:o,app:this,domProp:"f7Calendar"}),this.calendar.close=function(e){void 0===e&&(e=".calendar");var a=b(e);if(0!==a.length){var t=a[0].f7Calendar;!t||t&&!t.opened||t.close()}}},params:{calendar:{calendarType:"gregorian",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],firstDay:1,weekendDays:[0,6],jalali:{monthNames:["فروردین","اردیبهشت","خرداد","تیر","مرداد","شهریور","مهر","آبان","آذر","دی","بهمن","اسفند"],monthNamesShort:["فَر","اُر","خُر","تیر","مُر","شَه","مهر","آب","آذر","دی","بَه","اِس"],dayNames:["یک‌شنبه","دوشنبه","سه‌شنبه","چهارشنبه","پنج‌شنبه","جمعه","شنبه"],dayNamesShort:["1ش","۲ش","۳ش","۴ش","۵ش","ج","ش"],firstDay:6,weekendDays:[5]},multiple:!1,rangePicker:!1,rangePickerMinDays:1,rangePickerMaxDays:0,dateFormat:"yyyy-mm-dd",direction:"horizontal",minDate:null,maxDate:null,disabled:null,events:null,rangesClasses:null,touchMove:!0,animate:!0,closeOnSelect:!1,monthSelector:!0,yearSelector:!0,weekHeader:!0,value:null,containerEl:null,openIn:"auto",formatValue:null,inputEl:null,inputReadOnly:!0,closeByOutsideClick:!0,scrollToInput:!0,header:!1,headerPlaceholder:"Select date",footer:!1,toolbar:!0,toolbarCloseText:"Done",cssClass:null,routableModals:!0,view:null,url:"date/",backdrop:null,closeByBackdropClick:!0,renderWeekHeader:null,renderMonths:null,renderMonth:null,renderMonthSelector:null,renderYearSelector:null,renderHeader:null,renderFooter:null,renderToolbar:null,renderInline:null,renderPopover:null,renderSheet:null,render:null}}};if(a){if(e.prototype.modules&&e.prototype.modules[l.name])return;e.use(l),e.instance&&(e.instance.useModuleParams(l,e.instance.params),e.instance.useModule(l))}return l}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))