@progress/kendo-vue-dateinputs
Version:
92 lines (91 loc) • 3.01 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import "@progress/kendo-vue-intl";
import { addDays as f, cloneDate as g } from "@progress/kendo-date-math";
import { TIME_PART as l } from "./models/TimePart.mjs";
import { setTime as u, MIDNIGHT_DATE as c } from "../utils.mjs";
const a = (e) => (t, r) => {
const n = g(t);
return n[e](r), n;
}, p = [
{ type: l.hour, getter: (e) => e.getHours() },
{ type: l.minute, getter: (e) => e.getMinutes() },
{ type: l.second, getter: (e) => e.getSeconds() },
{ type: l.millisecond, getter: (e) => e.getMilliseconds() }
], V = (e) => (t, r) => e(t), T = (e) => (t, r) => e(r), M = (e) => e.reduce((t, r) => (t[r.type] = r.type, t), {}), y = (e) => (t) => e[t.type] ? T(t.getter) : V(t.getter), H = (e) => (t) => e.map(y(M(t))), d = (e, t, r, n) => (s) => {
const o = e(s), m = e(r);
return n === "hour" ? o - (o - m) % t : s.getTime() <= r.getTime() && o !== 0 && o <= m ? Math.ceil(o / t) * t : o - o % t;
}, h = (e) => (t, r) => e.map((n) => {
const s = Math.floor(t[n.type]);
return s ? d(n.getter, s, r, n.type) : n.getter;
}), R = H(p), _ = h(p), x = (e) => (t, r) => (t.setHours(...e.map((n) => n(t, r))), t), G = (e) => (t) => {
const r = g(t);
return r.setHours(...e.map((n) => n(r))), r;
}, w = a("setHours"), A = a("setMinutes"), B = a("setSeconds"), E = () => /* @__PURE__ */ new Date(), F = (e, t, r = 1) => {
const n = [];
for (let s = e; s < t; s = s + r)
n.push(s);
return n;
}, i = (e, t, r) => ({
candidateValue: u(c, e),
maxValue: f(u(c, r), t.getHours() < r.getHours() ? 0 : 1),
minValue: u(c, t)
}), N = (e, t, r) => {
if (!e || !t || !r)
return e;
const {
candidateValue: n,
minValue: s,
maxValue: o
} = i(e, t, r);
return n < s ? u(e, t) : n > o ? u(e, r) : e;
}, P = (e, t, r) => {
if (!e || !t || !r)
return !0;
const {
candidateValue: n,
minValue: s,
maxValue: o
} = i(e, t, r);
return s <= n && n <= o;
}, v = (e, t, r) => {
if (e === null)
return !0;
const {
candidateValue: n,
minValue: s,
maxValue: o
} = i(e, t, r);
return s <= n && n <= o;
}, O = (e, t) => {
if (e === null || t === null)
return !1;
const r = u(c, e), n = u(c, t);
return r.getTime() < n.getHours();
}, b = (e, t) => {
if (e === null || t === null)
return !1;
const r = u(c, e);
return u(c, t).getTime() < r.getHours();
};
export {
R as generateGetters,
_ as generateSnappers,
E as getNow,
b as isBiggerThanMax,
v as isInRange,
P as isInTimeRange,
O as isSmallerThanMin,
F as range,
w as setHours,
A as setMinutes,
B as setSeconds,
G as snapTime,
N as timeInRange,
x as valueMerger
};