jiku-ui
Version:
A Component Library for Vue.js.
2 lines (1 loc) • 34.9 kB
JavaScript
module.exports=function(e){var t={};function i(n){if(t[n])return t[n].exports;var s=t[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)i.d(n,s,function(t){return e[t]}.bind(null,s));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=90)}({0:function(e,t,i){"use strict";function n(e,t,i,n,s,r,a,o){var l,c="function"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=i,c._compiled=!0),n&&(c.functional=!0),r&&(c._scopeId="data-v-"+r),a?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),s&&s.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},c._ssrRegister=l):s&&(l=o?function(){s.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:s),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var h=c.beforeCreate;c.beforeCreate=h?[].concat(h,l):[l]}return{exports:e,options:c}}i.d(t,"a",(function(){return n}))},1:function(e,t){e.exports=require("jiku-ui/lib/utils/date-util")},11:function(e,t){e.exports=require("jiku-ui/lib/input")},12:function(e,t){e.exports=require("jiku-ui/lib/utils/clickoutside")},13:function(e,t){e.exports=require("jiku-ui/lib/scrollbar")},2:function(e,t){e.exports=require("jiku-ui/lib/utils/dom")},28:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition",{attrs:{name:"hn-zoom-in-top"},on:{"after-leave":function(t){return e.$emit("dodestroy")}}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"hn-time-panel hn-popper",class:e.popperClass},[i("div",{staticClass:"hn-time-panel__content",class:{"has-seconds":e.showSeconds}},[i("time-spinner",{ref:"spinner",attrs:{"arrow-control":e.useArrow,"show-seconds":e.showSeconds,"am-pm-mode":e.amPmMode,date:e.date},on:{change:e.handleChange,"select-range":e.setSelectionRange}})],1),i("div",{staticClass:"hn-time-panel__footer"},[i("button",{staticClass:"hn-time-panel__btn cancel",attrs:{type:"button"},on:{click:e.handleCancel}},[e._v(e._s(e.t("hn.datepicker.cancel")))]),i("button",{staticClass:"hn-time-panel__btn",class:{confirm:!e.disabled},attrs:{type:"button"},on:{click:function(t){return e.handleConfirm()}}},[e._v(e._s(e.t("hn.datepicker.confirm")))])])])])};n._withStripped=!0;var s=i(1),r=i(6),a=i.n(r),o=i(34),l={mixins:[a.a],components:{TimeSpinner:o.a},props:{visible:Boolean,timeArrowControl:Boolean},watch:{visible:function(e){var t=this;e?(this.oldValue=this.value,this.$nextTick((function(){return t.$refs.spinner.emitSelectRange("hours")}))):this.needInitAdjust=!0},value:function(e){var t=this,i=void 0;e instanceof Date?i=Object(s.limitTimeRange)(e,this.selectableRange,this.format):e||(i=this.defaultValue?new Date(this.defaultValue):new Date),this.date=i,this.visible&&this.needInitAdjust&&(this.$nextTick((function(e){return t.adjustSpinners()})),this.needInitAdjust=!1)},selectableRange:function(e){this.$refs.spinner.selectableRange=e},defaultValue:function(e){Object(s.isDate)(this.value)||(this.date=e?new Date(e):new Date)}},data:function(){return{popperClass:"",format:"HH:mm:ss",value:"",defaultValue:null,date:new Date,oldValue:new Date,selectableRange:[],selectionRange:[0,2],disabled:!1,arrowControl:!1,needInitAdjust:!0}},computed:{showSeconds:function(){return-1!==(this.format||"").indexOf("ss")},useArrow:function(){return this.arrowControl||this.timeArrowControl||!1},amPmMode:function(){return-1!==(this.format||"").indexOf("A")?"A":-1!==(this.format||"").indexOf("a")?"a":""}},methods:{handleCancel:function(){this.$emit("pick",this.oldValue,!1)},handleChange:function(e){this.visible&&(this.date=Object(s.clearMilliseconds)(e),this.isValidValue(this.date)&&this.$emit("pick",this.date,!0))},setSelectionRange:function(e,t){this.$emit("select-range",e,t),this.selectionRange=[e,t]},handleConfirm:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments[1];if(!t){var i=Object(s.clearMilliseconds)(Object(s.limitTimeRange)(this.date,this.selectableRange,this.format));this.$emit("pick",i,e,t)}},handleKeydown:function(e){var t=e.keyCode,i={38:-1,40:1,37:-1,39:1};if(37===t||39===t){var n=i[t];return this.changeSelectionRange(n),void e.preventDefault()}if(38===t||40===t){var s=i[t];return this.$refs.spinner.scrollDown(s),void e.preventDefault()}},isValidValue:function(e){return Object(s.timeWithinRange)(e,this.selectableRange,this.format)},adjustSpinners:function(){return this.$refs.spinner.adjustSpinners()},changeSelectionRange:function(e){var t=[0,3].concat(this.showSeconds?[6]:[]),i=["hours","minutes"].concat(this.showSeconds?["seconds"]:[]),n=(t.indexOf(this.selectionRange[0])+e+t.length)%t.length;this.$refs.spinner.emitSelectRange(i[n])}},mounted:function(){var e=this;this.$nextTick((function(){return e.handleConfirm(!0,!0)})),this.$emit("mounted")}},c=i(0),u=Object(c.a)(l,n,[],!1,null,null,null);u.options.__file="packages/date-picker/src/panel/time.vue";t.a=u.exports},30:function(e,t,i){"use strict";var n=i(2);t.a={bind:function(e,t,i){var s=null,r=void 0,a=function(){return i.context[t.expression].apply()},o=function(){Date.now()-r<100&&a(),clearInterval(s),s=null};Object(n.on)(e,"mousedown",(function(e){0===e.button&&(r=Date.now(),Object(n.once)(document,"mouseup",o),clearInterval(s),s=setInterval(a,100))}))}}},32:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return e.ranged?i("div",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:e.handleClose,expression:"handleClose"}],ref:"reference",staticClass:"hn-date-editor hn-range-editor hn-input__inner",class:["hn-date-editor--"+e.type,e.pickerSize?"hn-range-editor--"+e.pickerSize:"",e.pickerDisabled?"is-disabled":"",e.pickerVisible?"is-active":""],on:{click:e.handleRangeClick,mouseenter:e.handleMouseEnter,mouseleave:function(t){e.showClose=!1},keydown:e.handleKeydown}},[i("i",{class:["hn-input__icon","hn-range__icon",e.triggerClass]}),i("input",e._b({staticClass:"hn-range-input",attrs:{autocomplete:"off",placeholder:e.startPlaceholder,disabled:e.pickerDisabled,readonly:!e.editable||e.readonly,name:e.name&&e.name[0]},domProps:{value:e.displayValue&&e.displayValue[0]},on:{input:e.handleStartInput,change:e.handleStartChange,focus:e.handleFocus}},"input",e.firstInputId,!1)),e._t("range-separator",[i("span",{staticClass:"hn-range-separator"},[e._v(e._s(e.rangeSeparator))])]),i("input",e._b({staticClass:"hn-range-input",attrs:{autocomplete:"off",placeholder:e.endPlaceholder,disabled:e.pickerDisabled,readonly:!e.editable||e.readonly,name:e.name&&e.name[1]},domProps:{value:e.displayValue&&e.displayValue[1]},on:{input:e.handleEndInput,change:e.handleEndChange,focus:e.handleFocus}},"input",e.secondInputId,!1)),e.haveTrigger?i("i",{staticClass:"hn-input__icon hn-range__close-icon",class:[e.showClose?""+e.clearIcon:""],on:{click:e.handleClickIcon}}):e._e()],2):i("hn-input",e._b({directives:[{name:"clickoutside",rawName:"v-clickoutside",value:e.handleClose,expression:"handleClose"}],ref:"reference",staticClass:"hn-date-editor",class:"hn-date-editor--"+e.type,attrs:{readonly:!e.editable||e.readonly||"dates"===e.type||"week"===e.type,disabled:e.pickerDisabled,size:e.pickerSize,name:e.name,placeholder:e.placeholder,value:e.displayValue,validateEvent:!1},on:{focus:e.handleFocus,input:function(t){return e.userInput=t},change:e.handleChange},nativeOn:{keydown:function(t){return e.handleKeydown(t)},mouseenter:function(t){return e.handleMouseEnter(t)},mouseleave:function(t){e.showClose=!1}}},"hn-input",e.firstInputId,!1),[i("i",{staticClass:"hn-input__icon",class:e.triggerClass,attrs:{slot:"prefix"},on:{click:e.handleFocus},slot:"prefix"}),e.haveTrigger?i("i",{staticClass:"hn-input__icon",class:[e.showClose?""+e.clearIcon:""],attrs:{slot:"suffix"},on:{click:e.handleClickIcon},slot:"suffix"}):e._e()])};n._withStripped=!0;var s=i(7),r=i.n(s),a=i(12),o=i.n(a),l=i(1),c=i(5),u=i.n(c),h=i(4),p=i.n(h),d=i(11),m=i.n(d),f=i(9),v=i.n(f),g={props:{appendToBody:u.a.props.appendToBody,offset:u.a.props.offset,boundariesPadding:u.a.props.boundariesPadding,arrowOffset:u.a.props.arrowOffset},methods:u.a.methods,data:function(){return v()({visibleArrow:!0},u.a.data)},beforeDestroy:u.a.beforeDestroy},b={date:"yyyy-MM-dd",month:"yyyy-MM",datetime:"yyyy-MM-dd HH:mm:ss",time:"HH:mm:ss",week:"yyyywWW",timerange:"HH:mm:ss",daterange:"yyyy-MM-dd",monthrange:"yyyy-MM",datetimerange:"yyyy-MM-dd HH:mm:ss",year:"yyyy"},y=["date","datetime","time","time-select","week","month","year","daterange","monthrange","timerange","datetimerange","dates"],k=function(e,t){return"timestamp"===t?e.getTime():Object(l.formatDate)(e,t)},w=function(e,t){return"timestamp"===t?new Date(Number(e)):Object(l.parseDate)(e,t)},_=function(e,t){if(Array.isArray(e)&&2===e.length){var i=e[0],n=e[1];if(i&&n)return[k(i,t),k(n,t)]}return""},C=function(e,t,i){if(Array.isArray(e)||(e=e.split(i)),2===e.length){var n=e[0],s=e[1];return[w(n,t),w(s,t)]}return[]},S={default:{formatter:function(e){return e?""+e:""},parser:function(e){return void 0===e||""===e?null:e}},week:{formatter:function(e,t){var i=Object(l.getWeekNumber)(e),n=e.getMonth(),s=new Date(e);1===i&&11===n&&(s.setHours(0,0,0,0),s.setDate(s.getDate()+3-(s.getDay()+6)%7));var r=Object(l.formatDate)(s,t);return r=/WW/.test(r)?r.replace(/WW/,i<10?"0"+i:i):r.replace(/W/,i)},parser:function(e,t){return S.date.parser(e,t)}},date:{formatter:k,parser:w},datetime:{formatter:k,parser:w},daterange:{formatter:_,parser:C},monthrange:{formatter:_,parser:C},datetimerange:{formatter:_,parser:C},timerange:{formatter:_,parser:C},time:{formatter:k,parser:w},month:{formatter:k,parser:w},year:{formatter:k,parser:w},number:{formatter:function(e){return e?""+e:""},parser:function(e){var t=Number(e);return isNaN(e)?null:t}},dates:{formatter:function(e,t){return(Array.isArray(e)?e:[e]).map((function(e){return k(e,t)}))},parser:function(e,t){return("string"==typeof e?e.split(", "):e).map((function(e){return e instanceof Date?e:w(e,t)}))}}},D={left:"bottom-start",center:"bottom",right:"bottom-end"},x=function(e,t,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"-";if(!e)return null;var s=(S[i]||S.default).parser,r=t||b[i];return s(e,r,n)},I=function(e,t,i){return e?(0,(S[i]||S.default).formatter)(e,t||b[i]):null},O=function(e,t){var i=function(e,t){var i=e instanceof Date,n=t instanceof Date;return i&&n?e.getTime()===t.getTime():!i&&!n&&e===t},n=e instanceof Array,s=t instanceof Array;return n&&s?e.length===t.length&&e.every((function(e,n){return i(e,t[n])})):!n&&!s&&i(e,t)},V=function(e){return"string"==typeof e||e instanceof String},$=function(e){return null==e||V(e)||Array.isArray(e)&&2===e.length&&e.every(V)},R={mixins:[p.a,g],inject:{hnForm:{default:""},hnFormItem:{default:""}},props:{size:String,format:String,valueFormat:String,readonly:Boolean,placeholder:String,startPlaceholder:String,endPlaceholder:String,prefixIcon:String,clearIcon:{type:String,default:"hn-icon-circle-close"},name:{default:"",validator:$},disabled:Boolean,clearable:{type:Boolean,default:!0},id:{default:"",validator:$},popperClass:String,editable:{type:Boolean,default:!0},align:{type:String,default:"left"},value:{},defaultValue:{},defaultTime:{},rangeSeparator:{default:"-"},pickerOptions:{},unlinkPanels:Boolean,validateEvent:{type:Boolean,default:!0}},components:{HnInput:m.a},directives:{Clickoutside:o.a},data:function(){return{pickerVisible:!1,showClose:!1,userInput:null,valueOnOpen:null,unwatchPickerOptions:null}},watch:{pickerVisible:function(e){this.readonly||this.pickerDisabled||(e?(this.showPicker(),this.valueOnOpen=Array.isArray(this.value)?[].concat(this.value):this.value):(this.hidePicker(),this.emitChange(this.value),this.userInput=null,this.validateEvent&&this.dispatch("HnFormItem","hn.form.blur"),this.$emit("blur",this),this.blur()))},parsedValue:{immediate:!0,handler:function(e){this.picker&&(this.picker.value=e)}},defaultValue:function(e){this.picker&&(this.picker.defaultValue=e)},value:function(e,t){O(e,t)||this.pickerVisible||!this.validateEvent||this.dispatch("HnFormItem","hn.form.change",e)}},computed:{ranged:function(){return this.type.indexOf("range")>-1},reference:function(){var e=this.$refs.reference;return e.$el||e},refInput:function(){return this.reference?[].slice.call(this.reference.querySelectorAll("input")):[]},valueIsEmpty:function(){var e=this.value;if(Array.isArray(e)){for(var t=0,i=e.length;t<i;t++)if(e[t])return!1}else if(e)return!1;return!0},triggerClass:function(){return this.prefixIcon||(-1!==this.type.indexOf("time")?"hn-icon-time":"hn-icon-date")},selectionMode:function(){return"week"===this.type?"week":"month"===this.type?"month":"year"===this.type?"year":"dates"===this.type?"dates":"day"},haveTrigger:function(){return void 0!==this.showTrigger?this.showTrigger:-1!==y.indexOf(this.type)},displayValue:function(){var e=I(this.parsedValue,this.format,this.type,this.rangeSeparator);return Array.isArray(this.userInput)?[this.userInput[0]||e&&e[0]||"",this.userInput[1]||e&&e[1]||""]:null!==this.userInput?this.userInput:e?"dates"===this.type?e.join(", "):e:""},parsedValue:function(){return this.value?"time-select"===this.type||Object(l.isDateObject)(this.value)||Array.isArray(this.value)&&this.value.every(l.isDateObject)?this.value:this.valueFormat?x(this.value,this.valueFormat,this.type,this.rangeSeparator)||this.value:Array.isArray(this.value)?this.value.map((function(e){return new Date(e)})):new Date(this.value):this.value},_hnFormItemSize:function(){return(this.hnFormItem||{}).hnFormItemSize},pickerSize:function(){return this.size||this._hnFormItemSize||(this.$HEINER||{}).size},pickerDisabled:function(){return this.disabled||(this.hnForm||{}).disabled},firstInputId:function(){var e={},t=void 0;return(t=this.ranged?this.id&&this.id[0]:this.id)&&(e.id=t),e},secondInputId:function(){var e={},t=void 0;return this.ranged&&(t=this.id&&this.id[1]),t&&(e.id=t),e}},created:function(){this.popperOptions={boundariesPadding:0,gpuAcceleration:!1},this.placement=D[this.align]||D.left,this.$on("fieldReset",this.handleFieldReset)},methods:{focus:function(){this.ranged?this.handleFocus():this.$refs.reference.focus()},blur:function(){this.refInput.forEach((function(e){return e.blur()}))},parseValue:function(e){var t=Object(l.isDateObject)(e)||Array.isArray(e)&&e.every(l.isDateObject);return this.valueFormat&&!t&&x(e,this.valueFormat,this.type,this.rangeSeparator)||e},formatToValue:function(e){var t=Object(l.isDateObject)(e)||Array.isArray(e)&&e.every(l.isDateObject);return this.valueFormat&&t?I(e,this.valueFormat,this.type,this.rangeSeparator):e},parseString:function(e){var t=Array.isArray(e)?this.type:this.type.replace("range","");return x(e,this.format,t)},formatToString:function(e){var t=Array.isArray(e)?this.type:this.type.replace("range","");return I(e,this.format,t)},handleMouseEnter:function(){this.readonly||this.pickerDisabled||!this.valueIsEmpty&&this.clearable&&(this.showClose=!0)},handleChange:function(){if(this.userInput){var e=this.parseString(this.displayValue);e&&(this.picker.value=e,this.isValidValue(e)&&(this.emitInput(e),this.userInput=null))}""===this.userInput&&(this.emitInput(null),this.emitChange(null),this.userInput=null)},handleStartInput:function(e){this.userInput?this.userInput=[e.target.value,this.userInput[1]]:this.userInput=[e.target.value,null]},handleEndInput:function(e){this.userInput?this.userInput=[this.userInput[0],e.target.value]:this.userInput=[null,e.target.value]},handleStartChange:function(e){var t=this.parseString(this.userInput&&this.userInput[0]);if(t){this.userInput=[this.formatToString(t),this.displayValue[1]];var i=[t,this.picker.value&&this.picker.value[1]];this.picker.value=i,this.isValidValue(i)&&(this.emitInput(i),this.userInput=null)}},handleEndChange:function(e){var t=this.parseString(this.userInput&&this.userInput[1]);if(t){this.userInput=[this.displayValue[0],this.formatToString(t)];var i=[this.picker.value&&this.picker.value[0],t];this.picker.value=i,this.isValidValue(i)&&(this.emitInput(i),this.userInput=null)}},handleClickIcon:function(e){this.readonly||this.pickerDisabled||(this.showClose?(this.valueOnOpen=this.value,e.stopPropagation(),this.emitInput(null),this.emitChange(null),this.showClose=!1,this.picker&&"function"==typeof this.picker.handleClear&&this.picker.handleClear()):this.pickerVisible=!this.pickerVisible)},handleClose:function(){if(this.pickerVisible&&(this.pickerVisible=!1,"dates"===this.type)){var e=x(this.valueOnOpen,this.valueFormat,this.type,this.rangeSeparator)||this.valueOnOpen;this.emitInput(e)}},handleFieldReset:function(e){this.userInput=""===e?null:e},handleFocus:function(){var e=this.type;-1===y.indexOf(e)||this.pickerVisible||(this.pickerVisible=!0),this.$emit("focus",this)},handleKeydown:function(e){var t=this,i=e.keyCode;return 27===i?(this.pickerVisible=!1,void e.stopPropagation()):9!==i?13===i?((""===this.userInput||this.isValidValue(this.parseString(this.displayValue)))&&(this.handleChange(),this.pickerVisible=this.picker.visible=!1,this.blur()),void e.stopPropagation()):void(this.userInput?e.stopPropagation():this.picker&&this.picker.handleKeydown&&this.picker.handleKeydown(e)):void(this.ranged?setTimeout((function(){-1===t.refInput.indexOf(document.activeElement)&&(t.pickerVisible=!1,t.blur(),e.stopPropagation())}),0):(this.handleChange(),this.pickerVisible=this.picker.visible=!1,this.blur(),e.stopPropagation()))},handleRangeClick:function(){var e=this.type;-1===y.indexOf(e)||this.pickerVisible||(this.pickerVisible=!0),this.$emit("focus",this)},hidePicker:function(){this.picker&&(this.picker.resetView&&this.picker.resetView(),this.pickerVisible=this.picker.visible=!1,this.destroyPopper())},showPicker:function(){var e=this;this.$isServer||(this.picker||this.mountPicker(),this.pickerVisible=this.picker.visible=!0,this.updatePopper(),this.picker.value=this.parsedValue,this.picker.resetView&&this.picker.resetView(),this.$nextTick((function(){e.picker.adjustSpinners&&e.picker.adjustSpinners()})))},mountPicker:function(){var e=this;this.picker=new r.a(this.panel).$mount(),this.picker.defaultValue=this.defaultValue,this.picker.defaultTime=this.defaultTime,this.picker.popperClass=this.popperClass,this.popperElm=this.picker.$el,this.picker.width=this.reference.getBoundingClientRect().width,this.picker.showTime="datetime"===this.type||"datetimerange"===this.type,this.picker.selectionMode=this.selectionMode,this.picker.unlinkPanels=this.unlinkPanels,this.picker.arrowControl=this.arrowControl||this.timeArrowControl||!1,this.$watch("format",(function(t){e.picker.format=t}));var t=function(){var t=e.pickerOptions;if(t&&t.selectableRange){var i=t.selectableRange,n=S.datetimerange.parser,s=b.timerange;i=Array.isArray(i)?i:[i],e.picker.selectableRange=i.map((function(t){return n(t,s,e.rangeSeparator)}))}for(var r in t)t.hasOwnProperty(r)&&"selectableRange"!==r&&(e.picker[r]=t[r]);e.format&&(e.picker.format=e.format)};t(),this.unwatchPickerOptions=this.$watch("pickerOptions",(function(){return t()}),{deep:!0}),this.$el.appendChild(this.picker.$el),this.picker.resetView&&this.picker.resetView(),this.picker.$on("dodestroy",this.doDestroy),this.picker.$on("pick",(function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e.userInput=null,e.pickerVisible=e.picker.visible=i,e.emitInput(t),e.picker.resetView&&e.picker.resetView()})),this.picker.$on("select-range",(function(t,i,n){0!==e.refInput.length&&(n&&"min"!==n?"max"===n&&(e.refInput[1].setSelectionRange(t,i),e.refInput[1].focus()):(e.refInput[0].setSelectionRange(t,i),e.refInput[0].focus()))}))},unmountPicker:function(){this.picker&&(this.picker.$destroy(),this.picker.$off(),"function"==typeof this.unwatchPickerOptions&&this.unwatchPickerOptions(),this.picker.$el.parentNode.removeChild(this.picker.$el))},emitChange:function(e){O(e,this.valueOnOpen)||(this.$emit("change",e),this.valueOnOpen=e,this.validateEvent&&this.dispatch("HnFormItem","hn.form.change",e))},emitInput:function(e){var t=this.formatToValue(e);O(this.value,t)||this.$emit("input",t)},isValidValue:function(e){return this.picker||this.mountPicker(),!this.picker.isValidValue||e&&this.picker.isValidValue(e)}}},j=i(0),M=Object(j.a)(R,n,[],!1,null,null,null);M.options.__file="packages/date-picker/src/picker.vue";t.a=M.exports},34:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"hn-time-spinner",class:{"has-seconds":e.showSeconds}},[e.arrowControl?e._e():[i("hn-scrollbar",{ref:"hours",staticClass:"hn-time-spinner__wrapper",attrs:{"wrap-style":"max-height: inherit;","view-class":"hn-time-spinner__list",noresize:"",tag:"ul"},nativeOn:{mouseenter:function(t){return e.emitSelectRange("hours")},mousemove:function(t){return e.adjustCurrentSpinner("hours")}}},e._l(e.hoursList,(function(t,n){return i("li",{key:n,staticClass:"hn-time-spinner__item",class:{active:n===e.hours,disabled:t},on:{click:function(i){return e.handleClick("hours",{value:n,disabled:t})}}},[e._v(e._s(("0"+(e.amPmMode?n%12||12:n)).slice(-2))+e._s(e.amPm(n)))])})),0),i("hn-scrollbar",{ref:"minutes",staticClass:"hn-time-spinner__wrapper",attrs:{"wrap-style":"max-height: inherit;","view-class":"hn-time-spinner__list",noresize:"",tag:"ul"},nativeOn:{mouseenter:function(t){return e.emitSelectRange("minutes")},mousemove:function(t){return e.adjustCurrentSpinner("minutes")}}},e._l(e.minutesList,(function(t,n){return i("li",{key:n,staticClass:"hn-time-spinner__item",class:{active:n===e.minutes,disabled:!t},on:{click:function(t){return e.handleClick("minutes",{value:n,disabled:!1})}}},[e._v(e._s(("0"+n).slice(-2)))])})),0),i("hn-scrollbar",{directives:[{name:"show",rawName:"v-show",value:e.showSeconds,expression:"showSeconds"}],ref:"seconds",staticClass:"hn-time-spinner__wrapper",attrs:{"wrap-style":"max-height: inherit;","view-class":"hn-time-spinner__list",noresize:"",tag:"ul"},nativeOn:{mouseenter:function(t){return e.emitSelectRange("seconds")},mousemove:function(t){return e.adjustCurrentSpinner("seconds")}}},e._l(60,(function(t,n){return i("li",{key:n,staticClass:"hn-time-spinner__item",class:{active:n===e.seconds},on:{click:function(t){return e.handleClick("seconds",{value:n,disabled:!1})}}},[e._v(e._s(("0"+n).slice(-2)))])})),0)],e.arrowControl?[i("div",{staticClass:"hn-time-spinner__wrapper is-arrow",on:{mouseenter:function(t){return e.emitSelectRange("hours")}}},[i("i",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:e.decrease,expression:"decrease"}],staticClass:"hn-time-spinner__arrow hn-icon-arrow-up"}),i("i",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:e.increase,expression:"increase"}],staticClass:"hn-time-spinner__arrow hn-icon-arrow-down"}),i("ul",{ref:"hours",staticClass:"hn-time-spinner__list"},e._l(e.arrowHourList,(function(t,n){return i("li",{key:n,staticClass:"hn-time-spinner__item",class:{active:t===e.hours,disabled:e.hoursList[t]}},[e._v(e._s(void 0===t?"":("0"+(e.amPmMode?t%12||12:t)).slice(-2)+e.amPm(t)))])})),0)]),i("div",{staticClass:"hn-time-spinner__wrapper is-arrow",on:{mouseenter:function(t){return e.emitSelectRange("minutes")}}},[i("i",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:e.decrease,expression:"decrease"}],staticClass:"hn-time-spinner__arrow hn-icon-arrow-up"}),i("i",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:e.increase,expression:"increase"}],staticClass:"hn-time-spinner__arrow hn-icon-arrow-down"}),i("ul",{ref:"minutes",staticClass:"hn-time-spinner__list"},e._l(e.arrowMinuteList,(function(t,n){return i("li",{key:n,staticClass:"hn-time-spinner__item",class:{active:t===e.minutes}},[e._v("\n "+e._s(void 0===t?"":("0"+t).slice(-2))+"\n ")])})),0)]),e.showSeconds?i("div",{staticClass:"hn-time-spinner__wrapper is-arrow",on:{mouseenter:function(t){return e.emitSelectRange("seconds")}}},[i("i",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:e.decrease,expression:"decrease"}],staticClass:"hn-time-spinner__arrow hn-icon-arrow-up"}),i("i",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:e.increase,expression:"increase"}],staticClass:"hn-time-spinner__arrow hn-icon-arrow-down"}),i("ul",{ref:"seconds",staticClass:"hn-time-spinner__list"},e._l(e.arrowSecondList,(function(t,n){return i("li",{key:n,staticClass:"hn-time-spinner__item",class:{active:t===e.seconds}},[e._v("\n "+e._s(void 0===t?"":("0"+t).slice(-2))+"\n ")])})),0)]):e._e()]:e._e()],2)};n._withStripped=!0;var s=i(1),r=i(13),a=i.n(r),o=i(30),l={components:{HnScrollbar:a.a},directives:{repeatClick:o.a},props:{date:{},defaultValue:{},showSeconds:{type:Boolean,default:!0},arrowControl:Boolean,amPmMode:{type:String,default:""}},computed:{hours:function(){return this.date.getHours()},minutes:function(){return this.date.getMinutes()},seconds:function(){return this.date.getSeconds()},hoursList:function(){return Object(s.getRangeHours)(this.selectableRange)},minutesList:function(){return Object(s.getRangeMinutes)(this.selectableRange,this.hours)},arrowHourList:function(){var e=this.hours;return[e>0?e-1:void 0,e,e<23?e+1:void 0]},arrowMinuteList:function(){var e=this.minutes;return[e>0?e-1:void 0,e,e<59?e+1:void 0]},arrowSecondList:function(){var e=this.seconds;return[e>0?e-1:void 0,e,e<59?e+1:void 0]}},data:function(){return{selectableRange:[],currentScrollbar:null}},mounted:function(){var e=this;this.$nextTick((function(){!e.arrowControl&&e.bindScrollEvent()}))},methods:{increase:function(){this.scrollDown(1)},decrease:function(){this.scrollDown(-1)},modifyDateField:function(e,t){switch(e){case"hours":this.$emit("change",Object(s.modifyTime)(this.date,t,this.minutes,this.seconds));break;case"minutes":this.$emit("change",Object(s.modifyTime)(this.date,this.hours,t,this.seconds));break;case"seconds":this.$emit("change",Object(s.modifyTime)(this.date,this.hours,this.minutes,t))}},handleClick:function(e,t){var i=t.value;t.disabled||(this.modifyDateField(e,i),this.emitSelectRange(e),this.adjustSpinner(e,i))},emitSelectRange:function(e){"hours"===e?this.$emit("select-range",0,2):"minutes"===e?this.$emit("select-range",3,5):"seconds"===e&&this.$emit("select-range",6,8),this.currentScrollbar=e},bindScrollEvent:function(){var e=this,t=function(t){e.$refs[t].wrap.onscroll=function(i){e.handleScroll(t,i)}};t("hours"),t("minutes"),t("seconds")},handleScroll:function(e){var t=Math.min(Math.round((this.$refs[e].wrap.scrollTop-(.5*this.scrollBarHeight(e)-10)/this.typeItemHeight(e)+3)/this.typeItemHeight(e)),"hours"===e?23:59);this.modifyDateField(e,t)},adjustSpinners:function(){this.adjustSpinner("hours",this.hours),this.adjustSpinner("minutes",this.minutes),this.adjustSpinner("seconds",this.seconds)},adjustCurrentSpinner:function(e){this.adjustSpinner(e,this[e])},adjustSpinner:function(e,t){if(!this.arrowControl){var i=this.$refs[e].wrap;i&&(i.scrollTop=Math.max(0,t*this.typeItemHeight(e)))}},scrollDown:function(e){this.currentScrollbar||this.emitSelectRange("hours");var t=this.currentScrollbar,i=this.hoursList,n=this[t];if("hours"===this.currentScrollbar){var s=Math.abs(e);e=e>0?1:-1;for(var r=i.length;r--&&s;)i[n=(n+e+i.length)%i.length]||s--;if(i[n])return}else n=(n+e+60)%60;this.modifyDateField(t,n),this.adjustSpinner(t,n)},amPm:function(e){if(!("a"===this.amPmMode.toLowerCase()))return"";var t=e<12?" am":" pm";return"A"===this.amPmMode&&(t=t.toUpperCase()),t},typeItemHeight:function(e){return this.$refs[e].$el.querySelector("li").offsetHeight},scrollBarHeight:function(e){return this.$refs[e].$el.offsetHeight}}},c=i(0),u=Object(c.a)(l,n,[],!1,null,null,null);u.options.__file="packages/date-picker/src/basic/time-spinner.vue";t.a=u.exports},4:function(e,t){e.exports=require("jiku-ui/lib/mixins/emitter")},5:function(e,t){e.exports=require("jiku-ui/lib/utils/vue-popper")},6:function(e,t){e.exports=require("jiku-ui/lib/mixins/locale")},7:function(e,t){e.exports=require("vue")},9:function(e,t){e.exports=require("jiku-ui/lib/utils/merge")},90:function(e,t,i){"use strict";i.r(t);var n=i(32),s=i(28),r=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition",{attrs:{name:"hn-zoom-in-top"},on:{"after-leave":function(t){return e.$emit("dodestroy")}}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"hn-time-range-picker hn-picker-panel hn-popper",class:e.popperClass},[i("div",{staticClass:"hn-time-range-picker__content"},[i("div",{staticClass:"hn-time-range-picker__cell"},[i("div",{staticClass:"hn-time-range-picker__header"},[e._v(e._s(e.t("hn.datepicker.startTime")))]),i("div",{staticClass:"hn-time-range-picker__body hn-time-panel__content",class:{"has-seconds":e.showSeconds,"is-arrow":e.arrowControl}},[i("time-spinner",{ref:"minSpinner",attrs:{"show-seconds":e.showSeconds,"am-pm-mode":e.amPmMode,"arrow-control":e.arrowControl,date:e.minDate},on:{change:e.handleMinChange,"select-range":e.setMinSelectionRange}})],1)]),i("div",{staticClass:"hn-time-range-picker__cell"},[i("div",{staticClass:"hn-time-range-picker__header"},[e._v(e._s(e.t("hn.datepicker.endTime")))]),i("div",{staticClass:"hn-time-range-picker__body hn-time-panel__content",class:{"has-seconds":e.showSeconds,"is-arrow":e.arrowControl}},[i("time-spinner",{ref:"maxSpinner",attrs:{"show-seconds":e.showSeconds,"am-pm-mode":e.amPmMode,"arrow-control":e.arrowControl,date:e.maxDate},on:{change:e.handleMaxChange,"select-range":e.setMaxSelectionRange}})],1)])]),i("div",{staticClass:"hn-time-panel__footer"},[i("button",{staticClass:"hn-time-panel__btn cancel",attrs:{type:"button"},on:{click:function(t){return e.handleCancel()}}},[e._v(e._s(e.t("hn.datepicker.cancel")))]),i("button",{staticClass:"hn-time-panel__btn confirm",attrs:{type:"button",disabled:e.btnDisabled},on:{click:function(t){return e.handleConfirm()}}},[e._v(e._s(e.t("hn.datepicker.confirm")))])])])])};r._withStripped=!0;var a=i(1),o=i(6),l=i.n(o),c=i(34),u=Object(a.parseDate)("00:00:00","HH:mm:ss"),h=Object(a.parseDate)("23:59:59","HH:mm:ss"),p=function(e){return Object(a.modifyDate)(h,e.getFullYear(),e.getMonth(),e.getDate())},d=function(e,t){return new Date(Math.min(e.getTime()+t,p(e).getTime()))},m={mixins:[l.a],components:{TimeSpinner:c.a},computed:{showSeconds:function(){return-1!==(this.format||"").indexOf("ss")},offset:function(){return this.showSeconds?11:8},spinner:function(){return this.selectionRange[0]<this.offset?this.$refs.minSpinner:this.$refs.maxSpinner},btnDisabled:function(){return this.minDate.getTime()>this.maxDate.getTime()},amPmMode:function(){return-1!==(this.format||"").indexOf("A")?"A":-1!==(this.format||"").indexOf("a")?"a":""}},data:function(){return{popperClass:"",minDate:new Date,maxDate:new Date,value:[],oldValue:[new Date,new Date],defaultValue:null,format:"HH:mm:ss",visible:!1,selectionRange:[0,2],arrowControl:!1}},watch:{value:function(e){Array.isArray(e)?(this.minDate=new Date(e[0]),this.maxDate=new Date(e[1])):Array.isArray(this.defaultValue)?(this.minDate=new Date(this.defaultValue[0]),this.maxDate=new Date(this.defaultValue[1])):this.defaultValue?(this.minDate=new Date(this.defaultValue),this.maxDate=d(new Date(this.defaultValue),36e5)):(this.minDate=new Date,this.maxDate=d(new Date,36e5))},visible:function(e){var t=this;e&&(this.oldValue=this.value,this.$nextTick((function(){return t.$refs.minSpinner.emitSelectRange("hours")})))}},methods:{handleClear:function(){this.$emit("pick",null)},handleCancel:function(){this.$emit("pick",this.oldValue)},handleMinChange:function(e){this.minDate=Object(a.clearMilliseconds)(e),this.handleChange()},handleMaxChange:function(e){this.maxDate=Object(a.clearMilliseconds)(e),this.handleChange()},handleChange:function(){var e;this.isValidValue([this.minDate,this.maxDate])&&(this.$refs.minSpinner.selectableRange=[[(e=this.minDate,Object(a.modifyDate)(u,e.getFullYear(),e.getMonth(),e.getDate())),this.maxDate]],this.$refs.maxSpinner.selectableRange=[[this.minDate,p(this.maxDate)]],this.$emit("pick",[this.minDate,this.maxDate],!0))},setMinSelectionRange:function(e,t){this.$emit("select-range",e,t,"min"),this.selectionRange=[e,t]},setMaxSelectionRange:function(e,t){this.$emit("select-range",e,t,"max"),this.selectionRange=[e+this.offset,t+this.offset]},handleConfirm:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.$refs.minSpinner.selectableRange,i=this.$refs.maxSpinner.selectableRange;this.minDate=Object(a.limitTimeRange)(this.minDate,t,this.format),this.maxDate=Object(a.limitTimeRange)(this.maxDate,i,this.format),this.$emit("pick",[this.minDate,this.maxDate],e)},adjustSpinners:function(){this.$refs.minSpinner.adjustSpinners(),this.$refs.maxSpinner.adjustSpinners()},changeSelectionRange:function(e){var t=this.showSeconds?[0,3,6,11,14,17]:[0,3,8,11],i=["hours","minutes"].concat(this.showSeconds?["seconds"]:[]),n=(t.indexOf(this.selectionRange[0])+e+t.length)%t.length,s=t.length/2;n<s?this.$refs.minSpinner.emitSelectRange(i[n]):this.$refs.maxSpinner.emitSelectRange(i[n-s])},isValidValue:function(e){return Array.isArray(e)&&Object(a.timeWithinRange)(this.minDate,this.$refs.minSpinner.selectableRange)&&Object(a.timeWithinRange)(this.maxDate,this.$refs.maxSpinner.selectableRange)},handleKeydown:function(e){var t=e.keyCode,i={38:-1,40:1,37:-1,39:1};if(37===t||39===t){var n=i[t];return this.changeSelectionRange(n),void e.preventDefault()}if(38===t||40===t){var s=i[t];return this.spinner.scrollDown(s),void e.preventDefault()}}}},f=i(0),v=Object(f.a)(m,r,[],!1,null,null,null);v.options.__file="packages/date-picker/src/panel/time-range.vue";var g=v.exports,b={mixins:[n.a],name:"HnTimePicker",props:{isRange:Boolean,arrowControl:Boolean},data:function(){return{type:""}},watch:{isRange:function(e){this.picker?(this.unmountPicker(),this.type=e?"timerange":"time",this.panel=e?g:s.a,this.mountPicker()):(this.type=e?"timerange":"time",this.panel=e?g:s.a)}},created:function(){this.type=this.isRange?"timerange":"time",this.panel=this.isRange?g:s.a},install:function(e){e.component(b.name,b)}};t.default=b}}).default;