UNPKG

vuux

Version:

Vue3 Nuxt3 Nuxt4 组件库

2 lines (1 loc) 2.38 kB
"use strict";const e=require("vue"),B=require("./dateRange.vue.cjs"),h=require("./hook/useRangePicker.cjs"),r=require("@vuux/icons"),g={key:0,class:"date-value"},E={key:1,class:"date-value"},C={key:2,class:"date-value"},V={key:3,class:"date-value"},w=e.defineComponent({name:"DateRangePicker",__name:"dateRangePicker",props:e.mergeModels({startKey:{default:"start"},endKey:{default:"end"},clear:{type:Boolean},readonly:{type:Boolean},disabled:{type:Boolean},shadow:{type:Boolean},placeholderStart:{default:"开始日期"},placeholderEnd:{default:"结束日期"}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["change","clear"],["update:modelValue"]),setup(l,{expose:d,emit:i}){const s=l,u=i,a=e.useModel(l,"modelValue"),c=e.useTemplateRef("selectEl"),{classNames:m,checkClear:k,visible:y,onChange:f,handleShow:n,handleClear:v,handleHide:p}=h.useRangePicker(s,c,a,u);return d({handleShow:n,handleHide:p}),(S,t)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(m))},[e.createElementVNode("div",{class:"date-input range-input",onClick:t[0]||(t[0]=e.withModifiers((...o)=>e.unref(n)&&e.unref(n)(...o),["stop"]))},[!a.value||!a.value[l.startKey]?(e.openBlock(),e.createElementBlock("div",g,e.toDisplayString(l.placeholderStart),1)):(e.openBlock(),e.createElementBlock("div",E,e.toDisplayString(a.value[l.startKey]),1)),t[2]||(t[2]=e.createElementVNode("span",{class:"placeholder"}," - ",-1)),!a.value||!a.value[l.endKey]?(e.openBlock(),e.createElementBlock("div",C,e.toDisplayString(l.placeholderEnd),1)):(e.openBlock(),e.createElementBlock("div",V,e.toDisplayString(a.value[l.endKey]),1)),l.clear&&e.unref(k)&&!l.readonly?(e.openBlock(),e.createBlock(e.unref(r.Icon),{key:4,name:"Icon9176904",class:"is-icon is-clear",size:14,onClick:e.withModifiers(e.unref(v),["stop"])},null,8,["onClick"])):(e.openBlock(),e.createBlock(e.unref(r.Icon),{key:5,name:"Icon3109624",class:"is-icon"}))]),e.createVNode(e.Transition,{name:"ease-drop"},{default:e.withCtx(()=>[e.unref(y)?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"selectEl",ref:c,class:e.normalizeClass(["date-select",{"is-shadow":l.shadow}])},[e.createVNode(B,e.mergeProps({ref:"dateEl"},s,{modelValue:a.value,"onUpdate:modelValue":t[1]||(t[1]=o=>a.value=o),onChange:e.unref(f)}),null,16,["modelValue","onChange"])],2)):e.createCommentVNode("",!0)]),_:1})],2))}});module.exports=w;