vuux
Version:
Vue3 Nuxt3 Nuxt4 组件库
88 lines (87 loc) • 3.02 kB
JavaScript
import { defineComponent as M, mergeModels as u, useModel as N, useTemplateRef as P, createElementBlock as n, openBlock as t, normalizeClass as m, unref as l, createElementVNode as y, createVNode as f, withModifiers as v, createBlock as h, toDisplayString as s, Transition as R, withCtx as S, createCommentVNode as I, mergeProps as b } from "vue";
import z from "./dateRange.vue.mjs";
import { useRangePicker as D } from "./hook/useRangePicker.mjs";
import { Icon as k } from "@vuux/icons";
const T = {
key: 0,
class: "date-value"
}, H = {
key: 1,
class: "date-value"
}, U = {
key: 2,
class: "date-value"
}, $ = {
key: 3,
class: "date-value"
}, J = /* @__PURE__ */ M({
name: "DateRangePicker",
__name: "dateRangePicker",
props: /* @__PURE__ */ u({
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: /* @__PURE__ */ u(["change", "clear"], ["update:modelValue"]),
setup(e, { expose: p, emit: C }) {
const c = e, g = C, a = N(e, "modelValue"), r = P("selectEl"), { classNames: V, checkClear: E, visible: B, onChange: w, handleShow: d, handleClear: K, handleHide: x } = D(c, r, a, g);
return p({
handleShow: d,
handleHide: x
}), (j, o) => (t(), n("div", {
class: m(l(V))
}, [
y("div", {
class: "date-input range-input",
onClick: o[0] || (o[0] = v(
//@ts-ignore
(...i) => l(d) && l(d)(...i),
["stop"]
))
}, [
!a.value || !a.value[e.startKey] ? (t(), n("div", T, s(e.placeholderStart), 1)) : (t(), n("div", H, s(a.value[e.startKey]), 1)),
o[2] || (o[2] = y("span", { class: "placeholder" }, " - ", -1)),
!a.value || !a.value[e.endKey] ? (t(), n("div", U, s(e.placeholderEnd), 1)) : (t(), n("div", $, s(a.value[e.endKey]), 1)),
e.clear && l(E) && !e.readonly ? (t(), h(l(k), {
key: 4,
name: "Icon9176904",
class: "is-icon is-clear",
size: 14,
onClick: v(l(K), ["stop"])
}, null, 8, ["onClick"])) : (t(), h(l(k), {
key: 5,
name: "Icon3109624",
class: "is-icon"
}))
]),
f(R, { name: "ease-drop" }, {
default: S(() => [
l(B) ? (t(), n("div", {
key: 0,
ref_key: "selectEl",
ref: r,
class: m(["date-select", { "is-shadow": e.shadow }])
}, [
f(z, b({ ref: "dateEl" }, c, {
modelValue: a.value,
"onUpdate:modelValue": o[1] || (o[1] = (i) => a.value = i),
onChange: l(w)
}), null, 16, ["modelValue", "onChange"])
], 2)) : I("", !0)
]),
_: 1
})
], 2));
}
});
export {
J as default
};