UNPKG

vuux

Version:

Vue3 Nuxt3 Nuxt4 组件库

88 lines (87 loc) 3.02 kB
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 };